diff options
| author | Pietro Albini <pietro@pietroalbini.org> | 2018-12-05 23:54:32 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-12-05 23:54:32 +0100 |
| commit | 1276ffeba2900d409ce8980e86a7bee66aa4ad54 (patch) | |
| tree | 938a0135260155b6a11495234bb1fb1b257e7b53 | |
| parent | 4ff4fc1bc93f54839e6dfa56bc2e87b686a74094 (diff) | |
| parent | 1fb82b5a038428901818acfdca15a1d61c241146 (diff) | |
| download | rust-1276ffeba2900d409ce8980e86a7bee66aa4ad54.tar.gz rust-1276ffeba2900d409ce8980e86a7bee66aa4ad54.zip | |
Rollup merge of #56456 - oli-obk:private_impl_trait, r=cramertj
Handle existential types in dead code analysis fixes #55124 r? @cramertj
| -rw-r--r-- | src/librustc/middle/dead.rs | 1 | ||||
| -rw-r--r-- | src/test/ui/existential_types/private_unused.rs | 13 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/librustc/middle/dead.rs b/src/librustc/middle/dead.rs index 282b5d13e2c..bb7a6a6ee7b 100644 --- a/src/librustc/middle/dead.rs +++ b/src/librustc/middle/dead.rs @@ -166,6 +166,7 @@ impl<'a, 'tcx> MarkSymbolVisitor<'a, 'tcx> { hir::ItemKind::Fn(..) | hir::ItemKind::Ty(..) | hir::ItemKind::Static(..) + | hir::ItemKind::Existential(..) | hir::ItemKind::Const(..) => { intravisit::walk_item(self, &item); } diff --git a/src/test/ui/existential_types/private_unused.rs b/src/test/ui/existential_types/private_unused.rs new file mode 100644 index 00000000000..736d812bc0a --- /dev/null +++ b/src/test/ui/existential_types/private_unused.rs @@ -0,0 +1,13 @@ +// compile-pass + +#[deny(warnings)] + +enum Empty { } +trait Bar<T> {} +impl Bar<Empty> for () {} + +fn boo() -> impl Bar<Empty> {} + +fn main() { + boo(); +} |
