Skip to content

Commit e62ecdc

Browse files
committed
Add a dead code test for using anon const in pattern
1 parent 2969aec commit e62ecdc

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
// check-pass
2+
#![feature(inline_const)]
3+
#![allow(incomplete_features)]
4+
#![deny(dead_code)]
5+
6+
const fn one() -> i32 {
7+
1
8+
}
9+
10+
const fn two() -> i32 {
11+
2
12+
}
13+
14+
const fn three() -> i32 {
15+
3
16+
}
17+
18+
fn inline_const() {
19+
// rust-lang/rust#78171: dead_code lint triggers even though function is used in const pattern
20+
match 1 {
21+
const { one() } => {}
22+
_ => {}
23+
}
24+
}
25+
26+
fn inline_const_range() {
27+
match 1 {
28+
1 ..= const { two() } => {}
29+
_ => {}
30+
}
31+
}
32+
33+
struct S<const C: i32>;
34+
35+
fn const_generic_arg() {
36+
match S::<3> {
37+
S::<{three()}> => {}
38+
}
39+
}
40+
41+
fn main() {
42+
inline_const();
43+
inline_const_range();
44+
const_generic_arg();
45+
}

0 commit comments

Comments
 (0)