| #![deny(dead_code)] |
| |
| struct Used; |
| struct Unused; //~ ERROR struct `Unused` is never constructed |
| |
| pub trait PubTrait { |
| fn foo(&self) -> Self; |
| } |
| |
| impl PubTrait for Used { |
| fn foo(&self) -> Self { Used } |
| } |
| |
| impl PubTrait for Unused { |
| fn foo(&self) -> Self { Unused } |
| } |
| |
| trait PriTrait { |
| fn foo(&self) -> Self; |
| } |
| |
| impl PriTrait for Used { |
| fn foo(&self) -> Self { Used } |
| } |
| |
| impl PriTrait for Unused { |
| fn foo(&self) -> Self { Unused } |
| } |
| |
| fn main() { |
| let t = Used; |
| let _t = <Used as PubTrait>::foo(&t); |
| let _t = <Used as PriTrait>::foo(&t); |
| } |