diff options
| author | Esteban Küber <esteban@kuber.com.ar> | 2018-12-07 14:52:44 -0800 |
|---|---|---|
| committer | Esteban Küber <esteban@kuber.com.ar> | 2018-12-07 14:52:44 -0800 |
| commit | 14cca296c5f4e12b147a60bfca032950cc67e635 (patch) | |
| tree | 9b38988ba6b22413fd90b89382635451c9833d2f | |
| parent | cd48ce1e9a9c0965f01ede2ea1a554eca2c74336 (diff) | |
| download | rust-14cca296c5f4e12b147a60bfca032950cc67e635.tar.gz rust-14cca296c5f4e12b147a60bfca032950cc67e635.zip | |
Encode `TraitAlias` as if they were `Trait`
| -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 2736c60ffb6..9bcb541ece8 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() {} |
