|
|
@@ -259,17 +259,13 @@ impl forall [T:! type] D as J(T*) {}
|
|
|
// CHECK:STDOUT: %C: type = class_type @C [concrete]
|
|
|
// CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete]
|
|
|
// CHECK:STDOUT: %complete_type: <witness> = complete_type_witness %empty_struct_type [concrete]
|
|
|
-// CHECK:STDOUT: %I.impl_witness.1a9ed3.1: <witness> = impl_witness imports.%I.impl_witness_table.028, @impl.08450a.1(%T) [symbolic]
|
|
|
+// CHECK:STDOUT: %I.impl_witness.1a9: <witness> = impl_witness imports.%I.impl_witness_table.028, @impl.08450a.1(%T) [symbolic]
|
|
|
// CHECK:STDOUT: %require_complete.cfe: <witness> = require_complete_type %I.type.325 [symbolic]
|
|
|
// CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic]
|
|
|
// CHECK:STDOUT: %I.type.0e2: type = facet_type <@I, @I(%ptr)> [symbolic]
|
|
|
// CHECK:STDOUT: %require_complete.0e6: <witness> = require_complete_type %I.type.0e2 [symbolic]
|
|
|
-// CHECK:STDOUT: %I.impl_witness.6ad3bf.1: <witness> = impl_witness imports.%I.impl_witness_table.e14, @impl.cd2fdc.1(%T) [symbolic]
|
|
|
+// CHECK:STDOUT: %I.impl_witness.6ad: <witness> = impl_witness imports.%I.impl_witness_table.e14, @impl.cd2fdc.1(%T) [symbolic]
|
|
|
// CHECK:STDOUT: %Self.fb4: %I.type.0e2 = bind_symbolic_name Self, 1 [symbolic]
|
|
|
-// CHECK:STDOUT: %I.impl_witness.1a9ed3.2: <witness> = impl_witness file.%I.impl_witness_table.loc8, @impl.08450a.2(%T) [symbolic]
|
|
|
-// CHECK:STDOUT: %I.impl_witness.1a9ed3.3: <witness> = impl_witness file.%I.impl_witness_table.loc14, @impl.08450a.3(%T) [symbolic]
|
|
|
-// CHECK:STDOUT: %I.impl_witness.6ad3bf.2: <witness> = impl_witness file.%I.impl_witness_table.loc20, @impl.cd2fdc.2(%T) [symbolic]
|
|
|
-// CHECK:STDOUT: %I.impl_witness.6ad3bf.3: <witness> = impl_witness file.%I.impl_witness_table.loc26, @impl.cd2fdc.3(%T) [symbolic]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: imports {
|
|
|
@@ -307,8 +303,6 @@ impl forall [T:! type] D as J(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.loc8_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc8_14.2 (constants.%T)]
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %I.impl_witness_table.loc8 = impl_witness_table (), @impl.08450a.2 [concrete]
|
|
|
-// CHECK:STDOUT: %I.impl_witness.loc8: <witness> = impl_witness %I.impl_witness_table.loc8, @impl.08450a.2(constants.%T) [symbolic = @impl.08450a.2.%I.impl_witness (constants.%I.impl_witness.1a9ed3.2)]
|
|
|
// CHECK:STDOUT: impl_decl @impl.08450a.3 [concrete] {
|
|
|
// CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
@@ -318,8 +312,6 @@ impl forall [T:! type] D as J(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.loc14_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc14_14.2 (constants.%T)]
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %I.impl_witness_table.loc14 = impl_witness_table (), @impl.08450a.3 [concrete]
|
|
|
-// CHECK:STDOUT: %I.impl_witness.loc14: <witness> = impl_witness %I.impl_witness_table.loc14, @impl.08450a.3(constants.%T) [symbolic = @impl.08450a.3.%I.impl_witness (constants.%I.impl_witness.1a9ed3.3)]
|
|
|
// CHECK:STDOUT: impl_decl @impl.cd2fdc.2 [concrete] {
|
|
|
// CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
@@ -330,8 +322,6 @@ impl forall [T:! type] D as J(T*) {}
|
|
|
// CHECK:STDOUT: %I.type.loc20_33.1: type = facet_type <@I, @I(constants.%ptr)> [symbolic = %I.type.loc20_33.2 (constants.%I.type.0e2)]
|
|
|
// CHECK:STDOUT: %T.loc20_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc20_14.2 (constants.%T)]
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %I.impl_witness_table.loc20 = impl_witness_table (), @impl.cd2fdc.2 [concrete]
|
|
|
-// CHECK:STDOUT: %I.impl_witness.loc20: <witness> = impl_witness %I.impl_witness_table.loc20, @impl.cd2fdc.2(constants.%T) [symbolic = @impl.cd2fdc.2.%I.impl_witness (constants.%I.impl_witness.6ad3bf.2)]
|
|
|
// CHECK:STDOUT: impl_decl @impl.cd2fdc.3 [concrete] {
|
|
|
// CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
@@ -342,8 +332,6 @@ impl forall [T:! type] D as J(T*) {}
|
|
|
// CHECK:STDOUT: %I.type.loc26_33.1: type = facet_type <@I, @I(constants.%ptr)> [symbolic = %I.type.loc26_33.2 (constants.%I.type.0e2)]
|
|
|
// CHECK:STDOUT: %T.loc26_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc26_14.2 (constants.%T)]
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %I.impl_witness_table.loc26 = impl_witness_table (), @impl.cd2fdc.3 [concrete]
|
|
|
-// CHECK:STDOUT: %I.impl_witness.loc26: <witness> = impl_witness %I.impl_witness_table.loc26, @impl.cd2fdc.3(constants.%T) [symbolic = @impl.cd2fdc.3.%I.impl_witness (constants.%I.impl_witness.6ad3bf.3)]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: generic interface @I(imports.%Main.import_ref.5ab3ec.1: type) [from "import_generic.carbon"] {
|
|
|
@@ -363,7 +351,7 @@ impl forall [T:! type] D as J(T*) {}
|
|
|
// CHECK:STDOUT: generic impl @impl.08450a.1(imports.%Main.import_ref.5ab3ec.2: type) [from "import_generic.carbon"] {
|
|
|
// CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)]
|
|
|
// CHECK:STDOUT: %I.type: type = facet_type <@I, @I(%T)> [symbolic = %I.type (constants.%I.type.325)]
|
|
|
-// CHECK:STDOUT: %I.impl_witness: <witness> = impl_witness imports.%I.impl_witness_table.028, @impl.08450a.1(%T) [symbolic = %I.impl_witness (constants.%I.impl_witness.1a9ed3.1)]
|
|
|
+// CHECK:STDOUT: %I.impl_witness: <witness> = impl_witness imports.%I.impl_witness_table.028, @impl.08450a.1(%T) [symbolic = %I.impl_witness (constants.%I.impl_witness.1a9)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %I.type [symbolic = %require_complete (constants.%require_complete.cfe)]
|
|
|
@@ -379,7 +367,7 @@ impl forall [T:! type] D as J(T*) {}
|
|
|
// CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic = %ptr (constants.%ptr)]
|
|
|
// CHECK:STDOUT: %I.type: type = facet_type <@I, @I(%ptr)> [symbolic = %I.type (constants.%I.type.0e2)]
|
|
|
// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %I.type [symbolic = %require_complete (constants.%require_complete.0e6)]
|
|
|
-// CHECK:STDOUT: %I.impl_witness: <witness> = impl_witness imports.%I.impl_witness_table.e14, @impl.cd2fdc.1(%T) [symbolic = %I.impl_witness (constants.%I.impl_witness.6ad3bf.1)]
|
|
|
+// CHECK:STDOUT: %I.impl_witness: <witness> = impl_witness imports.%I.impl_witness_table.e14, @impl.cd2fdc.1(%T) [symbolic = %I.impl_witness (constants.%I.impl_witness.6ad)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
// CHECK:STDOUT:
|
|
|
@@ -392,7 +380,6 @@ impl forall [T:! type] D as J(T*) {}
|
|
|
// CHECK:STDOUT: generic impl @impl.08450a.2(%T.loc8_14.1: type) {
|
|
|
// CHECK:STDOUT: %T.loc8_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc8_14.2 (constants.%T)]
|
|
|
// CHECK:STDOUT: %I.type.loc8_32.2: type = facet_type <@I, @I(%T.loc8_14.2)> [symbolic = %I.type.loc8_32.2 (constants.%I.type.325)]
|
|
|
-// CHECK:STDOUT: %I.impl_witness: <witness> = impl_witness file.%I.impl_witness_table.loc8, @impl.08450a.2(%T.loc8_14.2) [symbolic = %I.impl_witness (constants.%I.impl_witness.1a9ed3.2)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: impl: %C.ref as %I.type.loc8_32.1;
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -400,14 +387,12 @@ impl forall [T:! type] D as J(T*) {}
|
|
|
// CHECK:STDOUT: generic impl @impl.08450a.3(%T.loc14_14.1: type) {
|
|
|
// CHECK:STDOUT: %T.loc14_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc14_14.2 (constants.%T)]
|
|
|
// CHECK:STDOUT: %I.type.loc14_32.2: type = facet_type <@I, @I(%T.loc14_14.2)> [symbolic = %I.type.loc14_32.2 (constants.%I.type.325)]
|
|
|
-// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %I.type.loc14_32.2 [symbolic = %require_complete (constants.%require_complete.cfe)]
|
|
|
-// CHECK:STDOUT: %I.impl_witness: <witness> = impl_witness file.%I.impl_witness_table.loc14, @impl.08450a.3(%T.loc14_14.2) [symbolic = %I.impl_witness (constants.%I.impl_witness.1a9ed3.3)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: impl: %C.ref as %I.type.loc14_32.1 {
|
|
|
// CHECK:STDOUT: !members:
|
|
|
-// CHECK:STDOUT: witness = file.%I.impl_witness.loc14
|
|
|
+// CHECK:STDOUT: witness = <error>
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
@@ -415,7 +400,6 @@ impl forall [T:! type] D as J(T*) {}
|
|
|
// CHECK:STDOUT: %T.loc20_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc20_14.2 (constants.%T)]
|
|
|
// CHECK:STDOUT: %ptr.loc20_32.2: type = ptr_type %T.loc20_14.2 [symbolic = %ptr.loc20_32.2 (constants.%ptr)]
|
|
|
// CHECK:STDOUT: %I.type.loc20_33.2: type = facet_type <@I, @I(%ptr.loc20_32.2)> [symbolic = %I.type.loc20_33.2 (constants.%I.type.0e2)]
|
|
|
-// CHECK:STDOUT: %I.impl_witness: <witness> = impl_witness file.%I.impl_witness_table.loc20, @impl.cd2fdc.2(%T.loc20_14.2) [symbolic = %I.impl_witness (constants.%I.impl_witness.6ad3bf.2)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: impl: %C.ref as %I.type.loc20_33.1;
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -424,14 +408,12 @@ impl forall [T:! type] D as J(T*) {}
|
|
|
// CHECK:STDOUT: %T.loc26_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc26_14.2 (constants.%T)]
|
|
|
// CHECK:STDOUT: %ptr.loc26_32.2: type = ptr_type %T.loc26_14.2 [symbolic = %ptr.loc26_32.2 (constants.%ptr)]
|
|
|
// CHECK:STDOUT: %I.type.loc26_33.2: type = facet_type <@I, @I(%ptr.loc26_32.2)> [symbolic = %I.type.loc26_33.2 (constants.%I.type.0e2)]
|
|
|
-// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %I.type.loc26_33.2 [symbolic = %require_complete (constants.%require_complete.0e6)]
|
|
|
-// CHECK:STDOUT: %I.impl_witness: <witness> = impl_witness file.%I.impl_witness_table.loc26, @impl.cd2fdc.3(%T.loc26_14.2) [symbolic = %I.impl_witness (constants.%I.impl_witness.6ad3bf.3)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: impl: %C.ref as %I.type.loc26_33.1 {
|
|
|
// CHECK:STDOUT: !members:
|
|
|
-// CHECK:STDOUT: witness = file.%I.impl_witness.loc26
|
|
|
+// CHECK:STDOUT: witness = <error>
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
@@ -453,7 +435,7 @@ impl forall [T:! type] D as J(T*) {}
|
|
|
// CHECK:STDOUT: specific @impl.08450a.1(constants.%T) {
|
|
|
// CHECK:STDOUT: %T => constants.%T
|
|
|
// CHECK:STDOUT: %I.type => constants.%I.type.325
|
|
|
-// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.1a9ed3.1
|
|
|
+// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.1a9
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @I(constants.%ptr) {
|
|
|
@@ -469,35 +451,29 @@ impl forall [T:! type] D as J(T*) {}
|
|
|
// CHECK:STDOUT: %ptr => constants.%ptr
|
|
|
// CHECK:STDOUT: %I.type => constants.%I.type.0e2
|
|
|
// CHECK:STDOUT: %require_complete => constants.%require_complete.0e6
|
|
|
-// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.6ad3bf.1
|
|
|
+// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.6ad
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @impl.08450a.2(constants.%T) {
|
|
|
// CHECK:STDOUT: %T.loc8_14.2 => constants.%T
|
|
|
// CHECK:STDOUT: %I.type.loc8_32.2 => constants.%I.type.325
|
|
|
-// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.1a9ed3.2
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @impl.08450a.3(constants.%T) {
|
|
|
// CHECK:STDOUT: %T.loc14_14.2 => constants.%T
|
|
|
// CHECK:STDOUT: %I.type.loc14_32.2 => constants.%I.type.325
|
|
|
-// CHECK:STDOUT: %require_complete => constants.%require_complete.cfe
|
|
|
-// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.1a9ed3.3
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @impl.cd2fdc.2(constants.%T) {
|
|
|
// CHECK:STDOUT: %T.loc20_14.2 => constants.%T
|
|
|
// CHECK:STDOUT: %ptr.loc20_32.2 => constants.%ptr
|
|
|
// CHECK:STDOUT: %I.type.loc20_33.2 => constants.%I.type.0e2
|
|
|
-// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.6ad3bf.2
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @impl.cd2fdc.3(constants.%T) {
|
|
|
// CHECK:STDOUT: %T.loc26_14.2 => constants.%T
|
|
|
// CHECK:STDOUT: %ptr.loc26_32.2 => constants.%ptr
|
|
|
// CHECK:STDOUT: %I.type.loc26_33.2 => constants.%I.type.0e2
|
|
|
-// CHECK:STDOUT: %require_complete => constants.%require_complete.0e6
|
|
|
-// CHECK:STDOUT: %I.impl_witness => constants.%I.impl_witness.6ad3bf.3
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: --- fail_import_generic_decl.carbon
|
|
|
@@ -624,22 +600,15 @@ impl forall [T:! type] D as J(T*) {}
|
|
|
// CHECK:STDOUT: %J.type.2b8: type = generic_interface_type @J [concrete]
|
|
|
// CHECK:STDOUT: %J.generic: %J.type.2b8 = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %J.type.b72: type = facet_type <@J, @J(%T)> [symbolic]
|
|
|
-// CHECK:STDOUT: %Self.252: %J.type.b72 = bind_symbolic_name Self, 1 [symbolic]
|
|
|
+// CHECK:STDOUT: %Self: %J.type.b72 = bind_symbolic_name Self, 1 [symbolic]
|
|
|
// CHECK:STDOUT: %pattern_type: type = pattern_type type [concrete]
|
|
|
// CHECK:STDOUT: %D: type = class_type @D [concrete]
|
|
|
// CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete]
|
|
|
// CHECK:STDOUT: %complete_type: <witness> = complete_type_witness %empty_struct_type [concrete]
|
|
|
-// CHECK:STDOUT: %J.impl_witness.80964e.1: <witness> = impl_witness imports.%J.impl_witness_table.891, @impl.199bba.1(%T) [symbolic]
|
|
|
+// CHECK:STDOUT: %J.impl_witness.809: <witness> = impl_witness imports.%J.impl_witness_table.891, @impl.199bba.1(%T) [symbolic]
|
|
|
// CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic]
|
|
|
// CHECK:STDOUT: %J.type.628: type = facet_type <@J, @J(%ptr)> [symbolic]
|
|
|
-// CHECK:STDOUT: %J.impl_witness.5a859e.1: <witness> = impl_witness imports.%J.impl_witness_table.487, @impl.dfd2f7.1(%T) [symbolic]
|
|
|
-// CHECK:STDOUT: %J.impl_witness.80964e.2: <witness> = impl_witness file.%J.impl_witness_table.loc8, @impl.199bba.2(%T) [symbolic]
|
|
|
-// CHECK:STDOUT: %require_complete.287: <witness> = require_complete_type %J.type.b72 [symbolic]
|
|
|
-// CHECK:STDOUT: %J.impl_witness.80964e.3: <witness> = impl_witness file.%J.impl_witness_table.loc14, @impl.199bba.3(%T) [symbolic]
|
|
|
-// CHECK:STDOUT: %J.impl_witness.5a859e.2: <witness> = impl_witness file.%J.impl_witness_table.loc20, @impl.dfd2f7.2(%T) [symbolic]
|
|
|
-// CHECK:STDOUT: %Self.fbe: %J.type.628 = bind_symbolic_name Self, 1 [symbolic]
|
|
|
-// CHECK:STDOUT: %require_complete.c60: <witness> = require_complete_type %J.type.628 [symbolic]
|
|
|
-// CHECK:STDOUT: %J.impl_witness.5a859e.3: <witness> = impl_witness file.%J.impl_witness_table.loc26, @impl.dfd2f7.3(%T) [symbolic]
|
|
|
+// CHECK:STDOUT: %J.impl_witness.5a8: <witness> = impl_witness imports.%J.impl_witness_table.487, @impl.dfd2f7.1(%T) [symbolic]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: imports {
|
|
|
@@ -675,8 +644,6 @@ impl forall [T:! type] D as J(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.loc8_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc8_14.2 (constants.%T)]
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %J.impl_witness_table.loc8 = impl_witness_table (), @impl.199bba.2 [concrete]
|
|
|
-// CHECK:STDOUT: %J.impl_witness.loc8: <witness> = impl_witness %J.impl_witness_table.loc8, @impl.199bba.2(constants.%T) [symbolic = @impl.199bba.2.%J.impl_witness (constants.%J.impl_witness.80964e.2)]
|
|
|
// CHECK:STDOUT: impl_decl @impl.199bba.3 [concrete] {
|
|
|
// CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
@@ -686,8 +653,6 @@ impl forall [T:! type] D as J(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.loc14_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc14_14.2 (constants.%T)]
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %J.impl_witness_table.loc14 = impl_witness_table (), @impl.199bba.3 [concrete]
|
|
|
-// CHECK:STDOUT: %J.impl_witness.loc14: <witness> = impl_witness %J.impl_witness_table.loc14, @impl.199bba.3(constants.%T) [symbolic = @impl.199bba.3.%J.impl_witness (constants.%J.impl_witness.80964e.3)]
|
|
|
// CHECK:STDOUT: impl_decl @impl.dfd2f7.2 [concrete] {
|
|
|
// CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
@@ -698,8 +663,6 @@ impl forall [T:! type] D as J(T*) {}
|
|
|
// CHECK:STDOUT: %J.type.loc20_33.1: type = facet_type <@J, @J(constants.%ptr)> [symbolic = %J.type.loc20_33.2 (constants.%J.type.628)]
|
|
|
// CHECK:STDOUT: %T.loc20_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc20_14.2 (constants.%T)]
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %J.impl_witness_table.loc20 = impl_witness_table (), @impl.dfd2f7.2 [concrete]
|
|
|
-// CHECK:STDOUT: %J.impl_witness.loc20: <witness> = impl_witness %J.impl_witness_table.loc20, @impl.dfd2f7.2(constants.%T) [symbolic = @impl.dfd2f7.2.%J.impl_witness (constants.%J.impl_witness.5a859e.2)]
|
|
|
// CHECK:STDOUT: impl_decl @impl.dfd2f7.3 [concrete] {
|
|
|
// CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete]
|
|
|
// CHECK:STDOUT: } {
|
|
|
@@ -710,8 +673,6 @@ impl forall [T:! type] D as J(T*) {}
|
|
|
// CHECK:STDOUT: %J.type.loc26_33.1: type = facet_type <@J, @J(constants.%ptr)> [symbolic = %J.type.loc26_33.2 (constants.%J.type.628)]
|
|
|
// CHECK:STDOUT: %T.loc26_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc26_14.2 (constants.%T)]
|
|
|
// CHECK:STDOUT: }
|
|
|
-// CHECK:STDOUT: %J.impl_witness_table.loc26 = impl_witness_table (), @impl.dfd2f7.3 [concrete]
|
|
|
-// CHECK:STDOUT: %J.impl_witness.loc26: <witness> = impl_witness %J.impl_witness_table.loc26, @impl.dfd2f7.3(constants.%T) [symbolic = @impl.dfd2f7.3.%J.impl_witness (constants.%J.impl_witness.5a859e.3)]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: generic interface @J(imports.%Main.import_ref.5ab3ec.1: type) [from "fail_import_generic_decl.carbon"] {
|
|
|
@@ -719,7 +680,7 @@ impl forall [T:! type] D as J(T*) {}
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
// CHECK:STDOUT: %J.type: type = facet_type <@J, @J(%T)> [symbolic = %J.type (constants.%J.type.b72)]
|
|
|
-// CHECK:STDOUT: %Self: @J.%J.type (%J.type.b72) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.252)]
|
|
|
+// CHECK:STDOUT: %Self: @J.%J.type (%J.type.b72) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: interface {
|
|
|
// CHECK:STDOUT: !members:
|
|
|
@@ -731,7 +692,7 @@ impl forall [T:! type] D as J(T*) {}
|
|
|
// CHECK:STDOUT: generic impl @impl.199bba.1(imports.%Main.import_ref.5ab3ec.2: type) [from "fail_import_generic_decl.carbon"] {
|
|
|
// CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)]
|
|
|
// CHECK:STDOUT: %J.type: type = facet_type <@J, @J(%T)> [symbolic = %J.type (constants.%J.type.b72)]
|
|
|
-// CHECK:STDOUT: %J.impl_witness: <witness> = impl_witness imports.%J.impl_witness_table.891, @impl.199bba.1(%T) [symbolic = %J.impl_witness (constants.%J.impl_witness.80964e.1)]
|
|
|
+// CHECK:STDOUT: %J.impl_witness: <witness> = impl_witness imports.%J.impl_witness_table.891, @impl.199bba.1(%T) [symbolic = %J.impl_witness (constants.%J.impl_witness.809)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: impl: imports.%Main.import_ref.aa9f8a.1 as imports.%Main.import_ref.ded;
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -740,7 +701,7 @@ impl forall [T:! type] D as J(T*) {}
|
|
|
// CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)]
|
|
|
// CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic = %ptr (constants.%ptr)]
|
|
|
// CHECK:STDOUT: %J.type: type = facet_type <@J, @J(%ptr)> [symbolic = %J.type (constants.%J.type.628)]
|
|
|
-// CHECK:STDOUT: %J.impl_witness: <witness> = impl_witness imports.%J.impl_witness_table.487, @impl.dfd2f7.1(%T) [symbolic = %J.impl_witness (constants.%J.impl_witness.5a859e.1)]
|
|
|
+// CHECK:STDOUT: %J.impl_witness: <witness> = impl_witness imports.%J.impl_witness_table.487, @impl.dfd2f7.1(%T) [symbolic = %J.impl_witness (constants.%J.impl_witness.5a8)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: impl: imports.%Main.import_ref.aa9f8a.2 as imports.%Main.import_ref.0d3;
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -748,7 +709,6 @@ impl forall [T:! type] D as J(T*) {}
|
|
|
// CHECK:STDOUT: generic impl @impl.199bba.2(%T.loc8_14.1: type) {
|
|
|
// CHECK:STDOUT: %T.loc8_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc8_14.2 (constants.%T)]
|
|
|
// CHECK:STDOUT: %J.type.loc8_32.2: type = facet_type <@J, @J(%T.loc8_14.2)> [symbolic = %J.type.loc8_32.2 (constants.%J.type.b72)]
|
|
|
-// CHECK:STDOUT: %J.impl_witness: <witness> = impl_witness file.%J.impl_witness_table.loc8, @impl.199bba.2(%T.loc8_14.2) [symbolic = %J.impl_witness (constants.%J.impl_witness.80964e.2)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: impl: %D.ref as %J.type.loc8_32.1;
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -756,14 +716,12 @@ impl forall [T:! type] D as J(T*) {}
|
|
|
// CHECK:STDOUT: generic impl @impl.199bba.3(%T.loc14_14.1: type) {
|
|
|
// CHECK:STDOUT: %T.loc14_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc14_14.2 (constants.%T)]
|
|
|
// CHECK:STDOUT: %J.type.loc14_32.2: type = facet_type <@J, @J(%T.loc14_14.2)> [symbolic = %J.type.loc14_32.2 (constants.%J.type.b72)]
|
|
|
-// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %J.type.loc14_32.2 [symbolic = %require_complete (constants.%require_complete.287)]
|
|
|
-// CHECK:STDOUT: %J.impl_witness: <witness> = impl_witness file.%J.impl_witness_table.loc14, @impl.199bba.3(%T.loc14_14.2) [symbolic = %J.impl_witness (constants.%J.impl_witness.80964e.3)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: impl: %D.ref as %J.type.loc14_32.1 {
|
|
|
// CHECK:STDOUT: !members:
|
|
|
-// CHECK:STDOUT: witness = file.%J.impl_witness.loc14
|
|
|
+// CHECK:STDOUT: witness = <error>
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
@@ -771,7 +729,6 @@ impl forall [T:! type] D as J(T*) {}
|
|
|
// CHECK:STDOUT: %T.loc20_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc20_14.2 (constants.%T)]
|
|
|
// CHECK:STDOUT: %ptr.loc20_32.2: type = ptr_type %T.loc20_14.2 [symbolic = %ptr.loc20_32.2 (constants.%ptr)]
|
|
|
// CHECK:STDOUT: %J.type.loc20_33.2: type = facet_type <@J, @J(%ptr.loc20_32.2)> [symbolic = %J.type.loc20_33.2 (constants.%J.type.628)]
|
|
|
-// CHECK:STDOUT: %J.impl_witness: <witness> = impl_witness file.%J.impl_witness_table.loc20, @impl.dfd2f7.2(%T.loc20_14.2) [symbolic = %J.impl_witness (constants.%J.impl_witness.5a859e.2)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: impl: %D.ref as %J.type.loc20_33.1;
|
|
|
// CHECK:STDOUT: }
|
|
|
@@ -780,14 +737,12 @@ impl forall [T:! type] D as J(T*) {}
|
|
|
// CHECK:STDOUT: %T.loc26_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc26_14.2 (constants.%T)]
|
|
|
// CHECK:STDOUT: %ptr.loc26_32.2: type = ptr_type %T.loc26_14.2 [symbolic = %ptr.loc26_32.2 (constants.%ptr)]
|
|
|
// CHECK:STDOUT: %J.type.loc26_33.2: type = facet_type <@J, @J(%ptr.loc26_32.2)> [symbolic = %J.type.loc26_33.2 (constants.%J.type.628)]
|
|
|
-// CHECK:STDOUT: %require_complete: <witness> = require_complete_type %J.type.loc26_33.2 [symbolic = %require_complete (constants.%require_complete.c60)]
|
|
|
-// CHECK:STDOUT: %J.impl_witness: <witness> = impl_witness file.%J.impl_witness_table.loc26, @impl.dfd2f7.3(%T.loc26_14.2) [symbolic = %J.impl_witness (constants.%J.impl_witness.5a859e.3)]
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !definition:
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: impl: %D.ref as %J.type.loc26_33.1 {
|
|
|
// CHECK:STDOUT: !members:
|
|
|
-// CHECK:STDOUT: witness = file.%J.impl_witness.loc26
|
|
|
+// CHECK:STDOUT: witness = <error>
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
@@ -800,58 +755,44 @@ impl forall [T:! type] D as J(T*) {}
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @J(constants.%T) {
|
|
|
// CHECK:STDOUT: %T => constants.%T
|
|
|
-// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %J.type => constants.%J.type.b72
|
|
|
-// CHECK:STDOUT: %Self => constants.%Self.252
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @impl.199bba.1(constants.%T) {
|
|
|
// CHECK:STDOUT: %T => constants.%T
|
|
|
// CHECK:STDOUT: %J.type => constants.%J.type.b72
|
|
|
-// CHECK:STDOUT: %J.impl_witness => constants.%J.impl_witness.80964e.1
|
|
|
+// CHECK:STDOUT: %J.impl_witness => constants.%J.impl_witness.809
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @J(constants.%ptr) {
|
|
|
// CHECK:STDOUT: %T => constants.%ptr
|
|
|
-// CHECK:STDOUT:
|
|
|
-// CHECK:STDOUT: !definition:
|
|
|
-// CHECK:STDOUT: %J.type => constants.%J.type.628
|
|
|
-// CHECK:STDOUT: %Self => constants.%Self.fbe
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @impl.dfd2f7.1(constants.%T) {
|
|
|
// CHECK:STDOUT: %T => constants.%T
|
|
|
// CHECK:STDOUT: %ptr => constants.%ptr
|
|
|
// CHECK:STDOUT: %J.type => constants.%J.type.628
|
|
|
-// CHECK:STDOUT: %J.impl_witness => constants.%J.impl_witness.5a859e.1
|
|
|
+// CHECK:STDOUT: %J.impl_witness => constants.%J.impl_witness.5a8
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @impl.199bba.2(constants.%T) {
|
|
|
// CHECK:STDOUT: %T.loc8_14.2 => constants.%T
|
|
|
// CHECK:STDOUT: %J.type.loc8_32.2 => constants.%J.type.b72
|
|
|
-// CHECK:STDOUT: %J.impl_witness => constants.%J.impl_witness.80964e.2
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @impl.199bba.3(constants.%T) {
|
|
|
// CHECK:STDOUT: %T.loc14_14.2 => constants.%T
|
|
|
// CHECK:STDOUT: %J.type.loc14_32.2 => constants.%J.type.b72
|
|
|
-// CHECK:STDOUT: %require_complete => constants.%require_complete.287
|
|
|
-// CHECK:STDOUT: %J.impl_witness => constants.%J.impl_witness.80964e.3
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @impl.dfd2f7.2(constants.%T) {
|
|
|
// CHECK:STDOUT: %T.loc20_14.2 => constants.%T
|
|
|
// CHECK:STDOUT: %ptr.loc20_32.2 => constants.%ptr
|
|
|
// CHECK:STDOUT: %J.type.loc20_33.2 => constants.%J.type.628
|
|
|
-// CHECK:STDOUT: %J.impl_witness => constants.%J.impl_witness.5a859e.2
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: specific @impl.dfd2f7.3(constants.%T) {
|
|
|
// CHECK:STDOUT: %T.loc26_14.2 => constants.%T
|
|
|
// CHECK:STDOUT: %ptr.loc26_32.2 => constants.%ptr
|
|
|
// CHECK:STDOUT: %J.type.loc26_33.2 => constants.%J.type.628
|
|
|
-// CHECK:STDOUT: %require_complete => constants.%require_complete.c60
|
|
|
-// CHECK:STDOUT: %J.impl_witness => constants.%J.impl_witness.5a859e.3
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|