Encode TraitAlias as if they were Trait

This commit is contained in:
Esteban Küber 2018-12-07 14:52:44 -08:00
parent cd48ce1e9a
commit 14cca296c5
2 changed files with 9 additions and 2 deletions

View file

@ -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),
};

View file

@ -0,0 +1,7 @@
// run-pass
#![feature(trait_alias)]
pub trait Foo {}
pub trait FooAlias = Foo;
fn main() {}