Run tests in nll mode

This commit is contained in:
Oli Scherer 2021-03-15 18:35:47 +00:00
parent c2683aa569
commit e67594166e
4 changed files with 106 additions and 9 deletions

View File

@ -0,0 +1,50 @@
error: at least one trait must be specified
--> $DIR/generic_type_does_not_live_long_enough.rs:12:24
|
LL | type WrongGeneric<T> = impl 'static;
| ^^^^^^^^^^^^
warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/generic_type_does_not_live_long_enough.rs:3:32
|
LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))]
| ^^^^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(incomplete_features)]` on by default
= note: see issue #63063 <https://github.com/rust-lang/rust/issues/63063> for more information
error[E0308]: mismatched types
--> $DIR/generic_type_does_not_live_long_enough.rs:9:18
|
LL | let z: i32 = x;
| --- ^ expected `i32`, found opaque type
| |
| expected due to this
...
LL | type WrongGeneric<T> = impl 'static;
| ------------ the found opaque type
|
= note: expected type `i32`
found opaque type `impl Sized`
error[E0310]: the parameter type `T` may not live long enough
--> $DIR/generic_type_does_not_live_long_enough.rs:17:30
|
LL | fn wrong_generic<T>(t: T) -> WrongGeneric<T> {
| ^^^^^^^^^^^^^^^
|
= help: consider adding an explicit lifetime bound `T: 'static`...
error[E0310]: the parameter type `T` may not live long enough
--> $DIR/generic_type_does_not_live_long_enough.rs:12:24
|
LL | type WrongGeneric<T> = impl 'static;
| ^^^^^^^^^^^^
|
= help: consider adding an explicit lifetime bound `T: 'static`...
= note: ...so that the type `T` will meet its required lifetime bounds
error: aborting due to 4 previous errors; 1 warning emitted
Some errors have detailed explanations: E0308, E0310.
For more information about an error, try `rustc --explain E0308`.

View File

@ -1,11 +1,11 @@
error: at least one trait must be specified error: at least one trait must be specified
--> $DIR/generic_type_does_not_live_long_enough.rs:9:24 --> $DIR/generic_type_does_not_live_long_enough.rs:12:24
| |
LL | type WrongGeneric<T> = impl 'static; LL | type WrongGeneric<T> = impl 'static;
| ^^^^^^^^^^^^ | ^^^^^^^^^^^^
error[E0308]: mismatched types error[E0308]: mismatched types
--> $DIR/generic_type_does_not_live_long_enough.rs:6:18 --> $DIR/generic_type_does_not_live_long_enough.rs:9:18
| |
LL | let z: i32 = x; LL | let z: i32 = x;
| --- ^ expected `i32`, found opaque type | --- ^ expected `i32`, found opaque type
@ -19,7 +19,7 @@ LL | type WrongGeneric<T> = impl 'static;
found opaque type `impl Sized` found opaque type `impl Sized`
error[E0310]: the parameter type `T` may not live long enough error[E0310]: the parameter type `T` may not live long enough
--> $DIR/generic_type_does_not_live_long_enough.rs:14:30 --> $DIR/generic_type_does_not_live_long_enough.rs:17:30
| |
LL | fn wrong_generic<T>(t: T) -> WrongGeneric<T> { LL | fn wrong_generic<T>(t: T) -> WrongGeneric<T> {
| ^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^
@ -27,7 +27,7 @@ LL | fn wrong_generic<T>(t: T) -> WrongGeneric<T> {
= help: consider adding an explicit lifetime bound `T: 'static`... = help: consider adding an explicit lifetime bound `T: 'static`...
error[E0310]: the parameter type `T` may not live long enough error[E0310]: the parameter type `T` may not live long enough
--> $DIR/generic_type_does_not_live_long_enough.rs:9:24 --> $DIR/generic_type_does_not_live_long_enough.rs:12:24
| |
LL | type WrongGeneric<T> = impl 'static; LL | type WrongGeneric<T> = impl 'static;
| ^^^^^^^^^^^^ | ^^^^^^^^^^^^

View File

@ -0,0 +1,47 @@
warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/issue-57611-trait-alias.rs:8:32
|
LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))]
| ^^^^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(incomplete_features)]` on by default
= note: see issue #63063 <https://github.com/rust-lang/rust/issues/63063> for more information
error: higher-ranked subtype error
--> $DIR/issue-57611-trait-alias.rs:28:9
|
LL | |x| x
| ^^^^^
error: higher-ranked subtype error
--> $DIR/issue-57611-trait-alias.rs:28:9
|
LL | |x| x
| ^^^^^
error[E0308]: mismatched types
--> $DIR/issue-57611-trait-alias.rs:20:16
|
LL | type Bar = impl Baz<Self, Self>;
| ^^^^^^^^^^^^^^^^^^^^ one type is more general than the other
|
= note: expected type `for<'r> Fn<(&'r X,)>`
found type `Fn<(&'static X,)>`
note: this closure does not fulfill the lifetime requirements
--> $DIR/issue-57611-trait-alias.rs:28:9
|
LL | |x| x
| ^^^^^
error: implementation of `FnOnce` is not general enough
--> $DIR/issue-57611-trait-alias.rs:20:16
|
LL | type Bar = impl Baz<Self, Self>;
| ^^^^^^^^^^^^^^^^^^^^ implementation of `FnOnce` is not general enough
|
= note: closure with signature `fn(&'static X) -> &'static X` must implement `FnOnce<(&'0 X,)>`, for any lifetime `'0`...
= note: ...but it actually implements `FnOnce<(&'static X,)>`
error: aborting due to 4 previous errors; 1 warning emitted
For more information about this error, try `rustc --explain E0308`.

View File

@ -1,17 +1,17 @@
error: higher-ranked subtype error error: higher-ranked subtype error
--> $DIR/issue-57611-trait-alias.rs:25:9 --> $DIR/issue-57611-trait-alias.rs:28:9
| |
LL | |x| x LL | |x| x
| ^^^^^ | ^^^^^
error: higher-ranked subtype error error: higher-ranked subtype error
--> $DIR/issue-57611-trait-alias.rs:25:9 --> $DIR/issue-57611-trait-alias.rs:28:9
| |
LL | |x| x LL | |x| x
| ^^^^^ | ^^^^^
error[E0308]: mismatched types error[E0308]: mismatched types
--> $DIR/issue-57611-trait-alias.rs:17:16 --> $DIR/issue-57611-trait-alias.rs:20:16
| |
LL | type Bar = impl Baz<Self, Self>; LL | type Bar = impl Baz<Self, Self>;
| ^^^^^^^^^^^^^^^^^^^^ one type is more general than the other | ^^^^^^^^^^^^^^^^^^^^ one type is more general than the other
@ -19,13 +19,13 @@ LL | type Bar = impl Baz<Self, Self>;
= note: expected type `for<'r> Fn<(&'r X,)>` = note: expected type `for<'r> Fn<(&'r X,)>`
found type `Fn<(&'static X,)>` found type `Fn<(&'static X,)>`
note: this closure does not fulfill the lifetime requirements note: this closure does not fulfill the lifetime requirements
--> $DIR/issue-57611-trait-alias.rs:25:9 --> $DIR/issue-57611-trait-alias.rs:28:9
| |
LL | |x| x LL | |x| x
| ^^^^^ | ^^^^^
error: implementation of `FnOnce` is not general enough error: implementation of `FnOnce` is not general enough
--> $DIR/issue-57611-trait-alias.rs:17:16 --> $DIR/issue-57611-trait-alias.rs:20:16
| |
LL | type Bar = impl Baz<Self, Self>; LL | type Bar = impl Baz<Self, Self>;
| ^^^^^^^^^^^^^^^^^^^^ implementation of `FnOnce` is not general enough | ^^^^^^^^^^^^^^^^^^^^ implementation of `FnOnce` is not general enough