about summary refs log tree commit diff
path: root/src/test/ui
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui')
-rw-r--r--src/test/ui/rfc1598-generic-associated-types/generic_associated_types_equals.rs18
-rw-r--r--src/test/ui/rfc1598-generic-associated-types/generic_associated_types_equals.stderr24
-rw-r--r--src/test/ui/rfc1598-generic-associated-types/parse/in-trait-impl.rs3
-rw-r--r--src/test/ui/rfc1598-generic-associated-types/parse/in-trait.rs9
4 files changed, 10 insertions, 44 deletions
diff --git a/src/test/ui/rfc1598-generic-associated-types/generic_associated_types_equals.rs b/src/test/ui/rfc1598-generic-associated-types/generic_associated_types_equals.rs
deleted file mode 100644
index 6cb2aaf47ae..00000000000
--- a/src/test/ui/rfc1598-generic-associated-types/generic_associated_types_equals.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(generic_associated_types)]
-
-trait Foo {
-    type Bar<T=usize>;
-    type X<T> where T = f64;
-}
-
-fn main() {}
diff --git a/src/test/ui/rfc1598-generic-associated-types/generic_associated_types_equals.stderr b/src/test/ui/rfc1598-generic-associated-types/generic_associated_types_equals.stderr
deleted file mode 100644
index 152c239d8f7..00000000000
--- a/src/test/ui/rfc1598-generic-associated-types/generic_associated_types_equals.stderr
+++ /dev/null
@@ -1,24 +0,0 @@
-error: equality constraints are not yet supported in where clauses (#20041)
-  --> $DIR/generic_associated_types_equals.rs:15:21
-   |
-15 |     type X<T> where T = f64;
-   |                     ^^^^^^^
-
-error[E0412]: cannot find type `T` in this scope
-  --> $DIR/generic_associated_types_equals.rs:15:21
-   |
-15 |     type X<T> where T = f64;
-   |                     ^ not found in this scope
-
-error: defaults for type parameters are only allowed in `struct`, `enum`, `type`, or `trait` definitions.
-  --> $DIR/generic_associated_types_equals.rs:14:14
-   |
-14 |     type Bar<T=usize>;
-   |              ^
-   |
-   = note: #[deny(invalid_type_param_default)] on by default
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #36887 <https://github.com/rust-lang/rust/issues/36887>
-
-error: aborting due to 3 previous errors
-
diff --git a/src/test/ui/rfc1598-generic-associated-types/parse/in-trait-impl.rs b/src/test/ui/rfc1598-generic-associated-types/parse/in-trait-impl.rs
index bb4a285ec71..a7bdadd195d 100644
--- a/src/test/ui/rfc1598-generic-associated-types/parse/in-trait-impl.rs
+++ b/src/test/ui/rfc1598-generic-associated-types/parse/in-trait-impl.rs
@@ -8,11 +8,12 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// compile-flags: -Zparse-only
+// compile-flags: -Z parse-only
 
 #![feature(generic_associated_types)]
 
 impl<T> Baz for T where T: Foo {
+    //FIXME(sunjay): This should parse successfully
     type Quux<'a> = <T as Foo>::Bar<'a, 'static>;
 }
 
diff --git a/src/test/ui/rfc1598-generic-associated-types/parse/in-trait.rs b/src/test/ui/rfc1598-generic-associated-types/parse/in-trait.rs
index 3c3f20b9ff6..fb239fb2a6e 100644
--- a/src/test/ui/rfc1598-generic-associated-types/parse/in-trait.rs
+++ b/src/test/ui/rfc1598-generic-associated-types/parse/in-trait.rs
@@ -8,10 +8,12 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// compile-flags: -Zparse-only
+// compile-flags: -Z parse-only
 
 #![feature(generic_associated_types)]
 
+use std::ops::Deref;
+
 trait Foo {
     type Bar<'a>;
     type Bar<'a, 'b>;
@@ -20,6 +22,11 @@ trait Foo {
     type Bar<'a, 'b, T, U>;
     type Bar<'a, 'b, T, U,>;
     type Bar<'a, 'b, T: Debug, U,>;
+    type Bar<'a, 'b, T: Debug, U,>: Debug;
+    type Bar<'a, 'b, T: Debug, U,>: Deref<Target = T> + Into<U>;
+    type Bar<'a, 'b, T: Debug, U,> where T: Deref<Target = U>, U: Into<T>;
+    type Bar<'a, 'b, T: Debug, U,>: Deref<Target = T> + Into<U>
+        where T: Deref<Target = U>, U: Into<T>;
 }
 
 fn main() {}