|
|
@@ -147,10 +147,6 @@ fn Run() {
|
|
|
// CHECK:STDOUT: %HasValue.6fd: %HasValue.type.f81 = struct_value () [symbolic]
|
|
|
// CHECK:STDOUT: %Get.type.b8f: type = fn_type @Get, @Optional(%T) [symbolic]
|
|
|
// CHECK:STDOUT: %Get.9c8: %Get.type.b8f = struct_value () [symbolic]
|
|
|
-// CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete]
|
|
|
-// CHECK:STDOUT: %Op.type.989: type = fn_type @Op.1 [concrete]
|
|
|
-// CHECK:STDOUT: %Op.type.ed4: type = fn_type @Op.2, @impl.d2b(%T) [symbolic]
|
|
|
-// CHECK:STDOUT: %Op.486: %Op.type.ed4 = struct_value () [symbolic]
|
|
|
// CHECK:STDOUT: %Iterate.impl_witness.52a: <witness> = impl_witness imports.%Iterate.impl_witness_table, @impl.86e(%C) [concrete]
|
|
|
// CHECK:STDOUT: %NewCursor.type.951: type = fn_type @NewCursor.2, @impl.86e(%C) [concrete]
|
|
|
// CHECK:STDOUT: %NewCursor.535: %NewCursor.type.951 = struct_value () [concrete]
|
|
|
@@ -169,33 +165,17 @@ fn Run() {
|
|
|
// CHECK:STDOUT: %Get.9c1: %Get.type.115 = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %HasValue.specific_fn: <specific function> = specific_function %HasValue.513, @HasValue(%C) [concrete]
|
|
|
// CHECK:STDOUT: %Get.specific_fn: <specific function> = specific_function %Get.9c1, @Get(%C) [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.impl_witness.832: <witness> = impl_witness imports.%Destroy.impl_witness_table, @impl.d2b(%C) [concrete]
|
|
|
// CHECK:STDOUT: %Op.type.f77: type = fn_type @Op.2, @impl.d2b(%C) [concrete]
|
|
|
// CHECK:STDOUT: %Op.01c: %Op.type.f77 = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %ptr.019: type = ptr_type %C [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.facet.25e: %Destroy.type = facet_value %C, (%Destroy.impl_witness.832) [concrete]
|
|
|
-// CHECK:STDOUT: %.4cb: type = fn_type_with_self_type %Op.type.989, %Destroy.facet.25e [concrete]
|
|
|
-// CHECK:STDOUT: %Op.specific_fn.abf: <specific function> = specific_function %Op.01c, @Op.2(%C) [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.impl_witness.b21: <witness> = impl_witness imports.%Destroy.impl_witness_table, @impl.d2b(%Optional.cf0) [concrete]
|
|
|
// CHECK:STDOUT: %Op.type.e93: type = fn_type @Op.2, @impl.d2b(%Optional.cf0) [concrete]
|
|
|
// CHECK:STDOUT: %Op.a97: %Op.type.e93 = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %ptr.8e6: type = ptr_type %Optional.cf0 [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.facet.f84: %Destroy.type = facet_value %Optional.cf0, (%Destroy.impl_witness.b21) [concrete]
|
|
|
-// CHECK:STDOUT: %.d26: type = fn_type_with_self_type %Op.type.989, %Destroy.facet.f84 [concrete]
|
|
|
-// CHECK:STDOUT: %Op.specific_fn.448: <specific function> = specific_function %Op.a97, @Op.2(%Optional.cf0) [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.impl_witness.67e: <witness> = impl_witness imports.%Destroy.impl_witness_table, @impl.d2b(%empty_struct_type) [concrete]
|
|
|
// CHECK:STDOUT: %Op.type.8b2: type = fn_type @Op.2, @impl.d2b(%empty_struct_type) [concrete]
|
|
|
// CHECK:STDOUT: %Op.ca6: %Op.type.8b2 = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.facet.2a8: %Destroy.type = facet_value %empty_struct_type, (%Destroy.impl_witness.67e) [concrete]
|
|
|
-// CHECK:STDOUT: %.902: type = fn_type_with_self_type %Op.type.989, %Destroy.facet.2a8 [concrete]
|
|
|
-// CHECK:STDOUT: %Op.specific_fn.04c: <specific function> = specific_function %Op.ca6, @Op.2(%empty_struct_type) [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.impl_witness.805: <witness> = impl_witness imports.%Destroy.impl_witness_table, @impl.d2b(%EmptyRange.cc8) [concrete]
|
|
|
// CHECK:STDOUT: %Op.type.699: type = fn_type @Op.2, @impl.d2b(%EmptyRange.cc8) [concrete]
|
|
|
// CHECK:STDOUT: %Op.d12: %Op.type.699 = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %ptr.35d: type = ptr_type %EmptyRange.cc8 [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.facet.5b2: %Destroy.type = facet_value %EmptyRange.cc8, (%Destroy.impl_witness.805) [concrete]
|
|
|
-// CHECK:STDOUT: %.73c: type = fn_type_with_self_type %Op.type.989, %Destroy.facet.5b2 [concrete]
|
|
|
-// CHECK:STDOUT: %Op.specific_fn.cc4: <specific function> = specific_function %Op.d12, @Op.2(%EmptyRange.cc8) [concrete]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: imports {
|
|
|
@@ -208,8 +188,6 @@ fn Run() {
|
|
|
// CHECK:STDOUT: %Iterate.impl_witness_table = impl_witness_table (%Main.import_ref.6ce, %Main.import_ref.999, %Main.import_ref.57b, %Main.import_ref.170), @impl.86e [concrete]
|
|
|
// CHECK:STDOUT: %Main.import_ref.7f9: @Optional.%HasValue.type (%HasValue.type.f81) = import_ref Main//empty_range, inst136 [indirect], loaded [symbolic = @Optional.%HasValue (constants.%HasValue.6fd)]
|
|
|
// CHECK:STDOUT: %Main.import_ref.d10: @Optional.%Get.type (%Get.type.b8f) = import_ref Main//empty_range, inst137 [indirect], loaded [symbolic = @Optional.%Get (constants.%Get.9c8)]
|
|
|
-// CHECK:STDOUT: %Main.import_ref.fcc: @impl.d2b.%Op.type (%Op.type.ed4) = import_ref Main//empty_range, inst373 [indirect], loaded [symbolic = @impl.d2b.%Op (constants.%Op.486)]
|
|
|
-// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Main.import_ref.fcc), @impl.d2b [concrete]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: fn @Run() {
|
|
|
@@ -276,30 +254,26 @@ fn Run() {
|
|
|
// CHECK:STDOUT: br !for.next
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !for.done:
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc12_36.1: %.4cb = impl_witness_access constants.%Destroy.impl_witness.832, element0 [concrete = constants.%Op.01c]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_36.7: <bound method> = bound_method %.loc12_36.8, %impl.elem0.loc12_36.1
|
|
|
-// CHECK:STDOUT: %specific_fn.loc12_36.3: <specific function> = specific_function %impl.elem0.loc12_36.1, @Op.2(constants.%C) [concrete = constants.%Op.specific_fn.abf]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_36.8: <bound method> = bound_method %.loc12_36.8, %specific_fn.loc12_36.3
|
|
|
+// CHECK:STDOUT: %Op.bound.loc12_36.1: <bound method> = bound_method %.loc12_36.8, constants.%Op.01c
|
|
|
+// CHECK:STDOUT: <elided>
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_36.7: <bound method> = bound_method %.loc12_36.8, %Op.specific_fn.1
|
|
|
// CHECK:STDOUT: %addr.loc12_36.2: %ptr.019 = addr_of %.loc12_36.8
|
|
|
-// CHECK:STDOUT: %no_op.loc12_36.1: init %empty_tuple.type = call %bound_method.loc12_36.8(%addr.loc12_36.2)
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc12_36.2: %.d26 = impl_witness_access constants.%Destroy.impl_witness.b21, element0 [concrete = constants.%Op.a97]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_36.9: <bound method> = bound_method %.loc12_36.1, %impl.elem0.loc12_36.2
|
|
|
-// CHECK:STDOUT: %specific_fn.loc12_36.4: <specific function> = specific_function %impl.elem0.loc12_36.2, @Op.2(constants.%Optional.cf0) [concrete = constants.%Op.specific_fn.448]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_36.10: <bound method> = bound_method %.loc12_36.1, %specific_fn.loc12_36.4
|
|
|
+// CHECK:STDOUT: %no_op.loc12_36.1: init %empty_tuple.type = call %bound_method.loc12_36.7(%addr.loc12_36.2)
|
|
|
+// CHECK:STDOUT: %Op.bound.loc12_36.2: <bound method> = bound_method %.loc12_36.1, constants.%Op.a97
|
|
|
+// CHECK:STDOUT: <elided>
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_36.8: <bound method> = bound_method %.loc12_36.1, %Op.specific_fn.2
|
|
|
// CHECK:STDOUT: %addr.loc12_36.3: %ptr.8e6 = addr_of %.loc12_36.1
|
|
|
-// CHECK:STDOUT: %no_op.loc12_36.2: init %empty_tuple.type = call %bound_method.loc12_36.10(%addr.loc12_36.3)
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc12_36.3: %.902 = impl_witness_access constants.%Destroy.impl_witness.67e, element0 [concrete = constants.%Op.ca6]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_36.11: <bound method> = bound_method %var, %impl.elem0.loc12_36.3
|
|
|
-// CHECK:STDOUT: %specific_fn.loc12_36.5: <specific function> = specific_function %impl.elem0.loc12_36.3, @Op.2(constants.%empty_struct_type) [concrete = constants.%Op.specific_fn.04c]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_36.12: <bound method> = bound_method %var, %specific_fn.loc12_36.5
|
|
|
+// CHECK:STDOUT: %no_op.loc12_36.2: init %empty_tuple.type = call %bound_method.loc12_36.8(%addr.loc12_36.3)
|
|
|
+// CHECK:STDOUT: %Op.bound.loc12_36.3: <bound method> = bound_method %var, constants.%Op.ca6
|
|
|
+// CHECK:STDOUT: <elided>
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_36.9: <bound method> = bound_method %var, %Op.specific_fn.3
|
|
|
// CHECK:STDOUT: %addr.loc12_36.4: %ptr.c28 = addr_of %var
|
|
|
-// CHECK:STDOUT: %no_op.loc12_36.3: init %empty_tuple.type = call %bound_method.loc12_36.12(%addr.loc12_36.4)
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc12_35: %.73c = impl_witness_access constants.%Destroy.impl_witness.805, element0 [concrete = constants.%Op.d12]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_35.1: <bound method> = bound_method %.loc12_35.1, %impl.elem0.loc12_35
|
|
|
-// CHECK:STDOUT: %specific_fn.loc12_35: <specific function> = specific_function %impl.elem0.loc12_35, @Op.2(constants.%EmptyRange.cc8) [concrete = constants.%Op.specific_fn.cc4]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_35.2: <bound method> = bound_method %.loc12_35.1, %specific_fn.loc12_35
|
|
|
+// CHECK:STDOUT: %no_op.loc12_36.3: init %empty_tuple.type = call %bound_method.loc12_36.9(%addr.loc12_36.4)
|
|
|
+// CHECK:STDOUT: %Op.bound.loc12_35: <bound method> = bound_method %.loc12_35.1, constants.%Op.d12
|
|
|
+// CHECK:STDOUT: <elided>
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_35: <bound method> = bound_method %.loc12_35.1, %Op.specific_fn.4
|
|
|
// CHECK:STDOUT: %addr.loc12_35: %ptr.35d = addr_of %.loc12_35.1
|
|
|
-// CHECK:STDOUT: %no_op.loc12_35: init %empty_tuple.type = call %bound_method.loc12_35.2(%addr.loc12_35)
|
|
|
+// CHECK:STDOUT: %no_op.loc12_35: init %empty_tuple.type = call %bound_method.loc12_35(%addr.loc12_35)
|
|
|
// CHECK:STDOUT: <elided>
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
@@ -333,10 +307,6 @@ fn Run() {
|
|
|
// CHECK:STDOUT: %HasValue.6fd: %HasValue.type.f81 = struct_value () [symbolic]
|
|
|
// CHECK:STDOUT: %Get.type.b8f: type = fn_type @Get, @Optional(%T) [symbolic]
|
|
|
// CHECK:STDOUT: %Get.9c8: %Get.type.b8f = struct_value () [symbolic]
|
|
|
-// CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete]
|
|
|
-// CHECK:STDOUT: %Op.type.989: type = fn_type @Op.1 [concrete]
|
|
|
-// CHECK:STDOUT: %Op.type.ed4: type = fn_type @Op.2, @impl.d2b(%T) [symbolic]
|
|
|
-// CHECK:STDOUT: %Op.486: %Op.type.ed4 = struct_value () [symbolic]
|
|
|
// CHECK:STDOUT: %Iterate.impl_witness.52a: <witness> = impl_witness imports.%Iterate.impl_witness_table, @impl.86e(%C) [concrete]
|
|
|
// CHECK:STDOUT: %NewCursor.type.951: type = fn_type @NewCursor.2, @impl.86e(%C) [concrete]
|
|
|
// CHECK:STDOUT: %NewCursor.535: %NewCursor.type.951 = struct_value () [concrete]
|
|
|
@@ -355,32 +325,16 @@ fn Run() {
|
|
|
// CHECK:STDOUT: %Get.9c1: %Get.type.115 = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %HasValue.specific_fn: <specific function> = specific_function %HasValue.513, @HasValue(%C) [concrete]
|
|
|
// CHECK:STDOUT: %Get.specific_fn: <specific function> = specific_function %Get.9c1, @Get(%C) [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.impl_witness.832: <witness> = impl_witness imports.%Destroy.impl_witness_table, @impl.d2b(%C) [concrete]
|
|
|
// CHECK:STDOUT: %Op.type.f77: type = fn_type @Op.2, @impl.d2b(%C) [concrete]
|
|
|
// CHECK:STDOUT: %Op.01c: %Op.type.f77 = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.facet.25e: %Destroy.type = facet_value %C, (%Destroy.impl_witness.832) [concrete]
|
|
|
-// CHECK:STDOUT: %.4cb: type = fn_type_with_self_type %Op.type.989, %Destroy.facet.25e [concrete]
|
|
|
-// CHECK:STDOUT: %Op.specific_fn.abf: <specific function> = specific_function %Op.01c, @Op.2(%C) [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.impl_witness.b21: <witness> = impl_witness imports.%Destroy.impl_witness_table, @impl.d2b(%Optional.cf0) [concrete]
|
|
|
// CHECK:STDOUT: %Op.type.e93: type = fn_type @Op.2, @impl.d2b(%Optional.cf0) [concrete]
|
|
|
// CHECK:STDOUT: %Op.a97: %Op.type.e93 = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %ptr.8e6: type = ptr_type %Optional.cf0 [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.facet.f84: %Destroy.type = facet_value %Optional.cf0, (%Destroy.impl_witness.b21) [concrete]
|
|
|
-// CHECK:STDOUT: %.d26: type = fn_type_with_self_type %Op.type.989, %Destroy.facet.f84 [concrete]
|
|
|
-// CHECK:STDOUT: %Op.specific_fn.448: <specific function> = specific_function %Op.a97, @Op.2(%Optional.cf0) [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.impl_witness.67e: <witness> = impl_witness imports.%Destroy.impl_witness_table, @impl.d2b(%empty_struct_type) [concrete]
|
|
|
// CHECK:STDOUT: %Op.type.8b2: type = fn_type @Op.2, @impl.d2b(%empty_struct_type) [concrete]
|
|
|
// CHECK:STDOUT: %Op.ca6: %Op.type.8b2 = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.facet.2a8: %Destroy.type = facet_value %empty_struct_type, (%Destroy.impl_witness.67e) [concrete]
|
|
|
-// CHECK:STDOUT: %.902: type = fn_type_with_self_type %Op.type.989, %Destroy.facet.2a8 [concrete]
|
|
|
-// CHECK:STDOUT: %Op.specific_fn.04c: <specific function> = specific_function %Op.ca6, @Op.2(%empty_struct_type) [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.impl_witness.805: <witness> = impl_witness imports.%Destroy.impl_witness_table, @impl.d2b(%EmptyRange.cc8) [concrete]
|
|
|
// CHECK:STDOUT: %Op.type.699: type = fn_type @Op.2, @impl.d2b(%EmptyRange.cc8) [concrete]
|
|
|
// CHECK:STDOUT: %Op.d12: %Op.type.699 = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %ptr.35d: type = ptr_type %EmptyRange.cc8 [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.facet.5b2: %Destroy.type = facet_value %EmptyRange.cc8, (%Destroy.impl_witness.805) [concrete]
|
|
|
-// CHECK:STDOUT: %.73c: type = fn_type_with_self_type %Op.type.989, %Destroy.facet.5b2 [concrete]
|
|
|
-// CHECK:STDOUT: %Op.specific_fn.cc4: <specific function> = specific_function %Op.d12, @Op.2(%EmptyRange.cc8) [concrete]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: imports {
|
|
|
@@ -393,8 +347,6 @@ fn Run() {
|
|
|
// CHECK:STDOUT: %Iterate.impl_witness_table = impl_witness_table (%Main.import_ref.6ce, %Main.import_ref.999, %Main.import_ref.57b, %Main.import_ref.170), @impl.86e [concrete]
|
|
|
// CHECK:STDOUT: %Main.import_ref.7f9: @Optional.%HasValue.type (%HasValue.type.f81) = import_ref Main//empty_range, inst136 [indirect], loaded [symbolic = @Optional.%HasValue (constants.%HasValue.6fd)]
|
|
|
// CHECK:STDOUT: %Main.import_ref.d10: @Optional.%Get.type (%Get.type.b8f) = import_ref Main//empty_range, inst137 [indirect], loaded [symbolic = @Optional.%Get (constants.%Get.9c8)]
|
|
|
-// CHECK:STDOUT: %Main.import_ref.fcc: @impl.d2b.%Op.type (%Op.type.ed4) = import_ref Main//empty_range, inst373 [indirect], loaded [symbolic = @impl.d2b.%Op (constants.%Op.486)]
|
|
|
-// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Main.import_ref.fcc), @impl.d2b [concrete]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: fn @Run() {
|
|
|
@@ -463,36 +415,31 @@ fn Run() {
|
|
|
// CHECK:STDOUT: br !for.next
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !for.done:
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc12_8.1: %.4cb = impl_witness_access constants.%Destroy.impl_witness.832, element0 [concrete = constants.%Op.01c]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_8.1: <bound method> = bound_method %.loc12_8, %impl.elem0.loc12_8.1
|
|
|
-// CHECK:STDOUT: %specific_fn.loc12_8.1: <specific function> = specific_function %impl.elem0.loc12_8.1, @Op.2(constants.%C) [concrete = constants.%Op.specific_fn.abf]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_8.2: <bound method> = bound_method %.loc12_8, %specific_fn.loc12_8.1
|
|
|
+// CHECK:STDOUT: %Op.bound.loc12_8.1: <bound method> = bound_method %.loc12_8, constants.%Op.01c
|
|
|
+// CHECK:STDOUT: <elided>
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_8.1: <bound method> = bound_method %.loc12_8, %Op.specific_fn.1
|
|
|
// CHECK:STDOUT: %addr.loc12_8.1: %ptr.019 = addr_of %.loc12_8
|
|
|
-// CHECK:STDOUT: %no_op.loc12_8.1: init %empty_tuple.type = call %bound_method.loc12_8.2(%addr.loc12_8.1)
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc12_8.2: %.4cb = impl_witness_access constants.%Destroy.impl_witness.832, element0 [concrete = constants.%Op.01c]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_8.3: <bound method> = bound_method %c.var, %impl.elem0.loc12_8.2
|
|
|
-// CHECK:STDOUT: %specific_fn.loc12_8.2: <specific function> = specific_function %impl.elem0.loc12_8.2, @Op.2(constants.%C) [concrete = constants.%Op.specific_fn.abf]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_8.4: <bound method> = bound_method %c.var, %specific_fn.loc12_8.2
|
|
|
+// CHECK:STDOUT: %no_op.loc12_8.1: init %empty_tuple.type = call %bound_method.loc12_8.1(%addr.loc12_8.1)
|
|
|
+// CHECK:STDOUT: %Op.bound.loc12_8.2: <bound method> = bound_method %c.var, constants.%Op.01c
|
|
|
+// CHECK:STDOUT: <elided>
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_8.2: <bound method> = bound_method %c.var, %Op.specific_fn.2
|
|
|
// CHECK:STDOUT: %addr.loc12_8.2: %ptr.019 = addr_of %c.var
|
|
|
-// CHECK:STDOUT: %no_op.loc12_8.2: init %empty_tuple.type = call %bound_method.loc12_8.4(%addr.loc12_8.2)
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc12_40.1: %.d26 = impl_witness_access constants.%Destroy.impl_witness.b21, element0 [concrete = constants.%Op.a97]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_40.7: <bound method> = bound_method %.loc12_40.1, %impl.elem0.loc12_40.1
|
|
|
-// CHECK:STDOUT: %specific_fn.loc12_40.3: <specific function> = specific_function %impl.elem0.loc12_40.1, @Op.2(constants.%Optional.cf0) [concrete = constants.%Op.specific_fn.448]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_40.8: <bound method> = bound_method %.loc12_40.1, %specific_fn.loc12_40.3
|
|
|
+// CHECK:STDOUT: %no_op.loc12_8.2: init %empty_tuple.type = call %bound_method.loc12_8.2(%addr.loc12_8.2)
|
|
|
+// CHECK:STDOUT: %Op.bound.loc12_40.1: <bound method> = bound_method %.loc12_40.1, constants.%Op.a97
|
|
|
+// CHECK:STDOUT: <elided>
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_40.7: <bound method> = bound_method %.loc12_40.1, %Op.specific_fn.3
|
|
|
// CHECK:STDOUT: %addr.loc12_40.2: %ptr.8e6 = addr_of %.loc12_40.1
|
|
|
-// CHECK:STDOUT: %no_op.loc12_40.1: init %empty_tuple.type = call %bound_method.loc12_40.8(%addr.loc12_40.2)
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc12_40.2: %.902 = impl_witness_access constants.%Destroy.impl_witness.67e, element0 [concrete = constants.%Op.ca6]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_40.9: <bound method> = bound_method %var, %impl.elem0.loc12_40.2
|
|
|
-// CHECK:STDOUT: %specific_fn.loc12_40.4: <specific function> = specific_function %impl.elem0.loc12_40.2, @Op.2(constants.%empty_struct_type) [concrete = constants.%Op.specific_fn.04c]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_40.10: <bound method> = bound_method %var, %specific_fn.loc12_40.4
|
|
|
+// CHECK:STDOUT: %no_op.loc12_40.1: init %empty_tuple.type = call %bound_method.loc12_40.7(%addr.loc12_40.2)
|
|
|
+// CHECK:STDOUT: %Op.bound.loc12_40.2: <bound method> = bound_method %var, constants.%Op.ca6
|
|
|
+// CHECK:STDOUT: <elided>
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_40.8: <bound method> = bound_method %var, %Op.specific_fn.4
|
|
|
// CHECK:STDOUT: %addr.loc12_40.3: %ptr.c28 = addr_of %var
|
|
|
-// CHECK:STDOUT: %no_op.loc12_40.2: init %empty_tuple.type = call %bound_method.loc12_40.10(%addr.loc12_40.3)
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc12_39: %.73c = impl_witness_access constants.%Destroy.impl_witness.805, element0 [concrete = constants.%Op.d12]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_39.1: <bound method> = bound_method %.loc12_39.1, %impl.elem0.loc12_39
|
|
|
-// CHECK:STDOUT: %specific_fn.loc12_39: <specific function> = specific_function %impl.elem0.loc12_39, @Op.2(constants.%EmptyRange.cc8) [concrete = constants.%Op.specific_fn.cc4]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_39.2: <bound method> = bound_method %.loc12_39.1, %specific_fn.loc12_39
|
|
|
+// CHECK:STDOUT: %no_op.loc12_40.2: init %empty_tuple.type = call %bound_method.loc12_40.8(%addr.loc12_40.3)
|
|
|
+// CHECK:STDOUT: %Op.bound.loc12_39: <bound method> = bound_method %.loc12_39.1, constants.%Op.d12
|
|
|
+// CHECK:STDOUT: <elided>
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_39: <bound method> = bound_method %.loc12_39.1, %Op.specific_fn.5
|
|
|
// CHECK:STDOUT: %addr.loc12_39: %ptr.35d = addr_of %.loc12_39.1
|
|
|
-// CHECK:STDOUT: %no_op.loc12_39: init %empty_tuple.type = call %bound_method.loc12_39.2(%addr.loc12_39)
|
|
|
+// CHECK:STDOUT: %no_op.loc12_39: init %empty_tuple.type = call %bound_method.loc12_39(%addr.loc12_39)
|
|
|
// CHECK:STDOUT: <elided>
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
@@ -529,10 +476,6 @@ fn Run() {
|
|
|
// CHECK:STDOUT: %HasValue.6fd: %HasValue.type.f81 = struct_value () [symbolic]
|
|
|
// CHECK:STDOUT: %Get.type.b8f: type = fn_type @Get, @Optional(%T) [symbolic]
|
|
|
// CHECK:STDOUT: %Get.9c8: %Get.type.b8f = struct_value () [symbolic]
|
|
|
-// CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete]
|
|
|
-// CHECK:STDOUT: %Op.type.989: type = fn_type @Op.1 [concrete]
|
|
|
-// CHECK:STDOUT: %Op.type.ed4: type = fn_type @Op.2, @impl.d2b(%T) [symbolic]
|
|
|
-// CHECK:STDOUT: %Op.486: %Op.type.ed4 = struct_value () [symbolic]
|
|
|
// CHECK:STDOUT: %Iterate.impl_witness.6db: <witness> = impl_witness imports.%Iterate.impl_witness_table, @impl.86e(%tuple.type.784) [concrete]
|
|
|
// CHECK:STDOUT: %NewCursor.type.d32: type = fn_type @NewCursor.2, @impl.86e(%tuple.type.784) [concrete]
|
|
|
// CHECK:STDOUT: %NewCursor.763: %NewCursor.type.d32 = struct_value () [concrete]
|
|
|
@@ -552,32 +495,16 @@ fn Run() {
|
|
|
// CHECK:STDOUT: %ptr.b85: type = ptr_type %tuple.type.784 [concrete]
|
|
|
// CHECK:STDOUT: %HasValue.specific_fn: <specific function> = specific_function %HasValue.4f9, @HasValue(%tuple.type.784) [concrete]
|
|
|
// CHECK:STDOUT: %Get.specific_fn: <specific function> = specific_function %Get.d99, @Get(%tuple.type.784) [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.impl_witness.356: <witness> = impl_witness imports.%Destroy.impl_witness_table, @impl.d2b(%tuple.type.784) [concrete]
|
|
|
// CHECK:STDOUT: %Op.type.973: type = fn_type @Op.2, @impl.d2b(%tuple.type.784) [concrete]
|
|
|
// CHECK:STDOUT: %Op.149: %Op.type.973 = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.facet.833: %Destroy.type = facet_value %tuple.type.784, (%Destroy.impl_witness.356) [concrete]
|
|
|
-// CHECK:STDOUT: %.f45: type = fn_type_with_self_type %Op.type.989, %Destroy.facet.833 [concrete]
|
|
|
-// CHECK:STDOUT: %Op.specific_fn.14c: <specific function> = specific_function %Op.149, @Op.2(%tuple.type.784) [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.impl_witness.4cb: <witness> = impl_witness imports.%Destroy.impl_witness_table, @impl.d2b(%Optional.79e) [concrete]
|
|
|
// CHECK:STDOUT: %Op.type.1cc: type = fn_type @Op.2, @impl.d2b(%Optional.79e) [concrete]
|
|
|
// CHECK:STDOUT: %Op.3ef: %Op.type.1cc = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %ptr.07d: type = ptr_type %Optional.79e [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.facet.58b: %Destroy.type = facet_value %Optional.79e, (%Destroy.impl_witness.4cb) [concrete]
|
|
|
-// CHECK:STDOUT: %.df3: type = fn_type_with_self_type %Op.type.989, %Destroy.facet.58b [concrete]
|
|
|
-// CHECK:STDOUT: %Op.specific_fn.01c: <specific function> = specific_function %Op.3ef, @Op.2(%Optional.79e) [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.impl_witness.67e: <witness> = impl_witness imports.%Destroy.impl_witness_table, @impl.d2b(%empty_struct_type) [concrete]
|
|
|
// CHECK:STDOUT: %Op.type.8b2: type = fn_type @Op.2, @impl.d2b(%empty_struct_type) [concrete]
|
|
|
// CHECK:STDOUT: %Op.ca6: %Op.type.8b2 = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.facet.2a8: %Destroy.type = facet_value %empty_struct_type, (%Destroy.impl_witness.67e) [concrete]
|
|
|
-// CHECK:STDOUT: %.902: type = fn_type_with_self_type %Op.type.989, %Destroy.facet.2a8 [concrete]
|
|
|
-// CHECK:STDOUT: %Op.specific_fn.04c: <specific function> = specific_function %Op.ca6, @Op.2(%empty_struct_type) [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.impl_witness.e89: <witness> = impl_witness imports.%Destroy.impl_witness_table, @impl.d2b(%EmptyRange.2f3) [concrete]
|
|
|
// CHECK:STDOUT: %Op.type.f1e: type = fn_type @Op.2, @impl.d2b(%EmptyRange.2f3) [concrete]
|
|
|
// CHECK:STDOUT: %Op.155: %Op.type.f1e = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %ptr.5cf: type = ptr_type %EmptyRange.2f3 [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.facet.dcc: %Destroy.type = facet_value %EmptyRange.2f3, (%Destroy.impl_witness.e89) [concrete]
|
|
|
-// CHECK:STDOUT: %.be5: type = fn_type_with_self_type %Op.type.989, %Destroy.facet.dcc [concrete]
|
|
|
-// CHECK:STDOUT: %Op.specific_fn.e02: <specific function> = specific_function %Op.155, @Op.2(%EmptyRange.2f3) [concrete]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: imports {
|
|
|
@@ -590,8 +517,6 @@ fn Run() {
|
|
|
// CHECK:STDOUT: %Iterate.impl_witness_table = impl_witness_table (%Main.import_ref.6ce, %Main.import_ref.999, %Main.import_ref.57b, %Main.import_ref.170), @impl.86e [concrete]
|
|
|
// CHECK:STDOUT: %Main.import_ref.7f9: @Optional.%HasValue.type (%HasValue.type.f81) = import_ref Main//empty_range, inst136 [indirect], loaded [symbolic = @Optional.%HasValue (constants.%HasValue.6fd)]
|
|
|
// CHECK:STDOUT: %Main.import_ref.d10: @Optional.%Get.type (%Get.type.b8f) = import_ref Main//empty_range, inst137 [indirect], loaded [symbolic = @Optional.%Get (constants.%Get.9c8)]
|
|
|
-// CHECK:STDOUT: %Main.import_ref.fcc: @impl.d2b.%Op.type (%Op.type.ed4) = import_ref Main//empty_range, inst373 [indirect], loaded [symbolic = @impl.d2b.%Op (constants.%Op.486)]
|
|
|
-// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Main.import_ref.fcc), @impl.d2b [concrete]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: fn @Run() {
|
|
|
@@ -681,30 +606,26 @@ fn Run() {
|
|
|
// CHECK:STDOUT: br !for.next
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !for.done:
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc10_61.1: %.f45 = impl_witness_access constants.%Destroy.impl_witness.356, element0 [concrete = constants.%Op.149]
|
|
|
-// CHECK:STDOUT: %bound_method.loc10_61.7: <bound method> = bound_method %.loc10_61.8, %impl.elem0.loc10_61.1
|
|
|
-// CHECK:STDOUT: %specific_fn.loc10_61.3: <specific function> = specific_function %impl.elem0.loc10_61.1, @Op.2(constants.%tuple.type.784) [concrete = constants.%Op.specific_fn.14c]
|
|
|
-// CHECK:STDOUT: %bound_method.loc10_61.8: <bound method> = bound_method %.loc10_61.8, %specific_fn.loc10_61.3
|
|
|
+// CHECK:STDOUT: %Op.bound.loc10_61.1: <bound method> = bound_method %.loc10_61.8, constants.%Op.149
|
|
|
+// CHECK:STDOUT: <elided>
|
|
|
+// CHECK:STDOUT: %bound_method.loc10_61.7: <bound method> = bound_method %.loc10_61.8, %Op.specific_fn.1
|
|
|
// CHECK:STDOUT: %addr.loc10_61.2: %ptr.b85 = addr_of %.loc10_61.8
|
|
|
-// CHECK:STDOUT: %no_op.loc10_61.1: init %empty_tuple.type = call %bound_method.loc10_61.8(%addr.loc10_61.2)
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc10_61.2: %.df3 = impl_witness_access constants.%Destroy.impl_witness.4cb, element0 [concrete = constants.%Op.3ef]
|
|
|
-// CHECK:STDOUT: %bound_method.loc10_61.9: <bound method> = bound_method %.loc10_61.1, %impl.elem0.loc10_61.2
|
|
|
-// CHECK:STDOUT: %specific_fn.loc10_61.4: <specific function> = specific_function %impl.elem0.loc10_61.2, @Op.2(constants.%Optional.79e) [concrete = constants.%Op.specific_fn.01c]
|
|
|
-// CHECK:STDOUT: %bound_method.loc10_61.10: <bound method> = bound_method %.loc10_61.1, %specific_fn.loc10_61.4
|
|
|
+// CHECK:STDOUT: %no_op.loc10_61.1: init %empty_tuple.type = call %bound_method.loc10_61.7(%addr.loc10_61.2)
|
|
|
+// CHECK:STDOUT: %Op.bound.loc10_61.2: <bound method> = bound_method %.loc10_61.1, constants.%Op.3ef
|
|
|
+// CHECK:STDOUT: <elided>
|
|
|
+// CHECK:STDOUT: %bound_method.loc10_61.8: <bound method> = bound_method %.loc10_61.1, %Op.specific_fn.2
|
|
|
// CHECK:STDOUT: %addr.loc10_61.3: %ptr.07d = addr_of %.loc10_61.1
|
|
|
-// CHECK:STDOUT: %no_op.loc10_61.2: init %empty_tuple.type = call %bound_method.loc10_61.10(%addr.loc10_61.3)
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc10_61.3: %.902 = impl_witness_access constants.%Destroy.impl_witness.67e, element0 [concrete = constants.%Op.ca6]
|
|
|
-// CHECK:STDOUT: %bound_method.loc10_61.11: <bound method> = bound_method %var, %impl.elem0.loc10_61.3
|
|
|
-// CHECK:STDOUT: %specific_fn.loc10_61.5: <specific function> = specific_function %impl.elem0.loc10_61.3, @Op.2(constants.%empty_struct_type) [concrete = constants.%Op.specific_fn.04c]
|
|
|
-// CHECK:STDOUT: %bound_method.loc10_61.12: <bound method> = bound_method %var, %specific_fn.loc10_61.5
|
|
|
+// CHECK:STDOUT: %no_op.loc10_61.2: init %empty_tuple.type = call %bound_method.loc10_61.8(%addr.loc10_61.3)
|
|
|
+// CHECK:STDOUT: %Op.bound.loc10_61.3: <bound method> = bound_method %var, constants.%Op.ca6
|
|
|
+// CHECK:STDOUT: <elided>
|
|
|
+// CHECK:STDOUT: %bound_method.loc10_61.9: <bound method> = bound_method %var, %Op.specific_fn.3
|
|
|
// CHECK:STDOUT: %addr.loc10_61.4: %ptr.c28 = addr_of %var
|
|
|
-// CHECK:STDOUT: %no_op.loc10_61.3: init %empty_tuple.type = call %bound_method.loc10_61.12(%addr.loc10_61.4)
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc10_60: %.be5 = impl_witness_access constants.%Destroy.impl_witness.e89, element0 [concrete = constants.%Op.155]
|
|
|
-// CHECK:STDOUT: %bound_method.loc10_60.1: <bound method> = bound_method %.loc10_60.1, %impl.elem0.loc10_60
|
|
|
-// CHECK:STDOUT: %specific_fn.loc10_60: <specific function> = specific_function %impl.elem0.loc10_60, @Op.2(constants.%EmptyRange.2f3) [concrete = constants.%Op.specific_fn.e02]
|
|
|
-// CHECK:STDOUT: %bound_method.loc10_60.2: <bound method> = bound_method %.loc10_60.1, %specific_fn.loc10_60
|
|
|
+// CHECK:STDOUT: %no_op.loc10_61.3: init %empty_tuple.type = call %bound_method.loc10_61.9(%addr.loc10_61.4)
|
|
|
+// CHECK:STDOUT: %Op.bound.loc10_60: <bound method> = bound_method %.loc10_60.1, constants.%Op.155
|
|
|
+// CHECK:STDOUT: <elided>
|
|
|
+// CHECK:STDOUT: %bound_method.loc10_60: <bound method> = bound_method %.loc10_60.1, %Op.specific_fn.4
|
|
|
// CHECK:STDOUT: %addr.loc10_60: %ptr.5cf = addr_of %.loc10_60.1
|
|
|
-// CHECK:STDOUT: %no_op.loc10_60: init %empty_tuple.type = call %bound_method.loc10_60.2(%addr.loc10_60)
|
|
|
+// CHECK:STDOUT: %no_op.loc10_60: init %empty_tuple.type = call %bound_method.loc10_60(%addr.loc10_60)
|
|
|
// CHECK:STDOUT: <elided>
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
@@ -740,10 +661,6 @@ fn Run() {
|
|
|
// CHECK:STDOUT: %HasValue.6fd: %HasValue.type.f81 = struct_value () [symbolic]
|
|
|
// CHECK:STDOUT: %Get.type.b8f: type = fn_type @Get, @Optional(%T) [symbolic]
|
|
|
// CHECK:STDOUT: %Get.9c8: %Get.type.b8f = struct_value () [symbolic]
|
|
|
-// CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete]
|
|
|
-// CHECK:STDOUT: %Op.type.989: type = fn_type @Op.1 [concrete]
|
|
|
-// CHECK:STDOUT: %Op.type.ed4: type = fn_type @Op.2, @impl.d2b(%T) [symbolic]
|
|
|
-// CHECK:STDOUT: %Op.486: %Op.type.ed4 = struct_value () [symbolic]
|
|
|
// CHECK:STDOUT: %Iterate.impl_witness.627: <witness> = impl_witness imports.%Iterate.impl_witness_table, @impl.86e(%tuple.type.56b) [concrete]
|
|
|
// CHECK:STDOUT: %NewCursor.type.59c: type = fn_type @NewCursor.2, @impl.86e(%tuple.type.56b) [concrete]
|
|
|
// CHECK:STDOUT: %NewCursor.263: %NewCursor.type.59c = struct_value () [concrete]
|
|
|
@@ -762,33 +679,17 @@ fn Run() {
|
|
|
// CHECK:STDOUT: %Get.8a7: %Get.type.4a4 = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %HasValue.specific_fn: <specific function> = specific_function %HasValue.bef, @HasValue(%tuple.type.56b) [concrete]
|
|
|
// CHECK:STDOUT: %Get.specific_fn: <specific function> = specific_function %Get.8a7, @Get(%tuple.type.56b) [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.impl_witness.c9b: <witness> = impl_witness imports.%Destroy.impl_witness_table, @impl.d2b(%tuple.type.56b) [concrete]
|
|
|
// CHECK:STDOUT: %Op.type.65e: type = fn_type @Op.2, @impl.d2b(%tuple.type.56b) [concrete]
|
|
|
// CHECK:STDOUT: %Op.587: %Op.type.65e = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %ptr.9f0: type = ptr_type %tuple.type.56b [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.facet.882: %Destroy.type = facet_value %tuple.type.56b, (%Destroy.impl_witness.c9b) [concrete]
|
|
|
-// CHECK:STDOUT: %.d75: type = fn_type_with_self_type %Op.type.989, %Destroy.facet.882 [concrete]
|
|
|
-// CHECK:STDOUT: %Op.specific_fn.6b2: <specific function> = specific_function %Op.587, @Op.2(%tuple.type.56b) [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.impl_witness.f8d: <witness> = impl_witness imports.%Destroy.impl_witness_table, @impl.d2b(%Optional.657) [concrete]
|
|
|
// CHECK:STDOUT: %Op.type.400: type = fn_type @Op.2, @impl.d2b(%Optional.657) [concrete]
|
|
|
// CHECK:STDOUT: %Op.5ec: %Op.type.400 = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %ptr.036: type = ptr_type %Optional.657 [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.facet.cb2: %Destroy.type = facet_value %Optional.657, (%Destroy.impl_witness.f8d) [concrete]
|
|
|
-// CHECK:STDOUT: %.894: type = fn_type_with_self_type %Op.type.989, %Destroy.facet.cb2 [concrete]
|
|
|
-// CHECK:STDOUT: %Op.specific_fn.840: <specific function> = specific_function %Op.5ec, @Op.2(%Optional.657) [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.impl_witness.67e: <witness> = impl_witness imports.%Destroy.impl_witness_table, @impl.d2b(%empty_struct_type) [concrete]
|
|
|
// CHECK:STDOUT: %Op.type.8b2: type = fn_type @Op.2, @impl.d2b(%empty_struct_type) [concrete]
|
|
|
// CHECK:STDOUT: %Op.ca6: %Op.type.8b2 = struct_value () [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.facet.2a8: %Destroy.type = facet_value %empty_struct_type, (%Destroy.impl_witness.67e) [concrete]
|
|
|
-// CHECK:STDOUT: %.902: type = fn_type_with_self_type %Op.type.989, %Destroy.facet.2a8 [concrete]
|
|
|
-// CHECK:STDOUT: %Op.specific_fn.04c: <specific function> = specific_function %Op.ca6, @Op.2(%empty_struct_type) [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.impl_witness.f74: <witness> = impl_witness imports.%Destroy.impl_witness_table, @impl.d2b(%EmptyRange.90a) [concrete]
|
|
|
// CHECK:STDOUT: %Op.type.cee: type = fn_type @Op.2, @impl.d2b(%EmptyRange.90a) [concrete]
|
|
|
// CHECK:STDOUT: %Op.323: %Op.type.cee = struct_value () [concrete]
|
|
|
// CHECK:STDOUT: %ptr.f9b: type = ptr_type %EmptyRange.90a [concrete]
|
|
|
-// CHECK:STDOUT: %Destroy.facet.31a: %Destroy.type = facet_value %EmptyRange.90a, (%Destroy.impl_witness.f74) [concrete]
|
|
|
-// CHECK:STDOUT: %.3a2: type = fn_type_with_self_type %Op.type.989, %Destroy.facet.31a [concrete]
|
|
|
-// CHECK:STDOUT: %Op.specific_fn.5d2: <specific function> = specific_function %Op.323, @Op.2(%EmptyRange.90a) [concrete]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: imports {
|
|
|
@@ -801,8 +702,6 @@ fn Run() {
|
|
|
// CHECK:STDOUT: %Iterate.impl_witness_table = impl_witness_table (%Main.import_ref.6ce, %Main.import_ref.999, %Main.import_ref.57b, %Main.import_ref.170), @impl.86e [concrete]
|
|
|
// CHECK:STDOUT: %Main.import_ref.7f9: @Optional.%HasValue.type (%HasValue.type.f81) = import_ref Main//empty_range, inst136 [indirect], loaded [symbolic = @Optional.%HasValue (constants.%HasValue.6fd)]
|
|
|
// CHECK:STDOUT: %Main.import_ref.d10: @Optional.%Get.type (%Get.type.b8f) = import_ref Main//empty_range, inst137 [indirect], loaded [symbolic = @Optional.%Get (constants.%Get.9c8)]
|
|
|
-// CHECK:STDOUT: %Main.import_ref.fcc: @impl.d2b.%Op.type (%Op.type.ed4) = import_ref Main//empty_range, inst373 [indirect], loaded [symbolic = @impl.d2b.%Op (constants.%Op.486)]
|
|
|
-// CHECK:STDOUT: %Destroy.impl_witness_table = impl_witness_table (%Main.import_ref.fcc), @impl.d2b [concrete]
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: fn @Run() {
|
|
|
@@ -880,30 +779,26 @@ fn Run() {
|
|
|
// CHECK:STDOUT: br !for.next
|
|
|
// CHECK:STDOUT:
|
|
|
// CHECK:STDOUT: !for.done:
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc12_49.1: %.d75 = impl_witness_access constants.%Destroy.impl_witness.c9b, element0 [concrete = constants.%Op.587]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_49.7: <bound method> = bound_method %.loc12_49.8, %impl.elem0.loc12_49.1
|
|
|
-// CHECK:STDOUT: %specific_fn.loc12_49.3: <specific function> = specific_function %impl.elem0.loc12_49.1, @Op.2(constants.%tuple.type.56b) [concrete = constants.%Op.specific_fn.6b2]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_49.8: <bound method> = bound_method %.loc12_49.8, %specific_fn.loc12_49.3
|
|
|
+// CHECK:STDOUT: %Op.bound.loc12_49.1: <bound method> = bound_method %.loc12_49.8, constants.%Op.587
|
|
|
+// CHECK:STDOUT: <elided>
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_49.7: <bound method> = bound_method %.loc12_49.8, %Op.specific_fn.1
|
|
|
// CHECK:STDOUT: %addr.loc12_49.2: %ptr.9f0 = addr_of %.loc12_49.8
|
|
|
-// CHECK:STDOUT: %no_op.loc12_49.1: init %empty_tuple.type = call %bound_method.loc12_49.8(%addr.loc12_49.2)
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc12_49.2: %.894 = impl_witness_access constants.%Destroy.impl_witness.f8d, element0 [concrete = constants.%Op.5ec]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_49.9: <bound method> = bound_method %.loc12_49.1, %impl.elem0.loc12_49.2
|
|
|
-// CHECK:STDOUT: %specific_fn.loc12_49.4: <specific function> = specific_function %impl.elem0.loc12_49.2, @Op.2(constants.%Optional.657) [concrete = constants.%Op.specific_fn.840]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_49.10: <bound method> = bound_method %.loc12_49.1, %specific_fn.loc12_49.4
|
|
|
+// CHECK:STDOUT: %no_op.loc12_49.1: init %empty_tuple.type = call %bound_method.loc12_49.7(%addr.loc12_49.2)
|
|
|
+// CHECK:STDOUT: %Op.bound.loc12_49.2: <bound method> = bound_method %.loc12_49.1, constants.%Op.5ec
|
|
|
+// CHECK:STDOUT: <elided>
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_49.8: <bound method> = bound_method %.loc12_49.1, %Op.specific_fn.2
|
|
|
// CHECK:STDOUT: %addr.loc12_49.3: %ptr.036 = addr_of %.loc12_49.1
|
|
|
-// CHECK:STDOUT: %no_op.loc12_49.2: init %empty_tuple.type = call %bound_method.loc12_49.10(%addr.loc12_49.3)
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc12_49.3: %.902 = impl_witness_access constants.%Destroy.impl_witness.67e, element0 [concrete = constants.%Op.ca6]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_49.11: <bound method> = bound_method %var, %impl.elem0.loc12_49.3
|
|
|
-// CHECK:STDOUT: %specific_fn.loc12_49.5: <specific function> = specific_function %impl.elem0.loc12_49.3, @Op.2(constants.%empty_struct_type) [concrete = constants.%Op.specific_fn.04c]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_49.12: <bound method> = bound_method %var, %specific_fn.loc12_49.5
|
|
|
+// CHECK:STDOUT: %no_op.loc12_49.2: init %empty_tuple.type = call %bound_method.loc12_49.8(%addr.loc12_49.3)
|
|
|
+// CHECK:STDOUT: %Op.bound.loc12_49.3: <bound method> = bound_method %var, constants.%Op.ca6
|
|
|
+// CHECK:STDOUT: <elided>
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_49.9: <bound method> = bound_method %var, %Op.specific_fn.3
|
|
|
// CHECK:STDOUT: %addr.loc12_49.4: %ptr.c28 = addr_of %var
|
|
|
-// CHECK:STDOUT: %no_op.loc12_49.3: init %empty_tuple.type = call %bound_method.loc12_49.12(%addr.loc12_49.4)
|
|
|
-// CHECK:STDOUT: %impl.elem0.loc12_48: %.3a2 = impl_witness_access constants.%Destroy.impl_witness.f74, element0 [concrete = constants.%Op.323]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_48.1: <bound method> = bound_method %.loc12_48.1, %impl.elem0.loc12_48
|
|
|
-// CHECK:STDOUT: %specific_fn.loc12_48: <specific function> = specific_function %impl.elem0.loc12_48, @Op.2(constants.%EmptyRange.90a) [concrete = constants.%Op.specific_fn.5d2]
|
|
|
-// CHECK:STDOUT: %bound_method.loc12_48.2: <bound method> = bound_method %.loc12_48.1, %specific_fn.loc12_48
|
|
|
+// CHECK:STDOUT: %no_op.loc12_49.3: init %empty_tuple.type = call %bound_method.loc12_49.9(%addr.loc12_49.4)
|
|
|
+// CHECK:STDOUT: %Op.bound.loc12_48: <bound method> = bound_method %.loc12_48.1, constants.%Op.323
|
|
|
+// CHECK:STDOUT: <elided>
|
|
|
+// CHECK:STDOUT: %bound_method.loc12_48: <bound method> = bound_method %.loc12_48.1, %Op.specific_fn.4
|
|
|
// CHECK:STDOUT: %addr.loc12_48: %ptr.f9b = addr_of %.loc12_48.1
|
|
|
-// CHECK:STDOUT: %no_op.loc12_48: init %empty_tuple.type = call %bound_method.loc12_48.2(%addr.loc12_48)
|
|
|
+// CHECK:STDOUT: %no_op.loc12_48: init %empty_tuple.type = call %bound_method.loc12_48(%addr.loc12_48)
|
|
|
// CHECK:STDOUT: <elided>
|
|
|
// CHECK:STDOUT: }
|
|
|
// CHECK:STDOUT:
|