mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 22:02:55 +01:00
Improve SemIR naming of import_refs (#4824)
Changes the name of SemIR `import_ref`s to use the format `<package>.<entity>`. <table> <tr><th>Before</th><th>After</th></tr> <tr> <td><code>%import_ref.05a: type</code></td> <td><code>%Main.D: type</code></td> </tr> <tr> <td><code>%import_ref.8f2: <witness></code></td> <td><code>%Main.import_ref.8f2: <witness></code></td> </tr> </table> * [Discord discussion in #toolchain](https://discord.com/channels/655572317891461132/655578254970716160/1330253540999827577) * Closes #4769
This commit is contained in:
+1
-1
@@ -70,7 +70,7 @@ fn InstanceCallIndirect(p: i32*) {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int = %import_ref.485
|
||||
// CHECK:STDOUT: .Int = %Core.Int
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/...
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ impl i32 as I {}
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int = %import_ref.485
|
||||
// CHECK:STDOUT: .Int = %Core.Int
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/...
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ impl i32 as Empty {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int = %import_ref.485
|
||||
// CHECK:STDOUT: .Int = %Core.Int
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/...
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -81,7 +81,7 @@ class X(U:! type) {
|
||||
// CHECK:STDOUT: %int_2.ecc: Core.IntLiteral = int_value 2 [template]
|
||||
// CHECK:STDOUT: %struct_type.x.c96: type = struct_type {.x: Core.IntLiteral} [template]
|
||||
// CHECK:STDOUT: %Convert.type.1b6: type = fn_type @Convert.1, @ImplicitAs(%i32) [template]
|
||||
// CHECK:STDOUT: %impl_witness.d39: <witness> = impl_witness (imports.%import_ref.a5b), @impl.2(%int_32) [template]
|
||||
// CHECK:STDOUT: %impl_witness.d39: <witness> = impl_witness (imports.%Core.import_ref.a5b), @impl.2(%int_32) [template]
|
||||
// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.2(%int_32) [template]
|
||||
// CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [template]
|
||||
// CHECK:STDOUT: %Convert.bound: <bound method> = bound_method %int_2.ecc, %Convert.956 [template]
|
||||
@@ -94,8 +94,8 @@ class X(U:! type) {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int = %import_ref.485
|
||||
// CHECK:STDOUT: .ImplicitAs = %import_ref.d44
|
||||
// CHECK:STDOUT: .Int = %Core.Int
|
||||
// CHECK:STDOUT: .ImplicitAs = %Core.ImplicitAs
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/...
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+1
-1
@@ -46,7 +46,7 @@ fn InstanceCall(n: i32) {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int = %import_ref.485
|
||||
// CHECK:STDOUT: .Int = %Core.Int
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/...
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -28,7 +28,7 @@ extend impl i32 as I {}
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int = %import_ref.485
|
||||
// CHECK:STDOUT: .Int = %Core.Int
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/...
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -61,7 +61,7 @@ class E {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int = %import_ref.485
|
||||
// CHECK:STDOUT: .Int = %Core.Int
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/...
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -36,7 +36,7 @@ class C {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int = %import_ref.485
|
||||
// CHECK:STDOUT: .Int = %Core.Int
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/...
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -331,8 +331,8 @@ class SelfNestedBadReturnType {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Bool = %import_ref.783
|
||||
// CHECK:STDOUT: .Int = %import_ref.485
|
||||
// CHECK:STDOUT: .Bool = %Core.Bool
|
||||
// CHECK:STDOUT: .Int = %Core.Int
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/...
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -54,8 +54,8 @@ impl f64 as type where .Self impls type {}
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int = %import_ref.485
|
||||
// CHECK:STDOUT: .ImplicitAs = %import_ref.d44
|
||||
// CHECK:STDOUT: .Int = %Core.Int
|
||||
// CHECK:STDOUT: .ImplicitAs = %Core.ImplicitAs
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/...
|
||||
// CHECK:STDOUT: }
|
||||
@@ -88,7 +88,7 @@ impl f64 as type where .Self impls type {}
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Bool = %import_ref
|
||||
// CHECK:STDOUT: .Bool = %Core.Bool
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/...
|
||||
// CHECK:STDOUT: }
|
||||
@@ -123,7 +123,7 @@ impl f64 as type where .Self impls type {}
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Float = %import_ref
|
||||
// CHECK:STDOUT: .Float = %Core.Float
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/...
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+1
-1
@@ -33,7 +33,7 @@ impl i32 as I {}
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int = %import_ref.485
|
||||
// CHECK:STDOUT: .Int = %Core.Int
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/...
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -56,7 +56,7 @@ impl i32 as I {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int = %import_ref.485
|
||||
// CHECK:STDOUT: .Int = %Core.Int
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/...
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -116,7 +116,7 @@ impl () as I where .N = 2 {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .ImplicitAs = %import_ref.d44
|
||||
// CHECK:STDOUT: .ImplicitAs = %Core.ImplicitAs
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/...
|
||||
// CHECK:STDOUT: }
|
||||
@@ -329,7 +329,7 @@ impl () as I where .N = 2 {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .As = %import_ref.16b
|
||||
// CHECK:STDOUT: .As = %Core.As
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/...
|
||||
// CHECK:STDOUT: }
|
||||
@@ -443,7 +443,7 @@ impl () as I where .N = 2 {
|
||||
// CHECK:STDOUT: %impl.elem0: %i32 = impl_witness_access %.Self.as_wit, element0 [symbolic]
|
||||
// CHECK:STDOUT: %int_2.ecc: Core.IntLiteral = int_value 2 [template]
|
||||
// CHECK:STDOUT: %Convert.type.1b6: type = fn_type @Convert.1, @ImplicitAs(%i32) [template]
|
||||
// CHECK:STDOUT: %impl_witness.d39: <witness> = impl_witness (imports.%import_ref.a5b), @impl.1(%int_32) [template]
|
||||
// CHECK:STDOUT: %impl_witness.d39: <witness> = impl_witness (imports.%Core.import_ref.a5b), @impl.1(%int_32) [template]
|
||||
// CHECK:STDOUT: %Convert.type.035: type = fn_type @Convert.2, @impl.1(%int_32) [template]
|
||||
// CHECK:STDOUT: %Convert.956: %Convert.type.035 = struct_value () [template]
|
||||
// CHECK:STDOUT: %Convert.bound: <bound method> = bound_method %int_2.ecc, %Convert.956 [template]
|
||||
@@ -465,9 +465,9 @@ impl () as I where .N = 2 {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int = %import_ref.485
|
||||
// CHECK:STDOUT: .Bool = %import_ref.783
|
||||
// CHECK:STDOUT: .ImplicitAs = %import_ref.d44
|
||||
// CHECK:STDOUT: .Int = %Core.Int
|
||||
// CHECK:STDOUT: .Bool = %Core.Bool
|
||||
// CHECK:STDOUT: .ImplicitAs = %Core.ImplicitAs
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/...
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -61,7 +61,7 @@ impl C as I {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int = %import_ref.485
|
||||
// CHECK:STDOUT: .Int = %Core.Int
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/...
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
@@ -49,7 +49,7 @@ fn F(c: C) -> i32 {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int = %import_ref.485
|
||||
// CHECK:STDOUT: .Int = %Core.Int
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/...
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+287
-287
File diff suppressed because it is too large
Load Diff
+128
-128
@@ -177,12 +177,12 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); }
|
||||
// CHECK:STDOUT: %F.type.2ae: type = fn_type @F.1, @I(%T) [symbolic]
|
||||
// CHECK:STDOUT: %F.bb2: %F.type.2ae = struct_value () [symbolic]
|
||||
// CHECK:STDOUT: %F.assoc_type.003: type = assoc_entity_type %I.type.325, %F.type.2ae [symbolic]
|
||||
// CHECK:STDOUT: %assoc0.ed5: %F.assoc_type.003 = assoc_entity element0, imports.%import_ref.479 [symbolic]
|
||||
// CHECK:STDOUT: %assoc0.ed5: %F.assoc_type.003 = assoc_entity element0, imports.%Main.import_ref.479 [symbolic]
|
||||
// CHECK:STDOUT: %I.type.e45: type = facet_type <@I, @I(%InInterfaceArgs)> [template]
|
||||
// CHECK:STDOUT: %F.type.14f: type = fn_type @F.1, @I(%InInterfaceArgs) [template]
|
||||
// CHECK:STDOUT: %F.b81: %F.type.14f = struct_value () [template]
|
||||
// CHECK:STDOUT: %F.assoc_type.992: type = assoc_entity_type %I.type.e45, %F.type.14f [template]
|
||||
// CHECK:STDOUT: %assoc0.ad0: %F.assoc_type.992 = assoc_entity element0, imports.%import_ref.479 [template]
|
||||
// CHECK:STDOUT: %assoc0.ad0: %F.assoc_type.992 = assoc_entity element0, imports.%Main.import_ref.479 [template]
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (@impl.%F.decl) [template]
|
||||
// CHECK:STDOUT: %F.type.b63: type = fn_type @F.2 [template]
|
||||
// CHECK:STDOUT: %F.d5f: %F.type.b63 = struct_value () [template]
|
||||
@@ -190,29 +190,29 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.9f4: %I.type.dac = import_ref Main//types, I, loaded [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %import_ref.148 = import_ref Main//types, C, unloaded
|
||||
// CHECK:STDOUT: %import_ref.686: type = import_ref Main//types, X, loaded [template = constants.%X]
|
||||
// CHECK:STDOUT: %import_ref.8f2: <witness> = import_ref Main//types, loc7_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.acf = import_ref Main//types, inst54 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.884 = import_ref Main//types, inst26 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.182 = import_ref Main//types, loc4_31, unloaded
|
||||
// CHECK:STDOUT: %import_ref.87f: @I.%F.type (%F.type.2ae) = import_ref Main//types, F, loaded [symbolic = @I.%F (constants.%F.bb2)]
|
||||
// CHECK:STDOUT: %import_ref.479 = import_ref Main//types, loc4_31, unloaded
|
||||
// CHECK:STDOUT: %Main.I: %I.type.dac = import_ref Main//types, I, loaded [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %Main.C = import_ref Main//types, C, unloaded
|
||||
// CHECK:STDOUT: %Main.X: type = import_ref Main//types, X, loaded [template = constants.%X]
|
||||
// CHECK:STDOUT: %Main.import_ref.8f2: <witness> = import_ref Main//types, loc7_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.acf = import_ref Main//types, inst54 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.884 = import_ref Main//types, inst26 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.182 = import_ref Main//types, loc4_31, unloaded
|
||||
// CHECK:STDOUT: %Main.F: @I.%F.type (%F.type.2ae) = import_ref Main//types, F, loaded [symbolic = @I.%F (constants.%F.bb2)]
|
||||
// CHECK:STDOUT: %Main.import_ref.479 = import_ref Main//types, loc4_31, unloaded
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .I = imports.%import_ref.9f4
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.148
|
||||
// CHECK:STDOUT: .X = imports.%import_ref.686
|
||||
// CHECK:STDOUT: .I = imports.%Main.I
|
||||
// CHECK:STDOUT: .C = imports.%Main.C
|
||||
// CHECK:STDOUT: .X = imports.%Main.X
|
||||
// CHECK:STDOUT: .InInterfaceArgs = %InInterfaceArgs.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %InInterfaceArgs.decl: type = class_decl @InInterfaceArgs [template = constants.%InInterfaceArgs] {} {}
|
||||
// CHECK:STDOUT: impl_decl @impl [template] {} {
|
||||
// CHECK:STDOUT: %X.ref: type = name_ref X, imports.%import_ref.686 [template = constants.%X]
|
||||
// CHECK:STDOUT: %I.ref: %I.type.dac = name_ref I, imports.%import_ref.9f4 [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %X.ref: type = name_ref X, imports.%Main.X [template = constants.%X]
|
||||
// CHECK:STDOUT: %I.ref: %I.type.dac = name_ref I, imports.%Main.I [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %InInterfaceArgs.ref: type = name_ref InInterfaceArgs, file.%InInterfaceArgs.decl [template = constants.%InInterfaceArgs]
|
||||
// CHECK:STDOUT: %I.type: type = facet_type <@I, @I(constants.%InInterfaceArgs)> [template = constants.%I.type.e45]
|
||||
// CHECK:STDOUT: }
|
||||
@@ -229,13 +229,13 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); }
|
||||
// CHECK:STDOUT: %F.type: type = fn_type @F.1, @I(%T) [symbolic = %F.type (constants.%F.type.2ae)]
|
||||
// CHECK:STDOUT: %F: @I.%F.type (%F.type.2ae) = struct_value () [symbolic = %F (constants.%F.bb2)]
|
||||
// CHECK:STDOUT: %F.assoc_type: type = assoc_entity_type @I.%I.type (%I.type.325), @I.%F.type (%F.type.2ae) [symbolic = %F.assoc_type (constants.%F.assoc_type.003)]
|
||||
// CHECK:STDOUT: %assoc0: @I.%F.assoc_type (%F.assoc_type.003) = assoc_entity element0, imports.%import_ref.479 [symbolic = %assoc0 (constants.%assoc0.ed5)]
|
||||
// CHECK:STDOUT: %assoc0: @I.%F.assoc_type (%F.assoc_type.003) = assoc_entity element0, imports.%Main.import_ref.479 [symbolic = %assoc0 (constants.%assoc0.ed5)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.884
|
||||
// CHECK:STDOUT: .F = imports.%import_ref.182
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.87f)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.884
|
||||
// CHECK:STDOUT: .F = imports.%Main.import_ref.182
|
||||
// CHECK:STDOUT: witness = (imports.%Main.F)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -256,10 +256,10 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @X [from "types.carbon"] {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8f2
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8f2
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.acf
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.acf
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: generic fn @F.1(constants.%T: type, constants.%Self: %I.type.325) [from "types.carbon"] {
|
||||
@@ -314,43 +314,43 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); }
|
||||
// CHECK:STDOUT: %F.type.2ae: type = fn_type @F.1, @I(%T) [symbolic]
|
||||
// CHECK:STDOUT: %F.bb2: %F.type.2ae = struct_value () [symbolic]
|
||||
// CHECK:STDOUT: %F.assoc_type.003: type = assoc_entity_type %I.type.325, %F.type.2ae [symbolic]
|
||||
// CHECK:STDOUT: %assoc0.ed59f4.1: %F.assoc_type.003 = assoc_entity element0, imports.%import_ref.479b0f.1 [symbolic]
|
||||
// CHECK:STDOUT: %assoc0.ed59f4.1: %F.assoc_type.003 = assoc_entity element0, imports.%Main.import_ref.479b0f.1 [symbolic]
|
||||
// CHECK:STDOUT: %InInterfaceArgs: type = class_type @InInterfaceArgs [template]
|
||||
// CHECK:STDOUT: %I.type.e45: type = facet_type <@I, @I(%InInterfaceArgs)> [template]
|
||||
// CHECK:STDOUT: %F.type.14f: type = fn_type @F.1, @I(%InInterfaceArgs) [template]
|
||||
// CHECK:STDOUT: %F.b81: %F.type.14f = struct_value () [template]
|
||||
// CHECK:STDOUT: %F.assoc_type.992: type = assoc_entity_type %I.type.e45, %F.type.14f [template]
|
||||
// CHECK:STDOUT: %assoc0.ad0: %F.assoc_type.992 = assoc_entity element0, imports.%import_ref.479b0f.1 [template]
|
||||
// CHECK:STDOUT: %assoc0.ed59f4.2: %F.assoc_type.003 = assoc_entity element0, imports.%import_ref.479b0f.2 [symbolic]
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (imports.%import_ref.7f5) [template]
|
||||
// CHECK:STDOUT: %assoc0.ad0: %F.assoc_type.992 = assoc_entity element0, imports.%Main.import_ref.479b0f.1 [template]
|
||||
// CHECK:STDOUT: %assoc0.ed59f4.2: %F.assoc_type.003 = assoc_entity element0, imports.%Main.import_ref.479b0f.2 [symbolic]
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (imports.%Main.import_ref.7f5) [template]
|
||||
// CHECK:STDOUT: %F.type.b63: type = fn_type @F.2 [template]
|
||||
// CHECK:STDOUT: %F.d5f: %F.type.b63 = struct_value () [template]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.9f4: %I.type.dac = import_ref Main//types, I, loaded [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %import_ref.148 = import_ref Main//types, C, unloaded
|
||||
// CHECK:STDOUT: %import_ref.686: type = import_ref Main//types, X, loaded [template = constants.%X]
|
||||
// CHECK:STDOUT: %import_ref.33d: type = import_ref Main//impl_in_interface_args, InInterfaceArgs, loaded [template = constants.%InInterfaceArgs]
|
||||
// CHECK:STDOUT: %import_ref.8f24d3.1: <witness> = import_ref Main//types, loc7_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.acf = import_ref Main//types, inst54 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.884 = import_ref Main//types, inst26 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.4ed: @I.%F.assoc_type (%F.assoc_type.003) = import_ref Main//types, loc4_31, loaded [symbolic = @I.%assoc0 (constants.%assoc0.ed59f4.2)]
|
||||
// CHECK:STDOUT: %import_ref.e3f = import_ref Main//types, F, unloaded
|
||||
// CHECK:STDOUT: %import_ref.479b0f.1 = import_ref Main//types, loc4_31, unloaded
|
||||
// CHECK:STDOUT: %import_ref.8f24d3.2: <witness> = import_ref Main//impl_in_interface_args, loc5_24, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.bf8 = import_ref Main//impl_in_interface_args, inst18 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.f9f: <witness> = import_ref Main//impl_in_interface_args, loc7_30, loaded [template = constants.%impl_witness]
|
||||
// CHECK:STDOUT: %import_ref.956: type = import_ref Main//impl_in_interface_args, loc7_6, loaded [template = constants.%X]
|
||||
// CHECK:STDOUT: %import_ref.e8c: type = import_ref Main//impl_in_interface_args, loc7_28, loaded [template = constants.%I.type.e45]
|
||||
// CHECK:STDOUT: %Main.I: %I.type.dac = import_ref Main//types, I, loaded [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %Main.C = import_ref Main//types, C, unloaded
|
||||
// CHECK:STDOUT: %Main.X: type = import_ref Main//types, X, loaded [template = constants.%X]
|
||||
// CHECK:STDOUT: %Main.InInterfaceArgs: type = import_ref Main//impl_in_interface_args, InInterfaceArgs, loaded [template = constants.%InInterfaceArgs]
|
||||
// CHECK:STDOUT: %Main.import_ref.8f24d3.1: <witness> = import_ref Main//types, loc7_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.acf = import_ref Main//types, inst54 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.884 = import_ref Main//types, inst26 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.4ed: @I.%F.assoc_type (%F.assoc_type.003) = import_ref Main//types, loc4_31, loaded [symbolic = @I.%assoc0 (constants.%assoc0.ed59f4.2)]
|
||||
// CHECK:STDOUT: %Main.F = import_ref Main//types, F, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.479b0f.1 = import_ref Main//types, loc4_31, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.8f24d3.2: <witness> = import_ref Main//impl_in_interface_args, loc5_24, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.bf8 = import_ref Main//impl_in_interface_args, inst18 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.f9f: <witness> = import_ref Main//impl_in_interface_args, loc7_30, loaded [template = constants.%impl_witness]
|
||||
// CHECK:STDOUT: %Main.import_ref.956: type = import_ref Main//impl_in_interface_args, loc7_6, loaded [template = constants.%X]
|
||||
// CHECK:STDOUT: %Main.import_ref.e8c: type = import_ref Main//impl_in_interface_args, loc7_28, loaded [template = constants.%I.type.e45]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .I = imports.%import_ref.9f4
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.148
|
||||
// CHECK:STDOUT: .X = imports.%import_ref.686
|
||||
// CHECK:STDOUT: .InInterfaceArgs = imports.%import_ref.33d
|
||||
// CHECK:STDOUT: .I = imports.%Main.I
|
||||
// CHECK:STDOUT: .C = imports.%Main.C
|
||||
// CHECK:STDOUT: .X = imports.%Main.X
|
||||
// CHECK:STDOUT: .InInterfaceArgs = imports.%Main.InInterfaceArgs
|
||||
// CHECK:STDOUT: .G = %G.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
@@ -359,7 +359,7 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); }
|
||||
// CHECK:STDOUT: %x.param_patt: %X = value_param_pattern %x.patt, runtime_param0
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %x.param: %X = value_param runtime_param0
|
||||
// CHECK:STDOUT: %X.ref: type = name_ref X, imports.%import_ref.686 [template = constants.%X]
|
||||
// CHECK:STDOUT: %X.ref: type = name_ref X, imports.%Main.X [template = constants.%X]
|
||||
// CHECK:STDOUT: %x: %X = bind_name x, %x.param
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
@@ -374,42 +374,42 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); }
|
||||
// CHECK:STDOUT: %F.type: type = fn_type @F.1, @I(%T) [symbolic = %F.type (constants.%F.type.2ae)]
|
||||
// CHECK:STDOUT: %F: @I.%F.type (%F.type.2ae) = struct_value () [symbolic = %F (constants.%F.bb2)]
|
||||
// CHECK:STDOUT: %F.assoc_type: type = assoc_entity_type @I.%I.type (%I.type.325), @I.%F.type (%F.type.2ae) [symbolic = %F.assoc_type (constants.%F.assoc_type.003)]
|
||||
// CHECK:STDOUT: %assoc0: @I.%F.assoc_type (%F.assoc_type.003) = assoc_entity element0, imports.%import_ref.479b0f.1 [symbolic = %assoc0 (constants.%assoc0.ed59f4.1)]
|
||||
// CHECK:STDOUT: %assoc0: @I.%F.assoc_type (%F.assoc_type.003) = assoc_entity element0, imports.%Main.import_ref.479b0f.1 [symbolic = %assoc0 (constants.%assoc0.ed59f4.1)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.884
|
||||
// CHECK:STDOUT: .F = imports.%import_ref.4ed
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.e3f)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.884
|
||||
// CHECK:STDOUT: .F = imports.%Main.import_ref.4ed
|
||||
// CHECK:STDOUT: witness = (imports.%Main.F)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl: imports.%import_ref.956 as imports.%import_ref.e8c [from "impl_in_interface_args.carbon"] {
|
||||
// CHECK:STDOUT: impl @impl: imports.%Main.import_ref.956 as imports.%Main.import_ref.e8c [from "impl_in_interface_args.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: witness = imports.%import_ref.f9f
|
||||
// CHECK:STDOUT: witness = imports.%Main.import_ref.f9f
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @X [from "types.carbon"] {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8f24d3.1
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8f24d3.1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.acf
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.acf
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @InInterfaceArgs [from "impl_in_interface_args.carbon"] {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8f24d3.2
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8f24d3.2
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.bf8
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.bf8
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @G(%x.param_patt: %X) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %x.ref: %X = name_ref x, %x
|
||||
// CHECK:STDOUT: %I.ref: %I.type.dac = name_ref I, imports.%import_ref.9f4 [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %InInterfaceArgs.ref: type = name_ref InInterfaceArgs, imports.%import_ref.33d [template = constants.%InInterfaceArgs]
|
||||
// CHECK:STDOUT: %I.ref: %I.type.dac = name_ref I, imports.%Main.I [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %InInterfaceArgs.ref: type = name_ref InInterfaceArgs, imports.%Main.InInterfaceArgs [template = constants.%InInterfaceArgs]
|
||||
// CHECK:STDOUT: %I.type: type = facet_type <@I, @I(constants.%InInterfaceArgs)> [template = constants.%I.type.e45]
|
||||
// CHECK:STDOUT: %.loc6: %F.assoc_type.992 = specific_constant imports.%import_ref.4ed, @I(constants.%InInterfaceArgs) [template = constants.%assoc0.ad0]
|
||||
// CHECK:STDOUT: %.loc6: %F.assoc_type.992 = specific_constant imports.%Main.import_ref.4ed, @I(constants.%InInterfaceArgs) [template = constants.%assoc0.ad0]
|
||||
// CHECK:STDOUT: %F.ref: %F.assoc_type.992 = name_ref F, %.loc6 [template = constants.%assoc0.ad0]
|
||||
// CHECK:STDOUT: %impl.elem0: %F.type.14f = impl_witness_access constants.%impl_witness, element0 [template = constants.%F.d5f]
|
||||
// CHECK:STDOUT: %F.call: init %empty_tuple.type = call %impl.elem0()
|
||||
@@ -463,13 +463,13 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); }
|
||||
// CHECK:STDOUT: %F.type.2ae: type = fn_type @F.1, @I(%T) [symbolic]
|
||||
// CHECK:STDOUT: %F.bb2: %F.type.2ae = struct_value () [symbolic]
|
||||
// CHECK:STDOUT: %F.assoc_type.003: type = assoc_entity_type %I.type.325, %F.type.2ae [symbolic]
|
||||
// CHECK:STDOUT: %assoc0.ed5: %F.assoc_type.003 = assoc_entity element0, imports.%import_ref.479 [symbolic]
|
||||
// CHECK:STDOUT: %assoc0.ed5: %F.assoc_type.003 = assoc_entity element0, imports.%Main.import_ref.479 [symbolic]
|
||||
// CHECK:STDOUT: %X: type = class_type @X [template]
|
||||
// CHECK:STDOUT: %I.type.45c: type = facet_type <@I, @I(%X)> [template]
|
||||
// CHECK:STDOUT: %F.type.56a: type = fn_type @F.1, @I(%X) [template]
|
||||
// CHECK:STDOUT: %F.a79: %F.type.56a = struct_value () [template]
|
||||
// CHECK:STDOUT: %F.assoc_type.2e0: type = assoc_entity_type %I.type.45c, %F.type.56a [template]
|
||||
// CHECK:STDOUT: %assoc0.ef3: %F.assoc_type.2e0 = assoc_entity element0, imports.%import_ref.479 [template]
|
||||
// CHECK:STDOUT: %assoc0.ef3: %F.assoc_type.2e0 = assoc_entity element0, imports.%Main.import_ref.479 [template]
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (@impl.%F.decl) [template]
|
||||
// CHECK:STDOUT: %F.type.fab: type = fn_type @F.2 [template]
|
||||
// CHECK:STDOUT: %F.7ab: %F.type.fab = struct_value () [template]
|
||||
@@ -477,34 +477,34 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.9f4: %I.type.dac = import_ref Main//types, I, loaded [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %import_ref.bb9: %C.type = import_ref Main//types, C, loaded [template = constants.%C.generic]
|
||||
// CHECK:STDOUT: %import_ref.686: type = import_ref Main//types, X, loaded [template = constants.%X]
|
||||
// CHECK:STDOUT: %import_ref.8f24d3.1: <witness> = import_ref Main//types, loc5_20, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.4c0 = import_ref Main//types, inst49 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.884 = import_ref Main//types, inst26 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.182 = import_ref Main//types, loc4_31, unloaded
|
||||
// CHECK:STDOUT: %import_ref.87f: @I.%F.type (%F.type.2ae) = import_ref Main//types, F, loaded [symbolic = @I.%F (constants.%F.bb2)]
|
||||
// CHECK:STDOUT: %import_ref.479 = import_ref Main//types, loc4_31, unloaded
|
||||
// CHECK:STDOUT: %import_ref.8f24d3.2: <witness> = import_ref Main//types, loc7_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.acf = import_ref Main//types, inst54 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.I: %I.type.dac = import_ref Main//types, I, loaded [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %Main.C: %C.type = import_ref Main//types, C, loaded [template = constants.%C.generic]
|
||||
// CHECK:STDOUT: %Main.X: type = import_ref Main//types, X, loaded [template = constants.%X]
|
||||
// CHECK:STDOUT: %Main.import_ref.8f24d3.1: <witness> = import_ref Main//types, loc5_20, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.4c0 = import_ref Main//types, inst49 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.884 = import_ref Main//types, inst26 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.182 = import_ref Main//types, loc4_31, unloaded
|
||||
// CHECK:STDOUT: %Main.F: @I.%F.type (%F.type.2ae) = import_ref Main//types, F, loaded [symbolic = @I.%F (constants.%F.bb2)]
|
||||
// CHECK:STDOUT: %Main.import_ref.479 = import_ref Main//types, loc4_31, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.8f24d3.2: <witness> = import_ref Main//types, loc7_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.acf = import_ref Main//types, inst54 [no loc], unloaded
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .I = imports.%import_ref.9f4
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.bb9
|
||||
// CHECK:STDOUT: .X = imports.%import_ref.686
|
||||
// CHECK:STDOUT: .I = imports.%Main.I
|
||||
// CHECK:STDOUT: .C = imports.%Main.C
|
||||
// CHECK:STDOUT: .X = imports.%Main.X
|
||||
// CHECK:STDOUT: .InClassArgs = %InClassArgs.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %InClassArgs.decl: type = class_decl @InClassArgs [template = constants.%InClassArgs] {} {}
|
||||
// CHECK:STDOUT: impl_decl @impl [template] {} {
|
||||
// CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%import_ref.bb9 [template = constants.%C.generic]
|
||||
// CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%Main.C [template = constants.%C.generic]
|
||||
// CHECK:STDOUT: %InClassArgs.ref: type = name_ref InClassArgs, file.%InClassArgs.decl [template = constants.%InClassArgs]
|
||||
// CHECK:STDOUT: %C: type = class_type @C, @C(constants.%InClassArgs) [template = constants.%C.23b]
|
||||
// CHECK:STDOUT: %I.ref: %I.type.dac = name_ref I, imports.%import_ref.9f4 [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %X.ref: type = name_ref X, imports.%import_ref.686 [template = constants.%X]
|
||||
// CHECK:STDOUT: %I.ref: %I.type.dac = name_ref I, imports.%Main.I [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %X.ref: type = name_ref X, imports.%Main.X [template = constants.%X]
|
||||
// CHECK:STDOUT: %I.type: type = facet_type <@I, @I(constants.%X)> [template = constants.%I.type.45c]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (@impl.%F.decl) [template = constants.%impl_witness]
|
||||
@@ -520,13 +520,13 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); }
|
||||
// CHECK:STDOUT: %F.type: type = fn_type @F.1, @I(%T) [symbolic = %F.type (constants.%F.type.2ae)]
|
||||
// CHECK:STDOUT: %F: @I.%F.type (%F.type.2ae) = struct_value () [symbolic = %F (constants.%F.bb2)]
|
||||
// CHECK:STDOUT: %F.assoc_type: type = assoc_entity_type @I.%I.type (%I.type.325), @I.%F.type (%F.type.2ae) [symbolic = %F.assoc_type (constants.%F.assoc_type.003)]
|
||||
// CHECK:STDOUT: %assoc0: @I.%F.assoc_type (%F.assoc_type.003) = assoc_entity element0, imports.%import_ref.479 [symbolic = %assoc0 (constants.%assoc0.ed5)]
|
||||
// CHECK:STDOUT: %assoc0: @I.%F.assoc_type (%F.assoc_type.003) = assoc_entity element0, imports.%Main.import_ref.479 [symbolic = %assoc0 (constants.%assoc0.ed5)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.884
|
||||
// CHECK:STDOUT: .F = imports.%import_ref.182
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.87f)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.884
|
||||
// CHECK:STDOUT: .F = imports.%Main.import_ref.182
|
||||
// CHECK:STDOUT: witness = (imports.%Main.F)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -553,18 +553,18 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); }
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8f24d3.1
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8f24d3.1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.4c0
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.4c0
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @X [from "types.carbon"] {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8f24d3.2
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8f24d3.2
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.acf
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.acf
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: generic fn @F.1(constants.%T: type, constants.%Self: %I.type.325) [from "types.carbon"] {
|
||||
@@ -632,45 +632,45 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); }
|
||||
// CHECK:STDOUT: %F.type.2ae: type = fn_type @F.1, @I(%T) [symbolic]
|
||||
// CHECK:STDOUT: %F.bb2: %F.type.2ae = struct_value () [symbolic]
|
||||
// CHECK:STDOUT: %F.assoc_type.003: type = assoc_entity_type %I.type.325, %F.type.2ae [symbolic]
|
||||
// CHECK:STDOUT: %assoc0.ed59f4.1: %F.assoc_type.003 = assoc_entity element0, imports.%import_ref.479b0f.1 [symbolic]
|
||||
// CHECK:STDOUT: %assoc0.ed59f4.1: %F.assoc_type.003 = assoc_entity element0, imports.%Main.import_ref.479b0f.1 [symbolic]
|
||||
// CHECK:STDOUT: %X: type = class_type @X [template]
|
||||
// CHECK:STDOUT: %I.type.45c: type = facet_type <@I, @I(%X)> [template]
|
||||
// CHECK:STDOUT: %F.type.56a: type = fn_type @F.1, @I(%X) [template]
|
||||
// CHECK:STDOUT: %F.a79: %F.type.56a = struct_value () [template]
|
||||
// CHECK:STDOUT: %F.assoc_type.2e0: type = assoc_entity_type %I.type.45c, %F.type.56a [template]
|
||||
// CHECK:STDOUT: %assoc0.ef3: %F.assoc_type.2e0 = assoc_entity element0, imports.%import_ref.479b0f.1 [template]
|
||||
// CHECK:STDOUT: %assoc0.ed59f4.2: %F.assoc_type.003 = assoc_entity element0, imports.%import_ref.479b0f.2 [symbolic]
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (imports.%import_ref.ae4) [template]
|
||||
// CHECK:STDOUT: %assoc0.ef3: %F.assoc_type.2e0 = assoc_entity element0, imports.%Main.import_ref.479b0f.1 [template]
|
||||
// CHECK:STDOUT: %assoc0.ed59f4.2: %F.assoc_type.003 = assoc_entity element0, imports.%Main.import_ref.479b0f.2 [symbolic]
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (imports.%Main.import_ref.ae4) [template]
|
||||
// CHECK:STDOUT: %F.type.fab: type = fn_type @F.2 [template]
|
||||
// CHECK:STDOUT: %F.7ab: %F.type.fab = struct_value () [template]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.9f4: %I.type.dac = import_ref Main//types, I, loaded [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %import_ref.bb9: %C.type = import_ref Main//types, C, loaded [template = constants.%C.generic]
|
||||
// CHECK:STDOUT: %import_ref.686: type = import_ref Main//types, X, loaded [template = constants.%X]
|
||||
// CHECK:STDOUT: %import_ref.4a9: type = import_ref Main//impl_in_class_args, InClassArgs, loaded [template = constants.%InClassArgs]
|
||||
// CHECK:STDOUT: %import_ref.8f24d3.1: <witness> = import_ref Main//types, loc5_20, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.4c0 = import_ref Main//types, inst49 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.8f24d3.2: <witness> = import_ref Main//impl_in_class_args, loc5_20, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.683 = import_ref Main//impl_in_class_args, inst18 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.884 = import_ref Main//types, inst26 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.4ed: @I.%F.assoc_type (%F.assoc_type.003) = import_ref Main//types, loc4_31, loaded [symbolic = @I.%assoc0 (constants.%assoc0.ed59f4.2)]
|
||||
// CHECK:STDOUT: %import_ref.e3f = import_ref Main//types, F, unloaded
|
||||
// CHECK:STDOUT: %import_ref.479b0f.1 = import_ref Main//types, loc4_31, unloaded
|
||||
// CHECK:STDOUT: %import_ref.8f24d3.3: <witness> = import_ref Main//types, loc7_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.acf = import_ref Main//types, inst54 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.6de: <witness> = import_ref Main//impl_in_class_args, loc7_29, loaded [template = constants.%impl_witness]
|
||||
// CHECK:STDOUT: %import_ref.d6e: type = import_ref Main//impl_in_class_args, loc7_19, loaded [template = constants.%C.23b]
|
||||
// CHECK:STDOUT: %import_ref.208: type = import_ref Main//impl_in_class_args, loc7_27, loaded [template = constants.%I.type.45c]
|
||||
// CHECK:STDOUT: %Main.I: %I.type.dac = import_ref Main//types, I, loaded [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %Main.C: %C.type = import_ref Main//types, C, loaded [template = constants.%C.generic]
|
||||
// CHECK:STDOUT: %Main.X: type = import_ref Main//types, X, loaded [template = constants.%X]
|
||||
// CHECK:STDOUT: %Main.InClassArgs: type = import_ref Main//impl_in_class_args, InClassArgs, loaded [template = constants.%InClassArgs]
|
||||
// CHECK:STDOUT: %Main.import_ref.8f24d3.1: <witness> = import_ref Main//types, loc5_20, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.4c0 = import_ref Main//types, inst49 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.8f24d3.2: <witness> = import_ref Main//impl_in_class_args, loc5_20, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.683 = import_ref Main//impl_in_class_args, inst18 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.884 = import_ref Main//types, inst26 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.4ed: @I.%F.assoc_type (%F.assoc_type.003) = import_ref Main//types, loc4_31, loaded [symbolic = @I.%assoc0 (constants.%assoc0.ed59f4.2)]
|
||||
// CHECK:STDOUT: %Main.F = import_ref Main//types, F, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.479b0f.1 = import_ref Main//types, loc4_31, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.8f24d3.3: <witness> = import_ref Main//types, loc7_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.acf = import_ref Main//types, inst54 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.6de: <witness> = import_ref Main//impl_in_class_args, loc7_29, loaded [template = constants.%impl_witness]
|
||||
// CHECK:STDOUT: %Main.import_ref.d6e: type = import_ref Main//impl_in_class_args, loc7_19, loaded [template = constants.%C.23b]
|
||||
// CHECK:STDOUT: %Main.import_ref.208: type = import_ref Main//impl_in_class_args, loc7_27, loaded [template = constants.%I.type.45c]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .I = imports.%import_ref.9f4
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.bb9
|
||||
// CHECK:STDOUT: .X = imports.%import_ref.686
|
||||
// CHECK:STDOUT: .InClassArgs = imports.%import_ref.4a9
|
||||
// CHECK:STDOUT: .I = imports.%Main.I
|
||||
// CHECK:STDOUT: .C = imports.%Main.C
|
||||
// CHECK:STDOUT: .X = imports.%Main.X
|
||||
// CHECK:STDOUT: .InClassArgs = imports.%Main.InClassArgs
|
||||
// CHECK:STDOUT: .H = %H.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
@@ -680,8 +680,8 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); }
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %c.param: %C.23b = value_param runtime_param0
|
||||
// CHECK:STDOUT: %.loc6_22: type = splice_block %C [template = constants.%C.23b] {
|
||||
// CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%import_ref.bb9 [template = constants.%C.generic]
|
||||
// CHECK:STDOUT: %InClassArgs.ref: type = name_ref InClassArgs, imports.%import_ref.4a9 [template = constants.%InClassArgs]
|
||||
// CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%Main.C [template = constants.%C.generic]
|
||||
// CHECK:STDOUT: %InClassArgs.ref: type = name_ref InClassArgs, imports.%Main.InClassArgs [template = constants.%InClassArgs]
|
||||
// CHECK:STDOUT: %C: type = class_type @C, @C(constants.%InClassArgs) [template = constants.%C.23b]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %c: %C.23b = bind_name c, %c.param
|
||||
@@ -698,19 +698,19 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); }
|
||||
// CHECK:STDOUT: %F.type: type = fn_type @F.1, @I(%T) [symbolic = %F.type (constants.%F.type.2ae)]
|
||||
// CHECK:STDOUT: %F: @I.%F.type (%F.type.2ae) = struct_value () [symbolic = %F (constants.%F.bb2)]
|
||||
// CHECK:STDOUT: %F.assoc_type: type = assoc_entity_type @I.%I.type (%I.type.325), @I.%F.type (%F.type.2ae) [symbolic = %F.assoc_type (constants.%F.assoc_type.003)]
|
||||
// CHECK:STDOUT: %assoc0: @I.%F.assoc_type (%F.assoc_type.003) = assoc_entity element0, imports.%import_ref.479b0f.1 [symbolic = %assoc0 (constants.%assoc0.ed59f4.1)]
|
||||
// CHECK:STDOUT: %assoc0: @I.%F.assoc_type (%F.assoc_type.003) = assoc_entity element0, imports.%Main.import_ref.479b0f.1 [symbolic = %assoc0 (constants.%assoc0.ed59f4.1)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.884
|
||||
// CHECK:STDOUT: .F = imports.%import_ref.4ed
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.e3f)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.884
|
||||
// CHECK:STDOUT: .F = imports.%Main.import_ref.4ed
|
||||
// CHECK:STDOUT: witness = (imports.%Main.F)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl: imports.%import_ref.d6e as imports.%import_ref.208 [from "impl_in_class_args.carbon"] {
|
||||
// CHECK:STDOUT: impl @impl: imports.%Main.import_ref.d6e as imports.%Main.import_ref.208 [from "impl_in_class_args.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: witness = imports.%import_ref.6de
|
||||
// CHECK:STDOUT: witness = imports.%Main.import_ref.6de
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: generic class @C(constants.%T: type) [from "types.carbon"] {
|
||||
@@ -720,34 +720,34 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); }
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8f24d3.1
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8f24d3.1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.4c0
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.4c0
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @InClassArgs [from "impl_in_class_args.carbon"] {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8f24d3.2
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8f24d3.2
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.683
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.683
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @X [from "types.carbon"] {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8f24d3.3
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8f24d3.3
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.acf
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.acf
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @H(%c.param_patt: %C.23b) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %c.ref: %C.23b = name_ref c, %c
|
||||
// CHECK:STDOUT: %I.ref: %I.type.dac = name_ref I, imports.%import_ref.9f4 [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %X.ref: type = name_ref X, imports.%import_ref.686 [template = constants.%X]
|
||||
// CHECK:STDOUT: %I.ref: %I.type.dac = name_ref I, imports.%Main.I [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %X.ref: type = name_ref X, imports.%Main.X [template = constants.%X]
|
||||
// CHECK:STDOUT: %I.type: type = facet_type <@I, @I(constants.%X)> [template = constants.%I.type.45c]
|
||||
// CHECK:STDOUT: %.loc6_34: %F.assoc_type.2e0 = specific_constant imports.%import_ref.4ed, @I(constants.%X) [template = constants.%assoc0.ef3]
|
||||
// CHECK:STDOUT: %.loc6_34: %F.assoc_type.2e0 = specific_constant imports.%Main.import_ref.4ed, @I(constants.%X) [template = constants.%assoc0.ef3]
|
||||
// CHECK:STDOUT: %F.ref: %F.assoc_type.2e0 = name_ref F, %.loc6_34 [template = constants.%assoc0.ef3]
|
||||
// CHECK:STDOUT: %impl.elem0: %F.type.56a = impl_witness_access constants.%impl_witness, element0 [template = constants.%F.7ab]
|
||||
// CHECK:STDOUT: %F.call: init %empty_tuple.type = call %impl.elem0()
|
||||
|
||||
+40
-40
@@ -105,19 +105,19 @@ fn Call() {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.df2: type = import_ref Main//i, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %Main.I: type = import_ref Main//i, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/...
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %import_ref.e5d = import_ref Main//i, inst17 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.4a0 = import_ref Main//i, loc4_21, unloaded
|
||||
// CHECK:STDOUT: %import_ref.05a: %F.type.cf0 = import_ref Main//i, F, loaded [template = constants.%F.bc6]
|
||||
// CHECK:STDOUT: %Main.import_ref.e5d = import_ref Main//i, inst17 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.4a0 = import_ref Main//i, loc4_21, unloaded
|
||||
// CHECK:STDOUT: %Main.F: %F.type.cf0 = import_ref Main//i, F, loaded [template = constants.%F.bc6]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .I = imports.%import_ref.df2
|
||||
// CHECK:STDOUT: .I = imports.%Main.I
|
||||
// CHECK:STDOUT: .Core = imports.%Core
|
||||
// CHECK:STDOUT: .C = %C.decl
|
||||
// CHECK:STDOUT: }
|
||||
@@ -126,16 +126,16 @@ fn Call() {
|
||||
// CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {}
|
||||
// CHECK:STDOUT: impl_decl @impl [template] {} {
|
||||
// CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C]
|
||||
// CHECK:STDOUT: %I.ref: type = name_ref I, imports.%import_ref.df2 [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [template = constants.%I.type]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (@impl.%F.decl) [template = constants.%impl_witness]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface @I [from "i.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.e5d
|
||||
// CHECK:STDOUT: .F = imports.%import_ref.4a0
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.05a)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.e5d
|
||||
// CHECK:STDOUT: .F = imports.%Main.import_ref.4a0
|
||||
// CHECK:STDOUT: witness = (imports.%Main.F)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl: %C.ref as %I.ref {
|
||||
@@ -179,18 +179,18 @@ fn Call() {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.3b0: type = import_ref Main//c, C, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %Main.C: type = import_ref Main//c, C, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/...
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %import_ref.8f2: <witness> = import_ref Main//c, loc6_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.2c4 = import_ref Main//c, inst18 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.8f2: <witness> = import_ref Main//c, loc6_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.2c4 = import_ref Main//c, inst18 [no loc], unloaded
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.3b0
|
||||
// CHECK:STDOUT: .C = imports.%Main.C
|
||||
// CHECK:STDOUT: .Core = imports.%Core
|
||||
// CHECK:STDOUT: .Get = %Get.decl
|
||||
// CHECK:STDOUT: }
|
||||
@@ -200,17 +200,17 @@ fn Call() {
|
||||
// CHECK:STDOUT: %return.patt: %C = return_slot_pattern
|
||||
// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param0
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %C.ref: type = name_ref C, imports.%import_ref.3b0 [template = constants.%C]
|
||||
// CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [template = constants.%C]
|
||||
// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param0
|
||||
// CHECK:STDOUT: %return: ref %C = return_slot %return.param
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @C [from "c.carbon"] {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8f2
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8f2
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.2c4
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.2c4
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Get() -> %C;
|
||||
@@ -230,33 +230,33 @@ fn Call() {
|
||||
// CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic]
|
||||
// CHECK:STDOUT: %F.type.cf0: type = fn_type @F.1 [template]
|
||||
// CHECK:STDOUT: %F.assoc_type: type = assoc_entity_type %I.type, %F.type.cf0 [template]
|
||||
// CHECK:STDOUT: %assoc0: %F.assoc_type = assoc_entity element0, imports.%import_ref.777 [template]
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (imports.%import_ref.742) [template]
|
||||
// CHECK:STDOUT: %assoc0: %F.assoc_type = assoc_entity element0, imports.%Main.import_ref.777 [template]
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (imports.%Main.import_ref.742) [template]
|
||||
// CHECK:STDOUT: %F.type.5d6: type = fn_type @F.2 [template]
|
||||
// CHECK:STDOUT: %F.a2e: %F.type.5d6 = struct_value () [template]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.773: %Get.type = import_ref Main//get, Get, loaded [template = constants.%Get]
|
||||
// CHECK:STDOUT: %import_ref.df2: type = import_ref Main//i, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %Main.Get: %Get.type = import_ref Main//get, Get, loaded [template = constants.%Get]
|
||||
// CHECK:STDOUT: %Main.I: type = import_ref Main//i, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/...
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %import_ref.8db: <witness> = import_ref Main//get, inst21 [indirect], loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.6a9 = import_ref Main//get, inst22 [indirect], unloaded
|
||||
// CHECK:STDOUT: %import_ref.e5d = import_ref Main//i, inst17 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.b5b: %F.assoc_type = import_ref Main//i, loc4_21, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %import_ref.8b9 = import_ref Main//i, F, unloaded
|
||||
// CHECK:STDOUT: %import_ref.e53: <witness> = import_ref Main//c, loc7_13, loaded [template = constants.%impl_witness]
|
||||
// CHECK:STDOUT: %import_ref.29a: type = import_ref Main//c, loc7_6, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %import_ref.f50: type = import_ref Main//c, loc7_11, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %Main.import_ref.8db: <witness> = import_ref Main//get, inst21 [indirect], loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.6a9 = import_ref Main//get, inst22 [indirect], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.e5d = import_ref Main//i, inst17 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.b5b: %F.assoc_type = import_ref Main//i, loc4_21, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %Main.F = import_ref Main//i, F, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.e53: <witness> = import_ref Main//c, loc7_13, loaded [template = constants.%impl_witness]
|
||||
// CHECK:STDOUT: %Main.import_ref.29a: type = import_ref Main//c, loc7_6, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %Main.import_ref.f50: type = import_ref Main//c, loc7_11, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .Get = imports.%import_ref.773
|
||||
// CHECK:STDOUT: .I = imports.%import_ref.df2
|
||||
// CHECK:STDOUT: .Get = imports.%Main.Get
|
||||
// CHECK:STDOUT: .I = imports.%Main.I
|
||||
// CHECK:STDOUT: .Core = imports.%Core
|
||||
// CHECK:STDOUT: .Call = %Call.decl
|
||||
// CHECK:STDOUT: }
|
||||
@@ -267,30 +267,30 @@ fn Call() {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface @I [from "i.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.e5d
|
||||
// CHECK:STDOUT: .F = imports.%import_ref.b5b
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.8b9)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.e5d
|
||||
// CHECK:STDOUT: .F = imports.%Main.import_ref.b5b
|
||||
// CHECK:STDOUT: witness = (imports.%Main.F)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl: imports.%import_ref.29a as imports.%import_ref.f50 [from "c.carbon"] {
|
||||
// CHECK:STDOUT: impl @impl: imports.%Main.import_ref.29a as imports.%Main.import_ref.f50 [from "c.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: witness = imports.%import_ref.e53
|
||||
// CHECK:STDOUT: witness = imports.%Main.import_ref.e53
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @C [from "get.carbon"] {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8db
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8db
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.6a9
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.6a9
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Call() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %Get.ref: %Get.type = name_ref Get, imports.%import_ref.773 [template = constants.%Get]
|
||||
// CHECK:STDOUT: %Get.ref: %Get.type = name_ref Get, imports.%Main.Get [template = constants.%Get]
|
||||
// CHECK:STDOUT: %.loc9: ref %C = temporary_storage
|
||||
// CHECK:STDOUT: %Get.call: init %C = call %Get.ref() to %.loc9
|
||||
// CHECK:STDOUT: %I.ref: type = name_ref I, imports.%import_ref.df2 [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %F.ref: %F.assoc_type = name_ref F, imports.%import_ref.b5b [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %F.ref: %F.assoc_type = name_ref F, imports.%Main.import_ref.b5b [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %impl.elem0: %F.type.cf0 = impl_witness_access constants.%impl_witness, element0 [template = constants.%F.a2e]
|
||||
// CHECK:STDOUT: %F.call: init %empty_tuple.type = call %impl.elem0()
|
||||
// CHECK:STDOUT: return
|
||||
|
||||
@@ -424,13 +424,13 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt);
|
||||
// CHECK:STDOUT: %Op.type.31b: type = fn_type @Op.1 [template]
|
||||
// CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic]
|
||||
// CHECK:STDOUT: %Op.assoc_type: type = assoc_entity_type %Add.type, %Op.type.31b [template]
|
||||
// CHECK:STDOUT: %assoc0: %Op.assoc_type = assoc_entity element0, imports.%import_ref.047 [template]
|
||||
// CHECK:STDOUT: %impl_witness.3a3: <witness> = impl_witness (imports.%import_ref.19b), @impl(%N) [symbolic]
|
||||
// CHECK:STDOUT: %assoc0: %Op.assoc_type = assoc_entity element0, imports.%Main.import_ref.047 [template]
|
||||
// CHECK:STDOUT: %impl_witness.3a3: <witness> = impl_witness (imports.%Main.import_ref.19b), @impl(%N) [symbolic]
|
||||
// CHECK:STDOUT: %Op.type.883: type = fn_type @Op.2, @impl(%N) [symbolic]
|
||||
// CHECK:STDOUT: %Op.8bc: %Op.type.883 = struct_value () [symbolic]
|
||||
// CHECK:STDOUT: %require_complete.fc7: <witness> = require_complete_type %MyInt.09f [symbolic]
|
||||
// CHECK:STDOUT: %impl_witness.8d6: <witness> = impl_witness (imports.%import_ref.19b), @impl(%int_64) [template]
|
||||
// CHECK:STDOUT: %impl_witness.7e5: <witness> = impl_witness (imports.%import_ref.464), @impl(%N) [symbolic]
|
||||
// CHECK:STDOUT: %impl_witness.8d6: <witness> = impl_witness (imports.%Main.import_ref.19b), @impl(%int_64) [template]
|
||||
// CHECK:STDOUT: %impl_witness.7e5: <witness> = impl_witness (imports.%Main.import_ref.464), @impl(%N) [symbolic]
|
||||
// CHECK:STDOUT: %Op.type.5a6: type = fn_type @Op.2, @impl(%int_64) [template]
|
||||
// CHECK:STDOUT: %Op.cf9: %Op.type.5a6 = struct_value () [template]
|
||||
// CHECK:STDOUT: %CallImportedDouble.type: type = fn_type @CallImportedDouble [template]
|
||||
@@ -441,29 +441,29 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt);
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.fe6: type = import_ref Main//generic_impl, Add, loaded [template = constants.%Add.type]
|
||||
// CHECK:STDOUT: %import_ref.174 = import_ref Main//generic_impl, IntLiteral, unloaded
|
||||
// CHECK:STDOUT: %import_ref.0dc = import_ref Main//generic_impl, Int, unloaded
|
||||
// CHECK:STDOUT: %import_ref.370: %MyInt.type = import_ref Main//generic_impl, MyInt, loaded [template = constants.%MyInt.generic]
|
||||
// CHECK:STDOUT: %import_ref.1a7: %Double.type = import_ref Main//generic_impl, Double, loaded [template = constants.%Double]
|
||||
// CHECK:STDOUT: %import_ref.9e9: <witness> = import_ref Main//generic_impl, loc13_1, loaded [symbolic = @MyInt.%complete_type (constants.%complete_type.a87)]
|
||||
// CHECK:STDOUT: %import_ref.697 = import_ref Main//generic_impl, inst89 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.07c = import_ref Main//generic_impl, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.6d9: %Op.assoc_type = import_ref Main//generic_impl, loc5_41, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %import_ref.044 = import_ref Main//generic_impl, Op, unloaded
|
||||
// CHECK:STDOUT: %import_ref.33b: <witness> = import_ref Main//generic_impl, loc15_48, loaded [symbolic = @impl.%impl_witness (constants.%impl_witness.7e5)]
|
||||
// CHECK:STDOUT: %import_ref.719: type = import_ref Main//generic_impl, loc15_39, loaded [symbolic = @impl.%MyInt (constants.%MyInt.09f)]
|
||||
// CHECK:STDOUT: %import_ref.bf0: type = import_ref Main//generic_impl, loc15_44, loaded [template = constants.%Add.type]
|
||||
// CHECK:STDOUT: %import_ref.19b: @impl.%Op.type (%Op.type.883) = import_ref Main//generic_impl, loc16_42, loaded [symbolic = @impl.%Op (constants.%Op.8bc)]
|
||||
// CHECK:STDOUT: %Main.Add: type = import_ref Main//generic_impl, Add, loaded [template = constants.%Add.type]
|
||||
// CHECK:STDOUT: %Main.IntLiteral = import_ref Main//generic_impl, IntLiteral, unloaded
|
||||
// CHECK:STDOUT: %Main.Int = import_ref Main//generic_impl, Int, unloaded
|
||||
// CHECK:STDOUT: %Main.MyInt: %MyInt.type = import_ref Main//generic_impl, MyInt, loaded [template = constants.%MyInt.generic]
|
||||
// CHECK:STDOUT: %Main.Double: %Double.type = import_ref Main//generic_impl, Double, loaded [template = constants.%Double]
|
||||
// CHECK:STDOUT: %Main.import_ref.9e9: <witness> = import_ref Main//generic_impl, loc13_1, loaded [symbolic = @MyInt.%complete_type (constants.%complete_type.a87)]
|
||||
// CHECK:STDOUT: %Main.import_ref.697 = import_ref Main//generic_impl, inst89 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.07c = import_ref Main//generic_impl, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.6d9: %Op.assoc_type = import_ref Main//generic_impl, loc5_41, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %Main.Op = import_ref Main//generic_impl, Op, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.33b: <witness> = import_ref Main//generic_impl, loc15_48, loaded [symbolic = @impl.%impl_witness (constants.%impl_witness.7e5)]
|
||||
// CHECK:STDOUT: %Main.import_ref.719: type = import_ref Main//generic_impl, loc15_39, loaded [symbolic = @impl.%MyInt (constants.%MyInt.09f)]
|
||||
// CHECK:STDOUT: %Main.import_ref.bf0: type = import_ref Main//generic_impl, loc15_44, loaded [template = constants.%Add.type]
|
||||
// CHECK:STDOUT: %Main.import_ref.19b: @impl.%Op.type (%Op.type.883) = import_ref Main//generic_impl, loc16_42, loaded [symbolic = @impl.%Op (constants.%Op.8bc)]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .Add = imports.%import_ref.fe6
|
||||
// CHECK:STDOUT: .IntLiteral = imports.%import_ref.174
|
||||
// CHECK:STDOUT: .Int = imports.%import_ref.0dc
|
||||
// CHECK:STDOUT: .MyInt = imports.%import_ref.370
|
||||
// CHECK:STDOUT: .Double = imports.%import_ref.1a7
|
||||
// CHECK:STDOUT: .Add = imports.%Main.Add
|
||||
// CHECK:STDOUT: .IntLiteral = imports.%Main.IntLiteral
|
||||
// CHECK:STDOUT: .Int = imports.%Main.Int
|
||||
// CHECK:STDOUT: .MyInt = imports.%Main.MyInt
|
||||
// CHECK:STDOUT: .Double = imports.%Main.Double
|
||||
// CHECK:STDOUT: .LocalDouble = %LocalDouble.decl
|
||||
// CHECK:STDOUT: .CallImportedDouble = %CallImportedDouble.decl
|
||||
// CHECK:STDOUT: }
|
||||
@@ -474,12 +474,12 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt);
|
||||
// CHECK:STDOUT: %return.patt: %MyInt.f30 = return_slot_pattern
|
||||
// CHECK:STDOUT: %return.param_patt: %MyInt.f30 = out_param_pattern %return.patt, runtime_param1
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %MyInt.ref.loc8_33: %MyInt.type = name_ref MyInt, imports.%import_ref.370 [template = constants.%MyInt.generic]
|
||||
// CHECK:STDOUT: %MyInt.ref.loc8_33: %MyInt.type = name_ref MyInt, imports.%Main.MyInt [template = constants.%MyInt.generic]
|
||||
// CHECK:STDOUT: %int_64.loc8_39: Core.IntLiteral = int_value 64 [template = constants.%int_64]
|
||||
// CHECK:STDOUT: %MyInt.loc8_41: type = class_type @MyInt, @MyInt(constants.%int_64) [template = constants.%MyInt.f30]
|
||||
// CHECK:STDOUT: %x.param: %MyInt.f30 = value_param runtime_param0
|
||||
// CHECK:STDOUT: %.loc8: type = splice_block %MyInt.loc8_27 [template = constants.%MyInt.f30] {
|
||||
// CHECK:STDOUT: %MyInt.ref.loc8_19: %MyInt.type = name_ref MyInt, imports.%import_ref.370 [template = constants.%MyInt.generic]
|
||||
// CHECK:STDOUT: %MyInt.ref.loc8_19: %MyInt.type = name_ref MyInt, imports.%Main.MyInt [template = constants.%MyInt.generic]
|
||||
// CHECK:STDOUT: %int_64.loc8_25: Core.IntLiteral = int_value 64 [template = constants.%int_64]
|
||||
// CHECK:STDOUT: %MyInt.loc8_27: type = class_type @MyInt, @MyInt(constants.%int_64) [template = constants.%MyInt.f30]
|
||||
// CHECK:STDOUT: }
|
||||
@@ -493,12 +493,12 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt);
|
||||
// CHECK:STDOUT: %return.patt: %MyInt.f30 = return_slot_pattern
|
||||
// CHECK:STDOUT: %return.param_patt: %MyInt.f30 = out_param_pattern %return.patt, runtime_param1
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %MyInt.ref.loc12_40: %MyInt.type = name_ref MyInt, imports.%import_ref.370 [template = constants.%MyInt.generic]
|
||||
// CHECK:STDOUT: %MyInt.ref.loc12_40: %MyInt.type = name_ref MyInt, imports.%Main.MyInt [template = constants.%MyInt.generic]
|
||||
// CHECK:STDOUT: %int_64.loc12_46: Core.IntLiteral = int_value 64 [template = constants.%int_64]
|
||||
// CHECK:STDOUT: %MyInt.loc12_48: type = class_type @MyInt, @MyInt(constants.%int_64) [template = constants.%MyInt.f30]
|
||||
// CHECK:STDOUT: %n.param: %MyInt.f30 = value_param runtime_param0
|
||||
// CHECK:STDOUT: %.loc12: type = splice_block %MyInt.loc12_34 [template = constants.%MyInt.f30] {
|
||||
// CHECK:STDOUT: %MyInt.ref.loc12_26: %MyInt.type = name_ref MyInt, imports.%import_ref.370 [template = constants.%MyInt.generic]
|
||||
// CHECK:STDOUT: %MyInt.ref.loc12_26: %MyInt.type = name_ref MyInt, imports.%Main.MyInt [template = constants.%MyInt.generic]
|
||||
// CHECK:STDOUT: %int_64.loc12_32: Core.IntLiteral = int_value 64 [template = constants.%int_64]
|
||||
// CHECK:STDOUT: %MyInt.loc12_34: type = class_type @MyInt, @MyInt(constants.%int_64) [template = constants.%MyInt.f30]
|
||||
// CHECK:STDOUT: }
|
||||
@@ -510,25 +510,25 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface @Add [from "generic_impl.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.07c
|
||||
// CHECK:STDOUT: .Op = imports.%import_ref.6d9
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.044)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.07c
|
||||
// CHECK:STDOUT: .Op = imports.%Main.import_ref.6d9
|
||||
// CHECK:STDOUT: witness = (imports.%Main.Op)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: generic impl @impl(constants.%N: Core.IntLiteral) [from "generic_impl.carbon"] {
|
||||
// CHECK:STDOUT: %N: Core.IntLiteral = bind_symbolic_name N, 0 [symbolic = %N (constants.%N)]
|
||||
// CHECK:STDOUT: %N.patt: Core.IntLiteral = symbolic_binding_pattern N, 0 [symbolic = %N.patt (constants.%N.patt)]
|
||||
// CHECK:STDOUT: %MyInt: type = class_type @MyInt, @MyInt(%N) [symbolic = %MyInt (constants.%MyInt.09f)]
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (imports.%import_ref.19b), @impl(%N) [symbolic = %impl_witness (constants.%impl_witness.3a3)]
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (imports.%Main.import_ref.19b), @impl(%N) [symbolic = %impl_witness (constants.%impl_witness.3a3)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT: %Op.type: type = fn_type @Op.2, @impl(%N) [symbolic = %Op.type (constants.%Op.type.883)]
|
||||
// CHECK:STDOUT: %Op: @impl.%Op.type (%Op.type.883) = struct_value () [symbolic = %Op (constants.%Op.8bc)]
|
||||
// CHECK:STDOUT: %require_complete: <witness> = require_complete_type @impl.%MyInt (%MyInt.09f) [symbolic = %require_complete (constants.%require_complete.fc7)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl: imports.%import_ref.719 as imports.%import_ref.bf0 {
|
||||
// CHECK:STDOUT: impl: imports.%Main.import_ref.719 as imports.%Main.import_ref.bf0 {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: witness = imports.%import_ref.33b
|
||||
// CHECK:STDOUT: witness = imports.%Main.import_ref.33b
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -542,18 +542,18 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt);
|
||||
// CHECK:STDOUT: %complete_type: <witness> = complete_type_witness @MyInt.%iN.builtin (%iN.builtin) [symbolic = %complete_type (constants.%complete_type.a87)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.9e9
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.9e9
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.697
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.697
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @LocalDouble(%x.param_patt: %MyInt.f30) -> %MyInt.f30 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %x.ref.loc9_10: %MyInt.f30 = name_ref x, %x
|
||||
// CHECK:STDOUT: %Add.ref: type = name_ref Add, imports.%import_ref.fe6 [template = constants.%Add.type]
|
||||
// CHECK:STDOUT: %Op.ref: %Op.assoc_type = name_ref Op, imports.%import_ref.6d9 [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %Add.ref: type = name_ref Add, imports.%Main.Add [template = constants.%Add.type]
|
||||
// CHECK:STDOUT: %Op.ref: %Op.assoc_type = name_ref Op, imports.%Main.import_ref.6d9 [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %impl.elem0: %Op.type.31b = impl_witness_access constants.%impl_witness.8d6, element0 [template = constants.%Op.cf9]
|
||||
// CHECK:STDOUT: %Op.bound: <bound method> = bound_method %x.ref.loc9_10, %impl.elem0
|
||||
// CHECK:STDOUT: %x.ref.loc9_21: %MyInt.f30 = name_ref x, %x
|
||||
@@ -582,7 +582,7 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @CallImportedDouble(%n.param_patt: %MyInt.f30) -> %MyInt.f30 {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %Double.ref: %Double.type = name_ref Double, imports.%import_ref.1a7 [template = constants.%Double]
|
||||
// CHECK:STDOUT: %Double.ref: %Double.type = name_ref Double, imports.%Main.Double [template = constants.%Double]
|
||||
// CHECK:STDOUT: %n.ref: %MyInt.f30 = name_ref n, %n
|
||||
// CHECK:STDOUT: %Double.specific_fn: <specific function> = specific_function %Double.ref, @Double(constants.%int_64) [template = constants.%Double.specific_fn]
|
||||
// CHECK:STDOUT: %Double.call: init %MyInt.f30 = call %Double.specific_fn(%n.ref)
|
||||
@@ -1031,27 +1031,27 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt);
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.174 = import_ref Main//convert_symbolic, IntLiteral, unloaded
|
||||
// CHECK:STDOUT: %import_ref.4a2: %Int.type = import_ref Main//convert_symbolic, Int, loaded [template = constants.%Int]
|
||||
// CHECK:STDOUT: %import_ref.e08 = import_ref Main//convert_symbolic, ToLiteral, unloaded
|
||||
// CHECK:STDOUT: %import_ref.527: %FromLiteral.type = import_ref Main//convert_symbolic, FromLiteral, loaded [template = constants.%FromLiteral]
|
||||
// CHECK:STDOUT: %import_ref.eaa: %Make.type = import_ref Main//convert_symbolic, Make, loaded [template = constants.%Make]
|
||||
// CHECK:STDOUT: %import_ref.466: type = import_ref Main//convert_symbolic, OtherInt, loaded [template = constants.%OtherInt]
|
||||
// CHECK:STDOUT: %import_ref.10c: %MakeFromClass.type = import_ref Main//convert_symbolic, MakeFromClass, loaded [template = constants.%MakeFromClass]
|
||||
// CHECK:STDOUT: %import_ref.b03: <witness> = import_ref Main//convert_symbolic, loc14_1, loaded [template = constants.%complete_type.f8a]
|
||||
// CHECK:STDOUT: %import_ref.d11 = import_ref Main//convert_symbolic, inst129 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.8f7 = import_ref Main//convert_symbolic, loc13_45, unloaded
|
||||
// CHECK:STDOUT: %Main.IntLiteral = import_ref Main//convert_symbolic, IntLiteral, unloaded
|
||||
// CHECK:STDOUT: %Main.Int: %Int.type = import_ref Main//convert_symbolic, Int, loaded [template = constants.%Int]
|
||||
// CHECK:STDOUT: %Main.ToLiteral = import_ref Main//convert_symbolic, ToLiteral, unloaded
|
||||
// CHECK:STDOUT: %Main.FromLiteral: %FromLiteral.type = import_ref Main//convert_symbolic, FromLiteral, loaded [template = constants.%FromLiteral]
|
||||
// CHECK:STDOUT: %Main.Make: %Make.type = import_ref Main//convert_symbolic, Make, loaded [template = constants.%Make]
|
||||
// CHECK:STDOUT: %Main.OtherInt: type = import_ref Main//convert_symbolic, OtherInt, loaded [template = constants.%OtherInt]
|
||||
// CHECK:STDOUT: %Main.MakeFromClass: %MakeFromClass.type = import_ref Main//convert_symbolic, MakeFromClass, loaded [template = constants.%MakeFromClass]
|
||||
// CHECK:STDOUT: %Main.import_ref.b03: <witness> = import_ref Main//convert_symbolic, loc14_1, loaded [template = constants.%complete_type.f8a]
|
||||
// CHECK:STDOUT: %Main.import_ref.d11 = import_ref Main//convert_symbolic, inst129 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.8f7 = import_ref Main//convert_symbolic, loc13_45, unloaded
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .IntLiteral = imports.%import_ref.174
|
||||
// CHECK:STDOUT: .Int = imports.%import_ref.4a2
|
||||
// CHECK:STDOUT: .ToLiteral = imports.%import_ref.e08
|
||||
// CHECK:STDOUT: .FromLiteral = imports.%import_ref.527
|
||||
// CHECK:STDOUT: .Make = imports.%import_ref.eaa
|
||||
// CHECK:STDOUT: .OtherInt = imports.%import_ref.466
|
||||
// CHECK:STDOUT: .MakeFromClass = imports.%import_ref.10c
|
||||
// CHECK:STDOUT: .IntLiteral = imports.%Main.IntLiteral
|
||||
// CHECK:STDOUT: .Int = imports.%Main.Int
|
||||
// CHECK:STDOUT: .ToLiteral = imports.%Main.ToLiteral
|
||||
// CHECK:STDOUT: .FromLiteral = imports.%Main.FromLiteral
|
||||
// CHECK:STDOUT: .Make = imports.%Main.Make
|
||||
// CHECK:STDOUT: .OtherInt = imports.%Main.OtherInt
|
||||
// CHECK:STDOUT: .MakeFromClass = imports.%Main.MakeFromClass
|
||||
// CHECK:STDOUT: .m = %m
|
||||
// CHECK:STDOUT: .n = %n
|
||||
// CHECK:STDOUT: }
|
||||
@@ -1062,7 +1062,7 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt);
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %m.var: ref %i64.builtin = var m
|
||||
// CHECK:STDOUT: %.loc6_14.1: type = splice_block %.loc6_14.3 [template = constants.%i64.builtin] {
|
||||
// CHECK:STDOUT: %Int.ref.loc6: %Int.type = name_ref Int, imports.%import_ref.4a2 [template = constants.%Int]
|
||||
// CHECK:STDOUT: %Int.ref.loc6: %Int.type = name_ref Int, imports.%Main.Int [template = constants.%Int]
|
||||
// CHECK:STDOUT: %int_64.loc6: Core.IntLiteral = int_value 64 [template = constants.%int_64.fab]
|
||||
// CHECK:STDOUT: %int.make_type_signed.loc6: init type = call %Int.ref.loc6(%int_64.loc6) [template = constants.%i64.builtin]
|
||||
// CHECK:STDOUT: %.loc6_14.2: type = value_of_initializer %int.make_type_signed.loc6 [template = constants.%i64.builtin]
|
||||
@@ -1075,7 +1075,7 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt);
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %n.var: ref %i64.builtin = var n
|
||||
// CHECK:STDOUT: %.loc7_14.1: type = splice_block %.loc7_14.3 [template = constants.%i64.builtin] {
|
||||
// CHECK:STDOUT: %Int.ref.loc7: %Int.type = name_ref Int, imports.%import_ref.4a2 [template = constants.%Int]
|
||||
// CHECK:STDOUT: %Int.ref.loc7: %Int.type = name_ref Int, imports.%Main.Int [template = constants.%Int]
|
||||
// CHECK:STDOUT: %int_64.loc7: Core.IntLiteral = int_value 64 [template = constants.%int_64.fab]
|
||||
// CHECK:STDOUT: %int.make_type_signed.loc7: init type = call %Int.ref.loc7(%int_64.loc7) [template = constants.%i64.builtin]
|
||||
// CHECK:STDOUT: %.loc7_14.2: type = value_of_initializer %int.make_type_signed.loc7 [template = constants.%i64.builtin]
|
||||
@@ -1085,11 +1085,11 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt);
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @OtherInt [from "convert_symbolic.carbon"] {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.b03
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.b03
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.d11
|
||||
// CHECK:STDOUT: .ToLiteral = imports.%import_ref.8f7
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.d11
|
||||
// CHECK:STDOUT: .ToLiteral = imports.%Main.import_ref.8f7
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @Int(%n.param_patt: Core.IntLiteral) -> type = "int.make_type_signed" [from "convert_symbolic.carbon"];
|
||||
@@ -1129,8 +1129,8 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt);
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @__global_init() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %Make.ref: %Make.type = name_ref Make, imports.%import_ref.eaa [template = constants.%Make]
|
||||
// CHECK:STDOUT: %FromLiteral.ref.loc6: %FromLiteral.type = name_ref FromLiteral, imports.%import_ref.527 [template = constants.%FromLiteral]
|
||||
// CHECK:STDOUT: %Make.ref: %Make.type = name_ref Make, imports.%Main.Make [template = constants.%Make]
|
||||
// CHECK:STDOUT: %FromLiteral.ref.loc6: %FromLiteral.type = name_ref FromLiteral, imports.%Main.FromLiteral [template = constants.%FromLiteral]
|
||||
// CHECK:STDOUT: %int_64.loc6: Core.IntLiteral = int_value 64 [template = constants.%int_64.fab]
|
||||
// CHECK:STDOUT: %int.convert_checked.loc6: init %i32.builtin = call %FromLiteral.ref.loc6(%int_64.loc6) [template = constants.%int_64.f82]
|
||||
// CHECK:STDOUT: %.loc6_38.1: %i32.builtin = value_of_initializer %int.convert_checked.loc6 [template = constants.%int_64.f82]
|
||||
@@ -1138,11 +1138,11 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt);
|
||||
// CHECK:STDOUT: %Make.specific_fn: <specific function> = specific_function %Make.ref, @Make(constants.%int_64.f82) [template = constants.%Make.specific_fn.02d]
|
||||
// CHECK:STDOUT: %Make.call: init %i64.builtin = call %Make.specific_fn()
|
||||
// CHECK:STDOUT: assign file.%m.var, %Make.call
|
||||
// CHECK:STDOUT: %MakeFromClass.ref: %MakeFromClass.type = name_ref MakeFromClass, imports.%import_ref.10c [template = constants.%MakeFromClass]
|
||||
// CHECK:STDOUT: %FromLiteral.ref.loc7: %FromLiteral.type = name_ref FromLiteral, imports.%import_ref.527 [template = constants.%FromLiteral]
|
||||
// CHECK:STDOUT: %MakeFromClass.ref: %MakeFromClass.type = name_ref MakeFromClass, imports.%Main.MakeFromClass [template = constants.%MakeFromClass]
|
||||
// CHECK:STDOUT: %FromLiteral.ref.loc7: %FromLiteral.type = name_ref FromLiteral, imports.%Main.FromLiteral [template = constants.%FromLiteral]
|
||||
// CHECK:STDOUT: %int_64.loc7: Core.IntLiteral = int_value 64 [template = constants.%int_64.fab]
|
||||
// CHECK:STDOUT: %int.convert_checked.loc7: init %i32.builtin = call %FromLiteral.ref.loc7(%int_64.loc7) [template = constants.%int_64.f82]
|
||||
// CHECK:STDOUT: %OtherInt.ref: type = name_ref OtherInt, imports.%import_ref.466 [template = constants.%OtherInt]
|
||||
// CHECK:STDOUT: %OtherInt.ref: type = name_ref OtherInt, imports.%Main.OtherInt [template = constants.%OtherInt]
|
||||
// CHECK:STDOUT: %.loc7_48.1: init %OtherInt = as_compatible %int.convert_checked.loc7 [template = constants.%int_64.f82]
|
||||
// CHECK:STDOUT: %.loc7_48.2: init %OtherInt = converted %int.convert_checked.loc7, %.loc7_48.1 [template = constants.%int_64.f82]
|
||||
// CHECK:STDOUT: %.loc7_59.1: %OtherInt = value_of_initializer %.loc7_48.2 [template = constants.%int_64.f82]
|
||||
|
||||
@@ -120,30 +120,30 @@ fn G(c: C) {
|
||||
// CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic]
|
||||
// CHECK:STDOUT: %F.type.cf0: type = fn_type @F.1 [template]
|
||||
// CHECK:STDOUT: %F.assoc_type: type = assoc_entity_type %I.type, %F.type.cf0 [template]
|
||||
// CHECK:STDOUT: %assoc0: %F.assoc_type = assoc_entity element0, imports.%import_ref.777 [template]
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (imports.%import_ref.f6d) [template]
|
||||
// CHECK:STDOUT: %assoc0: %F.assoc_type = assoc_entity element0, imports.%Main.import_ref.777 [template]
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (imports.%Main.import_ref.f6d) [template]
|
||||
// CHECK:STDOUT: %F.type.f36: type = fn_type @F.2 [template]
|
||||
// CHECK:STDOUT: %F.4c3: %F.type.f36 = struct_value () [template]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.541 = import_ref Main//extend_impl_library, I, unloaded
|
||||
// CHECK:STDOUT: %import_ref.3b0: type = import_ref Main//extend_impl_library, C, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %import_ref.8f2: <witness> = import_ref Main//extend_impl_library, loc12_1, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.2c4 = import_ref Main//extend_impl_library, inst25 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.3019d1.1: type = import_ref Main//extend_impl_library, loc9_18, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %import_ref.e5d = import_ref Main//extend_impl_library, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.b5b: %F.assoc_type = import_ref Main//extend_impl_library, loc5_9, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %import_ref.8b9 = import_ref Main//extend_impl_library, F, unloaded
|
||||
// CHECK:STDOUT: %import_ref.b86: <witness> = import_ref Main//extend_impl_library, loc9_20, loaded [template = constants.%impl_witness]
|
||||
// CHECK:STDOUT: %import_ref.0ed: type = import_ref Main//extend_impl_library, loc9_15, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %import_ref.3019d1.2: type = import_ref Main//extend_impl_library, loc9_18, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %Main.I = import_ref Main//extend_impl_library, I, unloaded
|
||||
// CHECK:STDOUT: %Main.C: type = import_ref Main//extend_impl_library, C, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %Main.import_ref.8f2: <witness> = import_ref Main//extend_impl_library, loc12_1, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.2c4 = import_ref Main//extend_impl_library, inst25 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.3019d1.1: type = import_ref Main//extend_impl_library, loc9_18, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %Main.import_ref.e5d = import_ref Main//extend_impl_library, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.b5b: %F.assoc_type = import_ref Main//extend_impl_library, loc5_9, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %Main.F = import_ref Main//extend_impl_library, F, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.b86: <witness> = import_ref Main//extend_impl_library, loc9_20, loaded [template = constants.%impl_witness]
|
||||
// CHECK:STDOUT: %Main.import_ref.0ed: type = import_ref Main//extend_impl_library, loc9_15, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %Main.import_ref.3019d1.2: type = import_ref Main//extend_impl_library, loc9_18, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .I = imports.%import_ref.541
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.3b0
|
||||
// CHECK:STDOUT: .I = imports.%Main.I
|
||||
// CHECK:STDOUT: .C = imports.%Main.C
|
||||
// CHECK:STDOUT: .G = %G.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
@@ -152,39 +152,39 @@ fn G(c: C) {
|
||||
// CHECK:STDOUT: %c.param_patt: %C = value_param_pattern %c.patt, runtime_param0
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %c.param: %C = value_param runtime_param0
|
||||
// CHECK:STDOUT: %C.ref.loc6: type = name_ref C, imports.%import_ref.3b0 [template = constants.%C]
|
||||
// CHECK:STDOUT: %C.ref.loc6: type = name_ref C, imports.%Main.C [template = constants.%C]
|
||||
// CHECK:STDOUT: %c: %C = bind_name c, %c.param
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface @I [from "extend_impl_library.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.e5d
|
||||
// CHECK:STDOUT: .F = imports.%import_ref.b5b
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.8b9)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.e5d
|
||||
// CHECK:STDOUT: .F = imports.%Main.import_ref.b5b
|
||||
// CHECK:STDOUT: witness = (imports.%Main.F)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl: imports.%import_ref.0ed as imports.%import_ref.3019d1.2 [from "extend_impl_library.carbon"] {
|
||||
// CHECK:STDOUT: impl @impl: imports.%Main.import_ref.0ed as imports.%Main.import_ref.3019d1.2 [from "extend_impl_library.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: witness = imports.%import_ref.b86
|
||||
// CHECK:STDOUT: witness = imports.%Main.import_ref.b86
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @C [from "extend_impl_library.carbon"] {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8f2
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8f2
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.2c4
|
||||
// CHECK:STDOUT: extend imports.%import_ref.3019d1.1
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.2c4
|
||||
// CHECK:STDOUT: extend imports.%Main.import_ref.3019d1.1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @G(%c.param_patt: %C) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %C.ref.loc7: type = name_ref C, imports.%import_ref.3b0 [template = constants.%C]
|
||||
// CHECK:STDOUT: %F.ref.loc7: %F.assoc_type = name_ref F, imports.%import_ref.b5b [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %C.ref.loc7: type = name_ref C, imports.%Main.C [template = constants.%C]
|
||||
// CHECK:STDOUT: %F.ref.loc7: %F.assoc_type = name_ref F, imports.%Main.import_ref.b5b [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %impl.elem0.loc7: %F.type.cf0 = impl_witness_access constants.%impl_witness, element0 [template = constants.%F.4c3]
|
||||
// CHECK:STDOUT: %F.call.loc7: init %empty_tuple.type = call %impl.elem0.loc7()
|
||||
// CHECK:STDOUT: %c.ref: %C = name_ref c, %c
|
||||
// CHECK:STDOUT: %F.ref.loc8: %F.assoc_type = name_ref F, imports.%import_ref.b5b [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %F.ref.loc8: %F.assoc_type = name_ref F, imports.%Main.import_ref.b5b [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %impl.elem0.loc8: %F.type.cf0 = impl_witness_access constants.%impl_witness, element0 [template = constants.%F.4c3]
|
||||
// CHECK:STDOUT: %F.call.loc8: init %empty_tuple.type = call %impl.elem0.loc8()
|
||||
// CHECK:STDOUT: return
|
||||
|
||||
+52
-52
@@ -294,23 +294,23 @@ impl forall [T:! type] D as J(T*) {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.3b0: type = import_ref Main//import_generic, C, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %import_ref.9f4: %I.type.dac = import_ref Main//import_generic, I, loaded [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %import_ref.003 = import_ref Main//import_generic, loc8_33, unloaded
|
||||
// CHECK:STDOUT: %import_ref.884 = import_ref Main//import_generic, inst31 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.8f2: <witness> = import_ref Main//import_generic, loc4_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.2c4 = import_ref Main//import_generic, inst14 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.29aca8.1: type = import_ref Main//import_generic, loc8_24, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %import_ref.4be: type = import_ref Main//import_generic, loc8_32, loaded [symbolic = @impl.1.%I.type (constants.%I.type.325)]
|
||||
// CHECK:STDOUT: %import_ref.4e1 = import_ref Main//import_generic, loc12_35, unloaded
|
||||
// CHECK:STDOUT: %import_ref.29aca8.2: type = import_ref Main//import_generic, loc12_24, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %import_ref.3e2: type = import_ref Main//import_generic, loc12_33, loaded [symbolic = @impl.2.%I.type (constants.%I.type.0e2)]
|
||||
// CHECK:STDOUT: %Main.C: type = import_ref Main//import_generic, C, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %Main.I: %I.type.dac = import_ref Main//import_generic, I, loaded [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %Main.import_ref.003 = import_ref Main//import_generic, loc8_33, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.884 = import_ref Main//import_generic, inst31 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.8f2: <witness> = import_ref Main//import_generic, loc4_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.2c4 = import_ref Main//import_generic, inst14 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.29aca8.1: type = import_ref Main//import_generic, loc8_24, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %Main.import_ref.4be: type = import_ref Main//import_generic, loc8_32, loaded [symbolic = @impl.1.%I.type (constants.%I.type.325)]
|
||||
// CHECK:STDOUT: %Main.import_ref.4e1 = import_ref Main//import_generic, loc12_35, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.29aca8.2: type = import_ref Main//import_generic, loc12_24, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %Main.import_ref.3e2: type = import_ref Main//import_generic, loc12_33, loaded [symbolic = @impl.2.%I.type (constants.%I.type.0e2)]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.3b0
|
||||
// CHECK:STDOUT: .I = imports.%import_ref.9f4
|
||||
// CHECK:STDOUT: .C = imports.%Main.C
|
||||
// CHECK:STDOUT: .I = imports.%Main.I
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import.loc2_6.1 = import <invalid>
|
||||
// CHECK:STDOUT: %default.import.loc2_6.2 = import <invalid>
|
||||
@@ -318,8 +318,8 @@ impl forall [T:! type] D as J(T*) {}
|
||||
// CHECK:STDOUT: %T.patt.loc8_14.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_14.2 (constants.%T.patt)]
|
||||
// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc8_14.1, runtime_param<invalid> [symbolic = %T.patt.loc8_14.2 (constants.%T.patt)]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %C.ref: type = name_ref C, imports.%import_ref.3b0 [template = constants.%C]
|
||||
// CHECK:STDOUT: %I.ref: %I.type.dac = name_ref I, imports.%import_ref.9f4 [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [template = constants.%C]
|
||||
// CHECK:STDOUT: %I.ref: %I.type.dac = name_ref I, imports.%Main.I [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc8_14.1 [symbolic = %T.loc8_14.2 (constants.%T)]
|
||||
// CHECK:STDOUT: %I.type.loc8_32.1: type = facet_type <@I, @I(constants.%T)> [symbolic = %I.type.loc8_32.2 (constants.%I.type.325)]
|
||||
// CHECK:STDOUT: %T.param: type = value_param runtime_param<invalid>
|
||||
@@ -330,8 +330,8 @@ impl forall [T:! type] D as J(T*) {}
|
||||
// CHECK:STDOUT: %T.patt.loc14_14.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc14_14.2 (constants.%T.patt)]
|
||||
// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc14_14.1, runtime_param<invalid> [symbolic = %T.patt.loc14_14.2 (constants.%T.patt)]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %C.ref: type = name_ref C, imports.%import_ref.3b0 [template = constants.%C]
|
||||
// CHECK:STDOUT: %I.ref: %I.type.dac = name_ref I, imports.%import_ref.9f4 [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [template = constants.%C]
|
||||
// CHECK:STDOUT: %I.ref: %I.type.dac = name_ref I, imports.%Main.I [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc14_14.1 [symbolic = %T.loc14_14.2 (constants.%T)]
|
||||
// CHECK:STDOUT: %I.type.loc14_32.1: type = facet_type <@I, @I(constants.%T)> [symbolic = %I.type.loc14_32.2 (constants.%I.type.325)]
|
||||
// CHECK:STDOUT: %T.param: type = value_param runtime_param<invalid>
|
||||
@@ -342,8 +342,8 @@ impl forall [T:! type] D as J(T*) {}
|
||||
// CHECK:STDOUT: %T.patt.loc20_14.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc20_14.2 (constants.%T.patt)]
|
||||
// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc20_14.1, runtime_param<invalid> [symbolic = %T.patt.loc20_14.2 (constants.%T.patt)]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %C.ref: type = name_ref C, imports.%import_ref.3b0 [template = constants.%C]
|
||||
// CHECK:STDOUT: %I.ref: %I.type.dac = name_ref I, imports.%import_ref.9f4 [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [template = constants.%C]
|
||||
// CHECK:STDOUT: %I.ref: %I.type.dac = name_ref I, imports.%Main.I [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc20_14.1 [symbolic = %T.loc20_14.2 (constants.%T)]
|
||||
// CHECK:STDOUT: %ptr.loc20_32.1: type = ptr_type %T [symbolic = %ptr.loc20_32.2 (constants.%ptr)]
|
||||
// CHECK:STDOUT: %I.type.loc20_33.1: type = facet_type <@I, @I(constants.%ptr)> [symbolic = %I.type.loc20_33.2 (constants.%I.type.0e2)]
|
||||
@@ -355,8 +355,8 @@ impl forall [T:! type] D as J(T*) {}
|
||||
// CHECK:STDOUT: %T.patt.loc26_14.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc26_14.2 (constants.%T.patt)]
|
||||
// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc26_14.1, runtime_param<invalid> [symbolic = %T.patt.loc26_14.2 (constants.%T.patt)]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %C.ref: type = name_ref C, imports.%import_ref.3b0 [template = constants.%C]
|
||||
// CHECK:STDOUT: %I.ref: %I.type.dac = name_ref I, imports.%import_ref.9f4 [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [template = constants.%C]
|
||||
// CHECK:STDOUT: %I.ref: %I.type.dac = name_ref I, imports.%Main.I [template = constants.%I.generic]
|
||||
// CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc26_14.1 [symbolic = %T.loc26_14.2 (constants.%T)]
|
||||
// CHECK:STDOUT: %ptr.loc26_32.1: type = ptr_type %T [symbolic = %ptr.loc26_32.2 (constants.%ptr)]
|
||||
// CHECK:STDOUT: %I.type.loc26_33.1: type = facet_type <@I, @I(constants.%ptr)> [symbolic = %I.type.loc26_33.2 (constants.%I.type.0e2)]
|
||||
@@ -376,7 +376,7 @@ impl forall [T:! type] D as J(T*) {}
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.884
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.884
|
||||
// CHECK:STDOUT: witness = ()
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
@@ -390,9 +390,9 @@ impl forall [T:! type] D as J(T*) {}
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl: imports.%import_ref.29aca8.1 as imports.%import_ref.4be {
|
||||
// CHECK:STDOUT: impl: imports.%Main.import_ref.29aca8.1 as imports.%Main.import_ref.4be {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: witness = imports.%import_ref.003
|
||||
// CHECK:STDOUT: witness = imports.%Main.import_ref.003
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -406,9 +406,9 @@ impl forall [T:! type] D as J(T*) {}
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl: imports.%import_ref.29aca8.2 as imports.%import_ref.3e2 {
|
||||
// CHECK:STDOUT: impl: imports.%Main.import_ref.29aca8.2 as imports.%Main.import_ref.3e2 {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: witness = imports.%import_ref.4e1
|
||||
// CHECK:STDOUT: witness = imports.%Main.import_ref.4e1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -465,10 +465,10 @@ impl forall [T:! type] D as J(T*) {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @C [from "import_generic.carbon"] {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8f2
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8f2
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.2c4
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.2c4
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: specific @I(constants.%T) {
|
||||
@@ -742,21 +742,21 @@ impl forall [T:! type] D as J(T*) {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.b0a: type = import_ref Main//import_generic_decl, D, loaded [template = constants.%D]
|
||||
// CHECK:STDOUT: %import_ref.0eb: %J.type.2b8 = import_ref Main//import_generic_decl, J, loaded [template = constants.%J.generic]
|
||||
// CHECK:STDOUT: %import_ref.ff5 = import_ref Main//import_generic_decl, inst31 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.8f2: <witness> = import_ref Main//import_generic_decl, loc4_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.cab = import_ref Main//import_generic_decl, inst14 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.aa9f8a.1: type = import_ref Main//import_generic_decl, loc11_24, loaded [template = constants.%D]
|
||||
// CHECK:STDOUT: %import_ref.ded: type = import_ref Main//import_generic_decl, loc11_32, loaded [symbolic = @impl.1.%J.type (constants.%J.type.b72)]
|
||||
// CHECK:STDOUT: %import_ref.aa9f8a.2: type = import_ref Main//import_generic_decl, loc17_24, loaded [template = constants.%D]
|
||||
// CHECK:STDOUT: %import_ref.0d3: type = import_ref Main//import_generic_decl, loc17_33, loaded [symbolic = @impl.2.%J.type (constants.%J.type.628)]
|
||||
// CHECK:STDOUT: %Main.D: type = import_ref Main//import_generic_decl, D, loaded [template = constants.%D]
|
||||
// CHECK:STDOUT: %Main.J: %J.type.2b8 = import_ref Main//import_generic_decl, J, loaded [template = constants.%J.generic]
|
||||
// CHECK:STDOUT: %Main.import_ref.ff5 = import_ref Main//import_generic_decl, inst31 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.8f2: <witness> = import_ref Main//import_generic_decl, loc4_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.cab = import_ref Main//import_generic_decl, inst14 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.aa9f8a.1: type = import_ref Main//import_generic_decl, loc11_24, loaded [template = constants.%D]
|
||||
// CHECK:STDOUT: %Main.import_ref.ded: type = import_ref Main//import_generic_decl, loc11_32, loaded [symbolic = @impl.1.%J.type (constants.%J.type.b72)]
|
||||
// CHECK:STDOUT: %Main.import_ref.aa9f8a.2: type = import_ref Main//import_generic_decl, loc17_24, loaded [template = constants.%D]
|
||||
// CHECK:STDOUT: %Main.import_ref.0d3: type = import_ref Main//import_generic_decl, loc17_33, loaded [symbolic = @impl.2.%J.type (constants.%J.type.628)]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .D = imports.%import_ref.b0a
|
||||
// CHECK:STDOUT: .J = imports.%import_ref.0eb
|
||||
// CHECK:STDOUT: .D = imports.%Main.D
|
||||
// CHECK:STDOUT: .J = imports.%Main.J
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import.loc2_6.1 = import <invalid>
|
||||
// CHECK:STDOUT: %default.import.loc2_6.2 = import <invalid>
|
||||
@@ -764,8 +764,8 @@ impl forall [T:! type] D as J(T*) {}
|
||||
// CHECK:STDOUT: %T.patt.loc8_14.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_14.2 (constants.%T.patt)]
|
||||
// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc8_14.1, runtime_param<invalid> [symbolic = %T.patt.loc8_14.2 (constants.%T.patt)]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %D.ref: type = name_ref D, imports.%import_ref.b0a [template = constants.%D]
|
||||
// CHECK:STDOUT: %J.ref: %J.type.2b8 = name_ref J, imports.%import_ref.0eb [template = constants.%J.generic]
|
||||
// CHECK:STDOUT: %D.ref: type = name_ref D, imports.%Main.D [template = constants.%D]
|
||||
// CHECK:STDOUT: %J.ref: %J.type.2b8 = name_ref J, imports.%Main.J [template = constants.%J.generic]
|
||||
// CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc8_14.1 [symbolic = %T.loc8_14.2 (constants.%T)]
|
||||
// CHECK:STDOUT: %J.type.loc8_32.1: type = facet_type <@J, @J(constants.%T)> [symbolic = %J.type.loc8_32.2 (constants.%J.type.b72)]
|
||||
// CHECK:STDOUT: %T.param: type = value_param runtime_param<invalid>
|
||||
@@ -776,8 +776,8 @@ impl forall [T:! type] D as J(T*) {}
|
||||
// CHECK:STDOUT: %T.patt.loc14_14.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc14_14.2 (constants.%T.patt)]
|
||||
// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc14_14.1, runtime_param<invalid> [symbolic = %T.patt.loc14_14.2 (constants.%T.patt)]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %D.ref: type = name_ref D, imports.%import_ref.b0a [template = constants.%D]
|
||||
// CHECK:STDOUT: %J.ref: %J.type.2b8 = name_ref J, imports.%import_ref.0eb [template = constants.%J.generic]
|
||||
// CHECK:STDOUT: %D.ref: type = name_ref D, imports.%Main.D [template = constants.%D]
|
||||
// CHECK:STDOUT: %J.ref: %J.type.2b8 = name_ref J, imports.%Main.J [template = constants.%J.generic]
|
||||
// CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc14_14.1 [symbolic = %T.loc14_14.2 (constants.%T)]
|
||||
// CHECK:STDOUT: %J.type.loc14_32.1: type = facet_type <@J, @J(constants.%T)> [symbolic = %J.type.loc14_32.2 (constants.%J.type.b72)]
|
||||
// CHECK:STDOUT: %T.param: type = value_param runtime_param<invalid>
|
||||
@@ -788,8 +788,8 @@ impl forall [T:! type] D as J(T*) {}
|
||||
// CHECK:STDOUT: %T.patt.loc20_14.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc20_14.2 (constants.%T.patt)]
|
||||
// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc20_14.1, runtime_param<invalid> [symbolic = %T.patt.loc20_14.2 (constants.%T.patt)]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %D.ref: type = name_ref D, imports.%import_ref.b0a [template = constants.%D]
|
||||
// CHECK:STDOUT: %J.ref: %J.type.2b8 = name_ref J, imports.%import_ref.0eb [template = constants.%J.generic]
|
||||
// CHECK:STDOUT: %D.ref: type = name_ref D, imports.%Main.D [template = constants.%D]
|
||||
// CHECK:STDOUT: %J.ref: %J.type.2b8 = name_ref J, imports.%Main.J [template = constants.%J.generic]
|
||||
// CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc20_14.1 [symbolic = %T.loc20_14.2 (constants.%T)]
|
||||
// CHECK:STDOUT: %ptr.loc20_32.1: type = ptr_type %T [symbolic = %ptr.loc20_32.2 (constants.%ptr)]
|
||||
// CHECK:STDOUT: %J.type.loc20_33.1: type = facet_type <@J, @J(constants.%ptr)> [symbolic = %J.type.loc20_33.2 (constants.%J.type.628)]
|
||||
@@ -801,8 +801,8 @@ impl forall [T:! type] D as J(T*) {}
|
||||
// CHECK:STDOUT: %T.patt.loc26_14.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc26_14.2 (constants.%T.patt)]
|
||||
// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc26_14.1, runtime_param<invalid> [symbolic = %T.patt.loc26_14.2 (constants.%T.patt)]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %D.ref: type = name_ref D, imports.%import_ref.b0a [template = constants.%D]
|
||||
// CHECK:STDOUT: %J.ref: %J.type.2b8 = name_ref J, imports.%import_ref.0eb [template = constants.%J.generic]
|
||||
// CHECK:STDOUT: %D.ref: type = name_ref D, imports.%Main.D [template = constants.%D]
|
||||
// CHECK:STDOUT: %J.ref: %J.type.2b8 = name_ref J, imports.%Main.J [template = constants.%J.generic]
|
||||
// CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc26_14.1 [symbolic = %T.loc26_14.2 (constants.%T)]
|
||||
// CHECK:STDOUT: %ptr.loc26_32.1: type = ptr_type %T [symbolic = %ptr.loc26_32.2 (constants.%ptr)]
|
||||
// CHECK:STDOUT: %J.type.loc26_33.1: type = facet_type <@J, @J(constants.%ptr)> [symbolic = %J.type.loc26_33.2 (constants.%J.type.628)]
|
||||
@@ -822,7 +822,7 @@ impl forall [T:! type] D as J(T*) {}
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.ff5
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.ff5
|
||||
// CHECK:STDOUT: witness = ()
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
@@ -834,7 +834,7 @@ impl forall [T:! type] D as J(T*) {}
|
||||
// CHECK:STDOUT: %require_complete: <witness> = require_complete_type @impl.1.%J.type (%J.type.b72) [symbolic = %require_complete (constants.%require_complete.287)]
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (), @impl.1(%T) [symbolic = %impl_witness (constants.%impl_witness.0ef94b.1)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl: imports.%import_ref.aa9f8a.1 as imports.%import_ref.ded;
|
||||
// CHECK:STDOUT: impl: imports.%Main.import_ref.aa9f8a.1 as imports.%Main.import_ref.ded;
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: generic impl @impl.2(constants.%T: type) [from "fail_import_generic_decl.carbon"] {
|
||||
@@ -845,7 +845,7 @@ impl forall [T:! type] D as J(T*) {}
|
||||
// CHECK:STDOUT: %require_complete: <witness> = require_complete_type @impl.2.%J.type (%J.type.628) [symbolic = %require_complete (constants.%require_complete.c60)]
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (), @impl.2(%T) [symbolic = %impl_witness (constants.%impl_witness.b80f53.1)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl: imports.%import_ref.aa9f8a.2 as imports.%import_ref.0d3;
|
||||
// CHECK:STDOUT: impl: imports.%Main.import_ref.aa9f8a.2 as imports.%Main.import_ref.0d3;
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: generic impl @impl.3(%T.loc8_14.1: type) {
|
||||
@@ -901,10 +901,10 @@ impl forall [T:! type] D as J(T*) {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @D [from "fail_import_generic_decl.carbon"] {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8f2
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8f2
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.cab
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.cab
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: specific @J(constants.%T) {
|
||||
|
||||
+205
-205
@@ -254,7 +254,7 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT: %I.type: type = facet_type <@I> [template]
|
||||
// CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic]
|
||||
// CHECK:STDOUT: %assoc_type: type = assoc_entity_type %I.type, type [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%import_ref.ef4 [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%Main.import_ref.ef4 [template]
|
||||
// CHECK:STDOUT: %.Self.as_wit: <witness> = facet_access_witness %.Self [symbolic]
|
||||
// CHECK:STDOUT: %impl.elem0: type = impl_witness_access %.Self.as_wit, element0 [symbolic]
|
||||
// CHECK:STDOUT: %I_where.type: type = facet_type <@I where %impl.elem0 = %empty_struct_type> [template]
|
||||
@@ -262,29 +262,29 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.df2: type = import_ref Main//interface, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %import_ref.43d = import_ref Main//interface, I3, unloaded
|
||||
// CHECK:STDOUT: %import_ref.dfc = import_ref Main//interface, NonType, unloaded
|
||||
// CHECK:STDOUT: %import_ref.e5d = import_ref Main//interface, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.15c: %assoc_type = import_ref Main//interface, loc3_20, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %import_ref.3b7: type = import_ref Main//interface, T, loaded [template = %T]
|
||||
// CHECK:STDOUT: %Main.I: type = import_ref Main//interface, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %Main.I3 = import_ref Main//interface, I3, unloaded
|
||||
// CHECK:STDOUT: %Main.NonType = import_ref Main//interface, NonType, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.e5d = import_ref Main//interface, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.15c: %assoc_type = import_ref Main//interface, loc3_20, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %Main.T: type = import_ref Main//interface, T, loaded [template = %T]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .I = imports.%import_ref.df2
|
||||
// CHECK:STDOUT: .I3 = imports.%import_ref.43d
|
||||
// CHECK:STDOUT: .NonType = imports.%import_ref.dfc
|
||||
// CHECK:STDOUT: .I = imports.%Main.I
|
||||
// CHECK:STDOUT: .I3 = imports.%Main.I3
|
||||
// CHECK:STDOUT: .NonType = imports.%Main.NonType
|
||||
// CHECK:STDOUT: .C1 = %C1.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %C1.decl: type = class_decl @C1 [template = constants.%C1] {} {}
|
||||
// CHECK:STDOUT: impl_decl @impl [template] {} {
|
||||
// CHECK:STDOUT: %C1.ref: type = name_ref C1, file.%C1.decl [template = constants.%C1]
|
||||
// CHECK:STDOUT: %I.ref: type = name_ref I, imports.%import_ref.df2 [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %.Self.ref: %I.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.ref: %assoc_type = name_ref T, imports.%import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %T.ref: %assoc_type = name_ref T, imports.%Main.import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %.Self.as_wit: <witness> = facet_access_witness %.Self.ref [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem0: type = impl_witness_access %.Self.as_wit, element0 [symbolic = constants.%impl.elem0]
|
||||
// CHECK:STDOUT: %.loc5_26.1: %empty_struct_type = struct_literal ()
|
||||
@@ -298,9 +298,9 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface @I [from "interface.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.e5d
|
||||
// CHECK:STDOUT: .T = imports.%import_ref.15c
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.3b7)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.e5d
|
||||
// CHECK:STDOUT: .T = imports.%Main.import_ref.15c
|
||||
// CHECK:STDOUT: witness = (imports.%Main.T)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl: %C1.ref as %.loc5_14 {
|
||||
@@ -325,7 +325,7 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT: %I.type: type = facet_type <@I> [template]
|
||||
// CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic]
|
||||
// CHECK:STDOUT: %assoc_type: type = assoc_entity_type %I.type, type [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%import_ref.ef4 [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%Main.import_ref.ef4 [template]
|
||||
// CHECK:STDOUT: %.Self.as_wit: <witness> = facet_access_witness %.Self [symbolic]
|
||||
// CHECK:STDOUT: %impl.elem0: type = impl_witness_access %.Self.as_wit, element0 [symbolic]
|
||||
// CHECK:STDOUT: %I_where.type: type = facet_type <@I where %impl.elem0 = %empty_struct_type> [template]
|
||||
@@ -333,29 +333,29 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.df2: type = import_ref Main//interface, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %import_ref.43d = import_ref Main//interface, I3, unloaded
|
||||
// CHECK:STDOUT: %import_ref.dfc = import_ref Main//interface, NonType, unloaded
|
||||
// CHECK:STDOUT: %import_ref.e5d = import_ref Main//interface, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.15c: %assoc_type = import_ref Main//interface, loc3_20, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %import_ref.3b7: type = import_ref Main//interface, T, loaded [template = %T]
|
||||
// CHECK:STDOUT: %Main.I: type = import_ref Main//interface, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %Main.I3 = import_ref Main//interface, I3, unloaded
|
||||
// CHECK:STDOUT: %Main.NonType = import_ref Main//interface, NonType, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.e5d = import_ref Main//interface, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.15c: %assoc_type = import_ref Main//interface, loc3_20, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %Main.T: type = import_ref Main//interface, T, loaded [template = %T]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .I = imports.%import_ref.df2
|
||||
// CHECK:STDOUT: .I3 = imports.%import_ref.43d
|
||||
// CHECK:STDOUT: .NonType = imports.%import_ref.dfc
|
||||
// CHECK:STDOUT: .I = imports.%Main.I
|
||||
// CHECK:STDOUT: .I3 = imports.%Main.I3
|
||||
// CHECK:STDOUT: .NonType = imports.%Main.NonType
|
||||
// CHECK:STDOUT: .C2 = %C2.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %C2.decl: type = class_decl @C2 [template = constants.%C2] {} {}
|
||||
// CHECK:STDOUT: impl_decl @impl [template] {} {
|
||||
// CHECK:STDOUT: %C2.ref.loc5: type = name_ref C2, file.%C2.decl [template = constants.%C2]
|
||||
// CHECK:STDOUT: %I.ref.loc5: type = name_ref I, imports.%import_ref.df2 [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %I.ref.loc5: type = name_ref I, imports.%Main.I [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %.Self.1: %I.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %.Self.ref.loc5: %I.type = name_ref .Self, %.Self.1 [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.ref.loc5: %assoc_type = name_ref T, imports.%import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %T.ref.loc5: %assoc_type = name_ref T, imports.%Main.import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %.Self.as_wit.loc5: <witness> = facet_access_witness %.Self.ref.loc5 [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem0.loc5: type = impl_witness_access %.Self.as_wit.loc5, element0 [symbolic = constants.%impl.elem0]
|
||||
// CHECK:STDOUT: %.loc5_26.1: %empty_struct_type = struct_literal ()
|
||||
@@ -367,10 +367,10 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (constants.%empty_struct_type) [template = constants.%impl_witness]
|
||||
// CHECK:STDOUT: impl_decl @impl [template] {} {
|
||||
// CHECK:STDOUT: %C2.ref.loc6: type = name_ref C2, file.%C2.decl [template = constants.%C2]
|
||||
// CHECK:STDOUT: %I.ref.loc6: type = name_ref I, imports.%import_ref.df2 [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %I.ref.loc6: type = name_ref I, imports.%Main.I [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %.Self.2: %I.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %.Self.ref.loc6: %I.type = name_ref .Self, %.Self.2 [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.ref.loc6: %assoc_type = name_ref T, imports.%import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %T.ref.loc6: %assoc_type = name_ref T, imports.%Main.import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %.Self.as_wit.loc6: <witness> = facet_access_witness %.Self.ref.loc6 [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem0.loc6: type = impl_witness_access %.Self.as_wit.loc6, element0 [symbolic = constants.%impl.elem0]
|
||||
// CHECK:STDOUT: %.loc6_26.1: %empty_struct_type = struct_literal ()
|
||||
@@ -383,9 +383,9 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface @I [from "interface.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.e5d
|
||||
// CHECK:STDOUT: .T = imports.%import_ref.15c
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.3b7)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.e5d
|
||||
// CHECK:STDOUT: .T = imports.%Main.import_ref.15c
|
||||
// CHECK:STDOUT: witness = (imports.%Main.T)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl: %C2.ref.loc5 as %.loc5_14 {
|
||||
@@ -411,41 +411,41 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (%empty_struct_type) [template]
|
||||
// CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic]
|
||||
// CHECK:STDOUT: %assoc_type: type = assoc_entity_type %I.type, type [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%import_ref.ef4 [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%Main.import_ref.ef4 [template]
|
||||
// CHECK:STDOUT: %.Self.as_wit: <witness> = facet_access_witness %.Self [symbolic]
|
||||
// CHECK:STDOUT: %impl.elem0: type = impl_witness_access %.Self.as_wit, element0 [symbolic]
|
||||
// CHECK:STDOUT: %I_where.type: type = facet_type <@I where %impl.elem0 = %empty_struct_type> [template]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.df2: type = import_ref Main//interface, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %import_ref.43d = import_ref Main//interface, I3, unloaded
|
||||
// CHECK:STDOUT: %import_ref.dfc = import_ref Main//interface, NonType, unloaded
|
||||
// CHECK:STDOUT: %import_ref.e5d = import_ref Main//interface, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.15c: %assoc_type = import_ref Main//interface, loc3_20, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %import_ref.3b7: type = import_ref Main//interface, T, loaded [template = %T]
|
||||
// CHECK:STDOUT: %Main.I: type = import_ref Main//interface, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %Main.I3 = import_ref Main//interface, I3, unloaded
|
||||
// CHECK:STDOUT: %Main.NonType = import_ref Main//interface, NonType, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.e5d = import_ref Main//interface, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.15c: %assoc_type = import_ref Main//interface, loc3_20, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %Main.T: type = import_ref Main//interface, T, loaded [template = %T]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .I = imports.%import_ref.df2
|
||||
// CHECK:STDOUT: .I3 = imports.%import_ref.43d
|
||||
// CHECK:STDOUT: .NonType = imports.%import_ref.dfc
|
||||
// CHECK:STDOUT: .I = imports.%Main.I
|
||||
// CHECK:STDOUT: .I3 = imports.%Main.I3
|
||||
// CHECK:STDOUT: .NonType = imports.%Main.NonType
|
||||
// CHECK:STDOUT: .C3 = %C3.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %C3.decl: type = class_decl @C3 [template = constants.%C3] {} {}
|
||||
// CHECK:STDOUT: impl_decl @impl [template] {} {
|
||||
// CHECK:STDOUT: %C3.ref.loc5: type = name_ref C3, file.%C3.decl [template = constants.%C3]
|
||||
// CHECK:STDOUT: %I.ref.loc5: type = name_ref I, imports.%import_ref.df2 [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %I.ref.loc5: type = name_ref I, imports.%Main.I [template = constants.%I.type]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (constants.%empty_struct_type) [template = constants.%impl_witness]
|
||||
// CHECK:STDOUT: impl_decl @impl [template] {} {
|
||||
// CHECK:STDOUT: %C3.ref.loc6: type = name_ref C3, file.%C3.decl [template = constants.%C3]
|
||||
// CHECK:STDOUT: %I.ref.loc6: type = name_ref I, imports.%import_ref.df2 [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %I.ref.loc6: type = name_ref I, imports.%Main.I [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %.Self.ref: %I.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.ref: %assoc_type = name_ref T, imports.%import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %T.ref: %assoc_type = name_ref T, imports.%Main.import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %.Self.as_wit: <witness> = facet_access_witness %.Self.ref [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem0: type = impl_witness_access %.Self.as_wit, element0 [symbolic = constants.%impl.elem0]
|
||||
// CHECK:STDOUT: %.loc6_26.1: %empty_struct_type = struct_literal ()
|
||||
@@ -458,9 +458,9 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface @I [from "interface.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.e5d
|
||||
// CHECK:STDOUT: .T = imports.%import_ref.15c
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.3b7)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.e5d
|
||||
// CHECK:STDOUT: .T = imports.%Main.import_ref.15c
|
||||
// CHECK:STDOUT: witness = (imports.%Main.T)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl: %C3.ref.loc5 as %I.ref.loc5 {
|
||||
@@ -486,7 +486,7 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic]
|
||||
// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [template]
|
||||
// CHECK:STDOUT: %assoc_type: type = assoc_entity_type %I.type, type [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%import_ref.ef4 [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%Main.import_ref.ef4 [template]
|
||||
// CHECK:STDOUT: %.Self.as_wit: <witness> = facet_access_witness %.Self [symbolic]
|
||||
// CHECK:STDOUT: %impl.elem0: type = impl_witness_access %.Self.as_wit, element0 [symbolic]
|
||||
// CHECK:STDOUT: %I_where.type.f5a: type = facet_type <@I where %impl.elem0 = %empty_struct_type> [template]
|
||||
@@ -495,29 +495,29 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.df2: type = import_ref Main//interface, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %import_ref.43d = import_ref Main//interface, I3, unloaded
|
||||
// CHECK:STDOUT: %import_ref.dfc = import_ref Main//interface, NonType, unloaded
|
||||
// CHECK:STDOUT: %import_ref.e5d = import_ref Main//interface, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.15c: %assoc_type = import_ref Main//interface, loc3_20, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %import_ref.3b7: type = import_ref Main//interface, T, loaded [template = %T]
|
||||
// CHECK:STDOUT: %Main.I: type = import_ref Main//interface, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %Main.I3 = import_ref Main//interface, I3, unloaded
|
||||
// CHECK:STDOUT: %Main.NonType = import_ref Main//interface, NonType, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.e5d = import_ref Main//interface, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.15c: %assoc_type = import_ref Main//interface, loc3_20, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %Main.T: type = import_ref Main//interface, T, loaded [template = %T]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .I = imports.%import_ref.df2
|
||||
// CHECK:STDOUT: .I3 = imports.%import_ref.43d
|
||||
// CHECK:STDOUT: .NonType = imports.%import_ref.dfc
|
||||
// CHECK:STDOUT: .I = imports.%Main.I
|
||||
// CHECK:STDOUT: .I3 = imports.%Main.I3
|
||||
// CHECK:STDOUT: .NonType = imports.%Main.NonType
|
||||
// CHECK:STDOUT: .C4 = %C4.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %C4.decl: type = class_decl @C4 [template = constants.%C4] {} {}
|
||||
// CHECK:STDOUT: impl_decl @impl [template] {} {
|
||||
// CHECK:STDOUT: %C4.ref.loc5: type = name_ref C4, file.%C4.decl [template = constants.%C4]
|
||||
// CHECK:STDOUT: %I.ref.loc5: type = name_ref I, imports.%import_ref.df2 [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %I.ref.loc5: type = name_ref I, imports.%Main.I [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %.Self.1: %I.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %.Self.ref.loc5: %I.type = name_ref .Self, %.Self.1 [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.ref.loc5: %assoc_type = name_ref T, imports.%import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %T.ref.loc5: %assoc_type = name_ref T, imports.%Main.import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %.Self.as_wit.loc5: <witness> = facet_access_witness %.Self.ref.loc5 [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem0.loc5: type = impl_witness_access %.Self.as_wit.loc5, element0 [symbolic = constants.%impl.elem0]
|
||||
// CHECK:STDOUT: %.loc5_26.1: %empty_struct_type = struct_literal ()
|
||||
@@ -529,10 +529,10 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (constants.%empty_struct_type) [template = constants.%impl_witness]
|
||||
// CHECK:STDOUT: impl_decl @impl [template] {} {
|
||||
// CHECK:STDOUT: %C4.ref.loc13: type = name_ref C4, file.%C4.decl [template = constants.%C4]
|
||||
// CHECK:STDOUT: %I.ref.loc13: type = name_ref I, imports.%import_ref.df2 [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %I.ref.loc13: type = name_ref I, imports.%Main.I [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %.Self.2: %I.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %.Self.ref.loc13: %I.type = name_ref .Self, %.Self.2 [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.ref.loc13: %assoc_type = name_ref T, imports.%import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %T.ref.loc13: %assoc_type = name_ref T, imports.%Main.import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %.Self.as_wit.loc13: <witness> = facet_access_witness %.Self.ref.loc13 [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem0.loc13: type = impl_witness_access %.Self.as_wit.loc13, element0 [symbolic = constants.%impl.elem0]
|
||||
// CHECK:STDOUT: %.loc13_26.1: %empty_tuple.type = tuple_literal ()
|
||||
@@ -545,9 +545,9 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface @I [from "interface.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.e5d
|
||||
// CHECK:STDOUT: .T = imports.%import_ref.15c
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.3b7)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.e5d
|
||||
// CHECK:STDOUT: .T = imports.%Main.import_ref.15c
|
||||
// CHECK:STDOUT: witness = (imports.%Main.T)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl: %C4.ref.loc5 as %.loc5_14 {
|
||||
@@ -572,57 +572,57 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT: %I3.type: type = facet_type <@I3> [template]
|
||||
// CHECK:STDOUT: %.Self: %I3.type = bind_symbolic_name .Self [symbolic]
|
||||
// CHECK:STDOUT: %assoc_type: type = assoc_entity_type %I3.type, type [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%import_ref.95f [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%Main.import_ref.95f [template]
|
||||
// CHECK:STDOUT: %.Self.as_wit: <witness> = facet_access_witness %.Self [symbolic]
|
||||
// CHECK:STDOUT: %impl.elem0: type = impl_witness_access %.Self.as_wit, element0 [symbolic]
|
||||
// CHECK:STDOUT: %assoc1: %assoc_type = assoc_entity element1, imports.%import_ref.f70 [template]
|
||||
// CHECK:STDOUT: %assoc1: %assoc_type = assoc_entity element1, imports.%Main.import_ref.f70 [template]
|
||||
// CHECK:STDOUT: %impl.elem1: type = impl_witness_access %.Self.as_wit, element1 [symbolic]
|
||||
// CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %empty_struct_type} [template]
|
||||
// CHECK:STDOUT: %assoc2: %assoc_type = assoc_entity element2, imports.%import_ref.469 [template]
|
||||
// CHECK:STDOUT: %assoc2: %assoc_type = assoc_entity element2, imports.%Main.import_ref.469 [template]
|
||||
// CHECK:STDOUT: %impl.elem2: type = impl_witness_access %.Self.as_wit, element2 [symbolic]
|
||||
// CHECK:STDOUT: %struct_type.b: type = struct_type {.b: %empty_struct_type} [template]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.541 = import_ref Main//interface, I, unloaded
|
||||
// CHECK:STDOUT: %import_ref.f40: type = import_ref Main//interface, I3, loaded [template = constants.%I3.type]
|
||||
// CHECK:STDOUT: %import_ref.dfc = import_ref Main//interface, NonType, unloaded
|
||||
// CHECK:STDOUT: %import_ref.148 = import_ref Main//interface, inst23 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.4d5: %assoc_type = import_ref Main//interface, loc6_9, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %import_ref.2f7: %assoc_type = import_ref Main//interface, loc7_9, loaded [template = constants.%assoc1]
|
||||
// CHECK:STDOUT: %import_ref.fc4: %assoc_type = import_ref Main//interface, loc8_9, loaded [template = constants.%assoc2]
|
||||
// CHECK:STDOUT: %import_ref.cdd = import_ref Main//interface, T1, unloaded
|
||||
// CHECK:STDOUT: %import_ref.bad = import_ref Main//interface, T2, unloaded
|
||||
// CHECK:STDOUT: %import_ref.742 = import_ref Main//interface, T3, unloaded
|
||||
// CHECK:STDOUT: %Main.I = import_ref Main//interface, I, unloaded
|
||||
// CHECK:STDOUT: %Main.I3: type = import_ref Main//interface, I3, loaded [template = constants.%I3.type]
|
||||
// CHECK:STDOUT: %Main.NonType = import_ref Main//interface, NonType, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.148 = import_ref Main//interface, inst23 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.4d5: %assoc_type = import_ref Main//interface, loc6_9, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %Main.import_ref.2f7: %assoc_type = import_ref Main//interface, loc7_9, loaded [template = constants.%assoc1]
|
||||
// CHECK:STDOUT: %Main.import_ref.fc4: %assoc_type = import_ref Main//interface, loc8_9, loaded [template = constants.%assoc2]
|
||||
// CHECK:STDOUT: %Main.T1 = import_ref Main//interface, T1, unloaded
|
||||
// CHECK:STDOUT: %Main.T2 = import_ref Main//interface, T2, unloaded
|
||||
// CHECK:STDOUT: %Main.T3 = import_ref Main//interface, T3, unloaded
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .I = imports.%import_ref.541
|
||||
// CHECK:STDOUT: .I3 = imports.%import_ref.f40
|
||||
// CHECK:STDOUT: .NonType = imports.%import_ref.dfc
|
||||
// CHECK:STDOUT: .I = imports.%Main.I
|
||||
// CHECK:STDOUT: .I3 = imports.%Main.I3
|
||||
// CHECK:STDOUT: .NonType = imports.%Main.NonType
|
||||
// CHECK:STDOUT: .C5 = %C5.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %C5.decl: type = class_decl @C5 [template = constants.%C5] {} {}
|
||||
// CHECK:STDOUT: impl_decl @impl [template] {} {
|
||||
// CHECK:STDOUT: %C5.ref.loc18: type = name_ref C5, file.%C5.decl [template = constants.%C5]
|
||||
// CHECK:STDOUT: %I3.ref.loc18: type = name_ref I3, imports.%import_ref.f40 [template = constants.%I3.type]
|
||||
// CHECK:STDOUT: %I3.ref.loc18: type = name_ref I3, imports.%Main.I3 [template = constants.%I3.type]
|
||||
// CHECK:STDOUT: %.Self.1: %I3.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %.Self.ref.loc18_21: %I3.type = name_ref .Self, %.Self.1 [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %T1.ref.loc18: %assoc_type = name_ref T1, imports.%import_ref.4d5 [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %T1.ref.loc18: %assoc_type = name_ref T1, imports.%Main.import_ref.4d5 [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %.Self.as_wit.loc18_21: <witness> = facet_access_witness %.Self.ref.loc18_21 [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem0.loc18: type = impl_witness_access %.Self.as_wit.loc18_21, element0 [symbolic = constants.%impl.elem0]
|
||||
// CHECK:STDOUT: %BAD1.ref: <error> = name_ref BAD1, <error> [template = <error>]
|
||||
// CHECK:STDOUT: %.Self.ref.loc18_36: %I3.type = name_ref .Self, %.Self.1 [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %T2.ref.loc18: %assoc_type = name_ref T2, imports.%import_ref.2f7 [template = constants.%assoc1]
|
||||
// CHECK:STDOUT: %T2.ref.loc18: %assoc_type = name_ref T2, imports.%Main.import_ref.2f7 [template = constants.%assoc1]
|
||||
// CHECK:STDOUT: %.Self.as_wit.loc18_36: <witness> = facet_access_witness %.Self.ref.loc18_36 [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem1.loc18: type = impl_witness_access %.Self.as_wit.loc18_36, element1 [symbolic = constants.%impl.elem1]
|
||||
// CHECK:STDOUT: %.loc18_48.1: %empty_struct_type = struct_literal ()
|
||||
// CHECK:STDOUT: %.loc18_48.2: type = converted %.loc18_48.1, constants.%empty_struct_type [template = constants.%empty_struct_type]
|
||||
// CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %empty_struct_type} [template = constants.%struct_type.a]
|
||||
// CHECK:STDOUT: %.Self.ref.loc18_55: %I3.type = name_ref .Self, %.Self.1 [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %T3.ref.loc18: %assoc_type = name_ref T3, imports.%import_ref.fc4 [template = constants.%assoc2]
|
||||
// CHECK:STDOUT: %T3.ref.loc18: %assoc_type = name_ref T3, imports.%Main.import_ref.fc4 [template = constants.%assoc2]
|
||||
// CHECK:STDOUT: %.Self.as_wit.loc18_55: <witness> = facet_access_witness %.Self.ref.loc18_55 [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem2.loc18: type = impl_witness_access %.Self.as_wit.loc18_55, element2 [symbolic = constants.%impl.elem2]
|
||||
// CHECK:STDOUT: %BAD2.ref: <error> = name_ref BAD2, <error> [template = <error>]
|
||||
@@ -634,22 +634,22 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: impl_decl @impl [template] {} {
|
||||
// CHECK:STDOUT: %C5.ref.loc28: type = name_ref C5, file.%C5.decl [template = constants.%C5]
|
||||
// CHECK:STDOUT: %I3.ref.loc28: type = name_ref I3, imports.%import_ref.f40 [template = constants.%I3.type]
|
||||
// CHECK:STDOUT: %I3.ref.loc28: type = name_ref I3, imports.%Main.I3 [template = constants.%I3.type]
|
||||
// CHECK:STDOUT: %.Self.2: %I3.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %.Self.ref.loc28_21: %I3.type = name_ref .Self, %.Self.2 [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %T1.ref.loc28: %assoc_type = name_ref T1, imports.%import_ref.4d5 [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %T1.ref.loc28: %assoc_type = name_ref T1, imports.%Main.import_ref.4d5 [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %.Self.as_wit.loc28_21: <witness> = facet_access_witness %.Self.ref.loc28_21 [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem0.loc28: type = impl_witness_access %.Self.as_wit.loc28_21, element0 [symbolic = constants.%impl.elem0]
|
||||
// CHECK:STDOUT: %.loc28_33.1: %empty_struct_type = struct_literal ()
|
||||
// CHECK:STDOUT: %.loc28_33.2: type = converted %.loc28_33.1, constants.%empty_struct_type [template = constants.%empty_struct_type]
|
||||
// CHECK:STDOUT: %struct_type.b: type = struct_type {.b: %empty_struct_type} [template = constants.%struct_type.b]
|
||||
// CHECK:STDOUT: %.Self.ref.loc28_40: %I3.type = name_ref .Self, %.Self.2 [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %T2.ref.loc28: %assoc_type = name_ref T2, imports.%import_ref.2f7 [template = constants.%assoc1]
|
||||
// CHECK:STDOUT: %T2.ref.loc28: %assoc_type = name_ref T2, imports.%Main.import_ref.2f7 [template = constants.%assoc1]
|
||||
// CHECK:STDOUT: %.Self.as_wit.loc28_40: <witness> = facet_access_witness %.Self.ref.loc28_40 [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem1.loc28: type = impl_witness_access %.Self.as_wit.loc28_40, element1 [symbolic = constants.%impl.elem1]
|
||||
// CHECK:STDOUT: %BAD3.ref: <error> = name_ref BAD3, <error> [template = <error>]
|
||||
// CHECK:STDOUT: %.Self.ref.loc28_55: %I3.type = name_ref .Self, %.Self.2 [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %T3.ref.loc28: %assoc_type = name_ref T3, imports.%import_ref.fc4 [template = constants.%assoc2]
|
||||
// CHECK:STDOUT: %T3.ref.loc28: %assoc_type = name_ref T3, imports.%Main.import_ref.fc4 [template = constants.%assoc2]
|
||||
// CHECK:STDOUT: %.Self.as_wit.loc28_55: <witness> = facet_access_witness %.Self.ref.loc28_55 [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem2.loc28: type = impl_witness_access %.Self.as_wit.loc28_55, element2 [symbolic = constants.%impl.elem2]
|
||||
// CHECK:STDOUT: %BAD4.ref: <error> = name_ref BAD4, <error> [template = <error>]
|
||||
@@ -663,11 +663,11 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface @I3 [from "interface.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.148
|
||||
// CHECK:STDOUT: .T1 = imports.%import_ref.4d5
|
||||
// CHECK:STDOUT: .T2 = imports.%import_ref.2f7
|
||||
// CHECK:STDOUT: .T3 = imports.%import_ref.fc4
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.cdd, imports.%import_ref.bad, imports.%import_ref.742)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.148
|
||||
// CHECK:STDOUT: .T1 = imports.%Main.import_ref.4d5
|
||||
// CHECK:STDOUT: .T2 = imports.%Main.import_ref.2f7
|
||||
// CHECK:STDOUT: .T3 = imports.%Main.import_ref.fc4
|
||||
// CHECK:STDOUT: witness = (imports.%Main.T1, imports.%Main.T2, imports.%Main.T3)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl: %C5.ref.loc18 as %.loc18_15 {
|
||||
@@ -692,7 +692,7 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT: %I.type: type = facet_type <@I> [template]
|
||||
// CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic]
|
||||
// CHECK:STDOUT: %assoc_type: type = assoc_entity_type %I.type, type [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%import_ref.ef4 [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%Main.import_ref.ef4 [template]
|
||||
// CHECK:STDOUT: %.Self.as_wit: <witness> = facet_access_witness %.Self [symbolic]
|
||||
// CHECK:STDOUT: %impl.elem0: type = impl_witness_access %.Self.as_wit, element0 [symbolic]
|
||||
// CHECK:STDOUT: %I_where.type: type = facet_type <@I where %impl.elem0 = %empty_struct_type> [template]
|
||||
@@ -700,29 +700,29 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.df2: type = import_ref Main//interface, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %import_ref.43d = import_ref Main//interface, I3, unloaded
|
||||
// CHECK:STDOUT: %import_ref.dfc = import_ref Main//interface, NonType, unloaded
|
||||
// CHECK:STDOUT: %import_ref.e5d = import_ref Main//interface, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.15c: %assoc_type = import_ref Main//interface, loc3_20, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %import_ref.3b7: type = import_ref Main//interface, T, loaded [template = %T]
|
||||
// CHECK:STDOUT: %Main.I: type = import_ref Main//interface, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %Main.I3 = import_ref Main//interface, I3, unloaded
|
||||
// CHECK:STDOUT: %Main.NonType = import_ref Main//interface, NonType, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.e5d = import_ref Main//interface, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.15c: %assoc_type = import_ref Main//interface, loc3_20, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %Main.T: type = import_ref Main//interface, T, loaded [template = %T]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .I = imports.%import_ref.df2
|
||||
// CHECK:STDOUT: .I3 = imports.%import_ref.43d
|
||||
// CHECK:STDOUT: .NonType = imports.%import_ref.dfc
|
||||
// CHECK:STDOUT: .I = imports.%Main.I
|
||||
// CHECK:STDOUT: .I3 = imports.%Main.I3
|
||||
// CHECK:STDOUT: .NonType = imports.%Main.NonType
|
||||
// CHECK:STDOUT: .C6 = %C6.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %C6.decl: type = class_decl @C6 [template = constants.%C6] {} {}
|
||||
// CHECK:STDOUT: impl_decl @impl [template] {} {
|
||||
// CHECK:STDOUT: %C6.ref.loc5: type = name_ref C6, file.%C6.decl [template = constants.%C6]
|
||||
// CHECK:STDOUT: %I.ref.loc5: type = name_ref I, imports.%import_ref.df2 [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %I.ref.loc5: type = name_ref I, imports.%Main.I [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %.Self.ref: %I.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.ref: %assoc_type = name_ref T, imports.%import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %T.ref: %assoc_type = name_ref T, imports.%Main.import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %.Self.as_wit: <witness> = facet_access_witness %.Self.ref [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem0: type = impl_witness_access %.Self.as_wit, element0 [symbolic = constants.%impl.elem0]
|
||||
// CHECK:STDOUT: %.loc5_26.1: %empty_struct_type = struct_literal ()
|
||||
@@ -734,15 +734,15 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (constants.%empty_struct_type) [template = constants.%impl_witness]
|
||||
// CHECK:STDOUT: impl_decl @impl [template] {} {
|
||||
// CHECK:STDOUT: %C6.ref.loc13: type = name_ref C6, file.%C6.decl [template = constants.%C6]
|
||||
// CHECK:STDOUT: %I.ref.loc13: type = name_ref I, imports.%import_ref.df2 [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %I.ref.loc13: type = name_ref I, imports.%Main.I [template = constants.%I.type]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface @I [from "interface.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.e5d
|
||||
// CHECK:STDOUT: .T = imports.%import_ref.15c
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.3b7)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.e5d
|
||||
// CHECK:STDOUT: .T = imports.%Main.import_ref.15c
|
||||
// CHECK:STDOUT: witness = (imports.%Main.T)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl: %C6.ref.loc5 as %.loc5_14 {
|
||||
@@ -768,7 +768,7 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic]
|
||||
// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [template]
|
||||
// CHECK:STDOUT: %assoc_type: type = assoc_entity_type %I.type, type [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%import_ref.ef4 [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%Main.import_ref.ef4 [template]
|
||||
// CHECK:STDOUT: %.Self.as_wit: <witness> = facet_access_witness %.Self [symbolic]
|
||||
// CHECK:STDOUT: %impl.elem0: type = impl_witness_access %.Self.as_wit, element0 [symbolic]
|
||||
// CHECK:STDOUT: %I_where.type: type = facet_type <@I where %impl.elem0 = %empty_struct_type and %impl.elem0 = %empty_tuple.type> [template]
|
||||
@@ -776,35 +776,35 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.df2: type = import_ref Main//interface, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %import_ref.43d = import_ref Main//interface, I3, unloaded
|
||||
// CHECK:STDOUT: %import_ref.dfc = import_ref Main//interface, NonType, unloaded
|
||||
// CHECK:STDOUT: %import_ref.e5d = import_ref Main//interface, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.15c: %assoc_type = import_ref Main//interface, loc3_20, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %import_ref.3b7: type = import_ref Main//interface, T, loaded [template = %T]
|
||||
// CHECK:STDOUT: %Main.I: type = import_ref Main//interface, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %Main.I3 = import_ref Main//interface, I3, unloaded
|
||||
// CHECK:STDOUT: %Main.NonType = import_ref Main//interface, NonType, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.e5d = import_ref Main//interface, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.15c: %assoc_type = import_ref Main//interface, loc3_20, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %Main.T: type = import_ref Main//interface, T, loaded [template = %T]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .I = imports.%import_ref.df2
|
||||
// CHECK:STDOUT: .I3 = imports.%import_ref.43d
|
||||
// CHECK:STDOUT: .NonType = imports.%import_ref.dfc
|
||||
// CHECK:STDOUT: .I = imports.%Main.I
|
||||
// CHECK:STDOUT: .I3 = imports.%Main.I3
|
||||
// CHECK:STDOUT: .NonType = imports.%Main.NonType
|
||||
// CHECK:STDOUT: .C7 = %C7.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %C7.decl: type = class_decl @C7 [template = constants.%C7] {} {}
|
||||
// CHECK:STDOUT: impl_decl @impl [template] {} {
|
||||
// CHECK:STDOUT: %C7.ref: type = name_ref C7, file.%C7.decl [template = constants.%C7]
|
||||
// CHECK:STDOUT: %I.ref: type = name_ref I, imports.%import_ref.df2 [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %.Self.ref.loc10_20: %I.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.ref.loc10_20: %assoc_type = name_ref T, imports.%import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %T.ref.loc10_20: %assoc_type = name_ref T, imports.%Main.import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %.Self.as_wit.loc10_20: <witness> = facet_access_witness %.Self.ref.loc10_20 [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem0.loc10_20: type = impl_witness_access %.Self.as_wit.loc10_20, element0 [symbolic = constants.%impl.elem0]
|
||||
// CHECK:STDOUT: %.loc10_26.1: %empty_struct_type = struct_literal ()
|
||||
// CHECK:STDOUT: %.loc10_26.2: type = converted %.loc10_26.1, constants.%empty_struct_type [template = constants.%empty_struct_type]
|
||||
// CHECK:STDOUT: %.Self.ref.loc10_32: %I.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.ref.loc10_32: %assoc_type = name_ref T, imports.%import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %T.ref.loc10_32: %assoc_type = name_ref T, imports.%Main.import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %.Self.as_wit.loc10_32: <witness> = facet_access_witness %.Self.ref.loc10_32 [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem0.loc10_32: type = impl_witness_access %.Self.as_wit.loc10_32, element0 [symbolic = constants.%impl.elem0]
|
||||
// CHECK:STDOUT: %.loc10_38.1: %empty_tuple.type = tuple_literal ()
|
||||
@@ -819,9 +819,9 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface @I [from "interface.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.e5d
|
||||
// CHECK:STDOUT: .T = imports.%import_ref.15c
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.3b7)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.e5d
|
||||
// CHECK:STDOUT: .T = imports.%Main.import_ref.15c
|
||||
// CHECK:STDOUT: witness = (imports.%Main.T)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl: %C7.ref as %.loc10_14 {
|
||||
@@ -847,40 +847,40 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic]
|
||||
// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [template]
|
||||
// CHECK:STDOUT: %assoc_type: type = assoc_entity_type %I.type, type [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%import_ref.ef4 [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%Main.import_ref.ef4 [template]
|
||||
// CHECK:STDOUT: %.Self.as_wit: <witness> = facet_access_witness %.Self [symbolic]
|
||||
// CHECK:STDOUT: %impl.elem0: type = impl_witness_access %.Self.as_wit, element0 [symbolic]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.df2: type = import_ref Main//interface, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %import_ref.43d = import_ref Main//interface, I3, unloaded
|
||||
// CHECK:STDOUT: %import_ref.dfc = import_ref Main//interface, NonType, unloaded
|
||||
// CHECK:STDOUT: %import_ref.e5d = import_ref Main//interface, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.15c: %assoc_type = import_ref Main//interface, loc3_20, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %import_ref.08d = import_ref Main//interface, T, unloaded
|
||||
// CHECK:STDOUT: %Main.I: type = import_ref Main//interface, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %Main.I3 = import_ref Main//interface, I3, unloaded
|
||||
// CHECK:STDOUT: %Main.NonType = import_ref Main//interface, NonType, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.e5d = import_ref Main//interface, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.15c: %assoc_type = import_ref Main//interface, loc3_20, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %Main.T = import_ref Main//interface, T, unloaded
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .I = imports.%import_ref.df2
|
||||
// CHECK:STDOUT: .I3 = imports.%import_ref.43d
|
||||
// CHECK:STDOUT: .NonType = imports.%import_ref.dfc
|
||||
// CHECK:STDOUT: .I = imports.%Main.I
|
||||
// CHECK:STDOUT: .I3 = imports.%Main.I3
|
||||
// CHECK:STDOUT: .NonType = imports.%Main.NonType
|
||||
// CHECK:STDOUT: .C8 = %C8.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %C8.decl: type = class_decl @C8 [template = constants.%C8] {} {}
|
||||
// CHECK:STDOUT: impl_decl @impl [template] {} {
|
||||
// CHECK:STDOUT: %C8.ref: type = name_ref C8, file.%C8.decl [template = constants.%C8]
|
||||
// CHECK:STDOUT: %I.ref: type = name_ref I, imports.%import_ref.df2 [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %.Self.ref.loc10_20: %I.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.ref.loc10_20: %assoc_type = name_ref T, imports.%import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %T.ref.loc10_20: %assoc_type = name_ref T, imports.%Main.import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %.Self.as_wit.loc10_20: <witness> = facet_access_witness %.Self.ref.loc10_20 [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem0.loc10_20: type = impl_witness_access %.Self.as_wit.loc10_20, element0 [symbolic = constants.%impl.elem0]
|
||||
// CHECK:STDOUT: %BAD5.ref: <error> = name_ref BAD5, <error> [template = <error>]
|
||||
// CHECK:STDOUT: %.Self.ref.loc10_34: %I.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.ref.loc10_34: %assoc_type = name_ref T, imports.%import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %T.ref.loc10_34: %assoc_type = name_ref T, imports.%Main.import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %.Self.as_wit.loc10_34: <witness> = facet_access_witness %.Self.ref.loc10_34 [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem0.loc10_34: type = impl_witness_access %.Self.as_wit.loc10_34, element0 [symbolic = constants.%impl.elem0]
|
||||
// CHECK:STDOUT: %.loc10_40.1: %empty_tuple.type = tuple_literal ()
|
||||
@@ -894,9 +894,9 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface @I [from "interface.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.e5d
|
||||
// CHECK:STDOUT: .T = imports.%import_ref.15c
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.08d)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.e5d
|
||||
// CHECK:STDOUT: .T = imports.%Main.import_ref.15c
|
||||
// CHECK:STDOUT: witness = (imports.%Main.T)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl: %C8.ref as %.loc10_14 {
|
||||
@@ -921,41 +921,41 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT: %I.type: type = facet_type <@I> [template]
|
||||
// CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic]
|
||||
// CHECK:STDOUT: %assoc_type: type = assoc_entity_type %I.type, type [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%import_ref.ef4 [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%Main.import_ref.ef4 [template]
|
||||
// CHECK:STDOUT: %.Self.as_wit: <witness> = facet_access_witness %.Self [symbolic]
|
||||
// CHECK:STDOUT: %impl.elem0: type = impl_witness_access %.Self.as_wit, element0 [symbolic]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.df2: type = import_ref Main//interface, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %import_ref.43d = import_ref Main//interface, I3, unloaded
|
||||
// CHECK:STDOUT: %import_ref.dfc = import_ref Main//interface, NonType, unloaded
|
||||
// CHECK:STDOUT: %import_ref.e5d = import_ref Main//interface, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.15c: %assoc_type = import_ref Main//interface, loc3_20, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %import_ref.08d = import_ref Main//interface, T, unloaded
|
||||
// CHECK:STDOUT: %Main.I: type = import_ref Main//interface, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %Main.I3 = import_ref Main//interface, I3, unloaded
|
||||
// CHECK:STDOUT: %Main.NonType = import_ref Main//interface, NonType, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.e5d = import_ref Main//interface, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.15c: %assoc_type = import_ref Main//interface, loc3_20, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %Main.T = import_ref Main//interface, T, unloaded
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .I = imports.%import_ref.df2
|
||||
// CHECK:STDOUT: .I3 = imports.%import_ref.43d
|
||||
// CHECK:STDOUT: .NonType = imports.%import_ref.dfc
|
||||
// CHECK:STDOUT: .I = imports.%Main.I
|
||||
// CHECK:STDOUT: .I3 = imports.%Main.I3
|
||||
// CHECK:STDOUT: .NonType = imports.%Main.NonType
|
||||
// CHECK:STDOUT: .C9 = %C9.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %C9.decl: type = class_decl @C9 [template = constants.%C9] {} {}
|
||||
// CHECK:STDOUT: impl_decl @impl [template] {} {
|
||||
// CHECK:STDOUT: %C9.ref: type = name_ref C9, file.%C9.decl [template = constants.%C9]
|
||||
// CHECK:STDOUT: %I.ref: type = name_ref I, imports.%import_ref.df2 [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %.Self.ref.loc10_20: %I.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.ref.loc10_20: %assoc_type = name_ref T, imports.%import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %T.ref.loc10_20: %assoc_type = name_ref T, imports.%Main.import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %.Self.as_wit.loc10_20: <witness> = facet_access_witness %.Self.ref.loc10_20 [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem0.loc10_20: type = impl_witness_access %.Self.as_wit.loc10_20, element0 [symbolic = constants.%impl.elem0]
|
||||
// CHECK:STDOUT: %.loc10_26.1: %empty_struct_type = struct_literal ()
|
||||
// CHECK:STDOUT: %.loc10_26.2: type = converted %.loc10_26.1, constants.%empty_struct_type [template = constants.%empty_struct_type]
|
||||
// CHECK:STDOUT: %.Self.ref.loc10_32: %I.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.ref.loc10_32: %assoc_type = name_ref T, imports.%import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %T.ref.loc10_32: %assoc_type = name_ref T, imports.%Main.import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %.Self.as_wit.loc10_32: <witness> = facet_access_witness %.Self.ref.loc10_32 [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem0.loc10_32: type = impl_witness_access %.Self.as_wit.loc10_32, element0 [symbolic = constants.%impl.elem0]
|
||||
// CHECK:STDOUT: %BAD6.ref: <error> = name_ref BAD6, <error> [template = <error>]
|
||||
@@ -968,9 +968,9 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface @I [from "interface.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.e5d
|
||||
// CHECK:STDOUT: .T = imports.%import_ref.15c
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.08d)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.e5d
|
||||
// CHECK:STDOUT: .T = imports.%Main.import_ref.15c
|
||||
// CHECK:STDOUT: witness = (imports.%Main.T)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl: %C9.ref as %.loc10_14 {
|
||||
@@ -995,40 +995,40 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT: %I.type: type = facet_type <@I> [template]
|
||||
// CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic]
|
||||
// CHECK:STDOUT: %assoc_type: type = assoc_entity_type %I.type, type [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%import_ref.ef4 [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%Main.import_ref.ef4 [template]
|
||||
// CHECK:STDOUT: %.Self.as_wit: <witness> = facet_access_witness %.Self [symbolic]
|
||||
// CHECK:STDOUT: %impl.elem0: type = impl_witness_access %.Self.as_wit, element0 [symbolic]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.df2: type = import_ref Main//interface, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %import_ref.43d = import_ref Main//interface, I3, unloaded
|
||||
// CHECK:STDOUT: %import_ref.dfc = import_ref Main//interface, NonType, unloaded
|
||||
// CHECK:STDOUT: %import_ref.e5d = import_ref Main//interface, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.15c: %assoc_type = import_ref Main//interface, loc3_20, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %import_ref.08d = import_ref Main//interface, T, unloaded
|
||||
// CHECK:STDOUT: %Main.I: type = import_ref Main//interface, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %Main.I3 = import_ref Main//interface, I3, unloaded
|
||||
// CHECK:STDOUT: %Main.NonType = import_ref Main//interface, NonType, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.e5d = import_ref Main//interface, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.15c: %assoc_type = import_ref Main//interface, loc3_20, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %Main.T = import_ref Main//interface, T, unloaded
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .I = imports.%import_ref.df2
|
||||
// CHECK:STDOUT: .I3 = imports.%import_ref.43d
|
||||
// CHECK:STDOUT: .NonType = imports.%import_ref.dfc
|
||||
// CHECK:STDOUT: .I = imports.%Main.I
|
||||
// CHECK:STDOUT: .I3 = imports.%Main.I3
|
||||
// CHECK:STDOUT: .NonType = imports.%Main.NonType
|
||||
// CHECK:STDOUT: .CA = %CA.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %CA.decl: type = class_decl @CA [template = constants.%CA] {} {}
|
||||
// CHECK:STDOUT: impl_decl @impl [template] {} {
|
||||
// CHECK:STDOUT: %CA.ref: type = name_ref CA, file.%CA.decl [template = constants.%CA]
|
||||
// CHECK:STDOUT: %I.ref: type = name_ref I, imports.%import_ref.df2 [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %.Self.ref.loc14_20: %I.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.ref.loc14_20: %assoc_type = name_ref T, imports.%import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %T.ref.loc14_20: %assoc_type = name_ref T, imports.%Main.import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %.Self.as_wit.loc14_20: <witness> = facet_access_witness %.Self.ref.loc14_20 [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem0.loc14_20: type = impl_witness_access %.Self.as_wit.loc14_20, element0 [symbolic = constants.%impl.elem0]
|
||||
// CHECK:STDOUT: %BAD7.ref: <error> = name_ref BAD7, <error> [template = <error>]
|
||||
// CHECK:STDOUT: %.Self.ref.loc14_34: %I.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.ref.loc14_34: %assoc_type = name_ref T, imports.%import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %T.ref.loc14_34: %assoc_type = name_ref T, imports.%Main.import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %.Self.as_wit.loc14_34: <witness> = facet_access_witness %.Self.ref.loc14_34 [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem0.loc14_34: type = impl_witness_access %.Self.as_wit.loc14_34, element0 [symbolic = constants.%impl.elem0]
|
||||
// CHECK:STDOUT: %BAD8.ref: <error> = name_ref BAD8, <error> [template = <error>]
|
||||
@@ -1041,9 +1041,9 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface @I [from "interface.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.e5d
|
||||
// CHECK:STDOUT: .T = imports.%import_ref.15c
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.08d)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.e5d
|
||||
// CHECK:STDOUT: .T = imports.%Main.import_ref.15c
|
||||
// CHECK:STDOUT: witness = (imports.%Main.T)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl: %CA.ref as %.loc14 {
|
||||
@@ -1068,7 +1068,7 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT: %I.type: type = facet_type <@I> [template]
|
||||
// CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic]
|
||||
// CHECK:STDOUT: %assoc_type: type = assoc_entity_type %I.type, type [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%import_ref.ef4 [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%Main.import_ref.ef4 [template]
|
||||
// CHECK:STDOUT: %.Self.as_wit: <witness> = facet_access_witness %.Self [symbolic]
|
||||
// CHECK:STDOUT: %impl.elem0: type = impl_witness_access %.Self.as_wit, element0 [symbolic]
|
||||
// CHECK:STDOUT: %I_where.type: type = facet_type <@I where %impl.elem0 = %empty_struct_type> [template]
|
||||
@@ -1076,35 +1076,35 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.df2: type = import_ref Main//interface, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %import_ref.43d = import_ref Main//interface, I3, unloaded
|
||||
// CHECK:STDOUT: %import_ref.dfc = import_ref Main//interface, NonType, unloaded
|
||||
// CHECK:STDOUT: %import_ref.e5d = import_ref Main//interface, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.15c: %assoc_type = import_ref Main//interface, loc3_20, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %import_ref.3b7: type = import_ref Main//interface, T, loaded [template = %T]
|
||||
// CHECK:STDOUT: %Main.I: type = import_ref Main//interface, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %Main.I3 = import_ref Main//interface, I3, unloaded
|
||||
// CHECK:STDOUT: %Main.NonType = import_ref Main//interface, NonType, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.e5d = import_ref Main//interface, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.15c: %assoc_type = import_ref Main//interface, loc3_20, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %Main.T: type = import_ref Main//interface, T, loaded [template = %T]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .I = imports.%import_ref.df2
|
||||
// CHECK:STDOUT: .I3 = imports.%import_ref.43d
|
||||
// CHECK:STDOUT: .NonType = imports.%import_ref.dfc
|
||||
// CHECK:STDOUT: .I = imports.%Main.I
|
||||
// CHECK:STDOUT: .I3 = imports.%Main.I3
|
||||
// CHECK:STDOUT: .NonType = imports.%Main.NonType
|
||||
// CHECK:STDOUT: .CB = %CB.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %CB.decl: type = class_decl @CB [template = constants.%CB] {} {}
|
||||
// CHECK:STDOUT: impl_decl @impl [template] {} {
|
||||
// CHECK:STDOUT: %CB.ref: type = name_ref CB, file.%CB.decl [template = constants.%CB]
|
||||
// CHECK:STDOUT: %I.ref: type = name_ref I, imports.%import_ref.df2 [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %.Self.ref.loc6_20: %I.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.ref.loc6_20: %assoc_type = name_ref T, imports.%import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %T.ref.loc6_20: %assoc_type = name_ref T, imports.%Main.import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %.Self.as_wit.loc6_20: <witness> = facet_access_witness %.Self.ref.loc6_20 [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem0.loc6_20: type = impl_witness_access %.Self.as_wit.loc6_20, element0 [symbolic = constants.%impl.elem0]
|
||||
// CHECK:STDOUT: %.loc6_26.1: %empty_struct_type = struct_literal ()
|
||||
// CHECK:STDOUT: %.loc6_26.2: type = converted %.loc6_26.1, constants.%empty_struct_type [template = constants.%empty_struct_type]
|
||||
// CHECK:STDOUT: %.Self.ref.loc6_32: %I.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %T.ref.loc6_32: %assoc_type = name_ref T, imports.%import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %T.ref.loc6_32: %assoc_type = name_ref T, imports.%Main.import_ref.15c [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %.Self.as_wit.loc6_32: <witness> = facet_access_witness %.Self.ref.loc6_32 [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem0.loc6_32: type = impl_witness_access %.Self.as_wit.loc6_32, element0 [symbolic = constants.%impl.elem0]
|
||||
// CHECK:STDOUT: %.loc6_38.1: %empty_struct_type = struct_literal ()
|
||||
@@ -1119,9 +1119,9 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface @I [from "interface.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.e5d
|
||||
// CHECK:STDOUT: .T = imports.%import_ref.15c
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.3b7)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.e5d
|
||||
// CHECK:STDOUT: .T = imports.%Main.import_ref.15c
|
||||
// CHECK:STDOUT: witness = (imports.%Main.T)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl: %CB.ref as %.loc6_14 {
|
||||
@@ -1147,7 +1147,7 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT: %.Self: %NonType.type = bind_symbolic_name .Self [symbolic]
|
||||
// CHECK:STDOUT: %struct_type.a.225: type = struct_type {.a: %empty_struct_type} [template]
|
||||
// CHECK:STDOUT: %assoc_type: type = assoc_entity_type %NonType.type, %struct_type.a.225 [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%import_ref.f27 [template]
|
||||
// CHECK:STDOUT: %assoc0: %assoc_type = assoc_entity element0, imports.%Main.import_ref.f27 [template]
|
||||
// CHECK:STDOUT: %.Self.as_wit: <witness> = facet_access_witness %.Self [symbolic]
|
||||
// CHECK:STDOUT: %impl.elem0: %struct_type.a.225 = impl_witness_access %.Self.as_wit, element0 [symbolic]
|
||||
// CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [template]
|
||||
@@ -1157,29 +1157,29 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.541 = import_ref Main//interface, I, unloaded
|
||||
// CHECK:STDOUT: %import_ref.43d = import_ref Main//interface, I3, unloaded
|
||||
// CHECK:STDOUT: %import_ref.22d: type = import_ref Main//interface, NonType, loaded [template = constants.%NonType.type]
|
||||
// CHECK:STDOUT: %import_ref.8b7 = import_ref Main//interface, inst37 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.abe: %assoc_type = import_ref Main//interface, loc12_8, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %import_ref.d24: %struct_type.a.225 = import_ref Main//interface, Y, loaded [template = %Y]
|
||||
// CHECK:STDOUT: %Main.I = import_ref Main//interface, I, unloaded
|
||||
// CHECK:STDOUT: %Main.I3 = import_ref Main//interface, I3, unloaded
|
||||
// CHECK:STDOUT: %Main.NonType: type = import_ref Main//interface, NonType, loaded [template = constants.%NonType.type]
|
||||
// CHECK:STDOUT: %Main.import_ref.8b7 = import_ref Main//interface, inst37 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.abe: %assoc_type = import_ref Main//interface, loc12_8, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %Main.Y: %struct_type.a.225 = import_ref Main//interface, Y, loaded [template = %Y]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .I = imports.%import_ref.541
|
||||
// CHECK:STDOUT: .I3 = imports.%import_ref.43d
|
||||
// CHECK:STDOUT: .NonType = imports.%import_ref.22d
|
||||
// CHECK:STDOUT: .I = imports.%Main.I
|
||||
// CHECK:STDOUT: .I3 = imports.%Main.I3
|
||||
// CHECK:STDOUT: .NonType = imports.%Main.NonType
|
||||
// CHECK:STDOUT: .CC = %CC.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %CC.decl: type = class_decl @CC [template = constants.%CC] {} {}
|
||||
// CHECK:STDOUT: impl_decl @impl [template] {} {
|
||||
// CHECK:STDOUT: %CC.ref: type = name_ref CC, file.%CC.decl [template = constants.%CC]
|
||||
// CHECK:STDOUT: %NonType.ref: type = name_ref NonType, imports.%import_ref.22d [template = constants.%NonType.type]
|
||||
// CHECK:STDOUT: %NonType.ref: type = name_ref NonType, imports.%Main.NonType [template = constants.%NonType.type]
|
||||
// CHECK:STDOUT: %.Self: %NonType.type = bind_symbolic_name .Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %.Self.ref: %NonType.type = name_ref .Self, %.Self [symbolic = constants.%.Self]
|
||||
// CHECK:STDOUT: %Y.ref: %assoc_type = name_ref Y, imports.%import_ref.abe [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %Y.ref: %assoc_type = name_ref Y, imports.%Main.import_ref.abe [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %.Self.as_wit: <witness> = facet_access_witness %.Self.ref [symbolic = constants.%.Self.as_wit]
|
||||
// CHECK:STDOUT: %impl.elem0: %struct_type.a.225 = impl_witness_access %.Self.as_wit, element0 [symbolic = constants.%impl.elem0]
|
||||
// CHECK:STDOUT: %.loc6_38: %empty_struct_type = struct_literal ()
|
||||
@@ -1197,9 +1197,9 @@ impl CC as NonType where .Y = {.a = {}} { }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface @NonType [from "interface.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.8b7
|
||||
// CHECK:STDOUT: .Y = imports.%import_ref.abe
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.d24)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.8b7
|
||||
// CHECK:STDOUT: .Y = imports.%Main.import_ref.abe
|
||||
// CHECK:STDOUT: witness = (imports.%Main.Y)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl: %CC.ref as %.loc6_20 {
|
||||
|
||||
+12
-12
@@ -116,26 +116,26 @@ fn F(x: (), y: ()) -> () {
|
||||
// CHECK:STDOUT: %F.type: type = fn_type @F [template]
|
||||
// CHECK:STDOUT: %F: %F.type = struct_value () [template]
|
||||
// CHECK:STDOUT: %Op.assoc_type: type = assoc_entity_type %Add.type, %Op.type.31b [template]
|
||||
// CHECK:STDOUT: %assoc0: %Op.assoc_type = assoc_entity element0, imports.%import_ref.047 [template]
|
||||
// CHECK:STDOUT: %assoc0: %Op.assoc_type = assoc_entity element0, imports.%Main.import_ref.047 [template]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.fe6: type = import_ref Main//a, Add, loaded [template = constants.%Add.type]
|
||||
// CHECK:STDOUT: %import_ref.07c = import_ref Main//a, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.6d9: %Op.assoc_type = import_ref Main//a, loc5_41, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %import_ref.502: %Op.type.31b = import_ref Main//a, Op, loaded [template = constants.%Op.d59]
|
||||
// CHECK:STDOUT: %Main.Add: type = import_ref Main//a, Add, loaded [template = constants.%Add.type]
|
||||
// CHECK:STDOUT: %Main.import_ref.07c = import_ref Main//a, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.6d9: %Op.assoc_type = import_ref Main//a, loc5_41, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %Main.Op: %Op.type.31b = import_ref Main//a, Op, loaded [template = constants.%Op.d59]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .Add = imports.%import_ref.fe6
|
||||
// CHECK:STDOUT: .Add = imports.%Main.Add
|
||||
// CHECK:STDOUT: .F = %F.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: impl_decl @impl [template] {} {
|
||||
// CHECK:STDOUT: %.loc6_7.1: %empty_tuple.type = tuple_literal ()
|
||||
// CHECK:STDOUT: %.loc6_7.2: type = converted %.loc6_7.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
|
||||
// CHECK:STDOUT: %Add.ref: type = name_ref Add, imports.%import_ref.fe6 [template = constants.%Add.type]
|
||||
// CHECK:STDOUT: %Add.ref: type = name_ref Add, imports.%Main.Add [template = constants.%Add.type]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (@impl.%Op.decl) [template = constants.%impl_witness]
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {
|
||||
@@ -167,9 +167,9 @@ fn F(x: (), y: ()) -> () {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface @Add [from "a.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.07c
|
||||
// CHECK:STDOUT: .Op = imports.%import_ref.6d9
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.502)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.07c
|
||||
// CHECK:STDOUT: .Op = imports.%Main.import_ref.6d9
|
||||
// CHECK:STDOUT: witness = (imports.%Main.Op)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl: %.loc6_7.2 as %Add.ref {
|
||||
@@ -215,8 +215,8 @@ fn F(x: (), y: ()) -> () {
|
||||
// CHECK:STDOUT: fn @F(%x.param_patt: %empty_tuple.type, %y.param_patt: %empty_tuple.type) -> %empty_tuple.type {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %x.ref: %empty_tuple.type = name_ref x, %x
|
||||
// CHECK:STDOUT: %Add.ref: type = name_ref Add, imports.%import_ref.fe6 [template = constants.%Add.type]
|
||||
// CHECK:STDOUT: %Op.ref: %Op.assoc_type = name_ref Op, imports.%import_ref.6d9 [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %Add.ref: type = name_ref Add, imports.%Main.Add [template = constants.%Add.type]
|
||||
// CHECK:STDOUT: %Op.ref: %Op.assoc_type = name_ref Op, imports.%Main.import_ref.6d9 [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %impl.elem0: %Op.type.31b = impl_witness_access constants.%impl_witness, element0 [template = constants.%Op.489]
|
||||
// CHECK:STDOUT: %Op.bound: <bound method> = bound_method %x.ref, %impl.elem0
|
||||
// CHECK:STDOUT: %y.ref: %empty_tuple.type = name_ref y, %y
|
||||
|
||||
@@ -191,12 +191,12 @@ fn F() -> c.(I.F)() {}
|
||||
// CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic]
|
||||
// CHECK:STDOUT: %F.type.cf0: type = fn_type @F.1 [template]
|
||||
// CHECK:STDOUT: %F.assoc_type: type = assoc_entity_type %I.type, %F.type.cf0 [template]
|
||||
// CHECK:STDOUT: %assoc0: %F.assoc_type = assoc_entity element0, imports.%import_ref.777 [template]
|
||||
// CHECK:STDOUT: %impl_witness.681: <witness> = impl_witness (imports.%import_ref.e2c), @impl(%T) [symbolic]
|
||||
// CHECK:STDOUT: %assoc0: %F.assoc_type = assoc_entity element0, imports.%Main.import_ref.777 [template]
|
||||
// CHECK:STDOUT: %impl_witness.681: <witness> = impl_witness (imports.%Main.import_ref.e2c), @impl(%T) [symbolic]
|
||||
// CHECK:STDOUT: %F.type.40c: type = fn_type @F.2, @impl(%T) [symbolic]
|
||||
// CHECK:STDOUT: %F.071: %F.type.40c = struct_value () [symbolic]
|
||||
// CHECK:STDOUT: %impl_witness.02b: <witness> = impl_witness (imports.%import_ref.e2c), @impl(%empty_struct_type) [template]
|
||||
// CHECK:STDOUT: %impl_witness.bbe: <witness> = impl_witness (imports.%import_ref.c57), @impl(%T) [symbolic]
|
||||
// CHECK:STDOUT: %impl_witness.02b: <witness> = impl_witness (imports.%Main.import_ref.e2c), @impl(%empty_struct_type) [template]
|
||||
// CHECK:STDOUT: %impl_witness.bbe: <witness> = impl_witness (imports.%Main.import_ref.c57), @impl(%T) [symbolic]
|
||||
// CHECK:STDOUT: %F.type.4a4: type = fn_type @F.2, @impl(%empty_struct_type) [template]
|
||||
// CHECK:STDOUT: %F.9e6: %F.type.4a4 = struct_value () [template]
|
||||
// CHECK:STDOUT: %F.specific_fn: <specific function> = specific_function %F.9e6, @F.2(%empty_struct_type) [template]
|
||||
@@ -205,23 +205,23 @@ fn F() -> c.(I.F)() {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.bb9: %C.type = import_ref Main//import_generic, C, loaded [template = constants.%C.generic]
|
||||
// CHECK:STDOUT: %import_ref.df2: type = import_ref Main//import_generic, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %import_ref.8f2: <witness> = import_ref Main//import_generic, loc4_20, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.4c0 = import_ref Main//import_generic, inst25 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.e5d = import_ref Main//import_generic, inst31 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.b5b: %F.assoc_type = import_ref Main//import_generic, loc7_9, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %import_ref.8b9 = import_ref Main//import_generic, F, unloaded
|
||||
// CHECK:STDOUT: %import_ref.d91: <witness> = import_ref Main//import_generic, loc10_34, loaded [symbolic = @impl.%impl_witness (constants.%impl_witness.bbe)]
|
||||
// CHECK:STDOUT: %import_ref.499: type = import_ref Main//import_generic, loc10_27, loaded [symbolic = @impl.%C (constants.%C.f2e)]
|
||||
// CHECK:STDOUT: %import_ref.301: type = import_ref Main//import_generic, loc10_32, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %import_ref.e2c: @impl.%F.type (%F.type.40c) = import_ref Main//import_generic, loc11_10, loaded [symbolic = @impl.%F (constants.%F.071)]
|
||||
// CHECK:STDOUT: %Main.C: %C.type = import_ref Main//import_generic, C, loaded [template = constants.%C.generic]
|
||||
// CHECK:STDOUT: %Main.I: type = import_ref Main//import_generic, I, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %Main.import_ref.8f2: <witness> = import_ref Main//import_generic, loc4_20, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.4c0 = import_ref Main//import_generic, inst25 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.e5d = import_ref Main//import_generic, inst31 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.b5b: %F.assoc_type = import_ref Main//import_generic, loc7_9, loaded [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %Main.F = import_ref Main//import_generic, F, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.d91: <witness> = import_ref Main//import_generic, loc10_34, loaded [symbolic = @impl.%impl_witness (constants.%impl_witness.bbe)]
|
||||
// CHECK:STDOUT: %Main.import_ref.499: type = import_ref Main//import_generic, loc10_27, loaded [symbolic = @impl.%C (constants.%C.f2e)]
|
||||
// CHECK:STDOUT: %Main.import_ref.301: type = import_ref Main//import_generic, loc10_32, loaded [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %Main.import_ref.e2c: @impl.%F.type (%F.type.40c) = import_ref Main//import_generic, loc11_10, loaded [symbolic = @impl.%F (constants.%F.071)]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.bb9
|
||||
// CHECK:STDOUT: .I = imports.%import_ref.df2
|
||||
// CHECK:STDOUT: .C = imports.%Main.C
|
||||
// CHECK:STDOUT: .I = imports.%Main.I
|
||||
// CHECK:STDOUT: .c = %c
|
||||
// CHECK:STDOUT: .F = %F.decl
|
||||
// CHECK:STDOUT: }
|
||||
@@ -232,7 +232,7 @@ fn F() -> c.(I.F)() {}
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %c.var: ref %C.7a7 = var c
|
||||
// CHECK:STDOUT: %.loc6_12.1: type = splice_block %C [template = constants.%C.7a7] {
|
||||
// CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%import_ref.bb9 [template = constants.%C.generic]
|
||||
// CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%Main.C [template = constants.%C.generic]
|
||||
// CHECK:STDOUT: %.loc6_11: %empty_struct_type = struct_literal ()
|
||||
// CHECK:STDOUT: %.loc6_12.2: type = converted %.loc6_11, constants.%empty_struct_type [template = constants.%empty_struct_type]
|
||||
// CHECK:STDOUT: %C: type = class_type @C, @C(constants.%empty_struct_type) [template = constants.%C.7a7]
|
||||
@@ -243,8 +243,8 @@ fn F() -> c.(I.F)() {}
|
||||
// CHECK:STDOUT: %return.param_patt: <error> = out_param_pattern %return.patt, runtime_param0
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %c.ref: ref %C.7a7 = name_ref c, file.%c
|
||||
// CHECK:STDOUT: %I.ref: type = name_ref I, imports.%import_ref.df2 [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %F.ref: %F.assoc_type = name_ref F, imports.%import_ref.b5b [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %I.ref: type = name_ref I, imports.%Main.I [template = constants.%I.type]
|
||||
// CHECK:STDOUT: %F.ref: %F.assoc_type = name_ref F, imports.%Main.import_ref.b5b [template = constants.%assoc0]
|
||||
// CHECK:STDOUT: %impl.elem0: %F.type.cf0 = impl_witness_access constants.%impl_witness.02b, element0 [template = constants.%F.9e6]
|
||||
// CHECK:STDOUT: %F.specific_fn: <specific function> = specific_function %impl.elem0, @F.2(constants.%empty_struct_type) [template = constants.%F.specific_fn]
|
||||
// CHECK:STDOUT: %F.call: init %empty_tuple.type = call %F.specific_fn()
|
||||
@@ -258,24 +258,24 @@ fn F() -> c.(I.F)() {}
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface @I [from "import_generic.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.e5d
|
||||
// CHECK:STDOUT: .F = imports.%import_ref.b5b
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.8b9)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.e5d
|
||||
// CHECK:STDOUT: .F = imports.%Main.import_ref.b5b
|
||||
// CHECK:STDOUT: witness = (imports.%Main.F)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: generic impl @impl(constants.%T: type) [from "import_generic.carbon"] {
|
||||
// CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)]
|
||||
// CHECK:STDOUT: %T.patt: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)]
|
||||
// CHECK:STDOUT: %C: type = class_type @C, @C(%T) [symbolic = %C (constants.%C.f2e)]
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (imports.%import_ref.e2c), @impl(%T) [symbolic = %impl_witness (constants.%impl_witness.681)]
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (imports.%Main.import_ref.e2c), @impl(%T) [symbolic = %impl_witness (constants.%impl_witness.681)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT: %F.type: type = fn_type @F.2, @impl(%T) [symbolic = %F.type (constants.%F.type.40c)]
|
||||
// CHECK:STDOUT: %F: @impl.%F.type (%F.type.40c) = struct_value () [symbolic = %F (constants.%F.071)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl: imports.%import_ref.499 as imports.%import_ref.301 {
|
||||
// CHECK:STDOUT: impl: imports.%Main.import_ref.499 as imports.%Main.import_ref.301 {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: witness = imports.%import_ref.d91
|
||||
// CHECK:STDOUT: witness = imports.%Main.import_ref.d91
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -286,10 +286,10 @@ fn F() -> c.(I.F)() {}
|
||||
// CHECK:STDOUT: !definition:
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8f2
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8f2
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.4c0
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.4c0
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+160
-160
@@ -267,46 +267,46 @@ fn MakeC(a: A) -> C {
|
||||
// CHECK:STDOUT: %Op.type.036: type = fn_type @Op.1, @Action(%T) [symbolic]
|
||||
// CHECK:STDOUT: %Op.6ed: %Op.type.036 = struct_value () [symbolic]
|
||||
// CHECK:STDOUT: %Op.assoc_type.2ba: type = assoc_entity_type %Action.type.cca, %Op.type.036 [symbolic]
|
||||
// CHECK:STDOUT: %assoc0.9b9b19.1: %Op.assoc_type.2ba = assoc_entity element0, imports.%import_ref.0e3753.1 [symbolic]
|
||||
// CHECK:STDOUT: %assoc0.9b9b19.1: %Op.assoc_type.2ba = assoc_entity element0, imports.%Main.import_ref.0e3753.1 [symbolic]
|
||||
// CHECK:STDOUT: %Op.type.54d: type = fn_type @Op.1, @Action(%B) [template]
|
||||
// CHECK:STDOUT: %Op.dba: %Op.type.54d = struct_value () [template]
|
||||
// CHECK:STDOUT: %Op.assoc_type.e7a: type = assoc_entity_type %Action.type.cb0, %Op.type.54d [template]
|
||||
// CHECK:STDOUT: %assoc0.b39: %Op.assoc_type.e7a = assoc_entity element0, imports.%import_ref.0e3753.2 [template]
|
||||
// CHECK:STDOUT: %assoc0.b39: %Op.assoc_type.e7a = assoc_entity element0, imports.%Main.import_ref.0e3753.2 [template]
|
||||
// CHECK:STDOUT: %G.type: type = fn_type @G [template]
|
||||
// CHECK:STDOUT: %G: %G.type = struct_value () [template]
|
||||
// CHECK:STDOUT: %assoc0.9b9b19.2: %Op.assoc_type.2ba = assoc_entity element0, imports.%import_ref.0e3753.3 [symbolic]
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (imports.%import_ref.d0b) [template]
|
||||
// CHECK:STDOUT: %assoc0.9b9b19.2: %Op.assoc_type.2ba = assoc_entity element0, imports.%Main.import_ref.0e3753.3 [symbolic]
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (imports.%Main.import_ref.d0b) [template]
|
||||
// CHECK:STDOUT: %Op.type.4b4: type = fn_type @Op.2 [template]
|
||||
// CHECK:STDOUT: %Op.40d: %Op.type.4b4 = struct_value () [template]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.10a: %Action.type.29c = import_ref Main//action, Action, loaded [template = constants.%Action.generic]
|
||||
// CHECK:STDOUT: %import_ref.e62: type = import_ref Main//action, A, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %import_ref.dd8: type = import_ref Main//action, B, loaded [template = constants.%B]
|
||||
// CHECK:STDOUT: %import_ref.f42 = import_ref Main//action, C, unloaded
|
||||
// CHECK:STDOUT: %import_ref.bde = import_ref Main//action, F, unloaded
|
||||
// CHECK:STDOUT: %import_ref.71c: <witness> = import_ref Main//action, loc12_21, loaded [template = constants.%impl_witness]
|
||||
// CHECK:STDOUT: %import_ref.8f24d3.1: <witness> = import_ref Main//action, loc9_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.54a = import_ref Main//action, inst46 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.ddc = import_ref Main//action, inst26 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.f86: @Action.%Op.assoc_type (%Op.assoc_type.2ba) = import_ref Main//action, loc5_10, loaded [symbolic = @Action.%assoc0 (constants.%assoc0.9b9b19.2)]
|
||||
// CHECK:STDOUT: %import_ref.ae2 = import_ref Main//action, Op, unloaded
|
||||
// CHECK:STDOUT: %import_ref.8f24d3.2: <witness> = import_ref Main//action, loc8_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.da3 = import_ref Main//action, inst41 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.984: type = import_ref Main//action, loc12_6, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %import_ref.bb2: type = import_ref Main//action, loc12_19, loaded [template = constants.%Action.type.cb0]
|
||||
// CHECK:STDOUT: %import_ref.7b5 = import_ref Main//action, loc13_11, unloaded
|
||||
// CHECK:STDOUT: %import_ref.0e3753.1 = import_ref Main//action, loc5_10, unloaded
|
||||
// CHECK:STDOUT: %Main.Action: %Action.type.29c = import_ref Main//action, Action, loaded [template = constants.%Action.generic]
|
||||
// CHECK:STDOUT: %Main.A: type = import_ref Main//action, A, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %Main.B: type = import_ref Main//action, B, loaded [template = constants.%B]
|
||||
// CHECK:STDOUT: %Main.C = import_ref Main//action, C, unloaded
|
||||
// CHECK:STDOUT: %Main.F = import_ref Main//action, F, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.71c: <witness> = import_ref Main//action, loc12_21, loaded [template = constants.%impl_witness]
|
||||
// CHECK:STDOUT: %Main.import_ref.8f24d3.1: <witness> = import_ref Main//action, loc9_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.54a = import_ref Main//action, inst46 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.ddc = import_ref Main//action, inst26 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.f86: @Action.%Op.assoc_type (%Op.assoc_type.2ba) = import_ref Main//action, loc5_10, loaded [symbolic = @Action.%assoc0 (constants.%assoc0.9b9b19.2)]
|
||||
// CHECK:STDOUT: %Main.Op = import_ref Main//action, Op, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.8f24d3.2: <witness> = import_ref Main//action, loc8_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.da3 = import_ref Main//action, inst41 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.984: type = import_ref Main//action, loc12_6, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %Main.import_ref.bb2: type = import_ref Main//action, loc12_19, loaded [template = constants.%Action.type.cb0]
|
||||
// CHECK:STDOUT: %Main.import_ref.7b5 = import_ref Main//action, loc13_11, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.0e3753.1 = import_ref Main//action, loc5_10, unloaded
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .Action = imports.%import_ref.10a
|
||||
// CHECK:STDOUT: .A = imports.%import_ref.e62
|
||||
// CHECK:STDOUT: .B = imports.%import_ref.dd8
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.f42
|
||||
// CHECK:STDOUT: .F = imports.%import_ref.bde
|
||||
// CHECK:STDOUT: .Action = imports.%Main.Action
|
||||
// CHECK:STDOUT: .A = imports.%Main.A
|
||||
// CHECK:STDOUT: .B = imports.%Main.B
|
||||
// CHECK:STDOUT: .C = imports.%Main.C
|
||||
// CHECK:STDOUT: .F = imports.%Main.F
|
||||
// CHECK:STDOUT: .G = %G.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import.loc2_6.1 = import <invalid>
|
||||
@@ -316,7 +316,7 @@ fn MakeC(a: A) -> C {
|
||||
// CHECK:STDOUT: %a.param_patt: %A = value_param_pattern %a.patt, runtime_param0
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %a.param: %A = value_param runtime_param0
|
||||
// CHECK:STDOUT: %A.ref: type = name_ref A, imports.%import_ref.e62 [template = constants.%A]
|
||||
// CHECK:STDOUT: %A.ref: type = name_ref A, imports.%Main.A [template = constants.%A]
|
||||
// CHECK:STDOUT: %a: %A = bind_name a, %a.param
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
@@ -331,34 +331,34 @@ fn MakeC(a: A) -> C {
|
||||
// CHECK:STDOUT: %Op.type: type = fn_type @Op.1, @Action(%T) [symbolic = %Op.type (constants.%Op.type.036)]
|
||||
// CHECK:STDOUT: %Op: @Action.%Op.type (%Op.type.036) = struct_value () [symbolic = %Op (constants.%Op.6ed)]
|
||||
// CHECK:STDOUT: %Op.assoc_type: type = assoc_entity_type @Action.%Action.type (%Action.type.cca), @Action.%Op.type (%Op.type.036) [symbolic = %Op.assoc_type (constants.%Op.assoc_type.2ba)]
|
||||
// CHECK:STDOUT: %assoc0: @Action.%Op.assoc_type (%Op.assoc_type.2ba) = assoc_entity element0, imports.%import_ref.0e3753.1 [symbolic = %assoc0 (constants.%assoc0.9b9b19.1)]
|
||||
// CHECK:STDOUT: %assoc0: @Action.%Op.assoc_type (%Op.assoc_type.2ba) = assoc_entity element0, imports.%Main.import_ref.0e3753.1 [symbolic = %assoc0 (constants.%assoc0.9b9b19.1)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.ddc
|
||||
// CHECK:STDOUT: .Op = imports.%import_ref.f86
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.ae2)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.ddc
|
||||
// CHECK:STDOUT: .Op = imports.%Main.import_ref.f86
|
||||
// CHECK:STDOUT: witness = (imports.%Main.Op)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl: imports.%import_ref.984 as imports.%import_ref.bb2 [from "action.carbon"] {
|
||||
// CHECK:STDOUT: impl @impl: imports.%Main.import_ref.984 as imports.%Main.import_ref.bb2 [from "action.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Op = imports.%import_ref.7b5
|
||||
// CHECK:STDOUT: witness = imports.%import_ref.71c
|
||||
// CHECK:STDOUT: .Op = imports.%Main.import_ref.7b5
|
||||
// CHECK:STDOUT: witness = imports.%Main.import_ref.71c
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @B [from "action.carbon"] {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8f24d3.1
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8f24d3.1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.54a
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.54a
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @A [from "action.carbon"] {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8f24d3.2
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8f24d3.2
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.da3
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.da3
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: generic fn @Op.1(constants.%T: type, constants.%Self: %Action.type.cca) [from "action.carbon"] {
|
||||
@@ -369,10 +369,10 @@ fn MakeC(a: A) -> C {
|
||||
// CHECK:STDOUT: fn @G(%a.param_patt: %A) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %A = name_ref a, %a
|
||||
// CHECK:STDOUT: %Action.ref: %Action.type.29c = name_ref Action, imports.%import_ref.10a [template = constants.%Action.generic]
|
||||
// CHECK:STDOUT: %B.ref: type = name_ref B, imports.%import_ref.dd8 [template = constants.%B]
|
||||
// CHECK:STDOUT: %Action.ref: %Action.type.29c = name_ref Action, imports.%Main.Action [template = constants.%Action.generic]
|
||||
// CHECK:STDOUT: %B.ref: type = name_ref B, imports.%Main.B [template = constants.%B]
|
||||
// CHECK:STDOUT: %Action.type: type = facet_type <@Action, @Action(constants.%B)> [template = constants.%Action.type.cb0]
|
||||
// CHECK:STDOUT: %.loc4: %Op.assoc_type.e7a = specific_constant imports.%import_ref.f86, @Action(constants.%B) [template = constants.%assoc0.b39]
|
||||
// CHECK:STDOUT: %.loc4: %Op.assoc_type.e7a = specific_constant imports.%Main.import_ref.f86, @Action(constants.%B) [template = constants.%assoc0.b39]
|
||||
// CHECK:STDOUT: %Op.ref: %Op.assoc_type.e7a = name_ref Op, %.loc4 [template = constants.%assoc0.b39]
|
||||
// CHECK:STDOUT: %impl.elem0: %Op.type.54d = impl_witness_access constants.%impl_witness, element0 [template = constants.%Op.40d]
|
||||
// CHECK:STDOUT: %Op.call: init %empty_tuple.type = call %impl.elem0()
|
||||
@@ -420,11 +420,11 @@ fn MakeC(a: A) -> C {
|
||||
// CHECK:STDOUT: %Op.type.036: type = fn_type @Op, @Action(%T) [symbolic]
|
||||
// CHECK:STDOUT: %Op.6ed: %Op.type.036 = struct_value () [symbolic]
|
||||
// CHECK:STDOUT: %Op.assoc_type.2ba: type = assoc_entity_type %Action.type.cca, %Op.type.036 [symbolic]
|
||||
// CHECK:STDOUT: %assoc0.9b9b19.1: %Op.assoc_type.2ba = assoc_entity element0, imports.%import_ref.0e3753.1 [symbolic]
|
||||
// CHECK:STDOUT: %assoc0.9b9b19.1: %Op.assoc_type.2ba = assoc_entity element0, imports.%Main.import_ref.0e3753.1 [symbolic]
|
||||
// CHECK:STDOUT: %Op.type.54d: type = fn_type @Op, @Action(%B) [template]
|
||||
// CHECK:STDOUT: %Op.dba: %Op.type.54d = struct_value () [template]
|
||||
// CHECK:STDOUT: %Op.assoc_type.e7a: type = assoc_entity_type %Action.type.cb0, %Op.type.54d [template]
|
||||
// CHECK:STDOUT: %assoc0.b39: %Op.assoc_type.e7a = assoc_entity element0, imports.%import_ref.0e3753.2 [template]
|
||||
// CHECK:STDOUT: %assoc0.b39: %Op.assoc_type.e7a = assoc_entity element0, imports.%Main.import_ref.0e3753.2 [template]
|
||||
// CHECK:STDOUT: %G.type: type = fn_type @G [template]
|
||||
// CHECK:STDOUT: %G: %G.type = struct_value () [template]
|
||||
// CHECK:STDOUT: %C: type = class_type @C [template]
|
||||
@@ -432,39 +432,39 @@ fn MakeC(a: A) -> C {
|
||||
// CHECK:STDOUT: %Op.type.5ad: type = fn_type @Op, @Action(%C) [template]
|
||||
// CHECK:STDOUT: %Op.b10: %Op.type.5ad = struct_value () [template]
|
||||
// CHECK:STDOUT: %Op.assoc_type.17b: type = assoc_entity_type %Action.type.e2b, %Op.type.5ad [template]
|
||||
// CHECK:STDOUT: %assoc0.ccd: %Op.assoc_type.17b = assoc_entity element0, imports.%import_ref.0e3753.1 [template]
|
||||
// CHECK:STDOUT: %assoc0.9b9b19.2: %Op.assoc_type.2ba = assoc_entity element0, imports.%import_ref.0e3753.3 [symbolic]
|
||||
// CHECK:STDOUT: %assoc0.ccd: %Op.assoc_type.17b = assoc_entity element0, imports.%Main.import_ref.0e3753.1 [template]
|
||||
// CHECK:STDOUT: %assoc0.9b9b19.2: %Op.assoc_type.2ba = assoc_entity element0, imports.%Main.import_ref.0e3753.3 [symbolic]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.10a: %Action.type.29c = import_ref Main//action, Action, loaded [template = constants.%Action.generic]
|
||||
// CHECK:STDOUT: %import_ref.e62: type = import_ref Main//action, A, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %import_ref.81b = import_ref Main//action, B, unloaded
|
||||
// CHECK:STDOUT: %import_ref.3b0: type = import_ref Main//action, C, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %import_ref.bde = import_ref Main//action, F, unloaded
|
||||
// CHECK:STDOUT: %import_ref.7a1 = import_ref Main//action, loc12_21, unloaded
|
||||
// CHECK:STDOUT: %import_ref.8f24d3.1: <witness> = import_ref Main//action, loc9_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.54a = import_ref Main//action, inst46 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.ddc = import_ref Main//action, inst26 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.f86: @Action.%Op.assoc_type (%Op.assoc_type.2ba) = import_ref Main//action, loc5_10, loaded [symbolic = @Action.%assoc0 (constants.%assoc0.9b9b19.2)]
|
||||
// CHECK:STDOUT: %import_ref.ae2 = import_ref Main//action, Op, unloaded
|
||||
// CHECK:STDOUT: %import_ref.8f24d3.2: <witness> = import_ref Main//action, loc8_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.da3 = import_ref Main//action, inst41 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.984: type = import_ref Main//action, loc12_6, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %import_ref.bb2: type = import_ref Main//action, loc12_19, loaded [template = constants.%Action.type.cb0]
|
||||
// CHECK:STDOUT: %import_ref.7b5 = import_ref Main//action, loc13_11, unloaded
|
||||
// CHECK:STDOUT: %import_ref.0e3753.1 = import_ref Main//action, loc5_10, unloaded
|
||||
// CHECK:STDOUT: %import_ref.8f24d3.3: <witness> = import_ref Main//action, loc10_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.2c4 = import_ref Main//action, inst49 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.Action: %Action.type.29c = import_ref Main//action, Action, loaded [template = constants.%Action.generic]
|
||||
// CHECK:STDOUT: %Main.A: type = import_ref Main//action, A, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %Main.B = import_ref Main//action, B, unloaded
|
||||
// CHECK:STDOUT: %Main.C: type = import_ref Main//action, C, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %Main.F = import_ref Main//action, F, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.7a1 = import_ref Main//action, loc12_21, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.8f24d3.1: <witness> = import_ref Main//action, loc9_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.54a = import_ref Main//action, inst46 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.ddc = import_ref Main//action, inst26 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.f86: @Action.%Op.assoc_type (%Op.assoc_type.2ba) = import_ref Main//action, loc5_10, loaded [symbolic = @Action.%assoc0 (constants.%assoc0.9b9b19.2)]
|
||||
// CHECK:STDOUT: %Main.Op = import_ref Main//action, Op, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.8f24d3.2: <witness> = import_ref Main//action, loc8_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.da3 = import_ref Main//action, inst41 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.984: type = import_ref Main//action, loc12_6, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %Main.import_ref.bb2: type = import_ref Main//action, loc12_19, loaded [template = constants.%Action.type.cb0]
|
||||
// CHECK:STDOUT: %Main.import_ref.7b5 = import_ref Main//action, loc13_11, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.0e3753.1 = import_ref Main//action, loc5_10, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.8f24d3.3: <witness> = import_ref Main//action, loc10_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.2c4 = import_ref Main//action, inst49 [no loc], unloaded
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .Action = imports.%import_ref.10a
|
||||
// CHECK:STDOUT: .A = imports.%import_ref.e62
|
||||
// CHECK:STDOUT: .B = imports.%import_ref.81b
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.3b0
|
||||
// CHECK:STDOUT: .F = imports.%import_ref.bde
|
||||
// CHECK:STDOUT: .Action = imports.%Main.Action
|
||||
// CHECK:STDOUT: .A = imports.%Main.A
|
||||
// CHECK:STDOUT: .B = imports.%Main.B
|
||||
// CHECK:STDOUT: .C = imports.%Main.C
|
||||
// CHECK:STDOUT: .F = imports.%Main.F
|
||||
// CHECK:STDOUT: .G = %G.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import.loc2_6.1 = import <invalid>
|
||||
@@ -474,7 +474,7 @@ fn MakeC(a: A) -> C {
|
||||
// CHECK:STDOUT: %a.param_patt: %A = value_param_pattern %a.patt, runtime_param0
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %a.param: %A = value_param runtime_param0
|
||||
// CHECK:STDOUT: %A.ref: type = name_ref A, imports.%import_ref.e62 [template = constants.%A]
|
||||
// CHECK:STDOUT: %A.ref: type = name_ref A, imports.%Main.A [template = constants.%A]
|
||||
// CHECK:STDOUT: %a: %A = bind_name a, %a.param
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
@@ -489,41 +489,41 @@ fn MakeC(a: A) -> C {
|
||||
// CHECK:STDOUT: %Op.type: type = fn_type @Op, @Action(%T) [symbolic = %Op.type (constants.%Op.type.036)]
|
||||
// CHECK:STDOUT: %Op: @Action.%Op.type (%Op.type.036) = struct_value () [symbolic = %Op (constants.%Op.6ed)]
|
||||
// CHECK:STDOUT: %Op.assoc_type: type = assoc_entity_type @Action.%Action.type (%Action.type.cca), @Action.%Op.type (%Op.type.036) [symbolic = %Op.assoc_type (constants.%Op.assoc_type.2ba)]
|
||||
// CHECK:STDOUT: %assoc0: @Action.%Op.assoc_type (%Op.assoc_type.2ba) = assoc_entity element0, imports.%import_ref.0e3753.1 [symbolic = %assoc0 (constants.%assoc0.9b9b19.1)]
|
||||
// CHECK:STDOUT: %assoc0: @Action.%Op.assoc_type (%Op.assoc_type.2ba) = assoc_entity element0, imports.%Main.import_ref.0e3753.1 [symbolic = %assoc0 (constants.%assoc0.9b9b19.1)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.ddc
|
||||
// CHECK:STDOUT: .Op = imports.%import_ref.f86
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.ae2)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.ddc
|
||||
// CHECK:STDOUT: .Op = imports.%Main.import_ref.f86
|
||||
// CHECK:STDOUT: witness = (imports.%Main.Op)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl: imports.%import_ref.984 as imports.%import_ref.bb2 [from "action.carbon"] {
|
||||
// CHECK:STDOUT: impl @impl: imports.%Main.import_ref.984 as imports.%Main.import_ref.bb2 [from "action.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Op = imports.%import_ref.7b5
|
||||
// CHECK:STDOUT: witness = imports.%import_ref.7a1
|
||||
// CHECK:STDOUT: .Op = imports.%Main.import_ref.7b5
|
||||
// CHECK:STDOUT: witness = imports.%Main.import_ref.7a1
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @B [from "action.carbon"] {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8f24d3.1
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8f24d3.1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.54a
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.54a
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @A [from "action.carbon"] {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8f24d3.2
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8f24d3.2
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.da3
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.da3
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @C [from "action.carbon"] {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8f24d3.3
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8f24d3.3
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.2c4
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.2c4
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: generic fn @Op(constants.%T: type, constants.%Self: %Action.type.cca) [from "action.carbon"] {
|
||||
@@ -534,10 +534,10 @@ fn MakeC(a: A) -> C {
|
||||
// CHECK:STDOUT: fn @G(%a.param_patt: %A) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %A = name_ref a, %a
|
||||
// CHECK:STDOUT: %Action.ref: %Action.type.29c = name_ref Action, imports.%import_ref.10a [template = constants.%Action.generic]
|
||||
// CHECK:STDOUT: %C.ref: type = name_ref C, imports.%import_ref.3b0 [template = constants.%C]
|
||||
// CHECK:STDOUT: %Action.ref: %Action.type.29c = name_ref Action, imports.%Main.Action [template = constants.%Action.generic]
|
||||
// CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [template = constants.%C]
|
||||
// CHECK:STDOUT: %Action.type: type = facet_type <@Action, @Action(constants.%C)> [template = constants.%Action.type.e2b]
|
||||
// CHECK:STDOUT: %.loc8: %Op.assoc_type.17b = specific_constant imports.%import_ref.f86, @Action(constants.%C) [template = constants.%assoc0.ccd]
|
||||
// CHECK:STDOUT: %.loc8: %Op.assoc_type.17b = specific_constant imports.%Main.import_ref.f86, @Action(constants.%C) [template = constants.%assoc0.ccd]
|
||||
// CHECK:STDOUT: %Op.ref: %Op.assoc_type.17b = name_ref Op, %.loc8 [template = constants.%assoc0.ccd]
|
||||
// CHECK:STDOUT: return
|
||||
// CHECK:STDOUT: }
|
||||
@@ -744,42 +744,42 @@ fn MakeC(a: A) -> C {
|
||||
// CHECK:STDOUT: %Make.type.598: type = fn_type @Make.1, @Factory(%T) [symbolic]
|
||||
// CHECK:STDOUT: %Make.737: %Make.type.598 = struct_value () [symbolic]
|
||||
// CHECK:STDOUT: %Make.assoc_type.4d9: type = assoc_entity_type %Factory.type.c96, %Make.type.598 [symbolic]
|
||||
// CHECK:STDOUT: %assoc0.9270f3.1: %Make.assoc_type.4d9 = assoc_entity element0, imports.%import_ref.21018a.1 [symbolic]
|
||||
// CHECK:STDOUT: %assoc0.9270f3.1: %Make.assoc_type.4d9 = assoc_entity element0, imports.%Main.import_ref.21018a.1 [symbolic]
|
||||
// CHECK:STDOUT: %Make.type.c59: type = fn_type @Make.1, @Factory(%B) [template]
|
||||
// CHECK:STDOUT: %Make.efe: %Make.type.c59 = struct_value () [template]
|
||||
// CHECK:STDOUT: %Make.assoc_type.6c6: type = assoc_entity_type %Factory.type.a5d, %Make.type.c59 [template]
|
||||
// CHECK:STDOUT: %assoc0.c38: %Make.assoc_type.6c6 = assoc_entity element0, imports.%import_ref.21018a.2 [template]
|
||||
// CHECK:STDOUT: %assoc0.c38: %Make.assoc_type.6c6 = assoc_entity element0, imports.%Main.import_ref.21018a.2 [template]
|
||||
// CHECK:STDOUT: %MakeB.type: type = fn_type @MakeB [template]
|
||||
// CHECK:STDOUT: %MakeB: %MakeB.type = struct_value () [template]
|
||||
// CHECK:STDOUT: %assoc0.9270f3.2: %Make.assoc_type.4d9 = assoc_entity element0, imports.%import_ref.21018a.3 [symbolic]
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (imports.%import_ref.9ec) [template]
|
||||
// CHECK:STDOUT: %assoc0.9270f3.2: %Make.assoc_type.4d9 = assoc_entity element0, imports.%Main.import_ref.21018a.3 [symbolic]
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness (imports.%Main.import_ref.9ec) [template]
|
||||
// CHECK:STDOUT: %Make.type.ec4: type = fn_type @Make.2 [template]
|
||||
// CHECK:STDOUT: %Make.377: %Make.type.ec4 = struct_value () [template]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.e3d: %Factory.type.1a8 = import_ref Main//factory, Factory, loaded [template = constants.%Factory.generic]
|
||||
// CHECK:STDOUT: %import_ref.e62: type = import_ref Main//factory, A, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %import_ref.dd8: type = import_ref Main//factory, B, loaded [template = constants.%B]
|
||||
// CHECK:STDOUT: %import_ref.72b: <witness> = import_ref Main//factory, loc11_22, loaded [template = constants.%impl_witness]
|
||||
// CHECK:STDOUT: %import_ref.8f24d3.1: <witness> = import_ref Main//factory, loc9_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.54a = import_ref Main//factory, inst52 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.fbb = import_ref Main//factory, inst26 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.b0a: @Factory.%Make.assoc_type (%Make.assoc_type.4d9) = import_ref Main//factory, loc5_17, loaded [symbolic = @Factory.%assoc0 (constants.%assoc0.9270f3.2)]
|
||||
// CHECK:STDOUT: %import_ref.c20 = import_ref Main//factory, Make, unloaded
|
||||
// CHECK:STDOUT: %import_ref.8f24d3.2: <witness> = import_ref Main//factory, loc8_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.da3 = import_ref Main//factory, inst47 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.984: type = import_ref Main//factory, loc11_6, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %import_ref.bd2: type = import_ref Main//factory, loc11_20, loaded [template = constants.%Factory.type.a5d]
|
||||
// CHECK:STDOUT: %import_ref.a27 = import_ref Main//factory, loc12_17, unloaded
|
||||
// CHECK:STDOUT: %import_ref.21018a.1 = import_ref Main//factory, loc5_17, unloaded
|
||||
// CHECK:STDOUT: %Main.Factory: %Factory.type.1a8 = import_ref Main//factory, Factory, loaded [template = constants.%Factory.generic]
|
||||
// CHECK:STDOUT: %Main.A: type = import_ref Main//factory, A, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %Main.B: type = import_ref Main//factory, B, loaded [template = constants.%B]
|
||||
// CHECK:STDOUT: %Main.import_ref.72b: <witness> = import_ref Main//factory, loc11_22, loaded [template = constants.%impl_witness]
|
||||
// CHECK:STDOUT: %Main.import_ref.8f24d3.1: <witness> = import_ref Main//factory, loc9_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.54a = import_ref Main//factory, inst52 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.fbb = import_ref Main//factory, inst26 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.b0a: @Factory.%Make.assoc_type (%Make.assoc_type.4d9) = import_ref Main//factory, loc5_17, loaded [symbolic = @Factory.%assoc0 (constants.%assoc0.9270f3.2)]
|
||||
// CHECK:STDOUT: %Main.Make = import_ref Main//factory, Make, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.8f24d3.2: <witness> = import_ref Main//factory, loc8_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.da3 = import_ref Main//factory, inst47 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.984: type = import_ref Main//factory, loc11_6, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %Main.import_ref.bd2: type = import_ref Main//factory, loc11_20, loaded [template = constants.%Factory.type.a5d]
|
||||
// CHECK:STDOUT: %Main.import_ref.a27 = import_ref Main//factory, loc12_17, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.21018a.1 = import_ref Main//factory, loc5_17, unloaded
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .Factory = imports.%import_ref.e3d
|
||||
// CHECK:STDOUT: .A = imports.%import_ref.e62
|
||||
// CHECK:STDOUT: .B = imports.%import_ref.dd8
|
||||
// CHECK:STDOUT: .Factory = imports.%Main.Factory
|
||||
// CHECK:STDOUT: .A = imports.%Main.A
|
||||
// CHECK:STDOUT: .B = imports.%Main.B
|
||||
// CHECK:STDOUT: .MakeB = %MakeB.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import.loc2_6.1 = import <invalid>
|
||||
@@ -790,9 +790,9 @@ fn MakeC(a: A) -> C {
|
||||
// CHECK:STDOUT: %return.patt: %B = return_slot_pattern
|
||||
// CHECK:STDOUT: %return.param_patt: %B = out_param_pattern %return.patt, runtime_param1
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %B.ref.loc4: type = name_ref B, imports.%import_ref.dd8 [template = constants.%B]
|
||||
// CHECK:STDOUT: %B.ref.loc4: type = name_ref B, imports.%Main.B [template = constants.%B]
|
||||
// CHECK:STDOUT: %a.param: %A = value_param runtime_param0
|
||||
// CHECK:STDOUT: %A.ref: type = name_ref A, imports.%import_ref.e62 [template = constants.%A]
|
||||
// CHECK:STDOUT: %A.ref: type = name_ref A, imports.%Main.A [template = constants.%A]
|
||||
// CHECK:STDOUT: %a: %A = bind_name a, %a.param
|
||||
// CHECK:STDOUT: %return.param: ref %B = out_param runtime_param1
|
||||
// CHECK:STDOUT: %return: ref %B = return_slot %return.param
|
||||
@@ -809,34 +809,34 @@ fn MakeC(a: A) -> C {
|
||||
// CHECK:STDOUT: %Make.type: type = fn_type @Make.1, @Factory(%T) [symbolic = %Make.type (constants.%Make.type.598)]
|
||||
// CHECK:STDOUT: %Make: @Factory.%Make.type (%Make.type.598) = struct_value () [symbolic = %Make (constants.%Make.737)]
|
||||
// CHECK:STDOUT: %Make.assoc_type: type = assoc_entity_type @Factory.%Factory.type (%Factory.type.c96), @Factory.%Make.type (%Make.type.598) [symbolic = %Make.assoc_type (constants.%Make.assoc_type.4d9)]
|
||||
// CHECK:STDOUT: %assoc0: @Factory.%Make.assoc_type (%Make.assoc_type.4d9) = assoc_entity element0, imports.%import_ref.21018a.1 [symbolic = %assoc0 (constants.%assoc0.9270f3.1)]
|
||||
// CHECK:STDOUT: %assoc0: @Factory.%Make.assoc_type (%Make.assoc_type.4d9) = assoc_entity element0, imports.%Main.import_ref.21018a.1 [symbolic = %assoc0 (constants.%assoc0.9270f3.1)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.fbb
|
||||
// CHECK:STDOUT: .Make = imports.%import_ref.b0a
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.c20)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.fbb
|
||||
// CHECK:STDOUT: .Make = imports.%Main.import_ref.b0a
|
||||
// CHECK:STDOUT: witness = (imports.%Main.Make)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl: imports.%import_ref.984 as imports.%import_ref.bd2 [from "factory.carbon"] {
|
||||
// CHECK:STDOUT: impl @impl: imports.%Main.import_ref.984 as imports.%Main.import_ref.bd2 [from "factory.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Make = imports.%import_ref.a27
|
||||
// CHECK:STDOUT: witness = imports.%import_ref.72b
|
||||
// CHECK:STDOUT: .Make = imports.%Main.import_ref.a27
|
||||
// CHECK:STDOUT: witness = imports.%Main.import_ref.72b
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @B [from "factory.carbon"] {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8f24d3.1
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8f24d3.1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.54a
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.54a
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @A [from "factory.carbon"] {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8f24d3.2
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8f24d3.2
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.da3
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.da3
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: generic fn @Make.1(constants.%T: type, constants.%Self: %Factory.type.c96) [from "factory.carbon"] {
|
||||
@@ -848,10 +848,10 @@ fn MakeC(a: A) -> C {
|
||||
// CHECK:STDOUT: fn @MakeB(%a.param_patt: %A) -> %return.param_patt: %B {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %A = name_ref a, %a
|
||||
// CHECK:STDOUT: %Factory.ref: %Factory.type.1a8 = name_ref Factory, imports.%import_ref.e3d [template = constants.%Factory.generic]
|
||||
// CHECK:STDOUT: %B.ref.loc5: type = name_ref B, imports.%import_ref.dd8 [template = constants.%B]
|
||||
// CHECK:STDOUT: %Factory.ref: %Factory.type.1a8 = name_ref Factory, imports.%Main.Factory [template = constants.%Factory.generic]
|
||||
// CHECK:STDOUT: %B.ref.loc5: type = name_ref B, imports.%Main.B [template = constants.%B]
|
||||
// CHECK:STDOUT: %Factory.type: type = facet_type <@Factory, @Factory(constants.%B)> [template = constants.%Factory.type.a5d]
|
||||
// CHECK:STDOUT: %.loc5: %Make.assoc_type.6c6 = specific_constant imports.%import_ref.b0a, @Factory(constants.%B) [template = constants.%assoc0.c38]
|
||||
// CHECK:STDOUT: %.loc5: %Make.assoc_type.6c6 = specific_constant imports.%Main.import_ref.b0a, @Factory(constants.%B) [template = constants.%assoc0.c38]
|
||||
// CHECK:STDOUT: %Make.ref: %Make.assoc_type.6c6 = name_ref Make, %.loc5 [template = constants.%assoc0.c38]
|
||||
// CHECK:STDOUT: %impl.elem0: %Make.type.c59 = impl_witness_access constants.%impl_witness, element0 [template = constants.%Make.377]
|
||||
// CHECK:STDOUT: %.loc4: ref %B = splice_block %return {}
|
||||
@@ -902,11 +902,11 @@ fn MakeC(a: A) -> C {
|
||||
// CHECK:STDOUT: %Make.type.598: type = fn_type @Make, @Factory(%T) [symbolic]
|
||||
// CHECK:STDOUT: %Make.737: %Make.type.598 = struct_value () [symbolic]
|
||||
// CHECK:STDOUT: %Make.assoc_type.4d9: type = assoc_entity_type %Factory.type.c96, %Make.type.598 [symbolic]
|
||||
// CHECK:STDOUT: %assoc0.9270f3.1: %Make.assoc_type.4d9 = assoc_entity element0, imports.%import_ref.21018a.1 [symbolic]
|
||||
// CHECK:STDOUT: %assoc0.9270f3.1: %Make.assoc_type.4d9 = assoc_entity element0, imports.%Main.import_ref.21018a.1 [symbolic]
|
||||
// CHECK:STDOUT: %Make.type.c59: type = fn_type @Make, @Factory(%B) [template]
|
||||
// CHECK:STDOUT: %Make.efe: %Make.type.c59 = struct_value () [template]
|
||||
// CHECK:STDOUT: %Make.assoc_type.6c6: type = assoc_entity_type %Factory.type.a5d, %Make.type.c59 [template]
|
||||
// CHECK:STDOUT: %assoc0.c38: %Make.assoc_type.6c6 = assoc_entity element0, imports.%import_ref.21018a.2 [template]
|
||||
// CHECK:STDOUT: %assoc0.c38: %Make.assoc_type.6c6 = assoc_entity element0, imports.%Main.import_ref.21018a.2 [template]
|
||||
// CHECK:STDOUT: %C: type = class_type @C [template]
|
||||
// CHECK:STDOUT: %MakeC.type: type = fn_type @MakeC [template]
|
||||
// CHECK:STDOUT: %MakeC: %MakeC.type = struct_value () [template]
|
||||
@@ -914,33 +914,33 @@ fn MakeC(a: A) -> C {
|
||||
// CHECK:STDOUT: %Make.type.0de: type = fn_type @Make, @Factory(%C) [template]
|
||||
// CHECK:STDOUT: %Make.8ba: %Make.type.0de = struct_value () [template]
|
||||
// CHECK:STDOUT: %Make.assoc_type.2ea: type = assoc_entity_type %Factory.type.5c5, %Make.type.0de [template]
|
||||
// CHECK:STDOUT: %assoc0.9a3: %Make.assoc_type.2ea = assoc_entity element0, imports.%import_ref.21018a.1 [template]
|
||||
// CHECK:STDOUT: %assoc0.9270f3.2: %Make.assoc_type.4d9 = assoc_entity element0, imports.%import_ref.21018a.3 [symbolic]
|
||||
// CHECK:STDOUT: %assoc0.9a3: %Make.assoc_type.2ea = assoc_entity element0, imports.%Main.import_ref.21018a.1 [template]
|
||||
// CHECK:STDOUT: %assoc0.9270f3.2: %Make.assoc_type.4d9 = assoc_entity element0, imports.%Main.import_ref.21018a.3 [symbolic]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.e3d: %Factory.type.1a8 = import_ref Main//factory, Factory, loaded [template = constants.%Factory.generic]
|
||||
// CHECK:STDOUT: %import_ref.e62: type = import_ref Main//factory, A, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %import_ref.81b = import_ref Main//factory, B, unloaded
|
||||
// CHECK:STDOUT: %import_ref.3e9 = import_ref Main//factory, loc11_22, unloaded
|
||||
// CHECK:STDOUT: %import_ref.8f24d3.1: <witness> = import_ref Main//factory, loc9_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.54a = import_ref Main//factory, inst52 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.fbb = import_ref Main//factory, inst26 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.b0a: @Factory.%Make.assoc_type (%Make.assoc_type.4d9) = import_ref Main//factory, loc5_17, loaded [symbolic = @Factory.%assoc0 (constants.%assoc0.9270f3.2)]
|
||||
// CHECK:STDOUT: %import_ref.c20 = import_ref Main//factory, Make, unloaded
|
||||
// CHECK:STDOUT: %import_ref.8f24d3.2: <witness> = import_ref Main//factory, loc8_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.da3 = import_ref Main//factory, inst47 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.984: type = import_ref Main//factory, loc11_6, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %import_ref.bd2: type = import_ref Main//factory, loc11_20, loaded [template = constants.%Factory.type.a5d]
|
||||
// CHECK:STDOUT: %import_ref.a27 = import_ref Main//factory, loc12_17, unloaded
|
||||
// CHECK:STDOUT: %import_ref.21018a.1 = import_ref Main//factory, loc5_17, unloaded
|
||||
// CHECK:STDOUT: %Main.Factory: %Factory.type.1a8 = import_ref Main//factory, Factory, loaded [template = constants.%Factory.generic]
|
||||
// CHECK:STDOUT: %Main.A: type = import_ref Main//factory, A, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %Main.B = import_ref Main//factory, B, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.3e9 = import_ref Main//factory, loc11_22, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.8f24d3.1: <witness> = import_ref Main//factory, loc9_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.54a = import_ref Main//factory, inst52 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.fbb = import_ref Main//factory, inst26 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.b0a: @Factory.%Make.assoc_type (%Make.assoc_type.4d9) = import_ref Main//factory, loc5_17, loaded [symbolic = @Factory.%assoc0 (constants.%assoc0.9270f3.2)]
|
||||
// CHECK:STDOUT: %Main.Make = import_ref Main//factory, Make, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.8f24d3.2: <witness> = import_ref Main//factory, loc8_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.da3 = import_ref Main//factory, inst47 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.984: type = import_ref Main//factory, loc11_6, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %Main.import_ref.bd2: type = import_ref Main//factory, loc11_20, loaded [template = constants.%Factory.type.a5d]
|
||||
// CHECK:STDOUT: %Main.import_ref.a27 = import_ref Main//factory, loc12_17, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.21018a.1 = import_ref Main//factory, loc5_17, unloaded
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .Factory = imports.%import_ref.e3d
|
||||
// CHECK:STDOUT: .A = imports.%import_ref.e62
|
||||
// CHECK:STDOUT: .B = imports.%import_ref.81b
|
||||
// CHECK:STDOUT: .Factory = imports.%Main.Factory
|
||||
// CHECK:STDOUT: .A = imports.%Main.A
|
||||
// CHECK:STDOUT: .B = imports.%Main.B
|
||||
// CHECK:STDOUT: .C = %C.decl
|
||||
// CHECK:STDOUT: .MakeC = %MakeC.decl
|
||||
// CHECK:STDOUT: }
|
||||
@@ -955,7 +955,7 @@ fn MakeC(a: A) -> C {
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %C.ref.loc6: type = name_ref C, file.%C.decl [template = constants.%C]
|
||||
// CHECK:STDOUT: %a.param: %A = value_param runtime_param0
|
||||
// CHECK:STDOUT: %A.ref: type = name_ref A, imports.%import_ref.e62 [template = constants.%A]
|
||||
// CHECK:STDOUT: %A.ref: type = name_ref A, imports.%Main.A [template = constants.%A]
|
||||
// CHECK:STDOUT: %a: %A = bind_name a, %a.param
|
||||
// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param1
|
||||
// CHECK:STDOUT: %return: ref %C = return_slot %return.param
|
||||
@@ -972,34 +972,34 @@ fn MakeC(a: A) -> C {
|
||||
// CHECK:STDOUT: %Make.type: type = fn_type @Make, @Factory(%T) [symbolic = %Make.type (constants.%Make.type.598)]
|
||||
// CHECK:STDOUT: %Make: @Factory.%Make.type (%Make.type.598) = struct_value () [symbolic = %Make (constants.%Make.737)]
|
||||
// CHECK:STDOUT: %Make.assoc_type: type = assoc_entity_type @Factory.%Factory.type (%Factory.type.c96), @Factory.%Make.type (%Make.type.598) [symbolic = %Make.assoc_type (constants.%Make.assoc_type.4d9)]
|
||||
// CHECK:STDOUT: %assoc0: @Factory.%Make.assoc_type (%Make.assoc_type.4d9) = assoc_entity element0, imports.%import_ref.21018a.1 [symbolic = %assoc0 (constants.%assoc0.9270f3.1)]
|
||||
// CHECK:STDOUT: %assoc0: @Factory.%Make.assoc_type (%Make.assoc_type.4d9) = assoc_entity element0, imports.%Main.import_ref.21018a.1 [symbolic = %assoc0 (constants.%assoc0.9270f3.1)]
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.fbb
|
||||
// CHECK:STDOUT: .Make = imports.%import_ref.b0a
|
||||
// CHECK:STDOUT: witness = (imports.%import_ref.c20)
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.fbb
|
||||
// CHECK:STDOUT: .Make = imports.%Main.import_ref.b0a
|
||||
// CHECK:STDOUT: witness = (imports.%Main.Make)
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl: imports.%import_ref.984 as imports.%import_ref.bd2 [from "factory.carbon"] {
|
||||
// CHECK:STDOUT: impl @impl: imports.%Main.import_ref.984 as imports.%Main.import_ref.bd2 [from "factory.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Make = imports.%import_ref.a27
|
||||
// CHECK:STDOUT: witness = imports.%import_ref.3e9
|
||||
// CHECK:STDOUT: .Make = imports.%Main.import_ref.a27
|
||||
// CHECK:STDOUT: witness = imports.%Main.import_ref.3e9
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @B [from "factory.carbon"] {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8f24d3.1
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8f24d3.1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.54a
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.54a
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @A [from "factory.carbon"] {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8f24d3.2
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8f24d3.2
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.da3
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.da3
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @C {
|
||||
@@ -1019,10 +1019,10 @@ fn MakeC(a: A) -> C {
|
||||
// CHECK:STDOUT: fn @MakeC(%a.param_patt: %A) -> %return.param_patt: %C {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %a.ref: %A = name_ref a, %a
|
||||
// CHECK:STDOUT: %Factory.ref: %Factory.type.1a8 = name_ref Factory, imports.%import_ref.e3d [template = constants.%Factory.generic]
|
||||
// CHECK:STDOUT: %Factory.ref: %Factory.type.1a8 = name_ref Factory, imports.%Main.Factory [template = constants.%Factory.generic]
|
||||
// CHECK:STDOUT: %C.ref.loc11: type = name_ref C, file.%C.decl [template = constants.%C]
|
||||
// CHECK:STDOUT: %Factory.type: type = facet_type <@Factory, @Factory(constants.%C)> [template = constants.%Factory.type.5c5]
|
||||
// CHECK:STDOUT: %.loc11: %Make.assoc_type.2ea = specific_constant imports.%import_ref.b0a, @Factory(constants.%C) [template = constants.%assoc0.9a3]
|
||||
// CHECK:STDOUT: %.loc11: %Make.assoc_type.2ea = specific_constant imports.%Main.import_ref.b0a, @Factory(constants.%C) [template = constants.%assoc0.9a3]
|
||||
// CHECK:STDOUT: %Make.ref: %Make.assoc_type.2ea = name_ref Make, %.loc11 [template = constants.%assoc0.9a3]
|
||||
// CHECK:STDOUT: return <error> to %return
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+26
-26
@@ -141,39 +141,39 @@ impl () as D;
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.14d: type = import_ref Main//decl_in_api_definition_in_impl, A, loaded [template = constants.%A.type]
|
||||
// CHECK:STDOUT: %import_ref.b61 = import_ref Main//decl_in_api_definition_in_impl, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.e5c: type = import_ref Main//decl_in_api_definition_in_impl, loc10_7, loaded [template = constants.%empty_tuple.type]
|
||||
// CHECK:STDOUT: %import_ref.831: type = import_ref Main//decl_in_api_definition_in_impl, loc10_12, loaded [template = constants.%A.type]
|
||||
// CHECK:STDOUT: %Main.A: type = import_ref Main//decl_in_api_definition_in_impl, A, loaded [template = constants.%A.type]
|
||||
// CHECK:STDOUT: %Main.import_ref.b61 = import_ref Main//decl_in_api_definition_in_impl, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.e5c: type = import_ref Main//decl_in_api_definition_in_impl, loc10_7, loaded [template = constants.%empty_tuple.type]
|
||||
// CHECK:STDOUT: %Main.import_ref.831: type = import_ref Main//decl_in_api_definition_in_impl, loc10_12, loaded [template = constants.%A.type]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .A = imports.%import_ref.14d
|
||||
// CHECK:STDOUT: .A = imports.%Main.A
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import.loc2_6.1 = import <invalid>
|
||||
// CHECK:STDOUT: %default.import.loc2_6.2 = import <invalid>
|
||||
// CHECK:STDOUT: impl_decl @impl.2 [template] {} {
|
||||
// CHECK:STDOUT: %.loc8_7.1: %empty_tuple.type = tuple_literal ()
|
||||
// CHECK:STDOUT: %.loc8_7.2: type = converted %.loc8_7.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
|
||||
// CHECK:STDOUT: %A.ref: type = name_ref A, imports.%import_ref.14d [template = constants.%A.type]
|
||||
// CHECK:STDOUT: %A.ref: type = name_ref A, imports.%Main.A [template = constants.%A.type]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %impl_witness.loc8: <witness> = impl_witness () [template = constants.%impl_witness]
|
||||
// CHECK:STDOUT: impl_decl @impl.3 [template] {} {
|
||||
// CHECK:STDOUT: %.loc14_7.1: %empty_tuple.type = tuple_literal ()
|
||||
// CHECK:STDOUT: %.loc14_7.2: type = converted %.loc14_7.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
|
||||
// CHECK:STDOUT: %A.ref: type = name_ref A, imports.%import_ref.14d [template = constants.%A.type]
|
||||
// CHECK:STDOUT: %A.ref: type = name_ref A, imports.%Main.A [template = constants.%A.type]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %impl_witness.loc14: <witness> = impl_witness () [template = constants.%impl_witness]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface @A [from "fail_decl_in_api_definition_in_impl.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.b61
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.b61
|
||||
// CHECK:STDOUT: witness = ()
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl.1: imports.%import_ref.e5c as imports.%import_ref.831 [from "fail_decl_in_api_definition_in_impl.carbon"];
|
||||
// CHECK:STDOUT: impl @impl.1: imports.%Main.import_ref.e5c as imports.%Main.import_ref.831 [from "fail_decl_in_api_definition_in_impl.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl.2: %.loc8_7.2 as %A.ref;
|
||||
// CHECK:STDOUT:
|
||||
@@ -191,12 +191,12 @@ impl () as D;
|
||||
// CHECK:STDOUT: --- use_decl_in_api.impl.carbon
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref = import_ref Main//decl_in_api_definition_in_impl, A, unloaded
|
||||
// CHECK:STDOUT: %Main.A = import_ref Main//decl_in_api_definition_in_impl, A, unloaded
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .A = imports.%import_ref
|
||||
// CHECK:STDOUT: .A = imports.%Main.A
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import.loc2_6.1 = import <invalid>
|
||||
// CHECK:STDOUT: %default.import.loc2_6.2 = import <invalid>
|
||||
@@ -242,15 +242,15 @@ impl () as D;
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.8b9 = import_ref Main//decl_only_in_api, B, unloaded
|
||||
// CHECK:STDOUT: %import_ref.420 = import_ref Main//decl_only_in_api, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.e5c: type = import_ref Main//decl_only_in_api, loc10_7, loaded [template = constants.%empty_tuple.type]
|
||||
// CHECK:STDOUT: %import_ref.171: type = import_ref Main//decl_only_in_api, loc10_12, loaded [template = constants.%B.type]
|
||||
// CHECK:STDOUT: %Main.B = import_ref Main//decl_only_in_api, B, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.420 = import_ref Main//decl_only_in_api, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.e5c: type = import_ref Main//decl_only_in_api, loc10_7, loaded [template = constants.%empty_tuple.type]
|
||||
// CHECK:STDOUT: %Main.import_ref.171: type = import_ref Main//decl_only_in_api, loc10_12, loaded [template = constants.%B.type]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .B = imports.%import_ref.8b9
|
||||
// CHECK:STDOUT: .B = imports.%Main.B
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import.loc2_6.1 = import <invalid>
|
||||
// CHECK:STDOUT: %default.import.loc2_6.2 = import <invalid>
|
||||
@@ -258,11 +258,11 @@ impl () as D;
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface @B [from "fail_decl_only_in_api.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.420
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.420
|
||||
// CHECK:STDOUT: witness = ()
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl: imports.%import_ref.e5c as imports.%import_ref.171 [from "fail_decl_only_in_api.carbon"];
|
||||
// CHECK:STDOUT: impl @impl: imports.%Main.import_ref.e5c as imports.%Main.import_ref.171 [from "fail_decl_only_in_api.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: --- fail_decl_in_api_decl_in_impl.carbon
|
||||
// CHECK:STDOUT:
|
||||
@@ -305,33 +305,33 @@ impl () as D;
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.6be: type = import_ref Main//decl_in_api_decl_in_impl, C, loaded [template = constants.%C.type]
|
||||
// CHECK:STDOUT: %import_ref.721 = import_ref Main//decl_in_api_decl_in_impl, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %import_ref.e5c: type = import_ref Main//decl_in_api_decl_in_impl, loc10_7, loaded [template = constants.%empty_tuple.type]
|
||||
// CHECK:STDOUT: %import_ref.653: type = import_ref Main//decl_in_api_decl_in_impl, loc10_12, loaded [template = constants.%C.type]
|
||||
// CHECK:STDOUT: %Main.C: type = import_ref Main//decl_in_api_decl_in_impl, C, loaded [template = constants.%C.type]
|
||||
// CHECK:STDOUT: %Main.import_ref.721 = import_ref Main//decl_in_api_decl_in_impl, inst15 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.e5c: type = import_ref Main//decl_in_api_decl_in_impl, loc10_7, loaded [template = constants.%empty_tuple.type]
|
||||
// CHECK:STDOUT: %Main.import_ref.653: type = import_ref Main//decl_in_api_decl_in_impl, loc10_12, loaded [template = constants.%C.type]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.6be
|
||||
// CHECK:STDOUT: .C = imports.%Main.C
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import.loc2_6.1 = import <invalid>
|
||||
// CHECK:STDOUT: %default.import.loc2_6.2 = import <invalid>
|
||||
// CHECK:STDOUT: impl_decl @impl.2 [template] {} {
|
||||
// CHECK:STDOUT: %.loc8_7.1: %empty_tuple.type = tuple_literal ()
|
||||
// CHECK:STDOUT: %.loc8_7.2: type = converted %.loc8_7.1, constants.%empty_tuple.type [template = constants.%empty_tuple.type]
|
||||
// CHECK:STDOUT: %C.ref: type = name_ref C, imports.%import_ref.6be [template = constants.%C.type]
|
||||
// CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [template = constants.%C.type]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %impl_witness: <witness> = impl_witness () [template = constants.%impl_witness]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: interface @C [from "fail_decl_in_api_decl_in_impl.carbon"] {
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.721
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.721
|
||||
// CHECK:STDOUT: witness = ()
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl.1: imports.%import_ref.e5c as imports.%import_ref.653 [from "fail_decl_in_api_decl_in_impl.carbon"];
|
||||
// CHECK:STDOUT: impl @impl.1: imports.%Main.import_ref.e5c as imports.%Main.import_ref.653 [from "fail_decl_in_api_decl_in_impl.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: impl @impl.2: %.loc8_7.2 as %C.ref;
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+1
-1
@@ -33,7 +33,7 @@ impl i32 as I {}
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int = %import_ref.485
|
||||
// CHECK:STDOUT: .Int = %Core.Int
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/...
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
Reference in New Issue
Block a user