Skip to content

Commit a54fb34

Browse files
committed
Make generic decl resolution happen during non-pending import flow
1 parent ef1ec3a commit a54fb34

File tree

8 files changed

+630
-672
lines changed

8 files changed

+630
-672
lines changed

toolchain/check/import_ref.cpp

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -794,6 +794,8 @@ struct GenericData {
794794
SemIR::ConstantId inst_constant_id;
795795
};
796796
llvm::SmallVector<Binding> bindings;
797+
798+
llvm::SmallVector<SemIR::InstId> decl_block;
797799
};
798800
} // namespace
799801

@@ -818,6 +820,9 @@ static auto GetLocalGenericData(ImportRefResolver& resolver,
818820
.inst_constant_id = GetLocalConstantId(resolver, import_inst_id)});
819821
}
820822
}
823+
824+
generic_data.decl_block =
825+
GetLocalInstBlockContents(resolver, import_generic.decl_block_id);
821826
}
822827
return generic_data;
823828
}
@@ -847,6 +852,10 @@ static auto SetGenericData(ImportContext& context,
847852
}
848853
new_generic.bindings_id = context.local_inst_blocks().Add(new_bindings);
849854

855+
new_generic.decl_block_id = RebuildGenericEvalBlock(
856+
context.local_context(), new_generic_id,
857+
SemIR::GenericInstIndex::Region::Declaration, generic_data.decl_block);
858+
850859
// Track that we need to fill in the remaining information in
851860
// FinishPendingGeneric.
852861
context.AddPendingGeneric(
@@ -3970,10 +3979,6 @@ static auto FinishPendingGeneric(ImportRefResolver& resolver,
39703979
resolver.import_generics().Get(pending.import_id);
39713980
auto& local_generic = resolver.local_generics().Get(pending.local_id);
39723981

3973-
local_generic.decl_block_id =
3974-
ResolveLocalEvalBlock(resolver, import_generic, pending.local_id,
3975-
SemIR::GenericInstIndex::Region::Declaration);
3976-
39773982
local_generic.self_specific_id =
39783983
MakeSelfSpecific(resolver.local_context(),
39793984
SemIR::LocId(local_generic.decl_id), pending.local_id);

toolchain/check/testdata/basics/raw_sem_ir/one_file.carbon

Lines changed: 605 additions & 652 deletions
Large diffs are not rendered by default.

toolchain/check/testdata/impl/import_builtin_call.carbon

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -482,11 +482,11 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt);
482482
// CHECK:STDOUT: %Main.import_ref.5a3: %Add.Op.type = import_ref Main//generic_impl, loc5_41, loaded [concrete = constants.%Add.Op]
483483
// CHECK:STDOUT: %Main.import_ref.a78: %Add.type = import_ref Main//generic_impl, loc4_15, loaded [symbolic = constants.%Self]
484484
// CHECK:STDOUT: %Main.import_ref.06e: <witness> = import_ref Main//generic_impl, loc15_48, loaded [symbolic = @MyInt.as.Add.impl.%Add.impl_witness (constants.%Add.impl_witness.ec1)]
485+
// CHECK:STDOUT: %Main.import_ref.59c: @MyInt.as.Add.impl.%MyInt.as.Add.impl.Op.type (%MyInt.as.Add.impl.Op.type.1ab) = import_ref Main//generic_impl, loc16_42, loaded [symbolic = @MyInt.as.Add.impl.%MyInt.as.Add.impl.Op (constants.%MyInt.as.Add.impl.Op.959)]
486+
// CHECK:STDOUT: %Add.impl_witness_table = impl_witness_table (%Main.import_ref.59c), @MyInt.as.Add.impl [concrete]
485487
// CHECK:STDOUT: %Main.import_ref.40af26.2: Core.IntLiteral = import_ref Main//generic_impl, loc15_14, loaded [symbolic = @MyInt.as.Add.impl.%N (constants.%N)]
486488
// CHECK:STDOUT: %Main.import_ref.fbc: type = import_ref Main//generic_impl, loc15_39, loaded [symbolic = @MyInt.as.Add.impl.%MyInt (constants.%MyInt.19f)]
487489
// CHECK:STDOUT: %Main.import_ref.bf0: type = import_ref Main//generic_impl, loc15_44, loaded [concrete = constants.%Add.type]
488-
// CHECK:STDOUT: %Main.import_ref.59c: @MyInt.as.Add.impl.%MyInt.as.Add.impl.Op.type (%MyInt.as.Add.impl.Op.type.1ab) = import_ref Main//generic_impl, loc16_42, loaded [symbolic = @MyInt.as.Add.impl.%MyInt.as.Add.impl.Op (constants.%MyInt.as.Add.impl.Op.959)]
489-
// CHECK:STDOUT: %Add.impl_witness_table = impl_witness_table (%Main.import_ref.59c), @MyInt.as.Add.impl [concrete]
490490
// CHECK:STDOUT: %Main.import_ref.40af26.3: Core.IntLiteral = import_ref Main//generic_impl, loc15_14, loaded [symbolic = @MyInt.as.Add.impl.%N (constants.%N)]
491491
// CHECK:STDOUT: %Main.import_ref.40af26.4: Core.IntLiteral = import_ref Main//generic_impl, loc19_11, loaded [symbolic = @Double.%N (constants.%N)]
492492
// CHECK:STDOUT: }

toolchain/check/testdata/impl/import_generic.carbon

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -392,8 +392,8 @@ impl forall [T:! type] D as N(T*) {}
392392
// CHECK:STDOUT: %require_complete.c94: <witness> = require_complete_type %I.type.070 [symbolic]
393393
// CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic]
394394
// CHECK:STDOUT: %I.type.229: type = facet_type <@I, @I(%ptr)> [symbolic]
395-
// CHECK:STDOUT: %require_complete.555: <witness> = require_complete_type %I.type.229 [symbolic]
396395
// CHECK:STDOUT: %I.impl_witness.a0f: <witness> = impl_witness imports.%I.impl_witness_table.af9, @C.as.I.impl.1fddff.1(%T) [symbolic]
396+
// CHECK:STDOUT: %require_complete.555: <witness> = require_complete_type %I.type.229 [symbolic]
397397
// CHECK:STDOUT: %Self.6d0: %I.type.229 = symbolic_binding Self, 1 [symbolic]
398398
// CHECK:STDOUT: %type: type = facet_type <type> [concrete]
399399
// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self]
@@ -416,15 +416,15 @@ impl forall [T:! type] D as N(T*) {}
416416
// CHECK:STDOUT: %Main.import_ref.e46 = import_ref Main//import_generic, loc8_33, unloaded
417417
// CHECK:STDOUT: %Main.import_ref.8f2: <witness> = import_ref Main//import_generic, loc4_10, loaded [concrete = constants.%complete_type]
418418
// CHECK:STDOUT: %Main.import_ref.2c4 = import_ref Main//import_generic, inst{{[0-9A-F]+}} [no loc], unloaded
419+
// CHECK:STDOUT: %I.impl_witness_table.478 = impl_witness_table (), @C.as.I.impl.f3ed6b.1 [concrete]
419420
// CHECK:STDOUT: %Main.import_ref.efcd44.2: type = import_ref Main//import_generic, loc8_14, loaded [symbolic = @C.as.I.impl.f3ed6b.1.%T (constants.%T)]
420421
// CHECK:STDOUT: %Main.import_ref.29aca8.1: type = import_ref Main//import_generic, loc8_24, loaded [concrete = constants.%C]
421422
// CHECK:STDOUT: %Main.import_ref.46444d.1: type = import_ref Main//import_generic, loc8_32, loaded [symbolic = @C.as.I.impl.f3ed6b.1.%I.type (constants.%I.type.070)]
422-
// CHECK:STDOUT: %I.impl_witness_table.478 = impl_witness_table (), @C.as.I.impl.f3ed6b.1 [concrete]
423423
// CHECK:STDOUT: %Main.import_ref.4f8 = import_ref Main//import_generic, loc12_35, unloaded
424+
// CHECK:STDOUT: %I.impl_witness_table.af9 = impl_witness_table (), @C.as.I.impl.1fddff.1 [concrete]
424425
// CHECK:STDOUT: %Main.import_ref.efcd44.3: type = import_ref Main//import_generic, loc12_14, loaded [symbolic = @C.as.I.impl.1fddff.1.%T (constants.%T)]
425426
// CHECK:STDOUT: %Main.import_ref.29aca8.2: type = import_ref Main//import_generic, loc12_24, loaded [concrete = constants.%C]
426427
// CHECK:STDOUT: %Main.import_ref.7b6: type = import_ref Main//import_generic, loc12_33, loaded [symbolic = @C.as.I.impl.1fddff.1.%I.type (constants.%I.type.229)]
427-
// CHECK:STDOUT: %I.impl_witness_table.af9 = impl_witness_table (), @C.as.I.impl.1fddff.1 [concrete]
428428
// CHECK:STDOUT: %Main.import_ref.f92: type = import_ref Main//import_generic, loc15_18, loaded [symbolic = constants.%Self.binding.as_type]
429429
// CHECK:STDOUT: %Main.import_ref.efcd44.4: type = import_ref Main//import_generic, loc14_14, loaded [symbolic = @N.%T (constants.%T)]
430430
// CHECK:STDOUT: %Main.import_ref.d4d: @N.%N.type (%N.type.b8d23b.1) = import_ref Main//import_generic, loc14_24, loaded [symbolic = @N.%Self (constants.%Self.aa1)]
@@ -898,8 +898,8 @@ impl forall [T:! type] D as N(T*) {}
898898
// CHECK:STDOUT: %C: type = class_type @C [concrete]
899899
// CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete]
900900
// CHECK:STDOUT: %complete_type: <witness> = complete_type_witness %empty_struct_type [concrete]
901-
// CHECK:STDOUT: %require_complete.c94: <witness> = require_complete_type %I.type.070 [symbolic]
902901
// CHECK:STDOUT: %I.impl_witness.f13: <witness> = impl_witness imports.%I.impl_witness_table, @C.as.I.impl.f3e(%T) [symbolic]
902+
// CHECK:STDOUT: %require_complete.c94: <witness> = require_complete_type %I.type.070 [symbolic]
903903
// CHECK:STDOUT: %type: type = facet_type <type> [concrete]
904904
// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self]
905905
// CHECK:STDOUT: %ptr.4f0: type = ptr_type %T [symbolic]
@@ -927,10 +927,10 @@ impl forall [T:! type] D as N(T*) {}
927927
// CHECK:STDOUT: %Main.import_ref.e46 = import_ref Main//import_generic_with_different_specific, loc7_34, unloaded
928928
// CHECK:STDOUT: %Main.import_ref.8f2: <witness> = import_ref Main//import_generic_with_different_specific, loc4_10, loaded [concrete = constants.%complete_type]
929929
// CHECK:STDOUT: %Main.import_ref.2c4 = import_ref Main//import_generic_with_different_specific, inst{{[0-9A-F]+}} [no loc], unloaded
930+
// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @C.as.I.impl.f3e [concrete]
930931
// CHECK:STDOUT: %Main.import_ref.efcd44.2: type = import_ref Main//import_generic_with_different_specific, loc7_14, loaded [symbolic = @C.as.I.impl.f3e.%T (constants.%T)]
931932
// CHECK:STDOUT: %Main.import_ref.29a: type = import_ref Main//import_generic_with_different_specific, loc7_24, loaded [concrete = constants.%C]
932933
// CHECK:STDOUT: %Main.import_ref.46444d.1: type = import_ref Main//import_generic_with_different_specific, loc7_32, loaded [symbolic = @C.as.I.impl.f3e.%I.type (constants.%I.type.070)]
933-
// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (), @C.as.I.impl.f3e [concrete]
934934
// CHECK:STDOUT: %Main.import_ref.f92: type = import_ref Main//import_generic_with_different_specific, loc10_18, loaded [symbolic = constants.%Self.binding.as_type]
935935
// CHECK:STDOUT: %Main.import_ref.efcd44.3: type = import_ref Main//import_generic_with_different_specific, loc9_14, loaded [symbolic = @N.%T (constants.%T)]
936936
// 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)]
@@ -1348,14 +1348,14 @@ impl forall [T:! type] D as N(T*) {}
13481348
// CHECK:STDOUT: %Main.import_ref.b3b = import_ref Main//import_generic_decl, loc5_23, unloaded
13491349
// CHECK:STDOUT: %Main.import_ref.8f2: <witness> = import_ref Main//import_generic_decl, loc4_10, loaded [concrete = constants.%complete_type]
13501350
// CHECK:STDOUT: %Main.import_ref.cab = import_ref Main//import_generic_decl, inst{{[0-9A-F]+}} [no loc], unloaded
1351+
// CHECK:STDOUT: %J.impl_witness_table.bc9 = impl_witness_table (), @D.as.J.impl.b470bf.1 [concrete]
13511352
// CHECK:STDOUT: %Main.import_ref.efcd44.2: type = import_ref Main//import_generic_decl, loc15_14, loaded [symbolic = @D.as.J.impl.b470bf.1.%T (constants.%T)]
13521353
// CHECK:STDOUT: %Main.import_ref.aa9f8a.1: type = import_ref Main//import_generic_decl, loc15_24, loaded [concrete = constants.%D]
13531354
// CHECK:STDOUT: %Main.import_ref.03fb8f.1: type = import_ref Main//import_generic_decl, loc15_32, loaded [symbolic = @D.as.J.impl.b470bf.1.%J.type (constants.%J.type.8ec)]
1354-
// CHECK:STDOUT: %J.impl_witness_table.bc9 = impl_witness_table (), @D.as.J.impl.b470bf.1 [concrete]
1355+
// CHECK:STDOUT: %J.impl_witness_table.bd9 = impl_witness_table (), @D.as.J.impl.265db6.1 [concrete]
13551356
// CHECK:STDOUT: %Main.import_ref.efcd44.3: type = import_ref Main//import_generic_decl, loc21_14, loaded [symbolic = @D.as.J.impl.265db6.1.%T (constants.%T)]
13561357
// CHECK:STDOUT: %Main.import_ref.aa9f8a.2: type = import_ref Main//import_generic_decl, loc21_24, loaded [concrete = constants.%D]
13571358
// CHECK:STDOUT: %Main.import_ref.a00: type = import_ref Main//import_generic_decl, loc21_33, loaded [symbolic = @D.as.J.impl.265db6.1.%J.type (constants.%J.type.4fa)]
1358-
// CHECK:STDOUT: %J.impl_witness_table.bd9 = impl_witness_table (), @D.as.J.impl.265db6.1 [concrete]
13591359
// CHECK:STDOUT: %Main.import_ref.f92: type = import_ref Main//import_generic_decl, loc8_18, loaded [symbolic = constants.%Self.binding.as_type]
13601360
// CHECK:STDOUT: %Main.import_ref.efcd44.4: type = import_ref Main//import_generic_decl, loc7_14, loaded [symbolic = @N.%T (constants.%T)]
13611361
// 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)]

toolchain/check/testdata/impl/import_self_specific.carbon

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -363,20 +363,20 @@ impl forall [N:! E] D(N) as I where .Assoc = () {
363363
// CHECK:STDOUT: %Assoc: %Y.type = assoc_const_decl @Assoc [concrete] {}
364364
// CHECK:STDOUT: %Main.import_ref.e339be.1: %I.type = import_ref Main//impl_def, loc15_13, loaded [symbolic = constants.%Self.9f2]
365365
// CHECK:STDOUT: %Main.import_ref.338: <witness> = import_ref Main//impl_def, loc5_31, loaded [symbolic = @T.as.Y.impl.%Y.impl_witness (constants.%Y.impl_witness.278)]
366+
// CHECK:STDOUT: %Y.impl_witness_table = impl_witness_table (), @T.as.Y.impl [concrete]
366367
// CHECK:STDOUT: %Main.import_ref.efcd44.1: type = import_ref Main//impl_def, loc5_14, loaded [symbolic = @T.as.Y.impl.%T (constants.%T)]
367368
// CHECK:STDOUT: %Main.import_ref.cb5: type = import_ref Main//impl_def, loc5_24, loaded [symbolic = @T.as.Y.impl.%T (constants.%T)]
368369
// CHECK:STDOUT: %Main.import_ref.0a1: type = import_ref Main//impl_def, loc5_29, loaded [concrete = constants.%Y.type]
369-
// CHECK:STDOUT: %Y.impl_witness_table = impl_witness_table (), @T.as.Y.impl [concrete]
370370
// CHECK:STDOUT: %Main.import_ref.462 = import_ref Main//impl_def, loc8_13, unloaded
371371
// CHECK:STDOUT: %Main.import_ref.62f: %Z.type = import_ref Main//impl_def, loc11_9, loaded [symbolic = @C.%V (constants.%V)]
372372
// CHECK:STDOUT: %Main.import_ref.3fc: <witness> = import_ref Main//impl_def, loc13_1, loaded [concrete = constants.%complete_type.782]
373373
// CHECK:STDOUT: %Main.import_ref.f7e = import_ref Main//impl_def, inst{{[0-9A-F]+}} [no loc], unloaded
374374
// CHECK:STDOUT: %Main.import_ref.e339be.2: %I.type = import_ref Main//impl_def, loc15_13, loaded [symbolic = constants.%Self.9f2]
375375
// CHECK:STDOUT: %Main.import_ref.cfb: <witness> = import_ref Main//impl_def, loc9_31, loaded [symbolic = @U.as.Z.impl.%Z.impl_witness (constants.%Z.impl_witness.5e4)]
376+
// CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (), @U.as.Z.impl [concrete]
376377
// CHECK:STDOUT: %Main.import_ref.efcd44.2: type = import_ref Main//impl_def, loc9_14, loaded [symbolic = @U.as.Z.impl.%U (constants.%U)]
377378
// CHECK:STDOUT: %Main.import_ref.ff3: type = import_ref Main//impl_def, loc9_24, loaded [symbolic = @U.as.Z.impl.%U (constants.%U)]
378379
// CHECK:STDOUT: %Main.import_ref.df1: type = import_ref Main//impl_def, loc9_29, loaded [concrete = constants.%Z.type]
379-
// CHECK:STDOUT: %Z.impl_witness_table = impl_witness_table (), @U.as.Z.impl [concrete]
380380
// CHECK:STDOUT: }
381381
// CHECK:STDOUT:
382382
// CHECK:STDOUT: file {

toolchain/check/testdata/impl/import_thunk.carbon

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -441,11 +441,11 @@ fn G() {
441441
// CHECK:STDOUT: %Main.import_ref.e03: %I.F.type = import_ref Main//a, loc5_14, loaded [concrete = constants.%I.F]
442442
// CHECK:STDOUT: %Main.import_ref.e33: %I.type = import_ref Main//a, loc4_13, loaded [symbolic = constants.%Self.9f2]
443443
// CHECK:STDOUT: %Main.import_ref.c03: <witness> = import_ref Main//b, loc7_32, loaded [symbolic = @C.as.I.impl.%I.impl_witness (constants.%I.impl_witness.9b0)]
444+
// CHECK:STDOUT: %Main.import_ref.fad: @C.as.I.impl.%C.as.I.impl.F.type.2 (%C.as.I.impl.F.type.bc035d.2) = import_ref Main//b, loc8_17, loaded [symbolic = @C.as.I.impl.%C.as.I.impl.F.2 (constants.%C.as.I.impl.F.e11987.2)]
445+
// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%Main.import_ref.fad), @C.as.I.impl [concrete]
444446
// CHECK:STDOUT: %Main.import_ref.7a8327.2: %empty_tuple.type = import_ref Main//b, loc7_14, loaded [symbolic = @C.as.I.impl.%Y (constants.%Y)]
445447
// CHECK:STDOUT: %Main.import_ref.801: type = import_ref Main//b, loc7_25, loaded [symbolic = @C.as.I.impl.%C (constants.%C.32c8ec.2)]
446448
// CHECK:STDOUT: %Main.import_ref.f50: type = import_ref Main//b, loc7_30, loaded [concrete = constants.%I.type]
447-
// CHECK:STDOUT: %Main.import_ref.fad: @C.as.I.impl.%C.as.I.impl.F.type.2 (%C.as.I.impl.F.type.bc035d.2) = import_ref Main//b, loc8_17, loaded [symbolic = @C.as.I.impl.%C.as.I.impl.F.2 (constants.%C.as.I.impl.F.e11987.2)]
448-
// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%Main.import_ref.fad), @C.as.I.impl [concrete]
449449
// CHECK:STDOUT: %Main.import_ref.7a8327.3: %empty_tuple.type = import_ref Main//b, loc7_14, loaded [symbolic = @C.as.I.impl.%Y (constants.%Y)]
450450
// CHECK:STDOUT: %Main.import_ref.7a8327.4: %empty_tuple.type = import_ref Main//b, loc7_14, loaded [symbolic = @C.as.I.impl.%Y (constants.%Y)]
451451
// CHECK:STDOUT: %Main.F.564: @C.as.I.impl.%C.as.I.impl.F.type.1 (%C.as.I.impl.F.type.bc035d.1) = import_ref Main//b, F, loaded [symbolic = @C.as.I.impl.%C.as.I.impl.F.1 (constants.%C.as.I.impl.F.e11987.1)]

toolchain/check/testdata/impl/import_use_generic.carbon

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,11 +228,11 @@ fn H() -> C({}).(I.F)() {}
228228
// CHECK:STDOUT: %Main.import_ref.e03: %I.F.type = import_ref Main//import_generic, loc7_9, loaded [concrete = constants.%I.F]
229229
// CHECK:STDOUT: %Main.import_ref.e33: %I.type = import_ref Main//import_generic, loc6_13, loaded [symbolic = constants.%Self]
230230
// CHECK:STDOUT: %Main.import_ref.bc1: <witness> = import_ref Main//import_generic, loc10_34, loaded [symbolic = @C.as.I.impl.%I.impl_witness (constants.%I.impl_witness.2ba)]
231+
// CHECK:STDOUT: %Main.import_ref.2bf: @C.as.I.impl.%C.as.I.impl.F.type (%C.as.I.impl.F.type.dd2) = import_ref Main//import_generic, loc11_10, loaded [symbolic = @C.as.I.impl.%C.as.I.impl.F (constants.%C.as.I.impl.F.470)]
232+
// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%Main.import_ref.2bf), @C.as.I.impl [concrete]
231233
// CHECK:STDOUT: %Main.import_ref.efcd44.2: type = import_ref Main//import_generic, loc10_14, loaded [symbolic = @C.as.I.impl.%T (constants.%T)]
232234
// CHECK:STDOUT: %Main.import_ref.4d2: type = import_ref Main//import_generic, loc10_27, loaded [symbolic = @C.as.I.impl.%C (constants.%C.3f0)]
233235
// CHECK:STDOUT: %Main.import_ref.301: type = import_ref Main//import_generic, loc10_32, loaded [concrete = constants.%I.type]
234-
// CHECK:STDOUT: %Main.import_ref.2bf: @C.as.I.impl.%C.as.I.impl.F.type (%C.as.I.impl.F.type.dd2) = import_ref Main//import_generic, loc11_10, loaded [symbolic = @C.as.I.impl.%C.as.I.impl.F (constants.%C.as.I.impl.F.470)]
235-
// CHECK:STDOUT: %I.impl_witness_table = impl_witness_table (%Main.import_ref.2bf), @C.as.I.impl [concrete]
236236
// CHECK:STDOUT: %Main.import_ref.efcd44.3: type = import_ref Main//import_generic, loc10_14, loaded [symbolic = @C.as.I.impl.%T (constants.%T)]
237237
// CHECK:STDOUT: }
238238
// CHECK:STDOUT:

toolchain/check/testdata/packages/missing_prelude.carbon

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,8 +229,8 @@ var n: {} = i32;
229229
// CHECK:STDOUT: %Int.type: type = fn_type @Int [concrete]
230230
// CHECK:STDOUT: %Int: %Int.type = struct_value () [concrete]
231231
// CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic]
232-
// CHECK:STDOUT: %N: %T = symbolic_binding N, 1 [symbolic]
233232
// CHECK:STDOUT: %pattern_type.e68: type = pattern_type %T [symbolic]
233+
// CHECK:STDOUT: %N: %T = symbolic_binding N, 1 [symbolic]
234234
// CHECK:STDOUT: %pattern_type.dc0: type = pattern_type Core.IntLiteral [concrete]
235235
// CHECK:STDOUT: %Int.specific_fn: <specific function> = specific_function %Int, @Int(Core.IntLiteral, %int_32) [concrete]
236236
// CHECK:STDOUT: }

0 commit comments

Comments
 (0)