summaryrefslogtreecommitdiffstats
path: root/tests/ui/traits/alias/syntax.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/traits/alias/syntax.rs')
-rw-r--r--tests/ui/traits/alias/syntax.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/ui/traits/alias/syntax.rs b/tests/ui/traits/alias/syntax.rs
new file mode 100644
index 000000000..17557a51a
--- /dev/null
+++ b/tests/ui/traits/alias/syntax.rs
@@ -0,0 +1,24 @@
+// run-pass
+
+#![feature(trait_alias)]
+
+trait SimpleAlias = Default;
+trait GenericAlias<T> = Iterator<Item = T>;
+trait Partial<T> = IntoIterator<Item = T>;
+trait SpecificAlias = GenericAlias<i32>;
+trait PartialEqRef<'a, T: 'a> = PartialEq<&'a T>;
+trait StaticAlias = 'static;
+
+trait Things<T> {}
+trait Romeo {}
+#[allow(dead_code)]
+struct The<T>(T);
+#[allow(dead_code)]
+struct Fore<T>(T);
+impl<T, U> Things<T> for The<U> {}
+impl<T> Romeo for Fore<T> {}
+
+trait WithWhere<Art, Thou> = Romeo + Romeo where Fore<(Art, Thou)>: Romeo;
+trait BareWhere<Wild, Are> = where The<Wild>: Things<Are>;
+
+fn main() {}