Account for warning in existing GAT tests
This commit is contained in:
parent
d305f68cb9
commit
bc8cead070
@ -9,10 +9,11 @@
|
||||
// except according to those terms.
|
||||
|
||||
#![feature(generic_associated_types)]
|
||||
//~^ WARNING the feature `generic_associated_types` is incomplete
|
||||
#![feature(associated_type_defaults)]
|
||||
|
||||
//FIXME(#44265): "lifetime parameters are not allowed on this type" errors will be addressed in a
|
||||
//follow-up PR
|
||||
// FIXME(#44265): "lifetime parameters are not allowed on this type" errors will be addressed in a
|
||||
// follow-up PR.
|
||||
|
||||
// A Collection trait and collection families. Based on
|
||||
// http://smallcultfollowing.com/babysteps/blog/2016/11/03/
|
||||
|
@ -1,29 +1,35 @@
|
||||
warning: the feature `generic_associated_types` is incomplete and may cause the compiler to crash
|
||||
--> $DIR/collections.rs:11:12
|
||||
|
|
||||
LL | #![feature(generic_associated_types)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0109]: type parameters are not allowed on this type
|
||||
--> $DIR/collections.rs:65:90
|
||||
--> $DIR/collections.rs:66:90
|
||||
|
|
||||
LL | fn floatify<C>(ints: &C) -> <<C as Collection<i32>>::Family as CollectionFamily>::Member<f32>
|
||||
| ^^^ type parameter not allowed
|
||||
|
||||
error[E0109]: type parameters are not allowed on this type
|
||||
--> $DIR/collections.rs:77:69
|
||||
--> $DIR/collections.rs:78:69
|
||||
|
|
||||
LL | fn floatify_sibling<C>(ints: &C) -> <C as Collection<i32>>::Sibling<f32>
|
||||
| ^^^ type parameter not allowed
|
||||
|
||||
error[E0109]: type parameters are not allowed on this type
|
||||
--> $DIR/collections.rs:26:71
|
||||
--> $DIR/collections.rs:27:71
|
||||
|
|
||||
LL | <<Self as Collection<T>>::Family as CollectionFamily>::Member<U>;
|
||||
| ^ type parameter not allowed
|
||||
|
||||
error[E0110]: lifetime parameters are not allowed on this type
|
||||
--> $DIR/collections.rs:33:50
|
||||
--> $DIR/collections.rs:34:50
|
||||
|
|
||||
LL | fn iterate<'iter>(&'iter self) -> Self::Iter<'iter>;
|
||||
| ^^^^^ lifetime parameter not allowed
|
||||
|
||||
error[E0110]: lifetime parameters are not allowed on this type
|
||||
--> $DIR/collections.rs:59:50
|
||||
--> $DIR/collections.rs:60:50
|
||||
|
|
||||
LL | fn iterate<'iter>(&'iter self) -> Self::Iter<'iter> {
|
||||
| ^^^^^ lifetime parameter not allowed
|
||||
|
@ -9,11 +9,12 @@
|
||||
// except according to those terms.
|
||||
|
||||
#![feature(generic_associated_types)]
|
||||
//~^ WARNING the feature `generic_associated_types` is incomplete
|
||||
|
||||
use std::ops::Deref;
|
||||
|
||||
//FIXME(#44265): "lifetime parameters are not allowed on this type" errors will be addressed in a
|
||||
//follow-up PR
|
||||
// FIXME(#44265): "lifetime parameters are not allowed on this type" errors will be addressed in a
|
||||
// follow-up PR.
|
||||
|
||||
trait Foo {
|
||||
type Bar<'a, 'b>;
|
||||
|
@ -1,17 +1,23 @@
|
||||
warning: the feature `generic_associated_types` is incomplete and may cause the compiler to crash
|
||||
--> $DIR/construct_with_other_type.rs:11:12
|
||||
|
|
||||
LL | #![feature(generic_associated_types)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0110]: lifetime parameters are not allowed on this type
|
||||
--> $DIR/construct_with_other_type.rs:26:46
|
||||
--> $DIR/construct_with_other_type.rs:27:46
|
||||
|
|
||||
LL | type Baa<'a>: Deref<Target = <Self::Quux<'a> as Foo>::Bar<'a, 'static>>;
|
||||
| ^^ lifetime parameter not allowed
|
||||
|
||||
error[E0110]: lifetime parameters are not allowed on this type
|
||||
--> $DIR/construct_with_other_type.rs:26:63
|
||||
--> $DIR/construct_with_other_type.rs:27:63
|
||||
|
|
||||
LL | type Baa<'a>: Deref<Target = <Self::Quux<'a> as Foo>::Bar<'a, 'static>>;
|
||||
| ^^ lifetime parameter not allowed
|
||||
|
||||
error[E0110]: lifetime parameters are not allowed on this type
|
||||
--> $DIR/construct_with_other_type.rs:34:40
|
||||
--> $DIR/construct_with_other_type.rs:35:40
|
||||
|
|
||||
LL | type Baa<'a> = &'a <T as Foo>::Bar<'a, 'static>;
|
||||
| ^^ lifetime parameter not allowed
|
||||
|
@ -9,6 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
#![feature(generic_associated_types)]
|
||||
//~^ WARNING the feature `generic_associated_types` is incomplete
|
||||
|
||||
trait Foo {
|
||||
type Bar<,>;
|
||||
|
@ -1,8 +1,14 @@
|
||||
error: expected one of `>`, identifier, or lifetime, found `,`
|
||||
--> $DIR/empty_generics.rs:14:14
|
||||
--> $DIR/empty_generics.rs:15:14
|
||||
|
|
||||
LL | type Bar<,>;
|
||||
| ^ expected one of `>`, identifier, or lifetime here
|
||||
|
||||
warning: the feature `generic_associated_types` is incomplete and may cause the compiler to crash
|
||||
--> $DIR/empty_generics.rs:11:12
|
||||
|
|
||||
LL | #![feature(generic_associated_types)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
@ -0,0 +1,6 @@
|
||||
warning: the feature `generic_associated_types` is incomplete and may cause the compiler to crash
|
||||
--> $DIR/generic-associated-types-where.rs:11:12
|
||||
|
|
||||
LL | #![feature(generic_associated_types)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
@ -9,11 +9,12 @@
|
||||
// except according to those terms.
|
||||
|
||||
#![feature(generic_associated_types)]
|
||||
//~^ WARNING the feature `generic_associated_types` is incomplete
|
||||
|
||||
use std::ops::Deref;
|
||||
|
||||
//FIXME(#44265): "lifetime parameters are not allowed on this type" errors will be addressed in a
|
||||
//follow-up PR
|
||||
// FIXME(#44265): "lifetime parameters are not allowed on this type" errors will be addressed in a
|
||||
// follow-up PR.
|
||||
|
||||
trait Iterable {
|
||||
type Item<'a>;
|
||||
|
@ -1,29 +1,35 @@
|
||||
warning: the feature `generic_associated_types` is incomplete and may cause the compiler to crash
|
||||
--> $DIR/generic_associated_type_undeclared_lifetimes.rs:11:12
|
||||
|
|
||||
LL | #![feature(generic_associated_types)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0261]: use of undeclared lifetime name `'b`
|
||||
--> $DIR/generic_associated_type_undeclared_lifetimes.rs:22:37
|
||||
--> $DIR/generic_associated_type_undeclared_lifetimes.rs:23:37
|
||||
|
|
||||
LL | + Deref<Target = Self::Item<'b>>;
|
||||
| ^^ undeclared lifetime
|
||||
|
||||
error[E0261]: use of undeclared lifetime name `'undeclared`
|
||||
--> $DIR/generic_associated_type_undeclared_lifetimes.rs:26:41
|
||||
--> $DIR/generic_associated_type_undeclared_lifetimes.rs:27:41
|
||||
|
|
||||
LL | fn iter<'a>(&'a self) -> Self::Iter<'undeclared>;
|
||||
| ^^^^^^^^^^^ undeclared lifetime
|
||||
|
||||
error[E0110]: lifetime parameters are not allowed on this type
|
||||
--> $DIR/generic_associated_type_undeclared_lifetimes.rs:20:47
|
||||
--> $DIR/generic_associated_type_undeclared_lifetimes.rs:21:47
|
||||
|
|
||||
LL | type Iter<'a>: Iterator<Item = Self::Item<'a>>
|
||||
| ^^ lifetime parameter not allowed
|
||||
|
||||
error[E0110]: lifetime parameters are not allowed on this type
|
||||
--> $DIR/generic_associated_type_undeclared_lifetimes.rs:22:37
|
||||
--> $DIR/generic_associated_type_undeclared_lifetimes.rs:23:37
|
||||
|
|
||||
LL | + Deref<Target = Self::Item<'b>>;
|
||||
| ^^ lifetime parameter not allowed
|
||||
|
||||
error[E0110]: lifetime parameters are not allowed on this type
|
||||
--> $DIR/generic_associated_type_undeclared_lifetimes.rs:26:41
|
||||
--> $DIR/generic_associated_type_undeclared_lifetimes.rs:27:41
|
||||
|
|
||||
LL | fn iter<'a>(&'a self) -> Self::Iter<'undeclared>;
|
||||
| ^^^^^^^^^^^ lifetime parameter not allowed
|
||||
|
@ -9,11 +9,12 @@
|
||||
// except according to those terms.
|
||||
|
||||
#![feature(generic_associated_types)]
|
||||
//~^ WARNING the feature `generic_associated_types` is incomplete
|
||||
|
||||
use std::ops::Deref;
|
||||
|
||||
//FIXME(#44265): "lifetime parameters are not allowed on this type" errors will be addressed in a
|
||||
//follow-up PR
|
||||
// FIXME(#44265): "lifetime parameters are not allowed on this type" errors will be addressed in a
|
||||
// follow-up PR.
|
||||
|
||||
trait Iterable {
|
||||
type Item<'a>;
|
||||
|
@ -1,35 +1,41 @@
|
||||
warning: the feature `generic_associated_types` is incomplete and may cause the compiler to crash
|
||||
--> $DIR/iterable.rs:11:12
|
||||
|
|
||||
LL | #![feature(generic_associated_types)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0110]: lifetime parameters are not allowed on this type
|
||||
--> $DIR/iterable.rs:20:47
|
||||
--> $DIR/iterable.rs:21:47
|
||||
|
|
||||
LL | type Iter<'a>: Iterator<Item = Self::Item<'a>>;
|
||||
| ^^ lifetime parameter not allowed
|
||||
|
||||
error[E0110]: lifetime parameters are not allowed on this type
|
||||
--> $DIR/iterable.rs:49:53
|
||||
--> $DIR/iterable.rs:50:53
|
||||
|
|
||||
LL | fn make_iter<'a, I: Iterable>(it: &'a I) -> I::Iter<'a> {
|
||||
| ^^ lifetime parameter not allowed
|
||||
|
||||
error[E0110]: lifetime parameters are not allowed on this type
|
||||
--> $DIR/iterable.rs:54:60
|
||||
--> $DIR/iterable.rs:55:60
|
||||
|
|
||||
LL | fn get_first<'a, I: Iterable>(it: &'a I) -> Option<I::Item<'a>> {
|
||||
| ^^ lifetime parameter not allowed
|
||||
|
||||
error[E0110]: lifetime parameters are not allowed on this type
|
||||
--> $DIR/iterable.rs:23:41
|
||||
--> $DIR/iterable.rs:24:41
|
||||
|
|
||||
LL | fn iter<'a>(&'a self) -> Self::Iter<'a>;
|
||||
| ^^ lifetime parameter not allowed
|
||||
|
||||
error[E0110]: lifetime parameters are not allowed on this type
|
||||
--> $DIR/iterable.rs:32:41
|
||||
--> $DIR/iterable.rs:33:41
|
||||
|
|
||||
LL | fn iter<'a>(&'a self) -> Self::Iter<'a> {
|
||||
| ^^ lifetime parameter not allowed
|
||||
|
||||
error[E0110]: lifetime parameters are not allowed on this type
|
||||
--> $DIR/iterable.rs:43:41
|
||||
--> $DIR/iterable.rs:44:41
|
||||
|
|
||||
LL | fn iter<'a>(&'a self) -> Self::Iter<'a> {
|
||||
| ^^ lifetime parameter not allowed
|
||||
|
@ -9,12 +9,13 @@
|
||||
// except according to those terms.
|
||||
|
||||
#![feature(generic_associated_types)]
|
||||
//~^ WARNING the feature `generic_associated_types` is incomplete
|
||||
#![feature(associated_type_defaults)]
|
||||
|
||||
//FIXME(#44265): "lifetime parameters are not allowed on this type" errors will be addressed in a
|
||||
//follow-up PR
|
||||
// FIXME(#44265): "lifetime parameters are not allowed on this type" errors will be addressed in a
|
||||
// follow-up PR.
|
||||
|
||||
//FIXME(#44265): Update expected errors once E110 is resolved, now does not get past `trait Foo`
|
||||
// FIXME(#44265): Update expected errors once E110 is resolved, now does not get past `trait Foo`.
|
||||
|
||||
trait Foo {
|
||||
type A<'a>;
|
||||
|
@ -1,29 +1,35 @@
|
||||
warning: the feature `generic_associated_types` is incomplete and may cause the compiler to crash
|
||||
--> $DIR/parameter_number_and_kind.rs:11:12
|
||||
|
|
||||
LL | #![feature(generic_associated_types)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0110]: lifetime parameters are not allowed on this type
|
||||
--> $DIR/parameter_number_and_kind.rs:26:27
|
||||
--> $DIR/parameter_number_and_kind.rs:27:27
|
||||
|
|
||||
LL | type FOk<T> = Self::E<'static, T>;
|
||||
| ^^^^^^^ lifetime parameter not allowed
|
||||
|
||||
error[E0109]: type parameters are not allowed on this type
|
||||
--> $DIR/parameter_number_and_kind.rs:26:36
|
||||
--> $DIR/parameter_number_and_kind.rs:27:36
|
||||
|
|
||||
LL | type FOk<T> = Self::E<'static, T>;
|
||||
| ^ type parameter not allowed
|
||||
|
||||
error[E0110]: lifetime parameters are not allowed on this type
|
||||
--> $DIR/parameter_number_and_kind.rs:29:26
|
||||
--> $DIR/parameter_number_and_kind.rs:30:26
|
||||
|
|
||||
LL | type FErr1 = Self::E<'static, 'static>; // Error
|
||||
| ^^^^^^^ lifetime parameter not allowed
|
||||
|
||||
error[E0110]: lifetime parameters are not allowed on this type
|
||||
--> $DIR/parameter_number_and_kind.rs:31:29
|
||||
--> $DIR/parameter_number_and_kind.rs:32:29
|
||||
|
|
||||
LL | type FErr2<T> = Self::E<'static, T, u32>; // Error
|
||||
| ^^^^^^^ lifetime parameter not allowed
|
||||
|
||||
error[E0109]: type parameters are not allowed on this type
|
||||
--> $DIR/parameter_number_and_kind.rs:31:38
|
||||
--> $DIR/parameter_number_and_kind.rs:32:38
|
||||
|
|
||||
LL | type FErr2<T> = Self::E<'static, T, u32>; // Error
|
||||
| ^ type parameter not allowed
|
||||
|
@ -9,8 +9,9 @@
|
||||
// except according to those terms.
|
||||
|
||||
#![feature(generic_associated_types)]
|
||||
//~^ WARNING the feature `generic_associated_types` is incomplete
|
||||
|
||||
//FIXME(#44265): "type parameter not allowed" errors will be addressed in a follow-up PR
|
||||
// FIXME(#44265): "type parameter not allowed" errors will be addressed in a follow-up PR.
|
||||
|
||||
use std::rc::Rc;
|
||||
use std::sync::Arc;
|
||||
|
@ -1,23 +1,29 @@
|
||||
warning: the feature `generic_associated_types` is incomplete and may cause the compiler to crash
|
||||
--> $DIR/pointer_family.rs:11:12
|
||||
|
|
||||
LL | #![feature(generic_associated_types)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0109]: type parameters are not allowed on this type
|
||||
--> $DIR/pointer_family.rs:46:21
|
||||
--> $DIR/pointer_family.rs:47:21
|
||||
|
|
||||
LL | bar: P::Pointer<String>,
|
||||
| ^^^^^^ type parameter not allowed
|
||||
|
||||
error[E0109]: type parameters are not allowed on this type
|
||||
--> $DIR/pointer_family.rs:21:42
|
||||
--> $DIR/pointer_family.rs:22:42
|
||||
|
|
||||
LL | fn new<T>(value: T) -> Self::Pointer<T>;
|
||||
| ^ type parameter not allowed
|
||||
|
||||
error[E0109]: type parameters are not allowed on this type
|
||||
--> $DIR/pointer_family.rs:29:42
|
||||
--> $DIR/pointer_family.rs:30:42
|
||||
|
|
||||
LL | fn new<T>(value: T) -> Self::Pointer<T> {
|
||||
| ^ type parameter not allowed
|
||||
|
||||
error[E0109]: type parameters are not allowed on this type
|
||||
--> $DIR/pointer_family.rs:39:42
|
||||
--> $DIR/pointer_family.rs:40:42
|
||||
|
|
||||
LL | fn new<T>(value: T) -> Self::Pointer<T> {
|
||||
| ^ type parameter not allowed
|
||||
|
@ -0,0 +1,6 @@
|
||||
warning: the feature `generic_associated_types` is incomplete and may cause the compiler to crash
|
||||
--> $DIR/shadowing.rs:11:12
|
||||
|
|
||||
LL | #![feature(generic_associated_types)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
@ -9,8 +9,9 @@
|
||||
// except according to those terms.
|
||||
|
||||
#![feature(generic_associated_types)]
|
||||
//~^ WARNING the feature `generic_associated_types` is incomplete
|
||||
|
||||
//FIXME(#44265): "lifetime parameter not allowed on this type" errors will be addressed in a
|
||||
// FIXME(#44265): "lifetime parameter not allowed on this type" errors will be addressed in a
|
||||
// follow-up PR
|
||||
|
||||
use std::fmt::Display;
|
||||
|
@ -1,29 +1,35 @@
|
||||
warning: the feature `generic_associated_types` is incomplete and may cause the compiler to crash
|
||||
--> $DIR/streaming_iterator.rs:11:12
|
||||
|
|
||||
LL | #![feature(generic_associated_types)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0110]: lifetime parameters are not allowed on this type
|
||||
--> $DIR/streaming_iterator.rs:27:41
|
||||
--> $DIR/streaming_iterator.rs:28:41
|
||||
|
|
||||
LL | bar: <T as StreamingIterator>::Item<'static>,
|
||||
| ^^^^^^^ lifetime parameter not allowed
|
||||
|
||||
error[E0110]: lifetime parameters are not allowed on this type
|
||||
--> $DIR/streaming_iterator.rs:35:64
|
||||
--> $DIR/streaming_iterator.rs:36:64
|
||||
|
|
||||
LL | fn foo<T>(iter: T) where T: StreamingIterator, for<'a> T::Item<'a>: Display { /* ... */ }
|
||||
| ^^ lifetime parameter not allowed
|
||||
|
||||
error[E0110]: lifetime parameters are not allowed on this type
|
||||
--> $DIR/streaming_iterator.rs:21:48
|
||||
--> $DIR/streaming_iterator.rs:22:48
|
||||
|
|
||||
LL | fn next<'a>(&'a self) -> Option<Self::Item<'a>>;
|
||||
| ^^ lifetime parameter not allowed
|
||||
|
||||
error[E0110]: lifetime parameters are not allowed on this type
|
||||
--> $DIR/streaming_iterator.rs:47:37
|
||||
--> $DIR/streaming_iterator.rs:48:37
|
||||
|
|
||||
LL | type Item<'a> = (usize, I::Item<'a>);
|
||||
| ^^ lifetime parameter not allowed
|
||||
|
||||
error[E0110]: lifetime parameters are not allowed on this type
|
||||
--> $DIR/streaming_iterator.rs:49:48
|
||||
--> $DIR/streaming_iterator.rs:50:48
|
||||
|
|
||||
LL | fn next<'a>(&'a self) -> Option<Self::Item<'a>> {
|
||||
| ^^ lifetime parameter not allowed
|
||||
|
Loading…
x
Reference in New Issue
Block a user