|
|
@@ -73,7 +73,7 @@ interface O {
|
|
|
fn WithInteger(Q:! O where .P = i32) {}
|
|
|
|
|
|
fn WithBool(R:! O where .P = bool) {
|
|
|
- // CHECK:STDERR: fail_rewrites_mismatch_right.carbon:[[@LINE+10]]:3: error: cannot implicitly convert from `O where .(O.P) = bool` to `O where .(O.P) = i32` [ImplicitAsConversionFailure]
|
|
|
+ // CHECK:STDERR: fail_rewrites_mismatch_right.carbon:[[@LINE+10]]:3: error: cannot implicitly convert value of type `O where .(O.P) = bool` to `O where .(O.P) = i32` [ImplicitAsConversionFailure]
|
|
|
// CHECK:STDERR: WithInteger(R);
|
|
|
// CHECK:STDERR: ^~~~~~~~~~~~~~
|
|
|
// CHECK:STDERR: fail_rewrites_mismatch_right.carbon:[[@LINE+7]]:3: note: type `O where .(O.P) = bool` does not implement interface `Core.ImplicitAs(O where .(O.P) = i32)` [MissingImplInMemberAccessNote]
|
|
|
@@ -98,7 +98,7 @@ interface S {
|
|
|
fn WithT(V:! S where .T = ()) {}
|
|
|
|
|
|
fn WithU(W:! S where .U = ()) {
|
|
|
- // CHECK:STDERR: fail_rewrites_mismatch_left.carbon:[[@LINE+10]]:3: error: cannot implicitly convert from `S where .(S.U) = ()` to `S where .(S.T) = ()` [ImplicitAsConversionFailure]
|
|
|
+ // CHECK:STDERR: fail_rewrites_mismatch_left.carbon:[[@LINE+10]]:3: error: cannot implicitly convert value of type `S where .(S.U) = ()` to `S where .(S.T) = ()` [ImplicitAsConversionFailure]
|
|
|
// CHECK:STDERR: WithT(W);
|
|
|
// CHECK:STDERR: ^~~~~~~~
|
|
|
// CHECK:STDERR: fail_rewrites_mismatch_left.carbon:[[@LINE+7]]:3: note: type `S where .(S.U) = ()` does not implement interface `Core.ImplicitAs(S where .(S.T) = ())` [MissingImplInMemberAccessNote]
|
|
|
@@ -119,7 +119,7 @@ import library "equal_constraint";
|
|
|
import library "nested_rewrites";
|
|
|
|
|
|
fn Calls() {
|
|
|
- // CHECK:STDERR: fail_import_rewrites.carbon:[[@LINE+11]]:3: error: cannot implicitly convert from `type` to `N where .(N.P) = {}` [ImplicitAsConversionFailure]
|
|
|
+ // CHECK:STDERR: fail_import_rewrites.carbon:[[@LINE+11]]:3: error: cannot implicitly convert value of type `type` to `N where .(N.P) = {}` [ImplicitAsConversionFailure]
|
|
|
// CHECK:STDERR: Equal(bool);
|
|
|
// CHECK:STDERR: ^~~~~~~~~~~
|
|
|
// CHECK:STDERR: fail_import_rewrites.carbon:[[@LINE+8]]:3: note: type `type` does not implement interface `Core.ImplicitAs(N where .(N.P) = {})` [MissingImplInMemberAccessNote]
|
|
|
@@ -132,7 +132,7 @@ fn Calls() {
|
|
|
// CHECK:STDERR:
|
|
|
Equal(bool);
|
|
|
|
|
|
- // CHECK:STDERR: fail_import_rewrites.carbon:[[@LINE+11]]:3: error: cannot implicitly convert from `type` to `A where .(A.C) = () and .(A.B) = bool` [ImplicitAsConversionFailure]
|
|
|
+ // CHECK:STDERR: fail_import_rewrites.carbon:[[@LINE+11]]:3: error: cannot implicitly convert value of type `type` to `A where .(A.C) = () and .(A.B) = bool` [ImplicitAsConversionFailure]
|
|
|
// CHECK:STDERR: NestedRewrite(i32);
|
|
|
// CHECK:STDERR: ^~~~~~~~~~~~~~~~~~
|
|
|
// CHECK:STDERR: fail_import_rewrites.carbon:[[@LINE+8]]:3: note: type `type` does not implement interface `Core.ImplicitAs(A where .(A.C) = () and .(A.B) = bool)` [MissingImplInMemberAccessNote]
|
|
|
@@ -155,7 +155,7 @@ interface I {
|
|
|
}
|
|
|
|
|
|
// `2` can't be converted to the type of `I.Member`
|
|
|
-// CHECK:STDERR: fail_check_rewrite_constraints.carbon:[[@LINE+7]]:46: error: cannot implicitly convert from `Core.IntLiteral` to `type` [ImplicitAsConversionFailure]
|
|
|
+// CHECK:STDERR: fail_check_rewrite_constraints.carbon:[[@LINE+7]]:46: error: cannot implicitly convert value of type `Core.IntLiteral` to `type` [ImplicitAsConversionFailure]
|
|
|
// CHECK:STDERR: fn RewriteTypeMismatch(X:! I where .Member = 2);
|
|
|
// CHECK:STDERR: ^
|
|
|
// CHECK:STDERR: fail_check_rewrite_constraints.carbon:[[@LINE+4]]:46: note: type `Core.IntLiteral` does not implement interface `Core.ImplicitAs(type)` [MissingImplInMemberAccessNote]
|
|
|
@@ -176,7 +176,7 @@ impl D as A {}
|
|
|
// CHECK:STDERR: let B: type where .Self impls A = D;
|
|
|
// CHECK:STDERR: ^
|
|
|
// CHECK:STDERR:
|
|
|
-// CHECK:STDERR: fail_todo_let.carbon:[[@LINE+7]]:35: error: cannot implicitly convert from `type` to `type where...` [ImplicitAsConversionFailure]
|
|
|
+// CHECK:STDERR: fail_todo_let.carbon:[[@LINE+7]]:35: error: cannot implicitly convert value of type `type` to `type where...` [ImplicitAsConversionFailure]
|
|
|
// CHECK:STDERR: let B: type where .Self impls A = D;
|
|
|
// CHECK:STDERR: ^
|
|
|
// CHECK:STDERR: fail_todo_let.carbon:[[@LINE+4]]:35: note: type `type` does not implement interface `Core.ImplicitAs(type where...)` [MissingImplInMemberAccessNote]
|
|
|
@@ -196,7 +196,7 @@ interface E {
|
|
|
// Testing how these types get stringified in error messages.
|
|
|
|
|
|
// TODO: This should be a compile-time binding, once that is supported.
|
|
|
-// CHECK:STDERR: fail_type_does_not_implement_where.carbon:[[@LINE+7]]:42: error: cannot implicitly convert from `type` to `E where .(E.G) = () and .(E.F) = bool` [ImplicitAsConversionFailure]
|
|
|
+// CHECK:STDERR: fail_type_does_not_implement_where.carbon:[[@LINE+7]]:42: error: cannot implicitly convert value of type `type` to `E where .(E.G) = () and .(E.F) = bool` [ImplicitAsConversionFailure]
|
|
|
// CHECK:STDERR: let H: (E where .F = bool and .G = ()) = f64;
|
|
|
// CHECK:STDERR: ^~~
|
|
|
// CHECK:STDERR: fail_type_does_not_implement_where.carbon:[[@LINE+4]]:42: note: type `type` does not implement interface `Core.ImplicitAs(E where .(E.G) = () and .(E.F) = bool)` [MissingImplInMemberAccessNote]
|
|
|
@@ -205,7 +205,7 @@ interface E {
|
|
|
// CHECK:STDERR:
|
|
|
let H: (E where .F = bool and .G = ()) = f64;
|
|
|
|
|
|
-// CHECK:STDERR: fail_type_does_not_implement_where.carbon:[[@LINE+7]]:45: error: cannot implicitly convert from `type` to `E where .(E.G) = i32 and .(E.F) = {}` [ImplicitAsConversionFailure]
|
|
|
+// CHECK:STDERR: fail_type_does_not_implement_where.carbon:[[@LINE+7]]:45: error: cannot implicitly convert value of type `type` to `E where .(E.G) = i32 and .(E.F) = {}` [ImplicitAsConversionFailure]
|
|
|
// CHECK:STDERR: let J: ((E where .F = {}) where .G = i32) = bool;
|
|
|
// CHECK:STDERR: ^~~~
|
|
|
// CHECK:STDERR: fail_type_does_not_implement_where.carbon:[[@LINE+4]]:45: note: type `type` does not implement interface `Core.ImplicitAs(E where .(E.G) = i32 and .(E.F) = {})` [MissingImplInMemberAccessNote]
|
|
|
@@ -214,7 +214,7 @@ let H: (E where .F = bool and .G = ()) = f64;
|
|
|
// CHECK:STDERR:
|
|
|
let J: ((E where .F = {}) where .G = i32) = bool;
|
|
|
|
|
|
-// CHECK:STDERR: fail_type_does_not_implement_where.carbon:[[@LINE+7]]:33: error: cannot implicitly convert from `type` to `E where .(E.F) = .(E.G)` [ImplicitAsConversionFailure]
|
|
|
+// CHECK:STDERR: fail_type_does_not_implement_where.carbon:[[@LINE+7]]:33: error: cannot implicitly convert value of type `type` to `E where .(E.F) = .(E.G)` [ImplicitAsConversionFailure]
|
|
|
// CHECK:STDERR: let K: (E where .F = .Self.G) = bool;
|
|
|
// CHECK:STDERR: ^~~~
|
|
|
// CHECK:STDERR: fail_type_does_not_implement_where.carbon:[[@LINE+4]]:33: note: type `type` does not implement interface `Core.ImplicitAs(E where .(E.F) = .(E.G))` [MissingImplInMemberAccessNote]
|