From 42beb0e031db564453848fe02324c3e3886758da Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Fri, 24 Apr 2026 23:50:31 -0400 Subject: [PATCH] =?UTF-8?q?feat(v3):=20PB-Substrate=20slice=20=E2=80=94=20?= =?UTF-8?q?AtomPayload=20via=20regen=20pattern=20(path=20(a))?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Extend render_dag_scalar_module with AtomPayload (#[derive(Debug, Clone)]). - Move dissolution-ledger rationale to substrate.dag; keep impl AtomPayload in dag.rs. - Regenerate dag_scalar_generated, bootstrap snapshots, parse corpus manifest. Made-with: Cursor --- scripts/regen_runtime_mirrors.py | 6 + src/v3/compiler/src/bootstrap_generated.rs | 256 +++++++++--------- ...otstrap_generated_without_parse_surface.rs | 256 +++++++++--------- src/v3/compiler/src/dag.rs | 71 ----- src/v3/compiler/src/dag_scalar_generated.rs | 9 + .../integration/parse_corpus_manifest.txt | 2 +- src/v3/std/substrate.dag | 35 +++ 7 files changed, 307 insertions(+), 328 deletions(-) diff --git a/scripts/regen_runtime_mirrors.py b/scripts/regen_runtime_mirrors.py index f6dee8fc74c..cd0022c4d4e 100644 --- a/scripts/regen_runtime_mirrors.py +++ b/scripts/regen_runtime_mirrors.py @@ -756,6 +756,12 @@ def render_dag_scalar_module(records: dict[str, RecordDef], sums: dict[str, list output_name="LiteralBits", variant_name_overrides={"LitInt": "Int", "LitBool": "Bool", "LitString": "String"}, ), + render_sum( + "AtomPayload", + sums["AtomPayload"], + "#[derive(Debug, Clone)]", + output_name="AtomPayload", + ), render_sum( "CardinalityBound", sums["CardinalityBound"], diff --git a/src/v3/compiler/src/bootstrap_generated.rs b/src/v3/compiler/src/bootstrap_generated.rs index f1685c5b1f4..34cf584d03a 100644 --- a/src/v3/compiler/src/bootstrap_generated.rs +++ b/src/v3/compiler/src/bootstrap_generated.rs @@ -598,48 +598,48 @@ pub(crate) fn bootstrapped_fixture_dag() -> Dag { Declaration { id: DeclarationId(590), name: Some("PortState".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Uninferred".to_string(), ty: DeclarationId(1315) }, Field { label: "Resolved".to_string(), ty: DeclarationId(1316) }, Field { label: "Unresolved".to_string(), ty: DeclarationId(1317) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 437, 505) }, Declaration { id: DeclarationId(591), name: Some("DagPort".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(533) }, Field { label: "state".to_string(), ty: DeclarationId(590) }, Field { label: "produced_by".to_string(), ty: DeclarationId(1318) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 507, 578) }, Declaration { id: DeclarationId(592), name: Some("LiteralBits".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "LitInt".to_string(), ty: DeclarationId(1319) }, Field { label: "LitBool".to_string(), ty: DeclarationId(1320) }, Field { label: "LitString".to_string(), ty: DeclarationId(1321) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 747, 819) }, - Declaration { id: DeclarationId(593), name: Some("AtomPayload".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Literal".to_string(), ty: DeclarationId(1322) }, Field { label: "UnresolvedIdentifier".to_string(), ty: DeclarationId(1323) }, Field { label: "ResolvedByStructure".to_string(), ty: DeclarationId(1324) }, Field { label: "ResolvedByName".to_string(), ty: DeclarationId(1325) }, Field { label: "TypeParam".to_string(), ty: DeclarationId(1326) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 952, 1121) }, - Declaration { id: DeclarationId(594), name: Some("CardinalityBound".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Exact".to_string(), ty: DeclarationId(1327) }, Field { label: "AtMostOne".to_string(), ty: DeclarationId(1328) }, Field { label: "Unbounded".to_string(), ty: DeclarationId(1329) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1248, 1312) }, - Declaration { id: DeclarationId(595), name: Some("ConjField".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "label".to_string(), ty: DeclarationId(182) }, Field { label: "ty".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1314, 1368) }, - Declaration { id: DeclarationId(596), name: Some("TemplateArgument".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "parameter".to_string(), ty: DeclarationId(534) }, Field { label: "value".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1370, 1445) }, - Declaration { id: DeclarationId(597), name: Some("FieldEntry".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "label".to_string(), ty: DeclarationId(182) }, Field { label: "value".to_string(), ty: DeclarationId(598) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1447, 1502) }, - Declaration { id: DeclarationId(598), name: Some("FieldValue".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Literal".to_string(), ty: DeclarationId(1330) }, Field { label: "Reference".to_string(), ty: DeclarationId(1331) }, Field { label: "Record".to_string(), ty: DeclarationId(1333) }, Field { label: "List".to_string(), ty: DeclarationId(1335) }, Field { label: "Variant".to_string(), ty: DeclarationId(1337) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1719, 1929) }, - Declaration { id: DeclarationId(599), name: Some("ValueBody".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "ValueBodyUnparsed".to_string(), ty: DeclarationId(1338) }, Field { label: "ValueBodyStructural".to_string(), ty: DeclarationId(1340) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2069, 2170) }, - Declaration { id: DeclarationId(600), name: Some("ArrowBody".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "UserDefined".to_string(), ty: DeclarationId(1341) }, Field { label: "ExternalRealization".to_string(), ty: DeclarationId(1342) }, Field { label: "Pending".to_string(), ty: DeclarationId(1343) }, Field { label: "NoBody".to_string(), ty: DeclarationId(1344) }, Field { label: "Unparsed".to_string(), ty: DeclarationId(1345) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2486, 2611) }, - Declaration { id: DeclarationId(601), name: Some("TypeConnective".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Atom".to_string(), ty: DeclarationId(1346) }, Field { label: "Conj".to_string(), ty: DeclarationId(1348) }, Field { label: "Disj".to_string(), ty: DeclarationId(1350) }, Field { label: "Arrow".to_string(), ty: DeclarationId(1352) }, Field { label: "Cardinality".to_string(), ty: DeclarationId(1353) }, Field { label: "Instantiation".to_string(), ty: DeclarationId(1355) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2816, 3216) }, - Declaration { id: DeclarationId(602), name: Some("Declaration".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(534) }, Field { label: "name".to_string(), ty: DeclarationId(1356) }, Field { label: "connective".to_string(), ty: DeclarationId(601) }, Field { label: "type_params".to_string(), ty: DeclarationId(1357) }, Field { label: "meta_tag".to_string(), ty: DeclarationId(1358) }, Field { label: "inhabits".to_string(), ty: DeclarationId(1359) }, Field { label: "value_body".to_string(), ty: DeclarationId(1360) }, Field { label: "span".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3218, 3436) }, - Declaration { id: DeclarationId(603), name: Some("ArithmeticOp".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Add".to_string(), ty: DeclarationId(1361) }, Field { label: "Sub".to_string(), ty: DeclarationId(1362) }, Field { label: "Mul".to_string(), ty: DeclarationId(1363) }, Field { label: "Div".to_string(), ty: DeclarationId(1364) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3693, 3742) }, - Declaration { id: DeclarationId(604), name: Some("ComparisonOp".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Eq".to_string(), ty: DeclarationId(1365) }, Field { label: "Ne".to_string(), ty: DeclarationId(1366) }, Field { label: "Lt".to_string(), ty: DeclarationId(1367) }, Field { label: "Le".to_string(), ty: DeclarationId(1368) }, Field { label: "Gt".to_string(), ty: DeclarationId(1369) }, Field { label: "Ge".to_string(), ty: DeclarationId(1370) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3844, 3903) }, - Declaration { id: DeclarationId(605), name: Some("LogicalOp".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "And".to_string(), ty: DeclarationId(1371) }, Field { label: "Or".to_string(), ty: DeclarationId(1372) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4137, 4166) }, - Declaration { id: DeclarationId(606), name: Some("OperatorKind".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Arithmetic".to_string(), ty: DeclarationId(1373) }, Field { label: "Comparison".to_string(), ty: DeclarationId(1374) }, Field { label: "Logical".to_string(), ty: DeclarationId(1375) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4380, 4478) }, - Declaration { id: DeclarationId(607), name: Some("TransformTarget".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Callable".to_string(), ty: DeclarationId(1376) }, Field { label: "FieldProject".to_string(), ty: DeclarationId(1378) }, Field { label: "Operator".to_string(), ty: DeclarationId(1379) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4640, 4800) }, - Declaration { id: DeclarationId(608), name: Some("BranchPattern".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "UnresolvedVariant".to_string(), ty: DeclarationId(1380) }, Field { label: "ResolvedVariant".to_string(), ty: DeclarationId(1381) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4902, 5012) }, - Declaration { id: DeclarationId(609), name: Some("PayloadBinding".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "binding_name".to_string(), ty: DeclarationId(182) }, Field { label: "payload_port".to_string(), ty: DeclarationId(533) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5014, 5083) }, - Declaration { id: DeclarationId(610), name: Some("BranchPath".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "body".to_string(), ty: DeclarationId(532) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "pattern".to_string(), ty: DeclarationId(608) }, Field { label: "binding".to_string(), ty: DeclarationId(1382) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5085, 5193) }, - Declaration { id: DeclarationId(611), name: Some("ParamRef".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "member".to_string(), ty: DeclarationId(532) }, Field { label: "slot".to_string(), ty: DeclarationId(67) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5792, 5838) }, - Declaration { id: DeclarationId(612), name: Some("TransformRef".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "node".to_string(), ty: DeclarationId(532) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6350, 6386) }, - Declaration { id: DeclarationId(613), name: Some("ElementRef".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "index".to_string(), ty: DeclarationId(67) }] }, type_params: vec![DeclarationId(614)], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7003, 7044) }, - Declaration { id: DeclarationId(614), name: None, connective: TypeConnective::Atom(AtomPayload::TypeParam("element".to_string())), type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7003, 7044) }, - Declaration { id: DeclarationId(615), name: Some("MemberDescent".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "param".to_string(), ty: DeclarationId(611) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7046, 7086) }, - Declaration { id: DeclarationId(616), name: Some("IntraClusterCall".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "transform".to_string(), ty: DeclarationId(612) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7088, 7139) }, - Declaration { id: DeclarationId(617), name: Some("Cluster".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "members".to_string(), ty: DeclarationId(1383) }, Field { label: "intra_cluster_calls".to_string(), ty: DeclarationId(1384) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7141, 7254) }, - Declaration { id: DeclarationId(618), name: Some("LoopBound".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Cardinality".to_string(), ty: DeclarationId(1385) }, Field { label: "Descent".to_string(), ty: DeclarationId(1386) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7659, 7742) }, - Declaration { id: DeclarationId(619), name: Some("ValueNode".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(532) }, Field { label: "payload".to_string(), ty: DeclarationId(592) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "span".to_string(), ty: DeclarationId(117) }, Field { label: "lane2_workflow".to_string(), ty: DeclarationId(1387) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7744, 7873) }, - Declaration { id: DeclarationId(620), name: Some("TransformNode".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(532) }, Field { label: "target".to_string(), ty: DeclarationId(607) }, Field { label: "inputs".to_string(), ty: DeclarationId(1388) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "span".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7875, 8000) }, - Declaration { id: DeclarationId(621), name: Some("BranchNode".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(532) }, Field { label: "input".to_string(), ty: DeclarationId(533) }, Field { label: "paths".to_string(), ty: DeclarationId(1389) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "span".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8002, 8117) }, - Declaration { id: DeclarationId(622), name: Some("LoopNode".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(532) }, Field { label: "source".to_string(), ty: DeclarationId(533) }, Field { label: "init".to_string(), ty: DeclarationId(533) }, Field { label: "body".to_string(), ty: DeclarationId(532) }, Field { label: "bound".to_string(), ty: DeclarationId(618) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "span".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8119, 8256) }, - Declaration { id: DeclarationId(623), name: Some("BindNode".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(532) }, Field { label: "name".to_string(), ty: DeclarationId(182) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "params".to_string(), ty: DeclarationId(1390) }, Field { label: "span".to_string(), ty: DeclarationId(117) }, Field { label: "lane2_workflow".to_string(), ty: DeclarationId(1391) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8258, 8401) }, - Declaration { id: DeclarationId(624), name: Some("Behavior".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Value".to_string(), ty: DeclarationId(1392) }, Field { label: "Transform".to_string(), ty: DeclarationId(1393) }, Field { label: "Branch".to_string(), ty: DeclarationId(1394) }, Field { label: "Loop".to_string(), ty: DeclarationId(1395) }, Field { label: "Bind".to_string(), ty: DeclarationId(1396) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8473, 8597) }, - Declaration { id: DeclarationId(625), name: Some("Dag".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "declarations".to_string(), ty: DeclarationId(1397) }, Field { label: "nodes".to_string(), ty: DeclarationId(1398) }, Field { label: "ports".to_string(), ty: DeclarationId(1399) }, Field { label: "clusters".to_string(), ty: DeclarationId(1400) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8599, 8718) }, - Declaration { id: DeclarationId(626), name: Some("SubstrateAccessorRealization".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "carrier".to_string(), ty: DeclarationId(182) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10070, 10125) }, - Declaration { id: DeclarationId(627), name: Some("SubstrateAccessorBinding".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "accessor".to_string(), ty: DeclarationId(859) }, Field { label: "realization".to_string(), ty: DeclarationId(859) }, Field { label: "language".to_string(), ty: DeclarationId(859) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10892, 11009) }, - Declaration { id: DeclarationId(628), name: Some("port".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(625), DeclarationId(533)], output: DeclarationId(1308), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 11051, 11066)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 11011, 11066) }, - Declaration { id: DeclarationId(629), name: Some("node".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(625), DeclarationId(532)], output: DeclarationId(1309), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 11109, 11124)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 11068, 11124) }, - Declaration { id: DeclarationId(630), name: Some("resolve_producer".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(625), DeclarationId(533)], output: DeclarationId(1310), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 11184, 11211)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 11126, 11211) }, - Declaration { id: DeclarationId(631), name: Some("declaration_by_id".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(625), DeclarationId(534)], output: DeclarationId(1311), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 11573, 11601)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 11509, 11601) }, - Declaration { id: DeclarationId(632), name: Some("lane2_workflow_at".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(625), DeclarationId(532)], output: DeclarationId(1312), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 11897, 11932)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 11837, 11932) }, - Declaration { id: DeclarationId(633), name: Some("miss_declaration_id_lookup".to_string()), connective: TypeConnective::Arrow { inputs: vec![], output: DeclarationId(1313), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 12289, 12299)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 12232, 12299) }, - Declaration { id: DeclarationId(634), name: Some("hit_declaration_id_lookup".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(534)], output: DeclarationId(1314), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 12374, 12387)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 12301, 12387) }, + Declaration { id: DeclarationId(593), name: Some("AtomPayload".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Literal".to_string(), ty: DeclarationId(1322) }, Field { label: "UnresolvedIdentifier".to_string(), ty: DeclarationId(1323) }, Field { label: "ResolvedByStructure".to_string(), ty: DeclarationId(1324) }, Field { label: "ResolvedByName".to_string(), ty: DeclarationId(1325) }, Field { label: "TypeParam".to_string(), ty: DeclarationId(1326) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2829, 2998) }, + Declaration { id: DeclarationId(594), name: Some("CardinalityBound".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Exact".to_string(), ty: DeclarationId(1327) }, Field { label: "AtMostOne".to_string(), ty: DeclarationId(1328) }, Field { label: "Unbounded".to_string(), ty: DeclarationId(1329) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3125, 3189) }, + Declaration { id: DeclarationId(595), name: Some("ConjField".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "label".to_string(), ty: DeclarationId(182) }, Field { label: "ty".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3191, 3245) }, + Declaration { id: DeclarationId(596), name: Some("TemplateArgument".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "parameter".to_string(), ty: DeclarationId(534) }, Field { label: "value".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3247, 3322) }, + Declaration { id: DeclarationId(597), name: Some("FieldEntry".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "label".to_string(), ty: DeclarationId(182) }, Field { label: "value".to_string(), ty: DeclarationId(598) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3324, 3379) }, + Declaration { id: DeclarationId(598), name: Some("FieldValue".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Literal".to_string(), ty: DeclarationId(1330) }, Field { label: "Reference".to_string(), ty: DeclarationId(1331) }, Field { label: "Record".to_string(), ty: DeclarationId(1333) }, Field { label: "List".to_string(), ty: DeclarationId(1335) }, Field { label: "Variant".to_string(), ty: DeclarationId(1337) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3596, 3806) }, + Declaration { id: DeclarationId(599), name: Some("ValueBody".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "ValueBodyUnparsed".to_string(), ty: DeclarationId(1338) }, Field { label: "ValueBodyStructural".to_string(), ty: DeclarationId(1340) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3946, 4047) }, + Declaration { id: DeclarationId(600), name: Some("ArrowBody".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "UserDefined".to_string(), ty: DeclarationId(1341) }, Field { label: "ExternalRealization".to_string(), ty: DeclarationId(1342) }, Field { label: "Pending".to_string(), ty: DeclarationId(1343) }, Field { label: "NoBody".to_string(), ty: DeclarationId(1344) }, Field { label: "Unparsed".to_string(), ty: DeclarationId(1345) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4363, 4488) }, + Declaration { id: DeclarationId(601), name: Some("TypeConnective".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Atom".to_string(), ty: DeclarationId(1346) }, Field { label: "Conj".to_string(), ty: DeclarationId(1348) }, Field { label: "Disj".to_string(), ty: DeclarationId(1350) }, Field { label: "Arrow".to_string(), ty: DeclarationId(1352) }, Field { label: "Cardinality".to_string(), ty: DeclarationId(1353) }, Field { label: "Instantiation".to_string(), ty: DeclarationId(1355) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4693, 5093) }, + Declaration { id: DeclarationId(602), name: Some("Declaration".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(534) }, Field { label: "name".to_string(), ty: DeclarationId(1356) }, Field { label: "connective".to_string(), ty: DeclarationId(601) }, Field { label: "type_params".to_string(), ty: DeclarationId(1357) }, Field { label: "meta_tag".to_string(), ty: DeclarationId(1358) }, Field { label: "inhabits".to_string(), ty: DeclarationId(1359) }, Field { label: "value_body".to_string(), ty: DeclarationId(1360) }, Field { label: "span".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5095, 5313) }, + Declaration { id: DeclarationId(603), name: Some("ArithmeticOp".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Add".to_string(), ty: DeclarationId(1361) }, Field { label: "Sub".to_string(), ty: DeclarationId(1362) }, Field { label: "Mul".to_string(), ty: DeclarationId(1363) }, Field { label: "Div".to_string(), ty: DeclarationId(1364) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5570, 5619) }, + Declaration { id: DeclarationId(604), name: Some("ComparisonOp".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Eq".to_string(), ty: DeclarationId(1365) }, Field { label: "Ne".to_string(), ty: DeclarationId(1366) }, Field { label: "Lt".to_string(), ty: DeclarationId(1367) }, Field { label: "Le".to_string(), ty: DeclarationId(1368) }, Field { label: "Gt".to_string(), ty: DeclarationId(1369) }, Field { label: "Ge".to_string(), ty: DeclarationId(1370) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5721, 5780) }, + Declaration { id: DeclarationId(605), name: Some("LogicalOp".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "And".to_string(), ty: DeclarationId(1371) }, Field { label: "Or".to_string(), ty: DeclarationId(1372) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6014, 6043) }, + Declaration { id: DeclarationId(606), name: Some("OperatorKind".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Arithmetic".to_string(), ty: DeclarationId(1373) }, Field { label: "Comparison".to_string(), ty: DeclarationId(1374) }, Field { label: "Logical".to_string(), ty: DeclarationId(1375) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6257, 6355) }, + Declaration { id: DeclarationId(607), name: Some("TransformTarget".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Callable".to_string(), ty: DeclarationId(1376) }, Field { label: "FieldProject".to_string(), ty: DeclarationId(1378) }, Field { label: "Operator".to_string(), ty: DeclarationId(1379) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6517, 6677) }, + Declaration { id: DeclarationId(608), name: Some("BranchPattern".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "UnresolvedVariant".to_string(), ty: DeclarationId(1380) }, Field { label: "ResolvedVariant".to_string(), ty: DeclarationId(1381) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6779, 6889) }, + Declaration { id: DeclarationId(609), name: Some("PayloadBinding".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "binding_name".to_string(), ty: DeclarationId(182) }, Field { label: "payload_port".to_string(), ty: DeclarationId(533) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6891, 6960) }, + Declaration { id: DeclarationId(610), name: Some("BranchPath".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "body".to_string(), ty: DeclarationId(532) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "pattern".to_string(), ty: DeclarationId(608) }, Field { label: "binding".to_string(), ty: DeclarationId(1382) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6962, 7070) }, + Declaration { id: DeclarationId(611), name: Some("ParamRef".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "member".to_string(), ty: DeclarationId(532) }, Field { label: "slot".to_string(), ty: DeclarationId(67) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7669, 7715) }, + Declaration { id: DeclarationId(612), name: Some("TransformRef".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "node".to_string(), ty: DeclarationId(532) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8227, 8263) }, + Declaration { id: DeclarationId(613), name: Some("ElementRef".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "index".to_string(), ty: DeclarationId(67) }] }, type_params: vec![DeclarationId(614)], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8880, 8921) }, + Declaration { id: DeclarationId(614), name: None, connective: TypeConnective::Atom(AtomPayload::TypeParam("element".to_string())), type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8880, 8921) }, + Declaration { id: DeclarationId(615), name: Some("MemberDescent".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "param".to_string(), ty: DeclarationId(611) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8923, 8963) }, + Declaration { id: DeclarationId(616), name: Some("IntraClusterCall".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "transform".to_string(), ty: DeclarationId(612) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8965, 9016) }, + Declaration { id: DeclarationId(617), name: Some("Cluster".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "members".to_string(), ty: DeclarationId(1383) }, Field { label: "intra_cluster_calls".to_string(), ty: DeclarationId(1384) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9018, 9131) }, + Declaration { id: DeclarationId(618), name: Some("LoopBound".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Cardinality".to_string(), ty: DeclarationId(1385) }, Field { label: "Descent".to_string(), ty: DeclarationId(1386) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9536, 9619) }, + Declaration { id: DeclarationId(619), name: Some("ValueNode".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(532) }, Field { label: "payload".to_string(), ty: DeclarationId(592) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "span".to_string(), ty: DeclarationId(117) }, Field { label: "lane2_workflow".to_string(), ty: DeclarationId(1387) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9621, 9750) }, + Declaration { id: DeclarationId(620), name: Some("TransformNode".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(532) }, Field { label: "target".to_string(), ty: DeclarationId(607) }, Field { label: "inputs".to_string(), ty: DeclarationId(1388) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "span".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9752, 9877) }, + Declaration { id: DeclarationId(621), name: Some("BranchNode".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(532) }, Field { label: "input".to_string(), ty: DeclarationId(533) }, Field { label: "paths".to_string(), ty: DeclarationId(1389) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "span".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9879, 9994) }, + Declaration { id: DeclarationId(622), name: Some("LoopNode".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(532) }, Field { label: "source".to_string(), ty: DeclarationId(533) }, Field { label: "init".to_string(), ty: DeclarationId(533) }, Field { label: "body".to_string(), ty: DeclarationId(532) }, Field { label: "bound".to_string(), ty: DeclarationId(618) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "span".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9996, 10133) }, + Declaration { id: DeclarationId(623), name: Some("BindNode".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(532) }, Field { label: "name".to_string(), ty: DeclarationId(182) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "params".to_string(), ty: DeclarationId(1390) }, Field { label: "span".to_string(), ty: DeclarationId(117) }, Field { label: "lane2_workflow".to_string(), ty: DeclarationId(1391) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10135, 10278) }, + Declaration { id: DeclarationId(624), name: Some("Behavior".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Value".to_string(), ty: DeclarationId(1392) }, Field { label: "Transform".to_string(), ty: DeclarationId(1393) }, Field { label: "Branch".to_string(), ty: DeclarationId(1394) }, Field { label: "Loop".to_string(), ty: DeclarationId(1395) }, Field { label: "Bind".to_string(), ty: DeclarationId(1396) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10350, 10474) }, + Declaration { id: DeclarationId(625), name: Some("Dag".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "declarations".to_string(), ty: DeclarationId(1397) }, Field { label: "nodes".to_string(), ty: DeclarationId(1398) }, Field { label: "ports".to_string(), ty: DeclarationId(1399) }, Field { label: "clusters".to_string(), ty: DeclarationId(1400) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10476, 10595) }, + Declaration { id: DeclarationId(626), name: Some("SubstrateAccessorRealization".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "carrier".to_string(), ty: DeclarationId(182) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 11947, 12002) }, + Declaration { id: DeclarationId(627), name: Some("SubstrateAccessorBinding".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "accessor".to_string(), ty: DeclarationId(859) }, Field { label: "realization".to_string(), ty: DeclarationId(859) }, Field { label: "language".to_string(), ty: DeclarationId(859) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 12769, 12886) }, + Declaration { id: DeclarationId(628), name: Some("port".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(625), DeclarationId(533)], output: DeclarationId(1308), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 12928, 12943)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 12888, 12943) }, + Declaration { id: DeclarationId(629), name: Some("node".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(625), DeclarationId(532)], output: DeclarationId(1309), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 12986, 13001)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 12945, 13001) }, + Declaration { id: DeclarationId(630), name: Some("resolve_producer".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(625), DeclarationId(533)], output: DeclarationId(1310), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 13061, 13088)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 13003, 13088) }, + Declaration { id: DeclarationId(631), name: Some("declaration_by_id".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(625), DeclarationId(534)], output: DeclarationId(1311), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 13450, 13478)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 13386, 13478) }, + Declaration { id: DeclarationId(632), name: Some("lane2_workflow_at".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(625), DeclarationId(532)], output: DeclarationId(1312), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 13774, 13809)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 13714, 13809) }, + Declaration { id: DeclarationId(633), name: Some("miss_declaration_id_lookup".to_string()), connective: TypeConnective::Arrow { inputs: vec![], output: DeclarationId(1313), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 14166, 14176)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 14109, 14176) }, + Declaration { id: DeclarationId(634), name: Some("hit_declaration_id_lookup".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(534)], output: DeclarationId(1314), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 14251, 14264)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 14178, 14264) }, Declaration { id: DeclarationId(635), name: Some("SizeVariable".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "source_port".to_string(), ty: DeclarationId(533) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/algebra.dag", 4650, 4693) }, Declaration { id: DeclarationId(636), name: Some("DegreeAtLeastTwo".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "DegreeTwo".to_string(), ty: DeclarationId(1421) }, Field { label: "DegreeSuccessor".to_string(), ty: DeclarationId(1422) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/algebra.dag", 5440, 5526) }, Declaration { id: DeclarationId(637), name: Some("SymbolicCost".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "ConstantCost".to_string(), ty: DeclarationId(1423) }, Field { label: "LinearCost".to_string(), ty: DeclarationId(1424) }, Field { label: "PolynomialCost".to_string(), ty: DeclarationId(1425) }, Field { label: "ProductCost".to_string(), ty: DeclarationId(1427) }, Field { label: "SumCost".to_string(), ty: DeclarationId(1429) }, Field { label: "LogCost".to_string(), ty: DeclarationId(1430) }, Field { label: "UnknownCost".to_string(), ty: DeclarationId(1431) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/algebra.dag", 5676, 5953) }, @@ -1313,13 +1313,13 @@ pub(crate) fn bootstrapped_fixture_dag() -> Dag { Declaration { id: DeclarationId(1305), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "reason".to_string(), ty: DeclarationId(182) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/effects.dag", 33167, 33204) }, Declaration { id: DeclarationId(1306), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/effects.dag", 33678, 33697) }, Declaration { id: DeclarationId(1307), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "agreement".to_string(), ty: DeclarationId(580) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/effects.dag", 33702, 33751) }, - Declaration { id: DeclarationId(1308), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(591), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 11042, 11050) }, - Declaration { id: DeclarationId(1309), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(624), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 11099, 11108) }, - Declaration { id: DeclarationId(1310), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(624), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 11174, 11183) }, - Declaration { id: DeclarationId(1311), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(602), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 11560, 11572) }, - Declaration { id: DeclarationId(1312), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(565), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 11881, 11896) }, - Declaration { id: DeclarationId(1313), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(797), arguments: vec![TemplateArgument { parameter: DeclarationId(798), value: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 12267, 12288) }, - Declaration { id: DeclarationId(1314), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(797), arguments: vec![TemplateArgument { parameter: DeclarationId(798), value: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 12352, 12373) }, + Declaration { id: DeclarationId(1308), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(591), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 12919, 12927) }, + Declaration { id: DeclarationId(1309), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(624), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 12976, 12985) }, + Declaration { id: DeclarationId(1310), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(624), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 13051, 13060) }, + Declaration { id: DeclarationId(1311), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(602), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 13437, 13449) }, + Declaration { id: DeclarationId(1312), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(565), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 13758, 13773) }, + Declaration { id: DeclarationId(1313), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(797), arguments: vec![TemplateArgument { parameter: DeclarationId(798), value: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 14144, 14165) }, + Declaration { id: DeclarationId(1314), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(797), arguments: vec![TemplateArgument { parameter: DeclarationId(798), value: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 14229, 14250) }, Declaration { id: DeclarationId(1315), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 456, 466) }, Declaration { id: DeclarationId(1316), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(589) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 471, 490) }, Declaration { id: DeclarationId(1317), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 495, 505) }, @@ -1327,85 +1327,85 @@ pub(crate) fn bootstrapped_fixture_dag() -> Dag { Declaration { id: DeclarationId(1319), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(67) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 768, 779) }, Declaration { id: DeclarationId(1320), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(84) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 784, 797) }, Declaration { id: DeclarationId(1321), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(182) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 802, 819) }, - Declaration { id: DeclarationId(1322), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(592) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 973, 993) }, - Declaration { id: DeclarationId(1323), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(182) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 998, 1026) }, - Declaration { id: DeclarationId(1324), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1031, 1065) }, - Declaration { id: DeclarationId(1325), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1070, 1099) }, - Declaration { id: DeclarationId(1326), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(182) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1104, 1121) }, - Declaration { id: DeclarationId(1327), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(67) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1274, 1284) }, - Declaration { id: DeclarationId(1328), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1289, 1298) }, - Declaration { id: DeclarationId(1329), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1303, 1312) }, - Declaration { id: DeclarationId(1330), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(592) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1739, 1759) }, - Declaration { id: DeclarationId(1331), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1764, 1788) }, - Declaration { id: DeclarationId(1332), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(597) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1800, 1816) }, - Declaration { id: DeclarationId(1333), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(1332) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1793, 1817) }, - Declaration { id: DeclarationId(1334), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(598) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1827, 1843) }, - Declaration { id: DeclarationId(1335), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(1334) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1822, 1844) }, - Declaration { id: DeclarationId(1336), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(598) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1907, 1923) }, - Declaration { id: DeclarationId(1337), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "constructor".to_string(), ty: DeclarationId(534) }, Field { label: "payload".to_string(), ty: DeclarationId(1336) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1849, 1929) }, - Declaration { id: DeclarationId(1338), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2088, 2117) }, - Declaration { id: DeclarationId(1339), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(597) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2152, 2168) }, - Declaration { id: DeclarationId(1340), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "fields".to_string(), ty: DeclarationId(1339) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2122, 2170) }, - Declaration { id: DeclarationId(1341), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(532) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2505, 2524) }, - Declaration { id: DeclarationId(1342), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2529, 2563) }, - Declaration { id: DeclarationId(1343), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2568, 2575) }, - Declaration { id: DeclarationId(1344), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2580, 2586) }, - Declaration { id: DeclarationId(1345), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2591, 2611) }, - Declaration { id: DeclarationId(1346), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(593) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2840, 2857) }, - Declaration { id: DeclarationId(1347), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(595) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2879, 2894) }, - Declaration { id: DeclarationId(1348), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "children".to_string(), ty: DeclarationId(1347) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2862, 2896) }, - Declaration { id: DeclarationId(1349), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(595) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2918, 2933) }, - Declaration { id: DeclarationId(1350), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "variants".to_string(), ty: DeclarationId(1349) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2901, 2935) }, - Declaration { id: DeclarationId(1351), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2962, 2981) }, - Declaration { id: DeclarationId(1352), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "inputs".to_string(), ty: DeclarationId(1351) }, Field { label: "output".to_string(), ty: DeclarationId(534) }, Field { label: "body".to_string(), ty: DeclarationId(600) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2940, 3037) }, - Declaration { id: DeclarationId(1353), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "element".to_string(), ty: DeclarationId(534) }, Field { label: "bound".to_string(), ty: DeclarationId(594) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3042, 3120) }, - Declaration { id: DeclarationId(1354), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(596) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3188, 3210) }, - Declaration { id: DeclarationId(1355), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "template".to_string(), ty: DeclarationId(534) }, Field { label: "arguments".to_string(), ty: DeclarationId(1354) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3125, 3216) }, - Declaration { id: DeclarationId(1356), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(182), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3265, 3272) }, - Declaration { id: DeclarationId(1357), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3317, 3336) }, - Declaration { id: DeclarationId(1358), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(534), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3349, 3363) }, - Declaration { id: DeclarationId(1359), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(534), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3376, 3390) }, - Declaration { id: DeclarationId(1360), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(599), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3405, 3415) }, - Declaration { id: DeclarationId(1361), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3715, 3718) }, - Declaration { id: DeclarationId(1362), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3723, 3726) }, - Declaration { id: DeclarationId(1363), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3731, 3734) }, - Declaration { id: DeclarationId(1364), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3739, 3742) }, - Declaration { id: DeclarationId(1365), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3866, 3868) }, - Declaration { id: DeclarationId(1366), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3873, 3875) }, - Declaration { id: DeclarationId(1367), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3880, 3882) }, - Declaration { id: DeclarationId(1368), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3887, 3889) }, - Declaration { id: DeclarationId(1369), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3894, 3896) }, - Declaration { id: DeclarationId(1370), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3901, 3903) }, - Declaration { id: DeclarationId(1371), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4156, 4159) }, - Declaration { id: DeclarationId(1372), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4164, 4166) }, - Declaration { id: DeclarationId(1373), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(603) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4402, 4426) }, - Declaration { id: DeclarationId(1374), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(604) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4431, 4455) }, - Declaration { id: DeclarationId(1375), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(605) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4460, 4478) }, - Declaration { id: DeclarationId(1376), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4665, 4688) }, - Declaration { id: DeclarationId(1377), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(534), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4753, 4767) }, - Declaration { id: DeclarationId(1378), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "field_label".to_string(), ty: DeclarationId(182) }, Field { label: "field_child".to_string(), ty: DeclarationId(1377) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4693, 4773) }, - Declaration { id: DeclarationId(1379), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(606) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4778, 4800) }, - Declaration { id: DeclarationId(1380), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "name".to_string(), ty: DeclarationId(182) }, Field { label: "span".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4925, 4977) }, - Declaration { id: DeclarationId(1381), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4982, 5012) }, - Declaration { id: DeclarationId(1382), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(609), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5176, 5191) }, - Declaration { id: DeclarationId(1383), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(538), arguments: vec![TemplateArgument { parameter: DeclarationId(539), value: DeclarationId(615) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7167, 7198) }, - Declaration { id: DeclarationId(1384), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(536), arguments: vec![TemplateArgument { parameter: DeclarationId(537), value: DeclarationId(616) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7222, 7252) }, - Declaration { id: DeclarationId(1385), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "count".to_string(), ty: DeclarationId(533) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7678, 7707) }, - Declaration { id: DeclarationId(1386), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "cluster".to_string(), ty: DeclarationId(535) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7712, 7742) }, - Declaration { id: DeclarationId(1387), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(565), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7856, 7871) }, - Declaration { id: DeclarationId(1388), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(533) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7945, 7957) }, - Declaration { id: DeclarationId(1389), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(610) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8058, 8074) }, - Declaration { id: DeclarationId(1390), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(533) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8334, 8346) }, - Declaration { id: DeclarationId(1391), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(565), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8384, 8399) }, - Declaration { id: DeclarationId(1392), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(619) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8491, 8507) }, - Declaration { id: DeclarationId(1393), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(620) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8512, 8536) }, - Declaration { id: DeclarationId(1394), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(621) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8541, 8559) }, - Declaration { id: DeclarationId(1395), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(622) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8564, 8578) }, - Declaration { id: DeclarationId(1396), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(623) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8583, 8597) }, - Declaration { id: DeclarationId(1397), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(602) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8626, 8643) }, - Declaration { id: DeclarationId(1398), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(624) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8653, 8667) }, - Declaration { id: DeclarationId(1399), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(591) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8677, 8690) }, - Declaration { id: DeclarationId(1400), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(617) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8703, 8716) }, + Declaration { id: DeclarationId(1322), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(592) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2850, 2870) }, + Declaration { id: DeclarationId(1323), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(182) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2875, 2903) }, + Declaration { id: DeclarationId(1324), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2908, 2942) }, + Declaration { id: DeclarationId(1325), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2947, 2976) }, + Declaration { id: DeclarationId(1326), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(182) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2981, 2998) }, + Declaration { id: DeclarationId(1327), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(67) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3151, 3161) }, + Declaration { id: DeclarationId(1328), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3166, 3175) }, + Declaration { id: DeclarationId(1329), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3180, 3189) }, + Declaration { id: DeclarationId(1330), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(592) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3616, 3636) }, + Declaration { id: DeclarationId(1331), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3641, 3665) }, + Declaration { id: DeclarationId(1332), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(597) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3677, 3693) }, + Declaration { id: DeclarationId(1333), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(1332) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3670, 3694) }, + Declaration { id: DeclarationId(1334), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(598) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3704, 3720) }, + Declaration { id: DeclarationId(1335), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(1334) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3699, 3721) }, + Declaration { id: DeclarationId(1336), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(598) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3784, 3800) }, + Declaration { id: DeclarationId(1337), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "constructor".to_string(), ty: DeclarationId(534) }, Field { label: "payload".to_string(), ty: DeclarationId(1336) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3726, 3806) }, + Declaration { id: DeclarationId(1338), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3965, 3994) }, + Declaration { id: DeclarationId(1339), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(597) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4029, 4045) }, + Declaration { id: DeclarationId(1340), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "fields".to_string(), ty: DeclarationId(1339) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3999, 4047) }, + Declaration { id: DeclarationId(1341), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(532) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4382, 4401) }, + Declaration { id: DeclarationId(1342), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4406, 4440) }, + Declaration { id: DeclarationId(1343), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4445, 4452) }, + Declaration { id: DeclarationId(1344), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4457, 4463) }, + Declaration { id: DeclarationId(1345), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4468, 4488) }, + Declaration { id: DeclarationId(1346), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(593) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4717, 4734) }, + Declaration { id: DeclarationId(1347), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(595) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4756, 4771) }, + Declaration { id: DeclarationId(1348), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "children".to_string(), ty: DeclarationId(1347) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4739, 4773) }, + Declaration { id: DeclarationId(1349), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(595) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4795, 4810) }, + Declaration { id: DeclarationId(1350), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "variants".to_string(), ty: DeclarationId(1349) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4778, 4812) }, + Declaration { id: DeclarationId(1351), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4839, 4858) }, + Declaration { id: DeclarationId(1352), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "inputs".to_string(), ty: DeclarationId(1351) }, Field { label: "output".to_string(), ty: DeclarationId(534) }, Field { label: "body".to_string(), ty: DeclarationId(600) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4817, 4914) }, + Declaration { id: DeclarationId(1353), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "element".to_string(), ty: DeclarationId(534) }, Field { label: "bound".to_string(), ty: DeclarationId(594) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4919, 4997) }, + Declaration { id: DeclarationId(1354), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(596) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5065, 5087) }, + Declaration { id: DeclarationId(1355), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "template".to_string(), ty: DeclarationId(534) }, Field { label: "arguments".to_string(), ty: DeclarationId(1354) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5002, 5093) }, + Declaration { id: DeclarationId(1356), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(182), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5142, 5149) }, + Declaration { id: DeclarationId(1357), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5194, 5213) }, + Declaration { id: DeclarationId(1358), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(534), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5226, 5240) }, + Declaration { id: DeclarationId(1359), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(534), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5253, 5267) }, + Declaration { id: DeclarationId(1360), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(599), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5282, 5292) }, + Declaration { id: DeclarationId(1361), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5592, 5595) }, + Declaration { id: DeclarationId(1362), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5600, 5603) }, + Declaration { id: DeclarationId(1363), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5608, 5611) }, + Declaration { id: DeclarationId(1364), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5616, 5619) }, + Declaration { id: DeclarationId(1365), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5743, 5745) }, + Declaration { id: DeclarationId(1366), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5750, 5752) }, + Declaration { id: DeclarationId(1367), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5757, 5759) }, + Declaration { id: DeclarationId(1368), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5764, 5766) }, + Declaration { id: DeclarationId(1369), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5771, 5773) }, + Declaration { id: DeclarationId(1370), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5778, 5780) }, + Declaration { id: DeclarationId(1371), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6033, 6036) }, + Declaration { id: DeclarationId(1372), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6041, 6043) }, + Declaration { id: DeclarationId(1373), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(603) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6279, 6303) }, + Declaration { id: DeclarationId(1374), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(604) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6308, 6332) }, + Declaration { id: DeclarationId(1375), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(605) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6337, 6355) }, + Declaration { id: DeclarationId(1376), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6542, 6565) }, + Declaration { id: DeclarationId(1377), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(534), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6630, 6644) }, + Declaration { id: DeclarationId(1378), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "field_label".to_string(), ty: DeclarationId(182) }, Field { label: "field_child".to_string(), ty: DeclarationId(1377) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6570, 6650) }, + Declaration { id: DeclarationId(1379), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(606) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6655, 6677) }, + Declaration { id: DeclarationId(1380), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "name".to_string(), ty: DeclarationId(182) }, Field { label: "span".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6802, 6854) }, + Declaration { id: DeclarationId(1381), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6859, 6889) }, + Declaration { id: DeclarationId(1382), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(609), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7053, 7068) }, + Declaration { id: DeclarationId(1383), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(538), arguments: vec![TemplateArgument { parameter: DeclarationId(539), value: DeclarationId(615) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9044, 9075) }, + Declaration { id: DeclarationId(1384), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(536), arguments: vec![TemplateArgument { parameter: DeclarationId(537), value: DeclarationId(616) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9099, 9129) }, + Declaration { id: DeclarationId(1385), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "count".to_string(), ty: DeclarationId(533) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9555, 9584) }, + Declaration { id: DeclarationId(1386), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "cluster".to_string(), ty: DeclarationId(535) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9589, 9619) }, + Declaration { id: DeclarationId(1387), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(565), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9733, 9748) }, + Declaration { id: DeclarationId(1388), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(533) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9822, 9834) }, + Declaration { id: DeclarationId(1389), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(610) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9935, 9951) }, + Declaration { id: DeclarationId(1390), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(533) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10211, 10223) }, + Declaration { id: DeclarationId(1391), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(565), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10261, 10276) }, + Declaration { id: DeclarationId(1392), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(619) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10368, 10384) }, + Declaration { id: DeclarationId(1393), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(620) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10389, 10413) }, + Declaration { id: DeclarationId(1394), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(621) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10418, 10436) }, + Declaration { id: DeclarationId(1395), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(622) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10441, 10455) }, + Declaration { id: DeclarationId(1396), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(623) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10460, 10474) }, + Declaration { id: DeclarationId(1397), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(602) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10503, 10520) }, + Declaration { id: DeclarationId(1398), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(624) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10530, 10544) }, + Declaration { id: DeclarationId(1399), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(591) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10554, 10567) }, + Declaration { id: DeclarationId(1400), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(617) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10580, 10593) }, Declaration { id: DeclarationId(1401), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(797), arguments: vec![TemplateArgument { parameter: DeclarationId(798), value: DeclarationId(637) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/algebra.dag", 6573, 6593) }, Declaration { id: DeclarationId(1402), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(797), arguments: vec![TemplateArgument { parameter: DeclarationId(798), value: DeclarationId(637) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/algebra.dag", 6657, 6677) }, Declaration { id: DeclarationId(1403), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(538), arguments: vec![TemplateArgument { parameter: DeclarationId(539), value: DeclarationId(637) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/algebra.dag", 6745, 6775) }, diff --git a/src/v3/compiler/src/bootstrap_generated_without_parse_surface.rs b/src/v3/compiler/src/bootstrap_generated_without_parse_surface.rs index b0c3892ee17..68a90b2a886 100644 --- a/src/v3/compiler/src/bootstrap_generated_without_parse_surface.rs +++ b/src/v3/compiler/src/bootstrap_generated_without_parse_surface.rs @@ -598,48 +598,48 @@ pub(crate) fn bootstrapped_fixture_without_parse_surface_dag() -> Dag { Declaration { id: DeclarationId(590), name: Some("PortState".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Uninferred".to_string(), ty: DeclarationId(1301) }, Field { label: "Resolved".to_string(), ty: DeclarationId(1302) }, Field { label: "Unresolved".to_string(), ty: DeclarationId(1303) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 437, 505) }, Declaration { id: DeclarationId(591), name: Some("DagPort".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(533) }, Field { label: "state".to_string(), ty: DeclarationId(590) }, Field { label: "produced_by".to_string(), ty: DeclarationId(1304) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 507, 578) }, Declaration { id: DeclarationId(592), name: Some("LiteralBits".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "LitInt".to_string(), ty: DeclarationId(1305) }, Field { label: "LitBool".to_string(), ty: DeclarationId(1306) }, Field { label: "LitString".to_string(), ty: DeclarationId(1307) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 747, 819) }, - Declaration { id: DeclarationId(593), name: Some("AtomPayload".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Literal".to_string(), ty: DeclarationId(1308) }, Field { label: "UnresolvedIdentifier".to_string(), ty: DeclarationId(1309) }, Field { label: "ResolvedByStructure".to_string(), ty: DeclarationId(1310) }, Field { label: "ResolvedByName".to_string(), ty: DeclarationId(1311) }, Field { label: "TypeParam".to_string(), ty: DeclarationId(1312) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 952, 1121) }, - Declaration { id: DeclarationId(594), name: Some("CardinalityBound".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Exact".to_string(), ty: DeclarationId(1313) }, Field { label: "AtMostOne".to_string(), ty: DeclarationId(1314) }, Field { label: "Unbounded".to_string(), ty: DeclarationId(1315) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1248, 1312) }, - Declaration { id: DeclarationId(595), name: Some("ConjField".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "label".to_string(), ty: DeclarationId(182) }, Field { label: "ty".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1314, 1368) }, - Declaration { id: DeclarationId(596), name: Some("TemplateArgument".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "parameter".to_string(), ty: DeclarationId(534) }, Field { label: "value".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1370, 1445) }, - Declaration { id: DeclarationId(597), name: Some("FieldEntry".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "label".to_string(), ty: DeclarationId(182) }, Field { label: "value".to_string(), ty: DeclarationId(598) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1447, 1502) }, - Declaration { id: DeclarationId(598), name: Some("FieldValue".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Literal".to_string(), ty: DeclarationId(1316) }, Field { label: "Reference".to_string(), ty: DeclarationId(1317) }, Field { label: "Record".to_string(), ty: DeclarationId(1319) }, Field { label: "List".to_string(), ty: DeclarationId(1321) }, Field { label: "Variant".to_string(), ty: DeclarationId(1323) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1719, 1929) }, - Declaration { id: DeclarationId(599), name: Some("ValueBody".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "ValueBodyUnparsed".to_string(), ty: DeclarationId(1324) }, Field { label: "ValueBodyStructural".to_string(), ty: DeclarationId(1326) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2069, 2170) }, - Declaration { id: DeclarationId(600), name: Some("ArrowBody".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "UserDefined".to_string(), ty: DeclarationId(1327) }, Field { label: "ExternalRealization".to_string(), ty: DeclarationId(1328) }, Field { label: "Pending".to_string(), ty: DeclarationId(1329) }, Field { label: "NoBody".to_string(), ty: DeclarationId(1330) }, Field { label: "Unparsed".to_string(), ty: DeclarationId(1331) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2486, 2611) }, - Declaration { id: DeclarationId(601), name: Some("TypeConnective".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Atom".to_string(), ty: DeclarationId(1332) }, Field { label: "Conj".to_string(), ty: DeclarationId(1334) }, Field { label: "Disj".to_string(), ty: DeclarationId(1336) }, Field { label: "Arrow".to_string(), ty: DeclarationId(1338) }, Field { label: "Cardinality".to_string(), ty: DeclarationId(1339) }, Field { label: "Instantiation".to_string(), ty: DeclarationId(1341) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2816, 3216) }, - Declaration { id: DeclarationId(602), name: Some("Declaration".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(534) }, Field { label: "name".to_string(), ty: DeclarationId(1342) }, Field { label: "connective".to_string(), ty: DeclarationId(601) }, Field { label: "type_params".to_string(), ty: DeclarationId(1343) }, Field { label: "meta_tag".to_string(), ty: DeclarationId(1344) }, Field { label: "inhabits".to_string(), ty: DeclarationId(1345) }, Field { label: "value_body".to_string(), ty: DeclarationId(1346) }, Field { label: "span".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3218, 3436) }, - Declaration { id: DeclarationId(603), name: Some("ArithmeticOp".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Add".to_string(), ty: DeclarationId(1347) }, Field { label: "Sub".to_string(), ty: DeclarationId(1348) }, Field { label: "Mul".to_string(), ty: DeclarationId(1349) }, Field { label: "Div".to_string(), ty: DeclarationId(1350) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3693, 3742) }, - Declaration { id: DeclarationId(604), name: Some("ComparisonOp".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Eq".to_string(), ty: DeclarationId(1351) }, Field { label: "Ne".to_string(), ty: DeclarationId(1352) }, Field { label: "Lt".to_string(), ty: DeclarationId(1353) }, Field { label: "Le".to_string(), ty: DeclarationId(1354) }, Field { label: "Gt".to_string(), ty: DeclarationId(1355) }, Field { label: "Ge".to_string(), ty: DeclarationId(1356) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3844, 3903) }, - Declaration { id: DeclarationId(605), name: Some("LogicalOp".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "And".to_string(), ty: DeclarationId(1357) }, Field { label: "Or".to_string(), ty: DeclarationId(1358) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4137, 4166) }, - Declaration { id: DeclarationId(606), name: Some("OperatorKind".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Arithmetic".to_string(), ty: DeclarationId(1359) }, Field { label: "Comparison".to_string(), ty: DeclarationId(1360) }, Field { label: "Logical".to_string(), ty: DeclarationId(1361) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4380, 4478) }, - Declaration { id: DeclarationId(607), name: Some("TransformTarget".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Callable".to_string(), ty: DeclarationId(1362) }, Field { label: "FieldProject".to_string(), ty: DeclarationId(1364) }, Field { label: "Operator".to_string(), ty: DeclarationId(1365) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4640, 4800) }, - Declaration { id: DeclarationId(608), name: Some("BranchPattern".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "UnresolvedVariant".to_string(), ty: DeclarationId(1366) }, Field { label: "ResolvedVariant".to_string(), ty: DeclarationId(1367) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4902, 5012) }, - Declaration { id: DeclarationId(609), name: Some("PayloadBinding".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "binding_name".to_string(), ty: DeclarationId(182) }, Field { label: "payload_port".to_string(), ty: DeclarationId(533) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5014, 5083) }, - Declaration { id: DeclarationId(610), name: Some("BranchPath".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "body".to_string(), ty: DeclarationId(532) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "pattern".to_string(), ty: DeclarationId(608) }, Field { label: "binding".to_string(), ty: DeclarationId(1368) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5085, 5193) }, - Declaration { id: DeclarationId(611), name: Some("ParamRef".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "member".to_string(), ty: DeclarationId(532) }, Field { label: "slot".to_string(), ty: DeclarationId(67) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5792, 5838) }, - Declaration { id: DeclarationId(612), name: Some("TransformRef".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "node".to_string(), ty: DeclarationId(532) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6350, 6386) }, - Declaration { id: DeclarationId(613), name: Some("ElementRef".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "index".to_string(), ty: DeclarationId(67) }] }, type_params: vec![DeclarationId(614)], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7003, 7044) }, - Declaration { id: DeclarationId(614), name: None, connective: TypeConnective::Atom(AtomPayload::TypeParam("element".to_string())), type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7003, 7044) }, - Declaration { id: DeclarationId(615), name: Some("MemberDescent".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "param".to_string(), ty: DeclarationId(611) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7046, 7086) }, - Declaration { id: DeclarationId(616), name: Some("IntraClusterCall".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "transform".to_string(), ty: DeclarationId(612) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7088, 7139) }, - Declaration { id: DeclarationId(617), name: Some("Cluster".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "members".to_string(), ty: DeclarationId(1369) }, Field { label: "intra_cluster_calls".to_string(), ty: DeclarationId(1370) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7141, 7254) }, - Declaration { id: DeclarationId(618), name: Some("LoopBound".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Cardinality".to_string(), ty: DeclarationId(1371) }, Field { label: "Descent".to_string(), ty: DeclarationId(1372) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7659, 7742) }, - Declaration { id: DeclarationId(619), name: Some("ValueNode".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(532) }, Field { label: "payload".to_string(), ty: DeclarationId(592) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "span".to_string(), ty: DeclarationId(117) }, Field { label: "lane2_workflow".to_string(), ty: DeclarationId(1373) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7744, 7873) }, - Declaration { id: DeclarationId(620), name: Some("TransformNode".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(532) }, Field { label: "target".to_string(), ty: DeclarationId(607) }, Field { label: "inputs".to_string(), ty: DeclarationId(1374) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "span".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7875, 8000) }, - Declaration { id: DeclarationId(621), name: Some("BranchNode".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(532) }, Field { label: "input".to_string(), ty: DeclarationId(533) }, Field { label: "paths".to_string(), ty: DeclarationId(1375) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "span".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8002, 8117) }, - Declaration { id: DeclarationId(622), name: Some("LoopNode".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(532) }, Field { label: "source".to_string(), ty: DeclarationId(533) }, Field { label: "init".to_string(), ty: DeclarationId(533) }, Field { label: "body".to_string(), ty: DeclarationId(532) }, Field { label: "bound".to_string(), ty: DeclarationId(618) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "span".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8119, 8256) }, - Declaration { id: DeclarationId(623), name: Some("BindNode".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(532) }, Field { label: "name".to_string(), ty: DeclarationId(182) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "params".to_string(), ty: DeclarationId(1376) }, Field { label: "span".to_string(), ty: DeclarationId(117) }, Field { label: "lane2_workflow".to_string(), ty: DeclarationId(1377) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8258, 8401) }, - Declaration { id: DeclarationId(624), name: Some("Behavior".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Value".to_string(), ty: DeclarationId(1378) }, Field { label: "Transform".to_string(), ty: DeclarationId(1379) }, Field { label: "Branch".to_string(), ty: DeclarationId(1380) }, Field { label: "Loop".to_string(), ty: DeclarationId(1381) }, Field { label: "Bind".to_string(), ty: DeclarationId(1382) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8473, 8597) }, - Declaration { id: DeclarationId(625), name: Some("Dag".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "declarations".to_string(), ty: DeclarationId(1383) }, Field { label: "nodes".to_string(), ty: DeclarationId(1384) }, Field { label: "ports".to_string(), ty: DeclarationId(1385) }, Field { label: "clusters".to_string(), ty: DeclarationId(1386) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8599, 8718) }, - Declaration { id: DeclarationId(626), name: Some("SubstrateAccessorRealization".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "carrier".to_string(), ty: DeclarationId(182) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10070, 10125) }, - Declaration { id: DeclarationId(627), name: Some("SubstrateAccessorBinding".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "accessor".to_string(), ty: DeclarationId(845) }, Field { label: "realization".to_string(), ty: DeclarationId(845) }, Field { label: "language".to_string(), ty: DeclarationId(845) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10892, 11009) }, - Declaration { id: DeclarationId(628), name: Some("port".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(625), DeclarationId(533)], output: DeclarationId(1294), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 11051, 11066)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 11011, 11066) }, - Declaration { id: DeclarationId(629), name: Some("node".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(625), DeclarationId(532)], output: DeclarationId(1295), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 11109, 11124)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 11068, 11124) }, - Declaration { id: DeclarationId(630), name: Some("resolve_producer".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(625), DeclarationId(533)], output: DeclarationId(1296), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 11184, 11211)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 11126, 11211) }, - Declaration { id: DeclarationId(631), name: Some("declaration_by_id".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(625), DeclarationId(534)], output: DeclarationId(1297), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 11573, 11601)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 11509, 11601) }, - Declaration { id: DeclarationId(632), name: Some("lane2_workflow_at".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(625), DeclarationId(532)], output: DeclarationId(1298), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 11897, 11932)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 11837, 11932) }, - Declaration { id: DeclarationId(633), name: Some("miss_declaration_id_lookup".to_string()), connective: TypeConnective::Arrow { inputs: vec![], output: DeclarationId(1299), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 12289, 12299)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 12232, 12299) }, - Declaration { id: DeclarationId(634), name: Some("hit_declaration_id_lookup".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(534)], output: DeclarationId(1300), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 12374, 12387)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 12301, 12387) }, + Declaration { id: DeclarationId(593), name: Some("AtomPayload".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Literal".to_string(), ty: DeclarationId(1308) }, Field { label: "UnresolvedIdentifier".to_string(), ty: DeclarationId(1309) }, Field { label: "ResolvedByStructure".to_string(), ty: DeclarationId(1310) }, Field { label: "ResolvedByName".to_string(), ty: DeclarationId(1311) }, Field { label: "TypeParam".to_string(), ty: DeclarationId(1312) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2829, 2998) }, + Declaration { id: DeclarationId(594), name: Some("CardinalityBound".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Exact".to_string(), ty: DeclarationId(1313) }, Field { label: "AtMostOne".to_string(), ty: DeclarationId(1314) }, Field { label: "Unbounded".to_string(), ty: DeclarationId(1315) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3125, 3189) }, + Declaration { id: DeclarationId(595), name: Some("ConjField".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "label".to_string(), ty: DeclarationId(182) }, Field { label: "ty".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3191, 3245) }, + Declaration { id: DeclarationId(596), name: Some("TemplateArgument".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "parameter".to_string(), ty: DeclarationId(534) }, Field { label: "value".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3247, 3322) }, + Declaration { id: DeclarationId(597), name: Some("FieldEntry".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "label".to_string(), ty: DeclarationId(182) }, Field { label: "value".to_string(), ty: DeclarationId(598) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3324, 3379) }, + Declaration { id: DeclarationId(598), name: Some("FieldValue".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Literal".to_string(), ty: DeclarationId(1316) }, Field { label: "Reference".to_string(), ty: DeclarationId(1317) }, Field { label: "Record".to_string(), ty: DeclarationId(1319) }, Field { label: "List".to_string(), ty: DeclarationId(1321) }, Field { label: "Variant".to_string(), ty: DeclarationId(1323) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3596, 3806) }, + Declaration { id: DeclarationId(599), name: Some("ValueBody".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "ValueBodyUnparsed".to_string(), ty: DeclarationId(1324) }, Field { label: "ValueBodyStructural".to_string(), ty: DeclarationId(1326) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3946, 4047) }, + Declaration { id: DeclarationId(600), name: Some("ArrowBody".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "UserDefined".to_string(), ty: DeclarationId(1327) }, Field { label: "ExternalRealization".to_string(), ty: DeclarationId(1328) }, Field { label: "Pending".to_string(), ty: DeclarationId(1329) }, Field { label: "NoBody".to_string(), ty: DeclarationId(1330) }, Field { label: "Unparsed".to_string(), ty: DeclarationId(1331) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4363, 4488) }, + Declaration { id: DeclarationId(601), name: Some("TypeConnective".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Atom".to_string(), ty: DeclarationId(1332) }, Field { label: "Conj".to_string(), ty: DeclarationId(1334) }, Field { label: "Disj".to_string(), ty: DeclarationId(1336) }, Field { label: "Arrow".to_string(), ty: DeclarationId(1338) }, Field { label: "Cardinality".to_string(), ty: DeclarationId(1339) }, Field { label: "Instantiation".to_string(), ty: DeclarationId(1341) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4693, 5093) }, + Declaration { id: DeclarationId(602), name: Some("Declaration".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(534) }, Field { label: "name".to_string(), ty: DeclarationId(1342) }, Field { label: "connective".to_string(), ty: DeclarationId(601) }, Field { label: "type_params".to_string(), ty: DeclarationId(1343) }, Field { label: "meta_tag".to_string(), ty: DeclarationId(1344) }, Field { label: "inhabits".to_string(), ty: DeclarationId(1345) }, Field { label: "value_body".to_string(), ty: DeclarationId(1346) }, Field { label: "span".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5095, 5313) }, + Declaration { id: DeclarationId(603), name: Some("ArithmeticOp".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Add".to_string(), ty: DeclarationId(1347) }, Field { label: "Sub".to_string(), ty: DeclarationId(1348) }, Field { label: "Mul".to_string(), ty: DeclarationId(1349) }, Field { label: "Div".to_string(), ty: DeclarationId(1350) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5570, 5619) }, + Declaration { id: DeclarationId(604), name: Some("ComparisonOp".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Eq".to_string(), ty: DeclarationId(1351) }, Field { label: "Ne".to_string(), ty: DeclarationId(1352) }, Field { label: "Lt".to_string(), ty: DeclarationId(1353) }, Field { label: "Le".to_string(), ty: DeclarationId(1354) }, Field { label: "Gt".to_string(), ty: DeclarationId(1355) }, Field { label: "Ge".to_string(), ty: DeclarationId(1356) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5721, 5780) }, + Declaration { id: DeclarationId(605), name: Some("LogicalOp".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "And".to_string(), ty: DeclarationId(1357) }, Field { label: "Or".to_string(), ty: DeclarationId(1358) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6014, 6043) }, + Declaration { id: DeclarationId(606), name: Some("OperatorKind".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Arithmetic".to_string(), ty: DeclarationId(1359) }, Field { label: "Comparison".to_string(), ty: DeclarationId(1360) }, Field { label: "Logical".to_string(), ty: DeclarationId(1361) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6257, 6355) }, + Declaration { id: DeclarationId(607), name: Some("TransformTarget".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Callable".to_string(), ty: DeclarationId(1362) }, Field { label: "FieldProject".to_string(), ty: DeclarationId(1364) }, Field { label: "Operator".to_string(), ty: DeclarationId(1365) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6517, 6677) }, + Declaration { id: DeclarationId(608), name: Some("BranchPattern".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "UnresolvedVariant".to_string(), ty: DeclarationId(1366) }, Field { label: "ResolvedVariant".to_string(), ty: DeclarationId(1367) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6779, 6889) }, + Declaration { id: DeclarationId(609), name: Some("PayloadBinding".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "binding_name".to_string(), ty: DeclarationId(182) }, Field { label: "payload_port".to_string(), ty: DeclarationId(533) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6891, 6960) }, + Declaration { id: DeclarationId(610), name: Some("BranchPath".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "body".to_string(), ty: DeclarationId(532) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "pattern".to_string(), ty: DeclarationId(608) }, Field { label: "binding".to_string(), ty: DeclarationId(1368) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6962, 7070) }, + Declaration { id: DeclarationId(611), name: Some("ParamRef".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "member".to_string(), ty: DeclarationId(532) }, Field { label: "slot".to_string(), ty: DeclarationId(67) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7669, 7715) }, + Declaration { id: DeclarationId(612), name: Some("TransformRef".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "node".to_string(), ty: DeclarationId(532) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8227, 8263) }, + Declaration { id: DeclarationId(613), name: Some("ElementRef".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "index".to_string(), ty: DeclarationId(67) }] }, type_params: vec![DeclarationId(614)], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8880, 8921) }, + Declaration { id: DeclarationId(614), name: None, connective: TypeConnective::Atom(AtomPayload::TypeParam("element".to_string())), type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8880, 8921) }, + Declaration { id: DeclarationId(615), name: Some("MemberDescent".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "param".to_string(), ty: DeclarationId(611) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8923, 8963) }, + Declaration { id: DeclarationId(616), name: Some("IntraClusterCall".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "transform".to_string(), ty: DeclarationId(612) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8965, 9016) }, + Declaration { id: DeclarationId(617), name: Some("Cluster".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "members".to_string(), ty: DeclarationId(1369) }, Field { label: "intra_cluster_calls".to_string(), ty: DeclarationId(1370) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9018, 9131) }, + Declaration { id: DeclarationId(618), name: Some("LoopBound".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Cardinality".to_string(), ty: DeclarationId(1371) }, Field { label: "Descent".to_string(), ty: DeclarationId(1372) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9536, 9619) }, + Declaration { id: DeclarationId(619), name: Some("ValueNode".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(532) }, Field { label: "payload".to_string(), ty: DeclarationId(592) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "span".to_string(), ty: DeclarationId(117) }, Field { label: "lane2_workflow".to_string(), ty: DeclarationId(1373) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9621, 9750) }, + Declaration { id: DeclarationId(620), name: Some("TransformNode".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(532) }, Field { label: "target".to_string(), ty: DeclarationId(607) }, Field { label: "inputs".to_string(), ty: DeclarationId(1374) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "span".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9752, 9877) }, + Declaration { id: DeclarationId(621), name: Some("BranchNode".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(532) }, Field { label: "input".to_string(), ty: DeclarationId(533) }, Field { label: "paths".to_string(), ty: DeclarationId(1375) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "span".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9879, 9994) }, + Declaration { id: DeclarationId(622), name: Some("LoopNode".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(532) }, Field { label: "source".to_string(), ty: DeclarationId(533) }, Field { label: "init".to_string(), ty: DeclarationId(533) }, Field { label: "body".to_string(), ty: DeclarationId(532) }, Field { label: "bound".to_string(), ty: DeclarationId(618) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "span".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9996, 10133) }, + Declaration { id: DeclarationId(623), name: Some("BindNode".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "id".to_string(), ty: DeclarationId(532) }, Field { label: "name".to_string(), ty: DeclarationId(182) }, Field { label: "result_port".to_string(), ty: DeclarationId(533) }, Field { label: "params".to_string(), ty: DeclarationId(1376) }, Field { label: "span".to_string(), ty: DeclarationId(117) }, Field { label: "lane2_workflow".to_string(), ty: DeclarationId(1377) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10135, 10278) }, + Declaration { id: DeclarationId(624), name: Some("Behavior".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "Value".to_string(), ty: DeclarationId(1378) }, Field { label: "Transform".to_string(), ty: DeclarationId(1379) }, Field { label: "Branch".to_string(), ty: DeclarationId(1380) }, Field { label: "Loop".to_string(), ty: DeclarationId(1381) }, Field { label: "Bind".to_string(), ty: DeclarationId(1382) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10350, 10474) }, + Declaration { id: DeclarationId(625), name: Some("Dag".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "declarations".to_string(), ty: DeclarationId(1383) }, Field { label: "nodes".to_string(), ty: DeclarationId(1384) }, Field { label: "ports".to_string(), ty: DeclarationId(1385) }, Field { label: "clusters".to_string(), ty: DeclarationId(1386) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10476, 10595) }, + Declaration { id: DeclarationId(626), name: Some("SubstrateAccessorRealization".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "carrier".to_string(), ty: DeclarationId(182) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 11947, 12002) }, + Declaration { id: DeclarationId(627), name: Some("SubstrateAccessorBinding".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "accessor".to_string(), ty: DeclarationId(845) }, Field { label: "realization".to_string(), ty: DeclarationId(845) }, Field { label: "language".to_string(), ty: DeclarationId(845) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 12769, 12886) }, + Declaration { id: DeclarationId(628), name: Some("port".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(625), DeclarationId(533)], output: DeclarationId(1294), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 12928, 12943)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 12888, 12943) }, + Declaration { id: DeclarationId(629), name: Some("node".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(625), DeclarationId(532)], output: DeclarationId(1295), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 12986, 13001)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 12945, 13001) }, + Declaration { id: DeclarationId(630), name: Some("resolve_producer".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(625), DeclarationId(533)], output: DeclarationId(1296), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 13061, 13088)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 13003, 13088) }, + Declaration { id: DeclarationId(631), name: Some("declaration_by_id".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(625), DeclarationId(534)], output: DeclarationId(1297), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 13450, 13478)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 13386, 13478) }, + Declaration { id: DeclarationId(632), name: Some("lane2_workflow_at".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(625), DeclarationId(532)], output: DeclarationId(1298), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 13774, 13809)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 13714, 13809) }, + Declaration { id: DeclarationId(633), name: Some("miss_declaration_id_lookup".to_string()), connective: TypeConnective::Arrow { inputs: vec![], output: DeclarationId(1299), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 14166, 14176)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 14109, 14176) }, + Declaration { id: DeclarationId(634), name: Some("hit_declaration_id_lookup".to_string()), connective: TypeConnective::Arrow { inputs: vec![DeclarationId(534)], output: DeclarationId(1300), body: ArrowBody::Unparsed(SourceSpan::new("src/v3/std/substrate.dag", 14251, 14264)) }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 14178, 14264) }, Declaration { id: DeclarationId(635), name: Some("SizeVariable".to_string()), connective: TypeConnective::Conj { children: vec![Field { label: "source_port".to_string(), ty: DeclarationId(533) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/algebra.dag", 4650, 4693) }, Declaration { id: DeclarationId(636), name: Some("DegreeAtLeastTwo".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "DegreeTwo".to_string(), ty: DeclarationId(1407) }, Field { label: "DegreeSuccessor".to_string(), ty: DeclarationId(1408) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/algebra.dag", 5440, 5526) }, Declaration { id: DeclarationId(637), name: Some("SymbolicCost".to_string()), connective: TypeConnective::Disj { variants: vec![Field { label: "ConstantCost".to_string(), ty: DeclarationId(1409) }, Field { label: "LinearCost".to_string(), ty: DeclarationId(1410) }, Field { label: "PolynomialCost".to_string(), ty: DeclarationId(1411) }, Field { label: "ProductCost".to_string(), ty: DeclarationId(1413) }, Field { label: "SumCost".to_string(), ty: DeclarationId(1415) }, Field { label: "LogCost".to_string(), ty: DeclarationId(1416) }, Field { label: "UnknownCost".to_string(), ty: DeclarationId(1417) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/algebra.dag", 5676, 5953) }, @@ -1299,13 +1299,13 @@ pub(crate) fn bootstrapped_fixture_without_parse_surface_dag() -> Dag { Declaration { id: DeclarationId(1291), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "reason".to_string(), ty: DeclarationId(182) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/effects.dag", 33167, 33204) }, Declaration { id: DeclarationId(1292), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/effects.dag", 33678, 33697) }, Declaration { id: DeclarationId(1293), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "agreement".to_string(), ty: DeclarationId(580) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/effects.dag", 33702, 33751) }, - Declaration { id: DeclarationId(1294), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(591), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 11042, 11050) }, - Declaration { id: DeclarationId(1295), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(624), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 11099, 11108) }, - Declaration { id: DeclarationId(1296), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(624), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 11174, 11183) }, - Declaration { id: DeclarationId(1297), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(602), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 11560, 11572) }, - Declaration { id: DeclarationId(1298), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(565), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 11881, 11896) }, - Declaration { id: DeclarationId(1299), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(797), arguments: vec![TemplateArgument { parameter: DeclarationId(798), value: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 12267, 12288) }, - Declaration { id: DeclarationId(1300), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(797), arguments: vec![TemplateArgument { parameter: DeclarationId(798), value: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 12352, 12373) }, + Declaration { id: DeclarationId(1294), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(591), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 12919, 12927) }, + Declaration { id: DeclarationId(1295), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(624), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 12976, 12985) }, + Declaration { id: DeclarationId(1296), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(624), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 13051, 13060) }, + Declaration { id: DeclarationId(1297), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(602), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 13437, 13449) }, + Declaration { id: DeclarationId(1298), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(565), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 13758, 13773) }, + Declaration { id: DeclarationId(1299), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(797), arguments: vec![TemplateArgument { parameter: DeclarationId(798), value: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 14144, 14165) }, + Declaration { id: DeclarationId(1300), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(797), arguments: vec![TemplateArgument { parameter: DeclarationId(798), value: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 14229, 14250) }, Declaration { id: DeclarationId(1301), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 456, 466) }, Declaration { id: DeclarationId(1302), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(589) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 471, 490) }, Declaration { id: DeclarationId(1303), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 495, 505) }, @@ -1313,85 +1313,85 @@ pub(crate) fn bootstrapped_fixture_without_parse_surface_dag() -> Dag { Declaration { id: DeclarationId(1305), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(67) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 768, 779) }, Declaration { id: DeclarationId(1306), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(84) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 784, 797) }, Declaration { id: DeclarationId(1307), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(182) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 802, 819) }, - Declaration { id: DeclarationId(1308), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(592) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 973, 993) }, - Declaration { id: DeclarationId(1309), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(182) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 998, 1026) }, - Declaration { id: DeclarationId(1310), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1031, 1065) }, - Declaration { id: DeclarationId(1311), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1070, 1099) }, - Declaration { id: DeclarationId(1312), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(182) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1104, 1121) }, - Declaration { id: DeclarationId(1313), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(67) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1274, 1284) }, - Declaration { id: DeclarationId(1314), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1289, 1298) }, - Declaration { id: DeclarationId(1315), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1303, 1312) }, - Declaration { id: DeclarationId(1316), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(592) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1739, 1759) }, - Declaration { id: DeclarationId(1317), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1764, 1788) }, - Declaration { id: DeclarationId(1318), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(597) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1800, 1816) }, - Declaration { id: DeclarationId(1319), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(1318) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1793, 1817) }, - Declaration { id: DeclarationId(1320), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(598) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1827, 1843) }, - Declaration { id: DeclarationId(1321), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(1320) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1822, 1844) }, - Declaration { id: DeclarationId(1322), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(598) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1907, 1923) }, - Declaration { id: DeclarationId(1323), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "constructor".to_string(), ty: DeclarationId(534) }, Field { label: "payload".to_string(), ty: DeclarationId(1322) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 1849, 1929) }, - Declaration { id: DeclarationId(1324), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2088, 2117) }, - Declaration { id: DeclarationId(1325), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(597) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2152, 2168) }, - Declaration { id: DeclarationId(1326), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "fields".to_string(), ty: DeclarationId(1325) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2122, 2170) }, - Declaration { id: DeclarationId(1327), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(532) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2505, 2524) }, - Declaration { id: DeclarationId(1328), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2529, 2563) }, - Declaration { id: DeclarationId(1329), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2568, 2575) }, - Declaration { id: DeclarationId(1330), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2580, 2586) }, - Declaration { id: DeclarationId(1331), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2591, 2611) }, - Declaration { id: DeclarationId(1332), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(593) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2840, 2857) }, - Declaration { id: DeclarationId(1333), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(595) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2879, 2894) }, - Declaration { id: DeclarationId(1334), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "children".to_string(), ty: DeclarationId(1333) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2862, 2896) }, - Declaration { id: DeclarationId(1335), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(595) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2918, 2933) }, - Declaration { id: DeclarationId(1336), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "variants".to_string(), ty: DeclarationId(1335) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2901, 2935) }, - Declaration { id: DeclarationId(1337), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2962, 2981) }, - Declaration { id: DeclarationId(1338), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "inputs".to_string(), ty: DeclarationId(1337) }, Field { label: "output".to_string(), ty: DeclarationId(534) }, Field { label: "body".to_string(), ty: DeclarationId(600) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2940, 3037) }, - Declaration { id: DeclarationId(1339), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "element".to_string(), ty: DeclarationId(534) }, Field { label: "bound".to_string(), ty: DeclarationId(594) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3042, 3120) }, - Declaration { id: DeclarationId(1340), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(596) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3188, 3210) }, - Declaration { id: DeclarationId(1341), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "template".to_string(), ty: DeclarationId(534) }, Field { label: "arguments".to_string(), ty: DeclarationId(1340) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3125, 3216) }, - Declaration { id: DeclarationId(1342), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(182), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3265, 3272) }, - Declaration { id: DeclarationId(1343), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3317, 3336) }, - Declaration { id: DeclarationId(1344), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(534), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3349, 3363) }, - Declaration { id: DeclarationId(1345), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(534), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3376, 3390) }, - Declaration { id: DeclarationId(1346), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(599), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3405, 3415) }, - Declaration { id: DeclarationId(1347), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3715, 3718) }, - Declaration { id: DeclarationId(1348), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3723, 3726) }, - Declaration { id: DeclarationId(1349), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3731, 3734) }, - Declaration { id: DeclarationId(1350), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3739, 3742) }, - Declaration { id: DeclarationId(1351), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3866, 3868) }, - Declaration { id: DeclarationId(1352), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3873, 3875) }, - Declaration { id: DeclarationId(1353), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3880, 3882) }, - Declaration { id: DeclarationId(1354), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3887, 3889) }, - Declaration { id: DeclarationId(1355), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3894, 3896) }, - Declaration { id: DeclarationId(1356), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3901, 3903) }, - Declaration { id: DeclarationId(1357), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4156, 4159) }, - Declaration { id: DeclarationId(1358), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4164, 4166) }, - Declaration { id: DeclarationId(1359), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(603) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4402, 4426) }, - Declaration { id: DeclarationId(1360), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(604) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4431, 4455) }, - Declaration { id: DeclarationId(1361), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(605) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4460, 4478) }, - Declaration { id: DeclarationId(1362), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4665, 4688) }, - Declaration { id: DeclarationId(1363), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(534), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4753, 4767) }, - Declaration { id: DeclarationId(1364), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "field_label".to_string(), ty: DeclarationId(182) }, Field { label: "field_child".to_string(), ty: DeclarationId(1363) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4693, 4773) }, - Declaration { id: DeclarationId(1365), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(606) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4778, 4800) }, - Declaration { id: DeclarationId(1366), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "name".to_string(), ty: DeclarationId(182) }, Field { label: "span".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4925, 4977) }, - Declaration { id: DeclarationId(1367), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4982, 5012) }, - Declaration { id: DeclarationId(1368), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(609), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5176, 5191) }, - Declaration { id: DeclarationId(1369), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(538), arguments: vec![TemplateArgument { parameter: DeclarationId(539), value: DeclarationId(615) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7167, 7198) }, - Declaration { id: DeclarationId(1370), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(536), arguments: vec![TemplateArgument { parameter: DeclarationId(537), value: DeclarationId(616) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7222, 7252) }, - Declaration { id: DeclarationId(1371), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "count".to_string(), ty: DeclarationId(533) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7678, 7707) }, - Declaration { id: DeclarationId(1372), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "cluster".to_string(), ty: DeclarationId(535) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7712, 7742) }, - Declaration { id: DeclarationId(1373), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(565), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7856, 7871) }, - Declaration { id: DeclarationId(1374), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(533) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7945, 7957) }, - Declaration { id: DeclarationId(1375), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(610) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8058, 8074) }, - Declaration { id: DeclarationId(1376), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(533) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8334, 8346) }, - Declaration { id: DeclarationId(1377), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(565), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8384, 8399) }, - Declaration { id: DeclarationId(1378), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(619) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8491, 8507) }, - Declaration { id: DeclarationId(1379), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(620) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8512, 8536) }, - Declaration { id: DeclarationId(1380), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(621) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8541, 8559) }, - Declaration { id: DeclarationId(1381), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(622) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8564, 8578) }, - Declaration { id: DeclarationId(1382), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(623) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8583, 8597) }, - Declaration { id: DeclarationId(1383), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(602) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8626, 8643) }, - Declaration { id: DeclarationId(1384), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(624) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8653, 8667) }, - Declaration { id: DeclarationId(1385), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(591) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8677, 8690) }, - Declaration { id: DeclarationId(1386), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(617) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 8703, 8716) }, + Declaration { id: DeclarationId(1308), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(592) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2850, 2870) }, + Declaration { id: DeclarationId(1309), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(182) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2875, 2903) }, + Declaration { id: DeclarationId(1310), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2908, 2942) }, + Declaration { id: DeclarationId(1311), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2947, 2976) }, + Declaration { id: DeclarationId(1312), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(182) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 2981, 2998) }, + Declaration { id: DeclarationId(1313), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(67) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3151, 3161) }, + Declaration { id: DeclarationId(1314), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3166, 3175) }, + Declaration { id: DeclarationId(1315), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3180, 3189) }, + Declaration { id: DeclarationId(1316), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(592) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3616, 3636) }, + Declaration { id: DeclarationId(1317), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3641, 3665) }, + Declaration { id: DeclarationId(1318), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(597) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3677, 3693) }, + Declaration { id: DeclarationId(1319), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(1318) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3670, 3694) }, + Declaration { id: DeclarationId(1320), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(598) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3704, 3720) }, + Declaration { id: DeclarationId(1321), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(1320) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3699, 3721) }, + Declaration { id: DeclarationId(1322), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(598) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3784, 3800) }, + Declaration { id: DeclarationId(1323), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "constructor".to_string(), ty: DeclarationId(534) }, Field { label: "payload".to_string(), ty: DeclarationId(1322) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3726, 3806) }, + Declaration { id: DeclarationId(1324), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3965, 3994) }, + Declaration { id: DeclarationId(1325), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(597) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4029, 4045) }, + Declaration { id: DeclarationId(1326), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "fields".to_string(), ty: DeclarationId(1325) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 3999, 4047) }, + Declaration { id: DeclarationId(1327), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(532) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4382, 4401) }, + Declaration { id: DeclarationId(1328), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4406, 4440) }, + Declaration { id: DeclarationId(1329), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4445, 4452) }, + Declaration { id: DeclarationId(1330), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4457, 4463) }, + Declaration { id: DeclarationId(1331), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4468, 4488) }, + Declaration { id: DeclarationId(1332), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(593) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4717, 4734) }, + Declaration { id: DeclarationId(1333), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(595) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4756, 4771) }, + Declaration { id: DeclarationId(1334), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "children".to_string(), ty: DeclarationId(1333) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4739, 4773) }, + Declaration { id: DeclarationId(1335), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(595) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4795, 4810) }, + Declaration { id: DeclarationId(1336), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "variants".to_string(), ty: DeclarationId(1335) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4778, 4812) }, + Declaration { id: DeclarationId(1337), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4839, 4858) }, + Declaration { id: DeclarationId(1338), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "inputs".to_string(), ty: DeclarationId(1337) }, Field { label: "output".to_string(), ty: DeclarationId(534) }, Field { label: "body".to_string(), ty: DeclarationId(600) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4817, 4914) }, + Declaration { id: DeclarationId(1339), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "element".to_string(), ty: DeclarationId(534) }, Field { label: "bound".to_string(), ty: DeclarationId(594) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 4919, 4997) }, + Declaration { id: DeclarationId(1340), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(596) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5065, 5087) }, + Declaration { id: DeclarationId(1341), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "template".to_string(), ty: DeclarationId(534) }, Field { label: "arguments".to_string(), ty: DeclarationId(1340) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5002, 5093) }, + Declaration { id: DeclarationId(1342), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(182), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5142, 5149) }, + Declaration { id: DeclarationId(1343), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5194, 5213) }, + Declaration { id: DeclarationId(1344), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(534), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5226, 5240) }, + Declaration { id: DeclarationId(1345), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(534), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5253, 5267) }, + Declaration { id: DeclarationId(1346), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(599), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5282, 5292) }, + Declaration { id: DeclarationId(1347), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5592, 5595) }, + Declaration { id: DeclarationId(1348), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5600, 5603) }, + Declaration { id: DeclarationId(1349), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5608, 5611) }, + Declaration { id: DeclarationId(1350), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5616, 5619) }, + Declaration { id: DeclarationId(1351), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5743, 5745) }, + Declaration { id: DeclarationId(1352), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5750, 5752) }, + Declaration { id: DeclarationId(1353), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5757, 5759) }, + Declaration { id: DeclarationId(1354), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5764, 5766) }, + Declaration { id: DeclarationId(1355), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5771, 5773) }, + Declaration { id: DeclarationId(1356), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 5778, 5780) }, + Declaration { id: DeclarationId(1357), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6033, 6036) }, + Declaration { id: DeclarationId(1358), name: None, connective: TypeConnective::Conj { children: vec![] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6041, 6043) }, + Declaration { id: DeclarationId(1359), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(603) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6279, 6303) }, + Declaration { id: DeclarationId(1360), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(604) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6308, 6332) }, + Declaration { id: DeclarationId(1361), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(605) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6337, 6355) }, + Declaration { id: DeclarationId(1362), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6542, 6565) }, + Declaration { id: DeclarationId(1363), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(534), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6630, 6644) }, + Declaration { id: DeclarationId(1364), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "field_label".to_string(), ty: DeclarationId(182) }, Field { label: "field_child".to_string(), ty: DeclarationId(1363) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6570, 6650) }, + Declaration { id: DeclarationId(1365), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(606) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6655, 6677) }, + Declaration { id: DeclarationId(1366), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "name".to_string(), ty: DeclarationId(182) }, Field { label: "span".to_string(), ty: DeclarationId(117) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6802, 6854) }, + Declaration { id: DeclarationId(1367), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(534) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 6859, 6889) }, + Declaration { id: DeclarationId(1368), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(609), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 7053, 7068) }, + Declaration { id: DeclarationId(1369), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(538), arguments: vec![TemplateArgument { parameter: DeclarationId(539), value: DeclarationId(615) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9044, 9075) }, + Declaration { id: DeclarationId(1370), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(536), arguments: vec![TemplateArgument { parameter: DeclarationId(537), value: DeclarationId(616) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9099, 9129) }, + Declaration { id: DeclarationId(1371), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "count".to_string(), ty: DeclarationId(533) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9555, 9584) }, + Declaration { id: DeclarationId(1372), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "cluster".to_string(), ty: DeclarationId(535) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9589, 9619) }, + Declaration { id: DeclarationId(1373), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(565), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9733, 9748) }, + Declaration { id: DeclarationId(1374), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(533) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9822, 9834) }, + Declaration { id: DeclarationId(1375), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(610) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 9935, 9951) }, + Declaration { id: DeclarationId(1376), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(533) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10211, 10223) }, + Declaration { id: DeclarationId(1377), name: None, connective: TypeConnective::Cardinality { element: DeclarationId(565), bound: CardinalityBound::AtMostOne }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10261, 10276) }, + Declaration { id: DeclarationId(1378), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(619) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10368, 10384) }, + Declaration { id: DeclarationId(1379), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(620) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10389, 10413) }, + Declaration { id: DeclarationId(1380), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(621) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10418, 10436) }, + Declaration { id: DeclarationId(1381), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(622) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10441, 10455) }, + Declaration { id: DeclarationId(1382), name: None, connective: TypeConnective::Conj { children: vec![Field { label: "_0".to_string(), ty: DeclarationId(623) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10460, 10474) }, + Declaration { id: DeclarationId(1383), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(602) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10503, 10520) }, + Declaration { id: DeclarationId(1384), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(624) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10530, 10544) }, + Declaration { id: DeclarationId(1385), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(591) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10554, 10567) }, + Declaration { id: DeclarationId(1386), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(496), arguments: vec![TemplateArgument { parameter: DeclarationId(497), value: DeclarationId(617) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/substrate.dag", 10580, 10593) }, Declaration { id: DeclarationId(1387), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(797), arguments: vec![TemplateArgument { parameter: DeclarationId(798), value: DeclarationId(637) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/algebra.dag", 6573, 6593) }, Declaration { id: DeclarationId(1388), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(797), arguments: vec![TemplateArgument { parameter: DeclarationId(798), value: DeclarationId(637) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/algebra.dag", 6657, 6677) }, Declaration { id: DeclarationId(1389), name: None, connective: TypeConnective::Instantiation { template: DeclarationId(538), arguments: vec![TemplateArgument { parameter: DeclarationId(539), value: DeclarationId(637) }] }, type_params: vec![], meta_tag: None, specialization_parent: None, inhabits: None, value_body: None, refinement: None, span: SourceSpan::new("src/v3/std/algebra.dag", 6745, 6775) }, diff --git a/src/v3/compiler/src/dag.rs b/src/v3/compiler/src/dag.rs index e34d3be60e8..2cc59cd2d42 100644 --- a/src/v3/compiler/src/dag.rs +++ b/src/v3/compiler/src/dag.rs @@ -412,77 +412,6 @@ pub struct Field { pub ty: DeclarationId, } -/// Dissolution ledger โ€” **AtomPayload**: -/// -/// ๐ŸŸข **Terminal at M1(2.6).** Four variants covering the four -/// user-input kinds at the type-atom level: -/// -/// - `Literal(LiteralBits)` โ€” a literal bit pattern carried at -/// the type level (e.g., the `3` in `Cardinality::Exact(3)`). -/// - `UnresolvedIdentifier(String)` โ€” a name reference that has -/// not yet been resolved against the declaration table. -/// Produced during lowering and eliminated at -/// `resolve_pending_identifiers` time. -/// - `ResolvedByStructure(DeclarationId)` โ€” a name reference that -/// resolved by structural walk. -/// - `ResolvedByName(DeclarationId)` โ€” a name reference that -/// resolved by name-keyed fallback. -/// - `TypeParam(String)` โ€” a type parameter declaration slot. -/// Shared across references inside a parameterized declaration. -/// -/// 4-pattern check: -/// - Pattern 1 (fact placement): fails. Each variant has distinct -/// downstream consumers (literal constant folding, identifier -/// resolution via `declaration_by_name`, SubstStack lookup). -/// - Pattern 2 (variant-is-data): fails. Different payload types -/// per variant. -/// - Pattern 3 (algebraic form): fails. Each variant is a terminal -/// fact from a distinct user-input boundary. -/// - Pattern 4 (dimensional): fails. -/// -/// Pre/post-sweep phase is now **structural**. Before M1(2.6) -/// review round 7 the shape was -/// `Identifier { name: String, resolved: Option }` -/// which hid a phase coproduct inside the Option. The split into -/// `UnresolvedIdentifier`, `ResolvedByStructure`, and -/// `ResolvedByName` makes that distinction visible to the type -/// system: unresolved stubs, structural references, and -/// name-fallback references are on separate variants rather than -/// hidden behind `Some`/`None`. -/// -/// Verdict: terminal. Future extensions (Span-backed metadata -/// atoms for diagnostic-only uses, Char / Float literals) go -/// through ยง8.10's substrate-extension audit. -#[derive(Debug, Clone)] -pub enum AtomPayload { - /// A literal bit pattern carried at the type level. - /// Computation-side literals live in ValueNode.data, not here. - Literal(LiteralBits), - /// An unresolved identifier. Produced during lowering when a - /// name reference can't be resolved against the current symbol - /// table (forward references, pending cross-file imports, the - /// bootstrap's dangling refs to types in un-loaded std/ modules). - /// `resolve_pending_identifiers` either converts to - /// `ResolvedByStructure` / `ResolvedByName` or emits a - /// fail-closed diagnostic. - UnresolvedIdentifier(String), - /// A resolved identifier reached by structural walk. - /// Produced when lowering wires a known structural edge - /// directly into the declaration graph. - ResolvedByStructure(DeclarationId), - /// A resolved identifier reached by name-keyed fallback. - /// Produced by `resolve_pending_identifiers` when an - /// unresolved stub is repaired via `declaration_by_name`. - ResolvedByName(DeclarationId), - /// A type parameter declaration slot. Declared at the top of a - /// parameterized declaration (via `Declaration.type_params`); - /// referenced from inside the body by resolved identifier atoms - /// that resolve to this slot's DeclarationId. A single TypeParam - /// Atom is shared across all references to it โ€” the substrate - /// is a DAG of declarations, not a tree. - TypeParam(String), -} - impl AtomPayload { pub fn resolved_id(&self) -> Option { match self { diff --git a/src/v3/compiler/src/dag_scalar_generated.rs b/src/v3/compiler/src/dag_scalar_generated.rs index 787c2531e5e..6ce8085f897 100644 --- a/src/v3/compiler/src/dag_scalar_generated.rs +++ b/src/v3/compiler/src/dag_scalar_generated.rs @@ -8,6 +8,15 @@ pub enum LiteralBits { String(String), } +#[derive(Debug, Clone)] +pub enum AtomPayload { + Literal(LiteralBits), + UnresolvedIdentifier(String), + ResolvedByStructure(DeclarationId), + ResolvedByName(DeclarationId), + TypeParam(String), +} + #[derive(Debug, Clone, PartialEq, Eq)] pub enum CardinalityBound { Exact(u32), diff --git a/src/v3/compiler/tests/integration/parse_corpus_manifest.txt b/src/v3/compiler/tests/integration/parse_corpus_manifest.txt index b040a475da6..731a8acd00a 100644 --- a/src/v3/compiler/tests/integration/parse_corpus_manifest.txt +++ b/src/v3/compiler/tests/integration/parse_corpus_manifest.txt @@ -34,7 +34,7 @@ src/v3/std/list.dag 19 40269 8c648d4a4fd05c21 src/v3/std/lookup.dag 5 4734 f97d4e536b675b1b src/v3/std/parse_surface.dag 17 94961 9b9d42b7673f21d3 src/v3/std/resources.dag 5 3632 5303e31e96b01ee5 -src/v3/std/substrate.dag 50 109763 b929d532a7ea6060 +src/v3/std/substrate.dag 50 109842 f69596b21c7867d2 src/v3/std/substrate_minimal.dag 8 5372 feeb314c735f4672 src/v3/std/termination.dag 18 36478 d010232f0373dc99 src/v3/std/tokenize.dag 8 38819 2e158a74f33c18cc diff --git a/src/v3/std/substrate.dag b/src/v3/std/substrate.dag index 3f2f4dd7f0c..badc7d80b02 100644 --- a/src/v3/std/substrate.dag +++ b/src/v3/std/substrate.dag @@ -32,6 +32,41 @@ type LiteralBits | LitBool(Bool) | LitString(String) +// Dissolution ledger โ€” AtomPayload (substrate authority; was dag.rs hand-Rust). +// +// ๐ŸŸข TERMINAL at M1(2.6). Five variants covering the user-input kinds at the +// type-atom level: +// +// - Literal(LiteralBits) โ€” a literal bit pattern carried at the type level +// (e.g. the `3` in Cardinality::Exact(3)). +// - UnresolvedIdentifier(String) โ€” a name reference not yet resolved against +// the declaration table. Produced during lowering; eliminated at +// resolve_pending_identifiers time. +// - ResolvedByStructure(DeclarationId) โ€” resolved by structural walk. +// - ResolvedByName(DeclarationId) โ€” resolved by name-keyed fallback. +// - TypeParam(String) โ€” a type parameter declaration slot, shared across +// references inside a parameterized declaration. +// +// 4-pattern check: +// - Pattern 1 (fact placement): fails. Each variant has distinct downstream +// consumers (literal constant folding, identifier resolution via +// declaration_by_name, SubstStack lookup). +// - Pattern 2 (variant-is-data): fails. Different payload types per variant. +// - Pattern 3 (algebraic form): fails. Each variant is a terminal fact from a +// distinct user-input boundary. +// - Pattern 4 (dimensional): fails. +// +// Pre/post-sweep phase is structural. Before M1(2.6) review round 7 the shape +// was Identifier { name: String, resolved: Option }, which hid a +// phase coproduct inside the Option. The split into UnresolvedIdentifier, +// ResolvedByStructure, and ResolvedByName makes that distinction visible to the +// type system: unresolved stubs, structural references, and name-fallback +// references are separate variants rather than hidden behind Some/None. +// +// Verdict: terminal. Future extensions (Span-backed metadata atoms for +// diagnostic-only uses, Char / Float literals) go through ยง8.10's +// substrate-extension audit. +// // ๐ŸŸข TERMINAL at current substrate scope. This is the durable atom // connective surface the lowered declaration graph carries. type AtomPayload