Skip to content
Closed

test 1 #10531

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 88 additions & 0 deletions src/v2/extdeps/languages/rust_wrap_decision_fixtures.dag
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
module v2.extdeps.languages.rust_wrap_decision_test

import std.occurrence_identity { OccurrenceSynthetic }
import v2.extdeps.languages.rust {
rust_named_edge,
rust_reference_layer_tokens,
rust_sg_rc_use_site_ownership_catalog,
rust_type_expression_projection_bundle_node
}
import v2.std.collection { empty_map }
import v2.std.compilers.lexing { VoidLexRules }
import v2.std.compilers.target_model {
ProducedDeclUnwired,
TargetModel,
target_model_emit_transforms_empty,
target_reference_layer_tokens_node,
target_use_site_ownership_catalog_node
}
import v2.std.host_transport { target_emit_host_runtime_row_unconfigured }
import v2.std.node { Conj, Node, TypeNode }

// Minimal fixture for single-position claims — only the catalog edges needed
// by wrap_decision_gate are present; lex, binding_spellings, etc. are empty.
fn wrap_decision_minimal_target() -> TargetModel {
TargetModel {
produced_decl_support: ProducedDeclUnwired,
bundle: Node {
kind: TypeNode { connective: Conj },
children: [
rust_named_edge(
name: ^target_model_edge_use_site_ownership_realizations,
target: target_use_site_ownership_catalog_node(
rows: rust_sg_rc_use_site_ownership_catalog()
)
),
rust_named_edge(
name: ^target_model_edge_reference_layer_tokens,
target: Node {
kind: TypeNode { connective: Conj },
children: [],
occurrence_id: OccurrenceSynthetic
}
)
],
occurrence_id: OccurrenceSynthetic
},
lex: VoidLexRules,
binding_spellings: empty_map(),
token_class_emit_transforms: target_model_emit_transforms_empty,
authority_source_text: "",
runtime_row: target_emit_host_runtime_row_unconfigured
}
}

// Richer fixture for composite claims that reach type_expression_projection
// and reference_layer_tokens content via translate_apply_wrap_gate_to_type_shell.
fn wrap_decision_composite_target() -> TargetModel {
TargetModel {
produced_decl_support: ProducedDeclUnwired,
bundle: Node {
kind: TypeNode { connective: Conj },
children: [
rust_named_edge(
name: ^target_model_edge_use_site_ownership_realizations,
target: target_use_site_ownership_catalog_node(
rows: rust_sg_rc_use_site_ownership_catalog()
)
),
rust_named_edge(
name: ^target_model_edge_reference_layer_tokens,
target: target_reference_layer_tokens_node(
tokens: rust_reference_layer_tokens()
)
),
rust_named_edge(
name: ^target_model_edge_type_expression_projection,
target: rust_type_expression_projection_bundle_node()
)
],
occurrence_id: OccurrenceSynthetic
},
lex: VoidLexRules,
binding_spellings: empty_map(),
token_class_emit_transforms: target_model_emit_transforms_empty,
authority_source_text: "",
runtime_row: target_emit_host_runtime_row_unconfigured
}
}
9 changes: 6 additions & 3 deletions src/v2/test/claim/wrap_decision_predicate_test.dag
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,13 @@ import v2.compiler.translate { translate_apply_use_site_ownership_to_projected_b
import v2.compiler.wrap_decision { wrap_decision_gate, wrap_decision_flow_gate }
import v2.extdeps.languages.rust {
rust_named_edge,
rust_sg2_type_expr_target_model,
rust_sg_rc_use_site_ownership_catalog,
rust_type_expression_projection
}
import v2.extdeps.languages.rust_wrap_decision_test {
wrap_decision_composite_target,
wrap_decision_minimal_target
}
import v2.std.compilers.target_model {
ProducedDeclUnwired,
TargetModel,
Expand Down Expand Up @@ -58,7 +61,7 @@ import v2.std.text { String }
// reds together says less than one whose profile names which witness guards which arm.

fn wrap_decision_sg_rc_target() -> TargetModel {
rust_sg2_type_expr_target_model()
wrap_decision_minimal_target()
}

fn wrap_decision_bundle_absent_target() -> TargetModel {
Expand Down Expand Up @@ -427,7 +430,7 @@ fn wrap_decision_composite_boundary_result() -> Node {
match translate_apply_use_site_ownership_to_projected_boundary(
projected: wrap_decision_composite_projected(),
source_for_binding: wrap_decision_composite_source(),
target: wrap_decision_sg_rc_target(),
target: wrap_decision_composite_target(),
projection: rust_type_expression_projection(),
use_site: OwnershipAtStructField
) {
Expand Down
Loading