]> git.proxmox.com Git - rustc.git/blame - src/test/ui/lint/dead-code/const-and-self.rs
New upstream version 1.51.0+dfsg1
[rustc.git] / src / test / ui / lint / dead-code / const-and-self.rs
CommitLineData
e1599b0c
XL
1// check-pass
2
5869c6ff 3#![warn(dead_code)]
e1599b0c
XL
4
5const TLC: usize = 4;
6
7trait Tr { fn doit(&self); }
8
9impl Tr for [usize; TLC] {
10 fn doit(&self) {
11 println!("called 4");
12 }
13}
14
15struct X;
16struct Y;
17struct Z;
18
19trait Foo<T> {
20 type Ty;
21 fn foo() -> Self::Ty;
22}
23
24impl Foo<Y> for X {
25 type Ty = Z;
26 fn foo() -> Self::Ty {
27 unimplemented!()
28 }
29}
30
5869c6ff
XL
31enum E {
32 A,
33 B, //~ WARN variant is never constructed: `B`
34 C, //~ WARN variant is never constructed: `C`
35}
36
37type F = E;
38
39impl E {
40 fn check(&self) -> bool {
41 match self {
42 Self::A => true,
43 Self::B => false,
44 F::C => false,
45 }
46 }
47}
48
e1599b0c
XL
49fn main() {
50 let s = [0,1,2,3];
51 s.doit();
52 X::foo();
5869c6ff 53 E::A.check();
e1599b0c 54}