@@ -430,7 +430,7 @@ fn Test() -> i32 {
430430// CHECK:STDOUT: %Inner.assoc_type.be2: type = assoc_entity_type @Inner, @Inner(%T) [symbolic]
431431// CHECK:STDOUT: %assoc0.0a9: %Inner.assoc_type.be2 = assoc_entity element0, @Inner.%Inner.F.decl [symbolic]
432432// CHECK:STDOUT: %C.131: type = class_type @C, @C(%T) [symbolic]
433- // CHECK:STDOUT: %Inner.impl_witness.154: <witness> = impl_witness @C.%Inner.impl_witness_table, @C.as.Inner.impl(%T) [symbolic]
433+ // CHECK:STDOUT: %Inner.impl_witness.154: <witness> = impl_witness @C.as.Inner.impl. %Inner.impl_witness_table, @C.as.Inner.impl(%T) [symbolic]
434434// CHECK:STDOUT: %require_complete.0f7: <witness> = require_complete_type %Inner.type.e0e [symbolic]
435435// CHECK:STDOUT: %pattern_type.fe7: type = pattern_type %C.131 [symbolic]
436436// CHECK:STDOUT: %C.as.Inner.impl.F.type.9a2: type = fn_type @C.as.Inner.impl.F, @C.as.Inner.impl(%T) [symbolic]
@@ -454,7 +454,7 @@ fn Test() -> i32 {
454454// CHECK:STDOUT: %Outer.d71: type = class_type @Outer, @Outer(%i32) [concrete]
455455// CHECK:STDOUT: %Inner.type.b33: type = facet_type <@Inner, @Inner(%i32)> [concrete]
456456// CHECK:STDOUT: %C.d3f: type = class_type @C, @C(%i32) [concrete]
457- // CHECK:STDOUT: %Inner.impl_witness.744: <witness> = impl_witness @D.%Inner.impl_witness_table [concrete]
457+ // CHECK:STDOUT: %Inner.impl_witness.744: <witness> = impl_witness @D.as.Inner.impl. %Inner.impl_witness_table [concrete]
458458// CHECK:STDOUT: %Self.d74: %Inner.type.b33 = symbolic_binding Self, 1 [symbolic]
459459// CHECK:STDOUT: %Inner.F.type.c8b: type = fn_type @Inner.F, @Inner(%i32) [concrete]
460460// CHECK:STDOUT: %Inner.F.1cd: %Inner.F.type.c8b = struct_value () [concrete]
@@ -472,7 +472,7 @@ fn Test() -> i32 {
472472// CHECK:STDOUT: %pattern_type.129: type = pattern_type %C.d3f [concrete]
473473// CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete]
474474// CHECK:STDOUT: %C.val: %C.d3f = struct_value () [concrete]
475- // CHECK:STDOUT: %Inner.impl_witness.2d0: <witness> = impl_witness @C.%Inner.impl_witness_table, @C.as.Inner.impl(%i32) [concrete]
475+ // CHECK:STDOUT: %Inner.impl_witness.2d0: <witness> = impl_witness @C.as.Inner.impl. %Inner.impl_witness_table, @C.as.Inner.impl(%i32) [concrete]
476476// CHECK:STDOUT: %complete_type.75e: <witness> = complete_type_witness %Inner.type.b33 [concrete]
477477// CHECK:STDOUT: %C.as.Inner.impl.F.type.457: type = fn_type @C.as.Inner.impl.F, @C.as.Inner.impl(%i32) [concrete]
478478// CHECK:STDOUT: %C.as.Inner.impl.F.cc7: %C.as.Inner.impl.F.type.457 = struct_value () [concrete]
@@ -571,7 +571,7 @@ fn Test() -> i32 {
571571// CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = %T (constants.%T)]
572572// CHECK:STDOUT: %C: type = class_type @C, @C(%T) [symbolic = %C (constants.%C.131)]
573573// CHECK:STDOUT: %Inner.type: type = facet_type <@Inner, @Inner(%T)> [symbolic = %Inner.type (constants.%Inner.type.e0e)]
574- // CHECK:STDOUT: %Inner.impl_witness: <witness> = impl_witness @C. %Inner.impl_witness_table, @C.as.Inner.impl(%T) [symbolic = %Inner.impl_witness (constants.%Inner.impl_witness.154)]
574+ // CHECK:STDOUT: %Inner.impl_witness.loc10_19.2 : <witness> = impl_witness %Inner.impl_witness_table, @C.as.Inner.impl(%T) [symbolic = %Inner.impl_witness.loc10_19.2 (constants.%Inner.impl_witness.154)]
575575// CHECK:STDOUT:
576576// CHECK:STDOUT: !definition:
577577// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %Inner.type [symbolic = %require_complete (constants.%require_complete.0f7)]
@@ -595,13 +595,15 @@ fn Test() -> i32 {
595595// CHECK:STDOUT: %return.param: ref @C.as.Inner.impl.F.%T (%T) = out_param call_param1
596596// CHECK:STDOUT: %return: ref @C.as.Inner.impl.F.%T (%T) = return_slot %return.param
597597// CHECK:STDOUT: }
598+ // CHECK:STDOUT: %Inner.impl_witness_table = impl_witness_table (%C.as.Inner.impl.F.decl), @C.as.Inner.impl [concrete]
599+ // CHECK:STDOUT: %Inner.impl_witness.loc10_19.1: <witness> = impl_witness %Inner.impl_witness_table, @C.as.Inner.impl(constants.%T) [symbolic = %Inner.impl_witness.loc10_19.2 (constants.%Inner.impl_witness.154)]
598600// CHECK:STDOUT:
599601// CHECK:STDOUT: !members:
600602// CHECK:STDOUT: .C = <poisoned>
601603// CHECK:STDOUT: .T = <poisoned>
602604// CHECK:STDOUT: .F = %C.as.Inner.impl.F.decl
603605// CHECK:STDOUT: .Inner = <poisoned>
604- // CHECK:STDOUT: witness = @C. %Inner.impl_witness
606+ // CHECK:STDOUT: witness = %Inner.impl_witness.loc10_19.1
605607// CHECK:STDOUT: }
606608// CHECK:STDOUT: }
607609// CHECK:STDOUT:
@@ -620,11 +622,13 @@ fn Test() -> i32 {
620622// CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1
621623// CHECK:STDOUT: %return: ref %i32 = return_slot %return.param
622624// CHECK:STDOUT: }
625+ // CHECK:STDOUT: %Inner.impl_witness_table = impl_witness_table (%D.as.Inner.impl.F.decl), @D.as.Inner.impl [concrete]
626+ // CHECK:STDOUT: %Inner.impl_witness: <witness> = impl_witness %Inner.impl_witness_table [concrete = constants.%Inner.impl_witness.744]
623627// CHECK:STDOUT:
624628// CHECK:STDOUT: !members:
625629// CHECK:STDOUT: .D = <poisoned>
626630// CHECK:STDOUT: .F = %D.as.Inner.impl.F.decl
627- // CHECK:STDOUT: witness = @D. %Inner.impl_witness
631+ // CHECK:STDOUT: witness = %Inner.impl_witness
628632// CHECK:STDOUT: }
629633// CHECK:STDOUT:
630634// CHECK:STDOUT: generic class @Outer(%T.loc4_13.2: type) {
@@ -657,8 +661,6 @@ fn Test() -> i32 {
657661// CHECK:STDOUT: %.loc10: type = specific_constant @Outer.%Inner.decl, @Outer(constants.%T) [symbolic = %Inner.type (constants.%Inner.type.e0e)]
658662// CHECK:STDOUT: %Inner.ref: type = name_ref Inner, %.loc10 [symbolic = %Inner.type (constants.%Inner.type.e0e)]
659663// CHECK:STDOUT: }
660- // CHECK:STDOUT: %Inner.impl_witness_table = impl_witness_table (@C.as.Inner.impl.%C.as.Inner.impl.F.decl), @C.as.Inner.impl [concrete]
661- // CHECK:STDOUT: %Inner.impl_witness: <witness> = impl_witness %Inner.impl_witness_table, @C.as.Inner.impl(constants.%T) [symbolic = @C.as.Inner.impl.%Inner.impl_witness (constants.%Inner.impl_witness.154)]
662664// CHECK:STDOUT: %complete_type: <witness> = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type.357]
663665// CHECK:STDOUT: complete_type_witness = %complete_type
664666// CHECK:STDOUT:
@@ -680,8 +682,6 @@ fn Test() -> i32 {
680682// CHECK:STDOUT: %.loc17: type = specific_constant @Outer.%Inner.decl, @Outer(constants.%i32) [concrete = constants.%Inner.type.b33]
681683// CHECK:STDOUT: %Inner.ref: type = name_ref Inner, %.loc17 [concrete = constants.%Inner.type.b33]
682684// CHECK:STDOUT: }
683- // CHECK:STDOUT: %Inner.impl_witness_table = impl_witness_table (@D.as.Inner.impl.%D.as.Inner.impl.F.decl), @D.as.Inner.impl [concrete]
684- // CHECK:STDOUT: %Inner.impl_witness: <witness> = impl_witness %Inner.impl_witness_table [concrete = constants.%Inner.impl_witness.744]
685685// CHECK:STDOUT: %complete_type: <witness> = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type.357]
686686// CHECK:STDOUT: complete_type_witness = %complete_type
687687// CHECK:STDOUT:
@@ -820,7 +820,7 @@ fn Test() -> i32 {
820820// CHECK:STDOUT: %T => constants.%T
821821// CHECK:STDOUT: %C => constants.%C.131
822822// CHECK:STDOUT: %Inner.type => constants.%Inner.type.e0e
823- // CHECK:STDOUT: %Inner.impl_witness => constants.%Inner.impl_witness.154
823+ // CHECK:STDOUT: %Inner.impl_witness.loc10_19.2 => constants.%Inner.impl_witness.154
824824// CHECK:STDOUT:
825825// CHECK:STDOUT: !definition:
826826// CHECK:STDOUT: %require_complete => constants.%require_complete.0f7
@@ -889,7 +889,7 @@ fn Test() -> i32 {
889889// CHECK:STDOUT: %T => constants.%i32
890890// CHECK:STDOUT: %C => constants.%C.d3f
891891// CHECK:STDOUT: %Inner.type => constants.%Inner.type.b33
892- // CHECK:STDOUT: %Inner.impl_witness => constants.%Inner.impl_witness.2d0
892+ // CHECK:STDOUT: %Inner.impl_witness.loc10_19.2 => constants.%Inner.impl_witness.2d0
893893// CHECK:STDOUT:
894894// CHECK:STDOUT: !definition:
895895// CHECK:STDOUT: %require_complete => constants.%complete_type.75e
0 commit comments