|
|
@@ -86,7 +86,7 @@ fn MakeC(a: A) -> C {
|
|
|
// CHECK:STDOUT: %Action.type.1: type = generic_interface_type @Action [template]
|
|
|
// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [template]
|
|
|
// CHECK:STDOUT: %Action: %Action.type.1 = struct_value () [template]
|
|
|
-// CHECK:STDOUT: %Action.type.2: type = interface_type @Action, @Action(%T) [symbolic]
|
|
|
+// CHECK:STDOUT: %Action.type.2: type = facet_type <@Action, @Action(%T)> [symbolic]
|
|
|
// CHECK:STDOUT: %Self: %Action.type.2 = bind_symbolic_name Self, 1 [symbolic]
|
|
|
// CHECK:STDOUT: %Op.type.1: type = fn_type @Op.1, @Action(%T) [symbolic]
|
|
|
// CHECK:STDOUT: %Op.1: %Op.type.1 = struct_value () [symbolic]
|
|
|
@@ -97,7 +97,7 @@ fn MakeC(a: A) -> C {
|
|
|
// CHECK:STDOUT: %.4: <witness> = complete_type_witness %.3 [template]
|
|
|
// CHECK:STDOUT: %B: type = class_type @B [template]
|
|
|
// CHECK:STDOUT: %C: type = class_type @C [template]
|
|
|
-// CHECK:STDOUT: %Action.type.3: type = interface_type @Action, @Action(%B) [template]
|
|
|
+// CHECK:STDOUT: %Action.type.3: type = facet_type <@Action, @Action(%B)> [template]
|
|
|
// CHECK:STDOUT: %Op.type.2: type = fn_type @Op.2 [template]
|
|
|
// CHECK:STDOUT: %Op.2: %Op.type.2 = struct_value () [template]
|
|
|
// CHECK:STDOUT: %Op.type.3: type = fn_type @Op.1, @Action(%B) [template]
|
|
|
@@ -132,7 +132,7 @@ fn MakeC(a: A) -> C {
|
|
|
// CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [template = constants.%A]
|
|
|
// CHECK:STDOUT: %Action.ref: %Action.type.1 = name_ref Action, file.%Action.decl [template = constants.%Action]
|
|
|
// CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [template = constants.%B]
|
|
|
-// CHECK:STDOUT: %Action.type: type = interface_type @Action, @Action(constants.%B) [template = constants.%Action.type.3]
|
|
|
+// CHECK:STDOUT: %Action.type: type = facet_type <@Action, @Action(constants.%B)> [template = constants.%Action.type.3]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {
|
|
|
// CHECK:STDOUT: %a.patt: %A = binding_pattern a
|
|
|
@@ -149,7 +149,7 @@ fn MakeC(a: A) -> C {
|
|
|
// CHECK:STDOUT: %T.patt.loc4_18.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_18.2 (constants.%T.patt)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %Action.type: type = interface_type @Action, @Action(%T.loc4_18.2) [symbolic = %Action.type (constants.%Action.type.2)]
|
|
|
+// CHECK:STDOUT: %Action.type: type = facet_type <@Action, @Action(%T.loc4_18.2)> [symbolic = %Action.type (constants.%Action.type.2)]
|
|
|
// CHECK:STDOUT: %Self.2: %Action.type.2 = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)]
|
|
|
// CHECK:STDOUT: %Op.type: type = fn_type @Op.1, @Action(%T.loc4_18.2) [symbolic = %Op.type (constants.%Op.type.1)]
|
|
|
// CHECK:STDOUT: %Op: @Action.%Op.type (%Op.type.1) = struct_value () [symbolic = %Op (constants.%Op.1)]
|
|
|
@@ -213,7 +213,7 @@ fn MakeC(a: A) -> C {
|
|
|
// CHECK:STDOUT: %a.ref: %A = name_ref a, %a
|
|
|
// CHECK:STDOUT: %Action.ref: %Action.type.1 = name_ref Action, file.%Action.decl [template = constants.%Action]
|
|
|
// CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [template = constants.%B]
|
|
|
-// CHECK:STDOUT: %Action.type: type = interface_type @Action, @Action(constants.%B) [template = constants.%Action.type.3]
|
|
|
+// CHECK:STDOUT: %Action.type: type = facet_type <@Action, @Action(constants.%B)> [template = constants.%Action.type.3]
|
|
|
// CHECK:STDOUT: %.loc16_26: %.5 = specific_constant @Action.%.loc5_10.1, @Action(constants.%B) [template = constants.%.6]
|
|
|
// CHECK:STDOUT: %Op.ref: %.5 = name_ref Op, %.loc16_26 [template = constants.%.6]
|
|
|
// CHECK:STDOUT: %.loc16_15: %Op.type.3 = interface_witness_access constants.%.7, element0 [template = constants.%Op.2]
|
|
|
@@ -258,10 +258,10 @@ fn MakeC(a: A) -> C {
|
|
|
// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [template]
|
|
|
// CHECK:STDOUT: %Action: %Action.type.1 = struct_value () [template]
|
|
|
// CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic]
|
|
|
-// CHECK:STDOUT: %Action.type.2: type = interface_type @Action, @Action(%T) [symbolic]
|
|
|
+// CHECK:STDOUT: %Action.type.2: type = facet_type <@Action, @Action(%T)> [symbolic]
|
|
|
// CHECK:STDOUT: %Self.1: @Action.%Action.type (%Action.type.2) = bind_symbolic_name Self, 1 [symbolic]
|
|
|
// CHECK:STDOUT: %T.patt: type = symbolic_binding_pattern T, 0 [symbolic]
|
|
|
-// CHECK:STDOUT: %Action.type.3: type = interface_type @Action, @Action(%B) [template]
|
|
|
+// CHECK:STDOUT: %Action.type.3: type = facet_type <@Action, @Action(%B)> [template]
|
|
|
// CHECK:STDOUT: %A: type = class_type @A [template]
|
|
|
// CHECK:STDOUT: %Self.2: %Action.type.2 = bind_symbolic_name Self, 1 [symbolic]
|
|
|
// CHECK:STDOUT: %Op.type.1: type = fn_type @Op.1, @Action(%T) [symbolic]
|
|
|
@@ -327,7 +327,7 @@ fn MakeC(a: A) -> C {
|
|
|
// CHECK:STDOUT: %T.patt: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %Action.type: type = interface_type @Action, @Action(%T) [symbolic = %Action.type (constants.%Action.type.2)]
|
|
|
+// CHECK:STDOUT: %Action.type: type = facet_type <@Action, @Action(%T)> [symbolic = %Action.type (constants.%Action.type.2)]
|
|
|
// CHECK:STDOUT: %Self: %Action.type.2 = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.2)]
|
|
|
// CHECK:STDOUT: %Op.type: type = fn_type @Op.1, @Action(%T) [symbolic = %Op.type (constants.%Op.type.1)]
|
|
|
// CHECK:STDOUT: %Op: @Action.%Op.type (%Op.type.1) = struct_value () [symbolic = %Op (constants.%Op.1)]
|
|
|
@@ -368,7 +368,7 @@ fn MakeC(a: A) -> C {
|
|
|
// CHECK:STDOUT: %a.ref: %A = name_ref a, %a
|
|
|
// CHECK:STDOUT: %Action.ref: %Action.type.1 = name_ref Action, imports.%import_ref.1 [template = constants.%Action]
|
|
|
// CHECK:STDOUT: %B.ref: type = name_ref B, imports.%import_ref.3 [template = constants.%B]
|
|
|
-// CHECK:STDOUT: %Action.type: type = interface_type @Action, @Action(constants.%B) [template = constants.%Action.type.3]
|
|
|
+// CHECK:STDOUT: %Action.type: type = facet_type <@Action, @Action(constants.%B)> [template = constants.%Action.type.3]
|
|
|
// CHECK:STDOUT: %.loc4_26: %.5 = specific_constant imports.%import_ref.8, @Action(constants.%B) [template = constants.%.6]
|
|
|
// CHECK:STDOUT: %Op.ref: %.5 = name_ref Op, %.loc4_26 [template = constants.%.6]
|
|
|
// CHECK:STDOUT: %.loc4_15: %Op.type.2 = interface_witness_access constants.%.9, element0 [template = constants.%Op.3]
|
|
|
@@ -413,10 +413,10 @@ fn MakeC(a: A) -> C {
|
|
|
// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [template]
|
|
|
// CHECK:STDOUT: %Action: %Action.type.1 = struct_value () [template]
|
|
|
// CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic]
|
|
|
-// CHECK:STDOUT: %Action.type.2: type = interface_type @Action, @Action(%T) [symbolic]
|
|
|
+// CHECK:STDOUT: %Action.type.2: type = facet_type <@Action, @Action(%T)> [symbolic]
|
|
|
// CHECK:STDOUT: %Self.1: @Action.%Action.type (%Action.type.2) = bind_symbolic_name Self, 1 [symbolic]
|
|
|
// CHECK:STDOUT: %T.patt: type = symbolic_binding_pattern T, 0 [symbolic]
|
|
|
-// CHECK:STDOUT: %Action.type.3: type = interface_type @Action, @Action(%B) [template]
|
|
|
+// CHECK:STDOUT: %Action.type.3: type = facet_type <@Action, @Action(%B)> [template]
|
|
|
// CHECK:STDOUT: %A: type = class_type @A [template]
|
|
|
// CHECK:STDOUT: %Self.2: %Action.type.2 = bind_symbolic_name Self, 1 [symbolic]
|
|
|
// CHECK:STDOUT: %Op.type.1: type = fn_type @Op, @Action(%T) [symbolic]
|
|
|
@@ -431,7 +431,7 @@ fn MakeC(a: A) -> C {
|
|
|
// CHECK:STDOUT: %G: %G.type = struct_value () [template]
|
|
|
// CHECK:STDOUT: %.7: type = ptr_type %.1 [template]
|
|
|
// CHECK:STDOUT: %C: type = class_type @C [template]
|
|
|
-// CHECK:STDOUT: %Action.type.4: type = interface_type @Action, @Action(%C) [template]
|
|
|
+// CHECK:STDOUT: %Action.type.4: type = facet_type <@Action, @Action(%C)> [template]
|
|
|
// CHECK:STDOUT: %Op.type.3: type = fn_type @Op, @Action(%C) [template]
|
|
|
// CHECK:STDOUT: %Op.3: %Op.type.3 = struct_value () [template]
|
|
|
// CHECK:STDOUT: %.8: type = assoc_entity_type %Action.type.4, %Op.type.3 [template]
|
|
|
@@ -486,7 +486,7 @@ fn MakeC(a: A) -> C {
|
|
|
// CHECK:STDOUT: %T.patt: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %Action.type: type = interface_type @Action, @Action(%T) [symbolic = %Action.type (constants.%Action.type.2)]
|
|
|
+// CHECK:STDOUT: %Action.type: type = facet_type <@Action, @Action(%T)> [symbolic = %Action.type (constants.%Action.type.2)]
|
|
|
// CHECK:STDOUT: %Self: %Action.type.2 = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.2)]
|
|
|
// CHECK:STDOUT: %Op.type: type = fn_type @Op, @Action(%T) [symbolic = %Op.type (constants.%Op.type.1)]
|
|
|
// CHECK:STDOUT: %Op: @Action.%Op.type (%Op.type.1) = struct_value () [symbolic = %Op (constants.%Op.1)]
|
|
|
@@ -532,7 +532,7 @@ fn MakeC(a: A) -> C {
|
|
|
// CHECK:STDOUT: %a.ref: %A = name_ref a, %a
|
|
|
// CHECK:STDOUT: %Action.ref: %Action.type.1 = name_ref Action, imports.%import_ref.1 [template = constants.%Action]
|
|
|
// CHECK:STDOUT: %C.ref: type = name_ref C, imports.%import_ref.4 [template = constants.%C]
|
|
|
-// CHECK:STDOUT: %Action.type: type = interface_type @Action, @Action(constants.%C) [template = constants.%Action.type.4]
|
|
|
+// CHECK:STDOUT: %Action.type: type = facet_type <@Action, @Action(constants.%C)> [template = constants.%Action.type.4]
|
|
|
// CHECK:STDOUT: %.loc8: %.8 = specific_constant imports.%import_ref.8, @Action(constants.%C) [template = constants.%.9]
|
|
|
// CHECK:STDOUT: %Op.ref: %.8 = name_ref Op, %.loc8 [template = constants.%.9]
|
|
|
// CHECK:STDOUT: return
|
|
|
@@ -584,7 +584,7 @@ fn MakeC(a: A) -> C {
|
|
|
// CHECK:STDOUT: %Factory.type.1: type = generic_interface_type @Factory [template]
|
|
|
// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [template]
|
|
|
// CHECK:STDOUT: %Factory: %Factory.type.1 = struct_value () [template]
|
|
|
-// CHECK:STDOUT: %Factory.type.2: type = interface_type @Factory, @Factory(%T) [symbolic]
|
|
|
+// CHECK:STDOUT: %Factory.type.2: type = facet_type <@Factory, @Factory(%T)> [symbolic]
|
|
|
// CHECK:STDOUT: %Self: %Factory.type.2 = bind_symbolic_name Self, 1 [symbolic]
|
|
|
// CHECK:STDOUT: %Make.type.1: type = fn_type @Make.1, @Factory(%T) [symbolic]
|
|
|
// CHECK:STDOUT: %Make.1: %Make.type.1 = struct_value () [symbolic]
|
|
|
@@ -594,7 +594,7 @@ fn MakeC(a: A) -> C {
|
|
|
// CHECK:STDOUT: %.3: type = struct_type {} [template]
|
|
|
// CHECK:STDOUT: %.4: <witness> = complete_type_witness %.3 [template]
|
|
|
// CHECK:STDOUT: %B: type = class_type @B [template]
|
|
|
-// CHECK:STDOUT: %Factory.type.3: type = interface_type @Factory, @Factory(%B) [template]
|
|
|
+// CHECK:STDOUT: %Factory.type.3: type = facet_type <@Factory, @Factory(%B)> [template]
|
|
|
// CHECK:STDOUT: %Make.type.2: type = fn_type @Make.2 [template]
|
|
|
// CHECK:STDOUT: %Make.2: %Make.type.2 = struct_value () [template]
|
|
|
// CHECK:STDOUT: %Make.type.3: type = fn_type @Make.1, @Factory(%B) [template]
|
|
|
@@ -623,7 +623,7 @@ fn MakeC(a: A) -> C {
|
|
|
// CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [template = constants.%A]
|
|
|
// CHECK:STDOUT: %Factory.ref: %Factory.type.1 = name_ref Factory, file.%Factory.decl [template = constants.%Factory]
|
|
|
// CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [template = constants.%B]
|
|
|
-// CHECK:STDOUT: %Factory.type: type = interface_type @Factory, @Factory(constants.%B) [template = constants.%Factory.type.3]
|
|
|
+// CHECK:STDOUT: %Factory.type: type = facet_type <@Factory, @Factory(constants.%B)> [template = constants.%Factory.type.3]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
@@ -632,7 +632,7 @@ fn MakeC(a: A) -> C {
|
|
|
// CHECK:STDOUT: %T.patt.loc4_19.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_19.2 (constants.%T.patt)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %Factory.type: type = interface_type @Factory, @Factory(%T.loc4_19.2) [symbolic = %Factory.type (constants.%Factory.type.2)]
|
|
|
+// CHECK:STDOUT: %Factory.type: type = facet_type <@Factory, @Factory(%T.loc4_19.2)> [symbolic = %Factory.type (constants.%Factory.type.2)]
|
|
|
// CHECK:STDOUT: %Self.2: %Factory.type.2 = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)]
|
|
|
// CHECK:STDOUT: %Make.type: type = fn_type @Make.1, @Factory(%T.loc4_19.2) [symbolic = %Make.type (constants.%Make.type.1)]
|
|
|
// CHECK:STDOUT: %Make: @Factory.%Make.type (%Make.type.1) = struct_value () [symbolic = %Make (constants.%Make.1)]
|
|
|
@@ -737,10 +737,10 @@ fn MakeC(a: A) -> C {
|
|
|
// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [template]
|
|
|
// CHECK:STDOUT: %Factory: %Factory.type.1 = struct_value () [template]
|
|
|
// CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic]
|
|
|
-// CHECK:STDOUT: %Factory.type.2: type = interface_type @Factory, @Factory(%T) [symbolic]
|
|
|
+// CHECK:STDOUT: %Factory.type.2: type = facet_type <@Factory, @Factory(%T)> [symbolic]
|
|
|
// CHECK:STDOUT: %Self.1: @Factory.%Factory.type (%Factory.type.2) = bind_symbolic_name Self, 1 [symbolic]
|
|
|
// CHECK:STDOUT: %T.patt: type = symbolic_binding_pattern T, 0 [symbolic]
|
|
|
-// CHECK:STDOUT: %Factory.type.3: type = interface_type @Factory, @Factory(%B) [template]
|
|
|
+// CHECK:STDOUT: %Factory.type.3: type = facet_type <@Factory, @Factory(%B)> [template]
|
|
|
// CHECK:STDOUT: %A: type = class_type @A [template]
|
|
|
// CHECK:STDOUT: %Self.2: %Factory.type.2 = bind_symbolic_name Self, 1 [symbolic]
|
|
|
// CHECK:STDOUT: %Make.type.1: type = fn_type @Make.1, @Factory(%T) [symbolic]
|
|
|
@@ -807,7 +807,7 @@ fn MakeC(a: A) -> C {
|
|
|
// CHECK:STDOUT: %T.patt: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %Factory.type: type = interface_type @Factory, @Factory(%T) [symbolic = %Factory.type (constants.%Factory.type.2)]
|
|
|
+// CHECK:STDOUT: %Factory.type: type = facet_type <@Factory, @Factory(%T)> [symbolic = %Factory.type (constants.%Factory.type.2)]
|
|
|
// CHECK:STDOUT: %Self: %Factory.type.2 = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.2)]
|
|
|
// CHECK:STDOUT: %Make.type: type = fn_type @Make.1, @Factory(%T) [symbolic = %Make.type (constants.%Make.type.1)]
|
|
|
// CHECK:STDOUT: %Make: @Factory.%Make.type (%Make.type.1) = struct_value () [symbolic = %Make (constants.%Make.1)]
|
|
|
@@ -849,7 +849,7 @@ fn MakeC(a: A) -> C {
|
|
|
// CHECK:STDOUT: %a.ref: %A = name_ref a, %a
|
|
|
// CHECK:STDOUT: %Factory.ref: %Factory.type.1 = name_ref Factory, imports.%import_ref.1 [template = constants.%Factory]
|
|
|
// CHECK:STDOUT: %B.ref.loc5: type = name_ref B, imports.%import_ref.3 [template = constants.%B]
|
|
|
-// CHECK:STDOUT: %Factory.type: type = interface_type @Factory, @Factory(constants.%B) [template = constants.%Factory.type.3]
|
|
|
+// CHECK:STDOUT: %Factory.type: type = facet_type <@Factory, @Factory(constants.%B)> [template = constants.%Factory.type.3]
|
|
|
// CHECK:STDOUT: %.loc5_23: %.5 = specific_constant imports.%import_ref.6, @Factory(constants.%B) [template = constants.%.6]
|
|
|
// CHECK:STDOUT: %Make.ref: %.5 = name_ref Make, %.loc5_23 [template = constants.%.6]
|
|
|
// CHECK:STDOUT: %.loc5_11: %Make.type.2 = interface_witness_access constants.%.9, element0 [template = constants.%Make.3]
|
|
|
@@ -897,10 +897,10 @@ fn MakeC(a: A) -> C {
|
|
|
// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [template]
|
|
|
// CHECK:STDOUT: %Factory: %Factory.type.1 = struct_value () [template]
|
|
|
// CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic]
|
|
|
-// CHECK:STDOUT: %Factory.type.2: type = interface_type @Factory, @Factory(%T) [symbolic]
|
|
|
+// CHECK:STDOUT: %Factory.type.2: type = facet_type <@Factory, @Factory(%T)> [symbolic]
|
|
|
// CHECK:STDOUT: %Self.1: @Factory.%Factory.type (%Factory.type.2) = bind_symbolic_name Self, 1 [symbolic]
|
|
|
// CHECK:STDOUT: %T.patt: type = symbolic_binding_pattern T, 0 [symbolic]
|
|
|
-// CHECK:STDOUT: %Factory.type.3: type = interface_type @Factory, @Factory(%B) [template]
|
|
|
+// CHECK:STDOUT: %Factory.type.3: type = facet_type <@Factory, @Factory(%B)> [template]
|
|
|
// CHECK:STDOUT: %A: type = class_type @A [template]
|
|
|
// CHECK:STDOUT: %Self.2: %Factory.type.2 = bind_symbolic_name Self, 1 [symbolic]
|
|
|
// CHECK:STDOUT: %Make.type.1: type = fn_type @Make, @Factory(%T) [symbolic]
|
|
|
@@ -915,7 +915,7 @@ fn MakeC(a: A) -> C {
|
|
|
// CHECK:STDOUT: %MakeC.type: type = fn_type @MakeC [template]
|
|
|
// CHECK:STDOUT: %MakeC: %MakeC.type = struct_value () [template]
|
|
|
// CHECK:STDOUT: %.7: type = ptr_type %.1 [template]
|
|
|
-// CHECK:STDOUT: %Factory.type.4: type = interface_type @Factory, @Factory(%C) [template]
|
|
|
+// CHECK:STDOUT: %Factory.type.4: type = facet_type <@Factory, @Factory(%C)> [template]
|
|
|
// CHECK:STDOUT: %Make.type.3: type = fn_type @Make, @Factory(%C) [template]
|
|
|
// CHECK:STDOUT: %Make.3: %Make.type.3 = struct_value () [template]
|
|
|
// CHECK:STDOUT: %.8: type = assoc_entity_type %Factory.type.4, %Make.type.3 [template]
|
|
|
@@ -972,7 +972,7 @@ fn MakeC(a: A) -> C {
|
|
|
// CHECK:STDOUT: %T.patt: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %Factory.type: type = interface_type @Factory, @Factory(%T) [symbolic = %Factory.type (constants.%Factory.type.2)]
|
|
|
+// CHECK:STDOUT: %Factory.type: type = facet_type <@Factory, @Factory(%T)> [symbolic = %Factory.type (constants.%Factory.type.2)]
|
|
|
// CHECK:STDOUT: %Self: %Factory.type.2 = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.2)]
|
|
|
// CHECK:STDOUT: %Make.type: type = fn_type @Make, @Factory(%T) [symbolic = %Make.type (constants.%Make.type.1)]
|
|
|
// CHECK:STDOUT: %Make: @Factory.%Make.type (%Make.type.1) = struct_value () [symbolic = %Make (constants.%Make.1)]
|
|
|
@@ -1021,7 +1021,7 @@ fn MakeC(a: A) -> C {
|
|
|
// CHECK:STDOUT: %a.ref: %A = name_ref a, %a
|
|
|
// CHECK:STDOUT: %Factory.ref: %Factory.type.1 = name_ref Factory, imports.%import_ref.1 [template = constants.%Factory]
|
|
|
// CHECK:STDOUT: %C.ref.loc10: type = name_ref C, file.%C.decl [template = constants.%C]
|
|
|
-// CHECK:STDOUT: %Factory.type: type = interface_type @Factory, @Factory(constants.%C) [template = constants.%Factory.type.4]
|
|
|
+// CHECK:STDOUT: %Factory.type: type = facet_type <@Factory, @Factory(constants.%C)> [template = constants.%Factory.type.4]
|
|
|
// CHECK:STDOUT: %.loc10: %.8 = specific_constant imports.%import_ref.6, @Factory(constants.%C) [template = constants.%.9]
|
|
|
// CHECK:STDOUT: %Make.ref: %.8 = name_ref Make, %.loc10 [template = constants.%.9]
|
|
|
// CHECK:STDOUT: return <error> to %return
|