#![deny(dead_code)] | |
struct Foo(u8); //~ ERROR struct `Foo` is never constructed | |
enum Bar { //~ ERROR enum `Bar` is never used | |
Var1(u8), | |
Var2(u8), | |
} | |
pub trait Tr1 { | |
fn f1() -> Self; | |
} | |
impl Tr1 for Foo { | |
fn f1() -> Foo { | |
let f = Foo(0); | |
let Foo(tag) = f; | |
Foo(tag) | |
} | |
} | |
impl Tr1 for Bar { | |
fn f1() -> Bar { | |
let b = Bar::Var1(0); | |
let b = if let Bar::Var1(_) = b { | |
Bar::Var1(0) | |
} else { | |
Bar::Var2(0) | |
}; | |
match b { | |
Bar::Var1(_) => Bar::Var2(0), | |
Bar::Var2(_) => Bar::Var1(0), | |
} | |
} | |
} | |
fn main() {} |