Skip to content

Commit 872aa75

Browse files
Add Tests
1 parent 5f23ef7 commit 872aa75

File tree

2 files changed

+194
-0
lines changed

2 files changed

+194
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
#[derive(Copy, Clone)]
2+
struct Type;
3+
4+
struct NewType;
5+
6+
const fn get_size() -> usize {
7+
10
8+
}
9+
10+
fn get_dyn_size() -> usize {
11+
10
12+
}
13+
14+
fn main() {
15+
let a = ["a", 10];
16+
//~^ ERROR mismatched types
17+
//~| HELP replace comma with semicolon to create an array
18+
19+
const size_b: usize = 20;
20+
let b = [Type, size_b];
21+
//~^ ERROR mismatched types
22+
//~| HELP replace comma with semicolon to create an array
23+
24+
let size_c: usize = 13;
25+
let c = [Type, size_c];
26+
//~^ ERROR mismatched types
27+
28+
const size_d: bool = true;
29+
let d = [Type, size_d];
30+
//~^ ERROR mismatched types
31+
32+
let e = [String::new(), 10];
33+
//~^ ERROR mismatched types
34+
//~| HELP try using a conversion method
35+
36+
let f = ["f", get_size()];
37+
//~^ ERROR mismatched types
38+
//~| HELP replace comma with semicolon to create an array
39+
40+
let m = ["m", get_dyn_size()];
41+
//~^ ERROR mismatched types
42+
43+
// is_vec, is_clone, is_usize_like
44+
let g = vec![String::new(), 10];
45+
//~^ ERROR mismatched types
46+
//~| HELP replace comma with semicolon to create a vector
47+
48+
let dyn_size = 10;
49+
let h = vec![Type, dyn_size];
50+
//~^ ERROR mismatched types
51+
//~| HELP replace comma with semicolon to create a vector
52+
53+
let i = vec![Type, get_dyn_size()];
54+
//~^ ERROR mismatched types
55+
//~| HELP replace comma with semicolon to create a vector
56+
57+
let k = vec!['c', 10];
58+
//~^ ERROR mismatched types
59+
//~| HELP replace comma with semicolon to create a vector
60+
61+
let j = vec![Type, 10_u8];
62+
//~^ ERROR mismatched types
63+
64+
let l = vec![NewType, 10];
65+
//~^ ERROR mismatched types
66+
67+
let byte_size: u8 = 10;
68+
let h = vec![Type, byte_size];
69+
//~^ ERROR mismatched types
70+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
error[E0308]: mismatched types
2+
--> $DIR/typo-in-repeat-expr-issue-80173.rs:15:19
3+
|
4+
LL | let a = ["a", 10];
5+
| ^^ expected `&str`, found integer
6+
|
7+
help: replace comma with semicolon to create an array
8+
|
9+
LL | let a = ["a"; 10];
10+
| ~
11+
12+
error[E0308]: mismatched types
13+
--> $DIR/typo-in-repeat-expr-issue-80173.rs:20:20
14+
|
15+
LL | let b = [Type, size_b];
16+
| ^^^^^^ expected `Type`, found `usize`
17+
|
18+
help: replace comma with semicolon to create an array
19+
|
20+
LL | let b = [Type; size_b];
21+
| ~
22+
23+
error[E0308]: mismatched types
24+
--> $DIR/typo-in-repeat-expr-issue-80173.rs:25:20
25+
|
26+
LL | let c = [Type, size_c];
27+
| ^^^^^^ expected `Type`, found `usize`
28+
29+
error[E0308]: mismatched types
30+
--> $DIR/typo-in-repeat-expr-issue-80173.rs:29:20
31+
|
32+
LL | let d = [Type, size_d];
33+
| ^^^^^^ expected `Type`, found `bool`
34+
35+
error[E0308]: mismatched types
36+
--> $DIR/typo-in-repeat-expr-issue-80173.rs:32:29
37+
|
38+
LL | let e = [String::new(), 10];
39+
| ^^- help: try using a conversion method: `.to_string()`
40+
| |
41+
| expected `String`, found integer
42+
43+
error[E0308]: mismatched types
44+
--> $DIR/typo-in-repeat-expr-issue-80173.rs:36:19
45+
|
46+
LL | let f = ["f", get_size()];
47+
| ^^^^^^^^^^ expected `&str`, found `usize`
48+
|
49+
help: replace comma with semicolon to create an array
50+
|
51+
LL | let f = ["f"; get_size()];
52+
| ~
53+
54+
error[E0308]: mismatched types
55+
--> $DIR/typo-in-repeat-expr-issue-80173.rs:40:19
56+
|
57+
LL | let m = ["m", get_dyn_size()];
58+
| ^^^^^^^^^^^^^^ expected `&str`, found `usize`
59+
60+
error[E0308]: mismatched types
61+
--> $DIR/typo-in-repeat-expr-issue-80173.rs:44:33
62+
|
63+
LL | let g = vec![String::new(), 10];
64+
| ^^ expected `String`, found integer
65+
|
66+
help: replace comma with semicolon to create a vector
67+
|
68+
LL | let g = vec![String::new(); 10];
69+
| ~
70+
71+
error[E0308]: mismatched types
72+
--> $DIR/typo-in-repeat-expr-issue-80173.rs:49:24
73+
|
74+
LL | let h = vec![Type, dyn_size];
75+
| ^^^^^^^^ expected `Type`, found integer
76+
|
77+
help: replace comma with semicolon to create a vector
78+
|
79+
LL | let h = vec![Type; dyn_size];
80+
| ~
81+
82+
error[E0308]: mismatched types
83+
--> $DIR/typo-in-repeat-expr-issue-80173.rs:53:24
84+
|
85+
LL | let i = vec![Type, get_dyn_size()];
86+
| ^^^^^^^^^^^^^^ expected `Type`, found `usize`
87+
|
88+
help: replace comma with semicolon to create a vector
89+
|
90+
LL | let i = vec![Type; get_dyn_size()];
91+
| ~
92+
93+
error[E0308]: mismatched types
94+
--> $DIR/typo-in-repeat-expr-issue-80173.rs:57:23
95+
|
96+
LL | let k = vec!['c', 10];
97+
| ^^ expected `char`, found `u8`
98+
|
99+
help: replace comma with semicolon to create a vector
100+
|
101+
LL | let k = vec!['c'; 10];
102+
| ~
103+
104+
error[E0308]: mismatched types
105+
--> $DIR/typo-in-repeat-expr-issue-80173.rs:61:24
106+
|
107+
LL | let j = vec![Type, 10_u8];
108+
| ^^^^^ expected `Type`, found `u8`
109+
110+
error[E0308]: mismatched types
111+
--> $DIR/typo-in-repeat-expr-issue-80173.rs:64:27
112+
|
113+
LL | let l = vec![NewType, 10];
114+
| ^^ expected `NewType`, found integer
115+
116+
error[E0308]: mismatched types
117+
--> $DIR/typo-in-repeat-expr-issue-80173.rs:68:24
118+
|
119+
LL | let h = vec![Type, byte_size];
120+
| ^^^^^^^^^ expected `Type`, found `u8`
121+
122+
error: aborting due to 14 previous errors
123+
124+
For more information about this error, try `rustc --explain E0308`.

0 commit comments

Comments
 (0)