@@ -295,6 +295,7 @@ impl forall [T:! type] D as N(T*) {}
295295// CHECK:STDOUT: %Self: @N.require0.%N.type (%N.type.b8d) = symbolic_binding Self, 1 [symbolic = %Self (constants.%Self.aa1)]
296296// CHECK:STDOUT: %Self.binding.as_type: type = symbolic_binding_type Self, 1, %Self [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type)]
297297// CHECK:STDOUT: %I.type.loc15_27.2: type = facet_type <@I, @I(%T)> [symbolic = %I.type.loc15_27.2 (constants.%I.type.070)]
298+ // CHECK:STDOUT: %require_complete: <witness> = require_complete_type %I.type.loc15_27.2 [symbolic = %require_complete (constants.%require_complete.c94)]
298299// CHECK:STDOUT: }
299300// CHECK:STDOUT:
300301// CHECK:STDOUT: generic impl @C.as.I.impl.f3e(%T.loc8_14.1: type) {
@@ -374,6 +375,7 @@ impl forall [T:! type] D as N(T*) {}
374375// CHECK:STDOUT: %Self => constants.%Self.aa1
375376// CHECK:STDOUT: %Self.binding.as_type => constants.%Self.binding.as_type
376377// CHECK:STDOUT: %I.type.loc15_27.2 => constants.%I.type.070
378+ // CHECK:STDOUT: %require_complete => constants.%require_complete.c94
377379// CHECK:STDOUT: }
378380// CHECK:STDOUT:
379381// CHECK:STDOUT: --- fail_import_generic.impl.carbon
@@ -549,6 +551,7 @@ impl forall [T:! type] D as N(T*) {}
549551// CHECK:STDOUT: %Self: @N.require0.%N.type (%N.type.b8d23b.1) = symbolic_binding Self, 1 [symbolic = %Self (constants.%Self.aa1)]
550552// CHECK:STDOUT: %Self.binding.as_type: type = symbolic_binding_type Self, 1, %Self [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type)]
551553// CHECK:STDOUT: %I.type: type = facet_type <@I, @I(%T)> [symbolic = %I.type (constants.%I.type.070)]
554+ // CHECK:STDOUT: %require_complete: <witness> = require_complete_type %I.type [symbolic = %require_complete (constants.%require_complete.c94)]
552555// CHECK:STDOUT: }
553556// CHECK:STDOUT:
554557// CHECK:STDOUT: generic impl @C.as.I.impl.f3ed6b.1(imports.%Main.import_ref.efcd44.2: type) [from "import_generic.carbon"] {
@@ -706,6 +709,7 @@ impl forall [T:! type] D as N(T*) {}
706709// CHECK:STDOUT: %Self => constants.%Self.aa1
707710// CHECK:STDOUT: %Self.binding.as_type => constants.%Self.binding.as_type
708711// CHECK:STDOUT: %I.type => constants.%I.type.070
712+ // CHECK:STDOUT: %require_complete => constants.%require_complete.c94
709713// CHECK:STDOUT: }
710714// CHECK:STDOUT:
711715// CHECK:STDOUT: specific @C.as.I.impl.3f8440.1(constants.%T) {
@@ -835,6 +839,7 @@ impl forall [T:! type] D as N(T*) {}
835839// CHECK:STDOUT: %Self: @N.require0.%N.type (%N.type.b8d) = symbolic_binding Self, 1 [symbolic = %Self (constants.%Self.aa1)]
836840// CHECK:STDOUT: %Self.binding.as_type: type = symbolic_binding_type Self, 1, %Self [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type)]
837841// CHECK:STDOUT: %I.type.loc10_27.2: type = facet_type <@I, @I(%T)> [symbolic = %I.type.loc10_27.2 (constants.%I.type.070)]
842+ // CHECK:STDOUT: %require_complete: <witness> = require_complete_type %I.type.loc10_27.2 [symbolic = %require_complete (constants.%require_complete)]
838843// CHECK:STDOUT: }
839844// CHECK:STDOUT:
840845// CHECK:STDOUT: generic impl @C.as.I.impl(%T.loc7_14.1: type) {
@@ -884,6 +889,7 @@ impl forall [T:! type] D as N(T*) {}
884889// CHECK:STDOUT: %Self => constants.%Self.aa1
885890// CHECK:STDOUT: %Self.binding.as_type => constants.%Self.binding.as_type
886891// CHECK:STDOUT: %I.type.loc10_27.2 => constants.%I.type.070
892+ // CHECK:STDOUT: %require_complete => constants.%require_complete
887893// CHECK:STDOUT: }
888894// CHECK:STDOUT:
889895// CHECK:STDOUT: --- import_generic_with_different_specific.impl.carbon
@@ -910,10 +916,13 @@ impl forall [T:! type] D as N(T*) {}
910916// CHECK:STDOUT: %N.type.673: type = generic_named_constaint_type @N [concrete]
911917// CHECK:STDOUT: %empty_struct: %N.type.673 = struct_value () [concrete]
912918// CHECK:STDOUT: %N.type.b8d23b.1: type = facet_type <@N, @N(%T)> [symbolic]
913- // CHECK:STDOUT: %Self.aa1 : %N.type.b8d23b.1 = symbolic_binding Self, 1 [symbolic]
914- // CHECK:STDOUT: %Self.binding.as_type: type = symbolic_binding_type Self, 1, %Self.aa1 [symbolic]
919+ // CHECK:STDOUT: %Self.aa1546.1 : %N.type.b8d23b.1 = symbolic_binding Self, 1 [symbolic]
920+ // CHECK:STDOUT: %Self.binding.as_type: type = symbolic_binding_type Self, 1, %Self.aa1546.1 [symbolic]
915921// CHECK:STDOUT: %ptr.3f2: type = ptr_type %ptr.4f0 [symbolic]
916922// CHECK:STDOUT: %N.type.b8d23b.2: type = facet_type <@N, @N(%ptr.3f2)> [symbolic]
923+ // CHECK:STDOUT: %Self.aa1546.2: %N.type.b8d23b.2 = symbolic_binding Self, 1 [symbolic]
924+ // CHECK:STDOUT: %I.type.71a: type = facet_type <@I, @I(%ptr.3f2)> [symbolic]
925+ // CHECK:STDOUT: %require_complete.08c: <witness> = require_complete_type %I.type.71a [symbolic]
917926// CHECK:STDOUT: %require_complete.a37: <witness> = require_complete_type %N.type.b8d23b.2 [symbolic]
918927// CHECK:STDOUT: %I.impl_witness.524: <witness> = impl_witness file.%I.impl_witness_table.loc6, @C.as.I.impl.3f8(%T) [symbolic]
919928// CHECK:STDOUT: }
@@ -933,7 +942,7 @@ impl forall [T:! type] D as N(T*) {}
933942// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @C.as.I.impl.f3e [concrete]
934943// CHECK:STDOUT: %Main.import_ref.f92: type = import_ref Main//import_generic_with_different_specific, loc10_18, loaded [symbolic = constants.%Self.binding.as_type]
935944// CHECK:STDOUT: %Main.import_ref.efcd44.3: type = import_ref Main//import_generic_with_different_specific, loc9_14, loaded [symbolic = @N.%T (constants.%T)]
936- // CHECK:STDOUT: %Main.import_ref.d4d: @N.%N.type (%N.type.b8d23b.1) = import_ref Main//import_generic_with_different_specific, loc9_24, loaded [symbolic = @N.%Self (constants.%Self.aa1 )]
945+ // CHECK:STDOUT: %Main.import_ref.d4d: @N.%N.type (%N.type.b8d23b.1) = import_ref Main//import_generic_with_different_specific, loc9_24, loaded [symbolic = @N.%Self (constants.%Self.aa1546.1 )]
937946// CHECK:STDOUT: %Main.import_ref.efcd44.4: type = import_ref Main//import_generic_with_different_specific, loc9_14, loaded [symbolic = @N.%T (constants.%T)]
938947// CHECK:STDOUT: %Main.import_ref.388 = import_ref Main//import_generic_with_different_specific, loc9_24, unloaded
939948// CHECK:STDOUT: }
@@ -996,7 +1005,7 @@ impl forall [T:! type] D as N(T*) {}
9961005// CHECK:STDOUT:
9971006// CHECK:STDOUT: !definition:
9981007// CHECK:STDOUT: %N.type: type = facet_type <@N, @N(%T)> [symbolic = %N.type (constants.%N.type.b8d23b.1)]
999- // CHECK:STDOUT: %Self: @N.%N.type (%N.type.b8d23b.1) = symbolic_binding Self, 1 [symbolic = %Self (constants.%Self.aa1 )]
1008+ // CHECK:STDOUT: %Self: @N.%N.type (%N.type.b8d23b.1) = symbolic_binding Self, 1 [symbolic = %Self (constants.%Self.aa1546.1 )]
10001009// CHECK:STDOUT:
10011010// CHECK:STDOUT: constraint {
10021011// CHECK:STDOUT: !members:
@@ -1012,9 +1021,10 @@ impl forall [T:! type] D as N(T*) {}
10121021// CHECK:STDOUT: generic require @N.require0(imports.%Main.import_ref.efcd44.3: type, imports.%Main.import_ref.d4d: @N.%N.type (%N.type.b8d23b.1)) [from "import_generic_with_different_specific.carbon"] {
10131022// CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = %T (constants.%T)]
10141023// CHECK:STDOUT: %N.type: type = facet_type <@N, @N(%T)> [symbolic = %N.type (constants.%N.type.b8d23b.1)]
1015- // CHECK:STDOUT: %Self: @N.require0.%N.type (%N.type.b8d23b.1) = symbolic_binding Self, 1 [symbolic = %Self (constants.%Self.aa1 )]
1024+ // CHECK:STDOUT: %Self: @N.require0.%N.type (%N.type.b8d23b.1) = symbolic_binding Self, 1 [symbolic = %Self (constants.%Self.aa1546.1 )]
10161025// CHECK:STDOUT: %Self.binding.as_type: type = symbolic_binding_type Self, 1, %Self [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type)]
10171026// CHECK:STDOUT: %I.type: type = facet_type <@I, @I(%T)> [symbolic = %I.type (constants.%I.type.070)]
1027+ // CHECK:STDOUT: %require_complete: <witness> = require_complete_type %I.type [symbolic = %require_complete (constants.%require_complete.c94)]
10181028// CHECK:STDOUT: }
10191029// CHECK:STDOUT:
10201030// CHECK:STDOUT: generic impl @C.as.I.impl.f3e(imports.%Main.import_ref.efcd44.2: type) [from "import_generic_with_different_specific.carbon"] {
@@ -1104,16 +1114,21 @@ impl forall [T:! type] D as N(T*) {}
11041114// CHECK:STDOUT: %T => constants.%T
11051115// CHECK:STDOUT: }
11061116// CHECK:STDOUT:
1107- // CHECK:STDOUT: specific @N.require0(constants.%T, constants.%Self.aa1 ) {
1117+ // CHECK:STDOUT: specific @N.require0(constants.%T, constants.%Self.aa1546.1 ) {
11081118// CHECK:STDOUT: %T => constants.%T
11091119// CHECK:STDOUT: %N.type => constants.%N.type.b8d23b.1
1110- // CHECK:STDOUT: %Self => constants.%Self.aa1
1120+ // CHECK:STDOUT: %Self => constants.%Self.aa1546.1
11111121// CHECK:STDOUT: %Self.binding.as_type => constants.%Self.binding.as_type
11121122// CHECK:STDOUT: %I.type => constants.%I.type.070
1123+ // CHECK:STDOUT: %require_complete => constants.%require_complete.c94
11131124// CHECK:STDOUT: }
11141125// CHECK:STDOUT:
11151126// CHECK:STDOUT: specific @N(constants.%ptr.3f2) {
11161127// CHECK:STDOUT: %T => constants.%ptr.3f2
1128+ // CHECK:STDOUT:
1129+ // CHECK:STDOUT: !definition:
1130+ // CHECK:STDOUT: %N.type => constants.%N.type.b8d23b.2
1131+ // CHECK:STDOUT: %Self => constants.%Self.aa1546.2
11171132// CHECK:STDOUT: }
11181133// CHECK:STDOUT:
11191134// CHECK:STDOUT: specific @C.as.I.impl.3f8(constants.%T) {
@@ -1125,6 +1140,19 @@ impl forall [T:! type] D as N(T*) {}
11251140// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.524
11261141// CHECK:STDOUT: }
11271142// CHECK:STDOUT:
1143+ // CHECK:STDOUT: specific @N.require0(constants.%ptr.3f2, constants.%Self.aa1546.1) {
1144+ // CHECK:STDOUT: %T => constants.%ptr.3f2
1145+ // CHECK:STDOUT: %N.type => constants.%N.type.b8d23b.2
1146+ // CHECK:STDOUT: %Self => constants.%Self.aa1546.1
1147+ // CHECK:STDOUT: %Self.binding.as_type => constants.%Self.binding.as_type
1148+ // CHECK:STDOUT: %I.type => constants.%I.type.71a
1149+ // CHECK:STDOUT: %require_complete => constants.%require_complete.08c
1150+ // CHECK:STDOUT: }
1151+ // CHECK:STDOUT:
1152+ // CHECK:STDOUT: specific @I(constants.%ptr.3f2) {
1153+ // CHECK:STDOUT: %T => constants.%ptr.3f2
1154+ // CHECK:STDOUT: }
1155+ // CHECK:STDOUT:
11281156// CHECK:STDOUT: --- fail_import_generic_decl.carbon
11291157// CHECK:STDOUT:
11301158// CHECK:STDOUT: constants {
@@ -1144,6 +1172,7 @@ impl forall [T:! type] D as N(T*) {}
11441172// CHECK:STDOUT: %N.type.b8d: type = facet_type <@N, @N(%T)> [symbolic]
11451173// CHECK:STDOUT: %Self.aa1: %N.type.b8d = symbolic_binding Self, 1 [symbolic]
11461174// CHECK:STDOUT: %Self.binding.as_type: type = symbolic_binding_type Self, 1, %Self.aa1 [symbolic]
1175+ // CHECK:STDOUT: %require_complete: <witness> = require_complete_type %J.type.8ec [symbolic]
11471176// CHECK:STDOUT: %J.impl_witness.224: <witness> = impl_witness file.%J.impl_witness_table.loc15, @D.as.J.impl.b47(%T) [symbolic]
11481177// CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic]
11491178// CHECK:STDOUT: %J.type.4fa: type = facet_type <@J, @J(%ptr)> [symbolic]
@@ -1250,6 +1279,7 @@ impl forall [T:! type] D as N(T*) {}
12501279// CHECK:STDOUT: %Self: @N.require0.%N.type (%N.type.b8d) = symbolic_binding Self, 1 [symbolic = %Self (constants.%Self.aa1)]
12511280// CHECK:STDOUT: %Self.binding.as_type: type = symbolic_binding_type Self, 1, %Self [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type)]
12521281// CHECK:STDOUT: %J.type.loc8_27.2: type = facet_type <@J, @J(%T)> [symbolic = %J.type.loc8_27.2 (constants.%J.type.8ec)]
1282+ // CHECK:STDOUT: %require_complete: <witness> = require_complete_type %J.type.loc8_27.2 [symbolic = %require_complete (constants.%require_complete)]
12531283// CHECK:STDOUT: }
12541284// CHECK:STDOUT:
12551285// CHECK:STDOUT: generic impl @D.as.J.impl.b47(%T.loc15_14.1: type) {
@@ -1279,6 +1309,10 @@ impl forall [T:! type] D as N(T*) {}
12791309// CHECK:STDOUT:
12801310// CHECK:STDOUT: specific @J(constants.%T) {
12811311// CHECK:STDOUT: %T.loc5_13.1 => constants.%T
1312+ // CHECK:STDOUT:
1313+ // CHECK:STDOUT: !definition:
1314+ // CHECK:STDOUT: %J.type => constants.%J.type.8ec
1315+ // CHECK:STDOUT: %Self.loc5_23.2 => constants.%Self.f68
12821316// CHECK:STDOUT: }
12831317// CHECK:STDOUT:
12841318// CHECK:STDOUT: specific @N(constants.%T) {
@@ -1291,6 +1325,7 @@ impl forall [T:! type] D as N(T*) {}
12911325// CHECK:STDOUT: %Self => constants.%Self.aa1
12921326// CHECK:STDOUT: %Self.binding.as_type => constants.%Self.binding.as_type
12931327// CHECK:STDOUT: %J.type.loc8_27.2 => constants.%J.type.8ec
1328+ // CHECK:STDOUT: %require_complete => constants.%require_complete
12941329// CHECK:STDOUT: }
12951330// CHECK:STDOUT:
12961331// CHECK:STDOUT: specific @D.as.J.impl.b47(constants.%T) {
@@ -1331,11 +1366,14 @@ impl forall [T:! type] D as N(T*) {}
13311366// CHECK:STDOUT: %N.type.673: type = generic_named_constaint_type @N [concrete]
13321367// CHECK:STDOUT: %empty_struct: %N.type.673 = struct_value () [concrete]
13331368// CHECK:STDOUT: %N.type.b8d23b.1: type = facet_type <@N, @N(%T)> [symbolic]
1334- // CHECK:STDOUT: %Self.aa1: %N.type.b8d23b.1 = symbolic_binding Self, 1 [symbolic]
1335- // CHECK:STDOUT: %Self.binding.as_type: type = symbolic_binding_type Self, 1, %Self.aa1 [symbolic]
1369+ // CHECK:STDOUT: %Self.aa1546.1: %N.type.b8d23b.1 = symbolic_binding Self, 1 [symbolic]
1370+ // CHECK:STDOUT: %Self.binding.as_type: type = symbolic_binding_type Self, 1, %Self.aa1546.1 [symbolic]
1371+ // CHECK:STDOUT: %require_complete.387: <witness> = require_complete_type %J.type.8ec [symbolic]
13361372// CHECK:STDOUT: %require_complete.a37d6c.1: <witness> = require_complete_type %N.type.b8d23b.1 [symbolic]
13371373// CHECK:STDOUT: %J.impl_witness.b5245e.1: <witness> = impl_witness file.%J.impl_witness_table.loc29, @D.as.J.impl.3b0484.1(%T) [symbolic]
13381374// CHECK:STDOUT: %N.type.b8d23b.2: type = facet_type <@N, @N(%ptr)> [symbolic]
1375+ // CHECK:STDOUT: %Self.aa1546.2: %N.type.b8d23b.2 = symbolic_binding Self, 1 [symbolic]
1376+ // CHECK:STDOUT: %require_complete.d4d: <witness> = require_complete_type %J.type.4fa [symbolic]
13391377// CHECK:STDOUT: %require_complete.a37d6c.2: <witness> = require_complete_type %N.type.b8d23b.2 [symbolic]
13401378// CHECK:STDOUT: %J.impl_witness.b5245e.2: <witness> = impl_witness file.%J.impl_witness_table.loc39, @D.as.J.impl.3b0484.2(%T) [symbolic]
13411379// CHECK:STDOUT: }
@@ -1358,7 +1396,7 @@ impl forall [T:! type] D as N(T*) {}
13581396// CHECK:STDOUT: %J.impl_witness_table.bd9 = impl_witness_table (), @D.as.J.impl.265db6.1 [concrete]
13591397// CHECK:STDOUT: %Main.import_ref.f92: type = import_ref Main//import_generic_decl, loc8_18, loaded [symbolic = constants.%Self.binding.as_type]
13601398// CHECK:STDOUT: %Main.import_ref.efcd44.4: type = import_ref Main//import_generic_decl, loc7_14, loaded [symbolic = @N.%T (constants.%T)]
1361- // CHECK:STDOUT: %Main.import_ref.d4d: @N.%N.type (%N.type.b8d23b.1) = import_ref Main//import_generic_decl, loc7_24, loaded [symbolic = @N.%Self (constants.%Self.aa1 )]
1399+ // CHECK:STDOUT: %Main.import_ref.d4d: @N.%N.type (%N.type.b8d23b.1) = import_ref Main//import_generic_decl, loc7_24, loaded [symbolic = @N.%Self (constants.%Self.aa1546.1 )]
13621400// CHECK:STDOUT: %Main.import_ref.efcd44.5: type = import_ref Main//import_generic_decl, loc7_14, loaded [symbolic = @N.%T (constants.%T)]
13631401// CHECK:STDOUT: %Main.import_ref.388 = import_ref Main//import_generic_decl, loc7_24, unloaded
13641402// CHECK:STDOUT: }
@@ -1461,7 +1499,7 @@ impl forall [T:! type] D as N(T*) {}
14611499// CHECK:STDOUT:
14621500// CHECK:STDOUT: !definition:
14631501// CHECK:STDOUT: %N.type: type = facet_type <@N, @N(%T)> [symbolic = %N.type (constants.%N.type.b8d23b.1)]
1464- // CHECK:STDOUT: %Self: @N.%N.type (%N.type.b8d23b.1) = symbolic_binding Self, 1 [symbolic = %Self (constants.%Self.aa1 )]
1502+ // CHECK:STDOUT: %Self: @N.%N.type (%N.type.b8d23b.1) = symbolic_binding Self, 1 [symbolic = %Self (constants.%Self.aa1546.1 )]
14651503// CHECK:STDOUT:
14661504// CHECK:STDOUT: constraint {
14671505// CHECK:STDOUT: !members:
@@ -1477,9 +1515,10 @@ impl forall [T:! type] D as N(T*) {}
14771515// CHECK:STDOUT: generic require @N.require0(imports.%Main.import_ref.efcd44.4: type, imports.%Main.import_ref.d4d: @N.%N.type (%N.type.b8d23b.1)) [from "fail_import_generic_decl.carbon"] {
14781516// CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = %T (constants.%T)]
14791517// CHECK:STDOUT: %N.type: type = facet_type <@N, @N(%T)> [symbolic = %N.type (constants.%N.type.b8d23b.1)]
1480- // CHECK:STDOUT: %Self: @N.require0.%N.type (%N.type.b8d23b.1) = symbolic_binding Self, 1 [symbolic = %Self (constants.%Self.aa1 )]
1518+ // CHECK:STDOUT: %Self: @N.require0.%N.type (%N.type.b8d23b.1) = symbolic_binding Self, 1 [symbolic = %Self (constants.%Self.aa1546.1 )]
14811519// CHECK:STDOUT: %Self.binding.as_type: type = symbolic_binding_type Self, 1, %Self [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type)]
14821520// CHECK:STDOUT: %J.type: type = facet_type <@J, @J(%T)> [symbolic = %J.type (constants.%J.type.8ec)]
1521+ // CHECK:STDOUT: %require_complete: <witness> = require_complete_type %J.type [symbolic = %require_complete (constants.%require_complete.387)]
14831522// CHECK:STDOUT: }
14841523// CHECK:STDOUT:
14851524// CHECK:STDOUT: generic impl @D.as.J.impl.b470bf.1(imports.%Main.import_ref.efcd44.2: type) [from "fail_import_generic_decl.carbon"] {
@@ -1624,14 +1663,19 @@ impl forall [T:! type] D as N(T*) {}
16241663// CHECK:STDOUT:
16251664// CHECK:STDOUT: specific @N(constants.%T) {
16261665// CHECK:STDOUT: %T => constants.%T
1666+ // CHECK:STDOUT:
1667+ // CHECK:STDOUT: !definition:
1668+ // CHECK:STDOUT: %N.type => constants.%N.type.b8d23b.1
1669+ // CHECK:STDOUT: %Self => constants.%Self.aa1546.1
16271670// CHECK:STDOUT: }
16281671// CHECK:STDOUT:
1629- // CHECK:STDOUT: specific @N.require0(constants.%T, constants.%Self.aa1 ) {
1672+ // CHECK:STDOUT: specific @N.require0(constants.%T, constants.%Self.aa1546.1 ) {
16301673// CHECK:STDOUT: %T => constants.%T
16311674// CHECK:STDOUT: %N.type => constants.%N.type.b8d23b.1
1632- // CHECK:STDOUT: %Self => constants.%Self.aa1
1675+ // CHECK:STDOUT: %Self => constants.%Self.aa1546.1
16331676// CHECK:STDOUT: %Self.binding.as_type => constants.%Self.binding.as_type
16341677// CHECK:STDOUT: %J.type => constants.%J.type.8ec
1678+ // CHECK:STDOUT: %require_complete => constants.%require_complete.387
16351679// CHECK:STDOUT: }
16361680// CHECK:STDOUT:
16371681// CHECK:STDOUT: specific @D.as.J.impl.3b0484.1(constants.%T) {
@@ -1643,6 +1687,10 @@ impl forall [T:! type] D as N(T*) {}
16431687// CHECK:STDOUT:
16441688// CHECK:STDOUT: specific @N(constants.%ptr) {
16451689// CHECK:STDOUT: %T => constants.%ptr
1690+ // CHECK:STDOUT:
1691+ // CHECK:STDOUT: !definition:
1692+ // CHECK:STDOUT: %N.type => constants.%N.type.b8d23b.2
1693+ // CHECK:STDOUT: %Self => constants.%Self.aa1546.2
16461694// CHECK:STDOUT: }
16471695// CHECK:STDOUT:
16481696// CHECK:STDOUT: specific @D.as.J.impl.3b0484.2(constants.%T) {
@@ -1653,3 +1701,12 @@ impl forall [T:! type] D as N(T*) {}
16531701// CHECK:STDOUT: %J.impl_witness => constants.%J.impl_witness.b5245e.2
16541702// CHECK:STDOUT: }
16551703// CHECK:STDOUT:
1704+ // CHECK:STDOUT: specific @N.require0(constants.%ptr, constants.%Self.aa1546.1) {
1705+ // CHECK:STDOUT: %T => constants.%ptr
1706+ // CHECK:STDOUT: %N.type => constants.%N.type.b8d23b.2
1707+ // CHECK:STDOUT: %Self => constants.%Self.aa1546.1
1708+ // CHECK:STDOUT: %Self.binding.as_type => constants.%Self.binding.as_type
1709+ // CHECK:STDOUT: %J.type => constants.%J.type.4fa
1710+ // CHECK:STDOUT: %require_complete => constants.%require_complete.d4d
1711+ // CHECK:STDOUT: }
1712+ // CHECK:STDOUT:
0 commit comments