blob: fa9d1a88928cdf727a3a344910fa001668a559d0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
// Tests that a suggestion is issued for type mismatch errors when a
// 1-tuple is expected and a parenthesized expression of non-tuple
// type is supplied.
fn foo<T>(_t: (T,)) {}
struct S { _s: (String,) }
fn main() {
let _x: (i32,) = (5);
//~^ ERROR: mismatched types [E0308]
//~| HELP: use a trailing comma to create a tuple with one element
foo((Some(3)));
//~^ ERROR: mismatched types [E0308]
//~| HELP: use a trailing comma to create a tuple with one element
let _s = S { _s: ("abc".to_string()) };
//~^ ERROR: mismatched types [E0308]
//~| HELP: use a trailing comma to create a tuple with one element
// Do not issue the suggestion if the found type is already a tuple.
let t = (1, 2);
let _x: (i32,) = (t);
//~^ ERROR: mismatched types [E0308]
}
|