]> git.lizzy.rs Git - rust.git/blobdiff - tests/source/trait.rs
fix internal error for long closure types (#3653)
[rust.git] / tests / source / trait.rs
index 1080211095181784ca6dc9aee8d17595246235b8..80ee0188a6baac4ac8cea857a5b789127f97d3e3 100644 (file)
@@ -122,3 +122,55 @@ pub trait ATrait
 {
 }
 }
+
+// Trait aliases with where clauses.
+trait A = where for<'b> &'b Self: Send;
+
+trait B = where for<'b> &'b Self: Send + Clone + Copy + SomeTrait + AAAAAAAA + BBBBBBB + CCCCCCCCCC;
+trait B = where for<'b> &'b Self: Send + Clone + Copy + SomeTrait + AAAAAAAA + BBBBBBB + CCCCCCCCCCC;
+trait B = where
+    for<'b> &'b Self:
+Send + Clone + Copy + SomeTrait + AAAAAAAA + BBBBBBB + CCCCCCCCCCCCCCCCCCCCCCC;
+trait B = where
+    for<'b> &'b Self:
+Send + Clone + Copy + SomeTrait + AAAAAAAA + BBBBBBB + CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC;
+
+trait B = where
+    for<'b> &'b Self:
+Send
+    + Clone
+    + Copy
+    + SomeTrait
+    + AAAAAAAA
+    + BBBBBBB
+    + CCCCCCCCC
+    + DDDDDDD
+    + DDDDDDDD
+    + DDDDDDDDD
+    + EEEEEEE;
+
+trait A<'a, 'b, 'c> = Debug<T> + Foo where for<'b> &'b Self: Send;
+
+trait B<'a, 'b, 'c> = Debug<T> +Foo
+where for<'b> &'b Self:
+Send
+    + Clone
+    + Copy
+    + SomeTrait
+    + AAAAAAAA
+    + BBBBBBB
+    + CCCCCCCCC
+    + DDDDDDD;
+
+trait B<'a, 'b, 'c,T> = Debug<'a, T> where for<'b> &'b Self:
+Send
+    + Clone
+    + Copy
+    + SomeTrait
+    + AAAAAAAA
+    + BBBBBBB
+    + CCCCCCCCC
+    + DDDDDDD
+    + DDDDDDDD
+    + DDDDDDDDD
+    + EEEEEEE;