diff options
| author | bors <bors@rust-lang.org> | 2018-12-08 19:34:43 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2018-12-08 19:34:43 +0000 |
| commit | 8db23425a345381ec5f8d40e582c119a06b8cb3d (patch) | |
| tree | 1a46113bfa2ad28d6eefc16337822107aacedfcb | |
| parent | bdef56a3245460d1fb28c3b4d8ac4b17373c66ce (diff) | |
| parent | 14cca296c5f4e12b147a60bfca032950cc67e635 (diff) | |
Auto merge of #56616 - estebank:issue-56539, r=davidtwco
Encode `TraitAlias` as if they were `Trait` Fix #56539.
| -rw-r--r-- | src/librustc_metadata/encoder.rs | 4 | ||||
| -rw-r--r-- | src/test/ui/run-pass/traits/trait-alias.rs | 7 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/librustc_metadata/encoder.rs b/src/librustc_metadata/encoder.rs index 329e2dbdd95..feed70c6122 100644 --- a/src/librustc_metadata/encoder.rs +++ b/src/librustc_metadata/encoder.rs @@ -1141,7 +1141,8 @@ impl<'a, 'b: 'a, 'tcx: 'b> IsolatedEncoder<'a, 'b, 'tcx> { EntryKind::Impl(self.lazy(&data)) } - hir::ItemKind::Trait(..) => { + hir::ItemKind::Trait(..) | + hir::ItemKind::TraitAlias(..) => { let trait_def = tcx.trait_def(def_id); let data = TraitData { unsafety: trait_def.unsafety, @@ -1154,7 +1155,6 @@ impl<'a, 'b: 'a, 'tcx: 'b> IsolatedEncoder<'a, 'b, 'tcx> { EntryKind::Trait(self.lazy(&data)) } hir::ItemKind::ExternCrate(_) | - hir::ItemKind::TraitAlias(..) | hir::ItemKind::Use(..) => bug!("cannot encode info for item {:?}", item), }; diff --git a/src/test/ui/run-pass/traits/trait-alias.rs b/src/test/ui/run-pass/traits/trait-alias.rs new file mode 100644 index 00000000000..9be5664869e --- /dev/null +++ b/src/test/ui/run-pass/traits/trait-alias.rs @@ -0,0 +1,7 @@ +// run-pass +#![feature(trait_alias)] + +pub trait Foo {} +pub trait FooAlias = Foo; + +fn main() {} |
