tests: update tests for more conservative return ty mismatch note
This commit is contained in:
parent
bfe6a26af6
commit
939026c8fb
@ -1,4 +1,5 @@
|
||||
// Checks existence of a note for "a caller chooses ty for ty param" upon return ty mismatch.
|
||||
// Checks existence or absence of a note for "a caller chooses ty for ty param" upon return ty
|
||||
// mismatch.
|
||||
|
||||
fn f<T>() -> (T,) {
|
||||
(0,) //~ ERROR mismatched types
|
||||
@ -14,6 +15,14 @@ fn h() -> u8 {
|
||||
0u8
|
||||
}
|
||||
|
||||
// This case was reported in <https://github.com/rust-lang/rust/issues/126547> where it doesn't
|
||||
// make sense to make the "note caller chooses ty for ty param" note if the found type contains
|
||||
// the ty param...
|
||||
fn k<T>(_t: &T) -> T {
|
||||
_t
|
||||
//~^ ERROR mismatched types
|
||||
}
|
||||
|
||||
fn main() {
|
||||
f::<()>();
|
||||
g::<(), ()>;
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/return-ty-mismatch-note.rs:4:6
|
||||
--> $DIR/return-ty-mismatch-note.rs:5:6
|
||||
|
|
||||
LL | fn f<T>() -> (T,) {
|
||||
| - expected this type parameter
|
||||
@ -10,7 +10,7 @@ LL | (0,)
|
||||
found type `{integer}`
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/return-ty-mismatch-note.rs:8:6
|
||||
--> $DIR/return-ty-mismatch-note.rs:9:6
|
||||
|
|
||||
LL | fn g<U, V>() -> (U, V) {
|
||||
| - expected this type parameter
|
||||
@ -21,7 +21,7 @@ LL | (0, "foo")
|
||||
found type `{integer}`
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/return-ty-mismatch-note.rs:8:9
|
||||
--> $DIR/return-ty-mismatch-note.rs:9:9
|
||||
|
|
||||
LL | fn g<U, V>() -> (U, V) {
|
||||
| - expected this type parameter
|
||||
@ -31,6 +31,19 @@ LL | (0, "foo")
|
||||
= note: expected type parameter `V`
|
||||
found reference `&'static str`
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/return-ty-mismatch-note.rs:22:5
|
||||
|
|
||||
LL | fn k<T>(_t: &T) -> T {
|
||||
| - - expected `T` because of return type
|
||||
| |
|
||||
| expected this type parameter
|
||||
LL | _t
|
||||
| ^^ expected type parameter `T`, found `&T`
|
||||
|
|
||||
= note: expected type parameter `_`
|
||||
found reference `&_`
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0308`.
|
||||
|
@ -10,7 +10,6 @@ LL | t.clone()
|
||||
|
|
||||
= note: expected type parameter `_`
|
||||
found reference `&_`
|
||||
= note: the caller chooses a type for `T` which can be different from `&T`
|
||||
note: `T` does not implement `Clone`, so `&T` was cloned instead
|
||||
--> $DIR/clone-on-unconstrained-borrowed-type-param.rs:3:5
|
||||
|
|
||||
|
Loading…
Reference in New Issue
Block a user