Rollup merge of #68760 - Tyg13:compile_fail_ui_test, r=Centril
Issue error on `compile-fail` header in UI test Fixes #68732 r? @Centril
This commit is contained in:
commit
3a7f1edd81
@ -1,4 +1,3 @@
|
||||
// compile-fail
|
||||
// ignore-tidy-linelength
|
||||
|
||||
// NOTE: rustc cannot currently handle bounds of the form `for<'a> <Foo as Bar<'a>>::Assoc: Baz`.
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: `<L1 as Lam<&'a u8>>::App` doesn't implement `std::fmt::Debug`
|
||||
--> $DIR/bad-bounds-on-assoc-in-trait.rs:32:6
|
||||
--> $DIR/bad-bounds-on-assoc-in-trait.rs:31:6
|
||||
|
|
||||
LL | impl Case1 for S1 {
|
||||
| ^^^^^ `<L1 as Lam<&'a u8>>::App` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
|
||||
@ -7,7 +7,7 @@ LL | impl Case1 for S1 {
|
||||
= help: the trait `for<'a> std::fmt::Debug` is not implemented for `<L1 as Lam<&'a u8>>::App`
|
||||
|
||||
error[E0277]: `<<T as Case1>::C as std::iter::Iterator>::Item` is not an iterator
|
||||
--> $DIR/bad-bounds-on-assoc-in-trait.rs:37:1
|
||||
--> $DIR/bad-bounds-on-assoc-in-trait.rs:36:1
|
||||
|
|
||||
LL | fn assume_case1<T: Case1>() {
|
||||
| ^ - help: consider further restricting the associated type: `where <<T as Case1>::C as std::iter::Iterator>::Item: std::iter::Iterator`
|
||||
@ -24,7 +24,7 @@ LL | | }
|
||||
= help: the trait `std::iter::Iterator` is not implemented for `<<T as Case1>::C as std::iter::Iterator>::Item`
|
||||
|
||||
error[E0277]: `<<T as Case1>::C as std::iter::Iterator>::Item` cannot be sent between threads safely
|
||||
--> $DIR/bad-bounds-on-assoc-in-trait.rs:37:1
|
||||
--> $DIR/bad-bounds-on-assoc-in-trait.rs:36:1
|
||||
|
|
||||
LL | trait Case1 {
|
||||
| ----------- required by `Case1`
|
||||
@ -44,7 +44,7 @@ LL | | }
|
||||
= help: the trait `std::marker::Send` is not implemented for `<<T as Case1>::C as std::iter::Iterator>::Item`
|
||||
|
||||
error[E0277]: `<<T as Case1>::C as std::iter::Iterator>::Item` cannot be shared between threads safely
|
||||
--> $DIR/bad-bounds-on-assoc-in-trait.rs:37:1
|
||||
--> $DIR/bad-bounds-on-assoc-in-trait.rs:36:1
|
||||
|
|
||||
LL | trait Case1 {
|
||||
| ----------- required by `Case1`
|
||||
@ -64,7 +64,7 @@ LL | | }
|
||||
= help: the trait `std::marker::Sync` is not implemented for `<<T as Case1>::C as std::iter::Iterator>::Item`
|
||||
|
||||
error[E0277]: `<_ as Lam<&'a u8>>::App` doesn't implement `std::fmt::Debug`
|
||||
--> $DIR/bad-bounds-on-assoc-in-trait.rs:37:1
|
||||
--> $DIR/bad-bounds-on-assoc-in-trait.rs:36:1
|
||||
|
|
||||
LL | trait Case1 {
|
||||
| ----------- required by `Case1`
|
||||
|
@ -1,4 +1,3 @@
|
||||
// compile-fail
|
||||
// ignore-tidy-linelength
|
||||
|
||||
#![feature(associated_type_bounds)]
|
||||
|
@ -1,5 +1,5 @@
|
||||
warning: the feature `impl_trait_in_bindings` is incomplete and may cause the compiler to crash
|
||||
--> $DIR/duplicate.rs:6:12
|
||||
--> $DIR/duplicate.rs:5:12
|
||||
|
|
||||
LL | #![feature(impl_trait_in_bindings)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
@ -7,7 +7,7 @@ LL | #![feature(impl_trait_in_bindings)]
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:11:36
|
||||
--> $DIR/duplicate.rs:10:36
|
||||
|
|
||||
LL | struct SI1<T: Iterator<Item: Copy, Item: Send>> { f: T }
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -15,7 +15,7 @@ LL | struct SI1<T: Iterator<Item: Copy, Item: Send>> { f: T }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:13:36
|
||||
--> $DIR/duplicate.rs:12:36
|
||||
|
|
||||
LL | struct SI2<T: Iterator<Item: Copy, Item: Copy>> { f: T }
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -23,7 +23,7 @@ LL | struct SI2<T: Iterator<Item: Copy, Item: Copy>> { f: T }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:15:39
|
||||
--> $DIR/duplicate.rs:14:39
|
||||
|
|
||||
LL | struct SI3<T: Iterator<Item: 'static, Item: 'static>> { f: T }
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -31,7 +31,7 @@ LL | struct SI3<T: Iterator<Item: 'static, Item: 'static>> { f: T }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:17:45
|
||||
--> $DIR/duplicate.rs:16:45
|
||||
|
|
||||
LL | struct SW1<T> where T: Iterator<Item: Copy, Item: Send> { f: T }
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -39,7 +39,7 @@ LL | struct SW1<T> where T: Iterator<Item: Copy, Item: Send> { f: T }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:19:45
|
||||
--> $DIR/duplicate.rs:18:45
|
||||
|
|
||||
LL | struct SW2<T> where T: Iterator<Item: Copy, Item: Copy> { f: T }
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -47,7 +47,7 @@ LL | struct SW2<T> where T: Iterator<Item: Copy, Item: Copy> { f: T }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:21:48
|
||||
--> $DIR/duplicate.rs:20:48
|
||||
|
|
||||
LL | struct SW3<T> where T: Iterator<Item: 'static, Item: 'static> { f: T }
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -55,7 +55,7 @@ LL | struct SW3<T> where T: Iterator<Item: 'static, Item: 'static> { f: T }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:24:34
|
||||
--> $DIR/duplicate.rs:23:34
|
||||
|
|
||||
LL | enum EI1<T: Iterator<Item: Copy, Item: Send>> { V(T) }
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -63,7 +63,7 @@ LL | enum EI1<T: Iterator<Item: Copy, Item: Send>> { V(T) }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:26:34
|
||||
--> $DIR/duplicate.rs:25:34
|
||||
|
|
||||
LL | enum EI2<T: Iterator<Item: Copy, Item: Copy>> { V(T) }
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -71,7 +71,7 @@ LL | enum EI2<T: Iterator<Item: Copy, Item: Copy>> { V(T) }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:28:37
|
||||
--> $DIR/duplicate.rs:27:37
|
||||
|
|
||||
LL | enum EI3<T: Iterator<Item: 'static, Item: 'static>> { V(T) }
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -79,7 +79,7 @@ LL | enum EI3<T: Iterator<Item: 'static, Item: 'static>> { V(T) }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:30:43
|
||||
--> $DIR/duplicate.rs:29:43
|
||||
|
|
||||
LL | enum EW1<T> where T: Iterator<Item: Copy, Item: Send> { V(T) }
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -87,7 +87,7 @@ LL | enum EW1<T> where T: Iterator<Item: Copy, Item: Send> { V(T) }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:32:43
|
||||
--> $DIR/duplicate.rs:31:43
|
||||
|
|
||||
LL | enum EW2<T> where T: Iterator<Item: Copy, Item: Copy> { V(T) }
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -95,7 +95,7 @@ LL | enum EW2<T> where T: Iterator<Item: Copy, Item: Copy> { V(T) }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:34:46
|
||||
--> $DIR/duplicate.rs:33:46
|
||||
|
|
||||
LL | enum EW3<T> where T: Iterator<Item: 'static, Item: 'static> { V(T) }
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -103,7 +103,7 @@ LL | enum EW3<T> where T: Iterator<Item: 'static, Item: 'static> { V(T) }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:37:35
|
||||
--> $DIR/duplicate.rs:36:35
|
||||
|
|
||||
LL | union UI1<T: Iterator<Item: Copy, Item: Send>> { f: T }
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -111,7 +111,7 @@ LL | union UI1<T: Iterator<Item: Copy, Item: Send>> { f: T }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:39:35
|
||||
--> $DIR/duplicate.rs:38:35
|
||||
|
|
||||
LL | union UI2<T: Iterator<Item: Copy, Item: Copy>> { f: T }
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -119,7 +119,7 @@ LL | union UI2<T: Iterator<Item: Copy, Item: Copy>> { f: T }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:41:38
|
||||
--> $DIR/duplicate.rs:40:38
|
||||
|
|
||||
LL | union UI3<T: Iterator<Item: 'static, Item: 'static>> { f: T }
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -127,7 +127,7 @@ LL | union UI3<T: Iterator<Item: 'static, Item: 'static>> { f: T }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:43:44
|
||||
--> $DIR/duplicate.rs:42:44
|
||||
|
|
||||
LL | union UW1<T> where T: Iterator<Item: Copy, Item: Send> { f: T }
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -135,7 +135,7 @@ LL | union UW1<T> where T: Iterator<Item: Copy, Item: Send> { f: T }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:45:44
|
||||
--> $DIR/duplicate.rs:44:44
|
||||
|
|
||||
LL | union UW2<T> where T: Iterator<Item: Copy, Item: Copy> { f: T }
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -143,7 +143,7 @@ LL | union UW2<T> where T: Iterator<Item: Copy, Item: Copy> { f: T }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:47:47
|
||||
--> $DIR/duplicate.rs:46:47
|
||||
|
|
||||
LL | union UW3<T> where T: Iterator<Item: 'static, Item: 'static> { f: T }
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -151,7 +151,7 @@ LL | union UW3<T> where T: Iterator<Item: 'static, Item: 'static> { f: T }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:50:32
|
||||
--> $DIR/duplicate.rs:49:32
|
||||
|
|
||||
LL | fn FI1<T: Iterator<Item: Copy, Item: Send>>() {}
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -159,7 +159,7 @@ LL | fn FI1<T: Iterator<Item: Copy, Item: Send>>() {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:52:32
|
||||
--> $DIR/duplicate.rs:51:32
|
||||
|
|
||||
LL | fn FI2<T: Iterator<Item: Copy, Item: Copy>>() {}
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -167,7 +167,7 @@ LL | fn FI2<T: Iterator<Item: Copy, Item: Copy>>() {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:54:35
|
||||
--> $DIR/duplicate.rs:53:35
|
||||
|
|
||||
LL | fn FI3<T: Iterator<Item: 'static, Item: 'static>>() {}
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -175,7 +175,7 @@ LL | fn FI3<T: Iterator<Item: 'static, Item: 'static>>() {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:56:43
|
||||
--> $DIR/duplicate.rs:55:43
|
||||
|
|
||||
LL | fn FW1<T>() where T: Iterator<Item: Copy, Item: Send> {}
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -183,7 +183,7 @@ LL | fn FW1<T>() where T: Iterator<Item: Copy, Item: Send> {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:58:43
|
||||
--> $DIR/duplicate.rs:57:43
|
||||
|
|
||||
LL | fn FW2<T>() where T: Iterator<Item: Copy, Item: Copy> {}
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -191,7 +191,7 @@ LL | fn FW2<T>() where T: Iterator<Item: Copy, Item: Copy> {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:60:46
|
||||
--> $DIR/duplicate.rs:59:46
|
||||
|
|
||||
LL | fn FW3<T>() where T: Iterator<Item: 'static, Item: 'static> {}
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -199,7 +199,7 @@ LL | fn FW3<T>() where T: Iterator<Item: 'static, Item: 'static> {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:69:40
|
||||
--> $DIR/duplicate.rs:68:40
|
||||
|
|
||||
LL | fn FAPIT1(_: impl Iterator<Item: Copy, Item: Send>) {}
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -207,7 +207,7 @@ LL | fn FAPIT1(_: impl Iterator<Item: Copy, Item: Send>) {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:71:40
|
||||
--> $DIR/duplicate.rs:70:40
|
||||
|
|
||||
LL | fn FAPIT2(_: impl Iterator<Item: Copy, Item: Copy>) {}
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -215,7 +215,7 @@ LL | fn FAPIT2(_: impl Iterator<Item: Copy, Item: Copy>) {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:73:43
|
||||
--> $DIR/duplicate.rs:72:43
|
||||
|
|
||||
LL | fn FAPIT3(_: impl Iterator<Item: 'static, Item: 'static>) {}
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -223,7 +223,7 @@ LL | fn FAPIT3(_: impl Iterator<Item: 'static, Item: 'static>) {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:63:42
|
||||
--> $DIR/duplicate.rs:62:42
|
||||
|
|
||||
LL | fn FRPIT1() -> impl Iterator<Item: Copy, Item: Send> { iter::empty() }
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -231,7 +231,7 @@ LL | fn FRPIT1() -> impl Iterator<Item: Copy, Item: Send> { iter::empty() }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:65:42
|
||||
--> $DIR/duplicate.rs:64:42
|
||||
|
|
||||
LL | fn FRPIT2() -> impl Iterator<Item: Copy, Item: Copy> { iter::empty() }
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -239,7 +239,7 @@ LL | fn FRPIT2() -> impl Iterator<Item: Copy, Item: Copy> { iter::empty() }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:67:45
|
||||
--> $DIR/duplicate.rs:66:45
|
||||
|
|
||||
LL | fn FRPIT3() -> impl Iterator<Item: 'static, Item: 'static> { iter::empty() }
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -247,7 +247,7 @@ LL | fn FRPIT3() -> impl Iterator<Item: 'static, Item: 'static> { iter::empty()
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:76:39
|
||||
--> $DIR/duplicate.rs:75:39
|
||||
|
|
||||
LL | const CIT1: impl Iterator<Item: Copy, Item: Send> = iter::empty();
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -255,7 +255,7 @@ LL | const CIT1: impl Iterator<Item: Copy, Item: Send> = iter::empty();
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:78:39
|
||||
--> $DIR/duplicate.rs:77:39
|
||||
|
|
||||
LL | const CIT2: impl Iterator<Item: Copy, Item: Copy> = iter::empty();
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -263,7 +263,7 @@ LL | const CIT2: impl Iterator<Item: Copy, Item: Copy> = iter::empty();
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:80:42
|
||||
--> $DIR/duplicate.rs:79:42
|
||||
|
|
||||
LL | const CIT3: impl Iterator<Item: 'static, Item: 'static> = iter::empty();
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -271,7 +271,7 @@ LL | const CIT3: impl Iterator<Item: 'static, Item: 'static> = iter::empty();
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:82:40
|
||||
--> $DIR/duplicate.rs:81:40
|
||||
|
|
||||
LL | static SIT1: impl Iterator<Item: Copy, Item: Send> = iter::empty();
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -279,7 +279,7 @@ LL | static SIT1: impl Iterator<Item: Copy, Item: Send> = iter::empty();
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:84:40
|
||||
--> $DIR/duplicate.rs:83:40
|
||||
|
|
||||
LL | static SIT2: impl Iterator<Item: Copy, Item: Copy> = iter::empty();
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -287,7 +287,7 @@ LL | static SIT2: impl Iterator<Item: Copy, Item: Copy> = iter::empty();
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:86:43
|
||||
--> $DIR/duplicate.rs:85:43
|
||||
|
|
||||
LL | static SIT3: impl Iterator<Item: 'static, Item: 'static> = iter::empty();
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -295,7 +295,7 @@ LL | static SIT3: impl Iterator<Item: 'static, Item: 'static> = iter::empty();
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:89:46
|
||||
--> $DIR/duplicate.rs:88:46
|
||||
|
|
||||
LL | fn lit1() { let _: impl Iterator<Item: Copy, Item: Send> = iter::empty(); }
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -303,7 +303,7 @@ LL | fn lit1() { let _: impl Iterator<Item: Copy, Item: Send> = iter::empty(); }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:91:46
|
||||
--> $DIR/duplicate.rs:90:46
|
||||
|
|
||||
LL | fn lit2() { let _: impl Iterator<Item: Copy, Item: Copy> = iter::empty(); }
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -311,7 +311,7 @@ LL | fn lit2() { let _: impl Iterator<Item: Copy, Item: Copy> = iter::empty(); }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:93:49
|
||||
--> $DIR/duplicate.rs:92:49
|
||||
|
|
||||
LL | fn lit3() { let _: impl Iterator<Item: 'static, Item: 'static> = iter::empty(); }
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -319,7 +319,7 @@ LL | fn lit3() { let _: impl Iterator<Item: 'static, Item: 'static> = iter::empt
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:96:35
|
||||
--> $DIR/duplicate.rs:95:35
|
||||
|
|
||||
LL | type TAI1<T: Iterator<Item: Copy, Item: Send>> = T;
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -327,7 +327,7 @@ LL | type TAI1<T: Iterator<Item: Copy, Item: Send>> = T;
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:98:35
|
||||
--> $DIR/duplicate.rs:97:35
|
||||
|
|
||||
LL | type TAI2<T: Iterator<Item: Copy, Item: Copy>> = T;
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -335,7 +335,7 @@ LL | type TAI2<T: Iterator<Item: Copy, Item: Copy>> = T;
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:100:38
|
||||
--> $DIR/duplicate.rs:99:38
|
||||
|
|
||||
LL | type TAI3<T: Iterator<Item: 'static, Item: 'static>> = T;
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -343,7 +343,7 @@ LL | type TAI3<T: Iterator<Item: 'static, Item: 'static>> = T;
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:102:44
|
||||
--> $DIR/duplicate.rs:101:44
|
||||
|
|
||||
LL | type TAW1<T> where T: Iterator<Item: Copy, Item: Send> = T;
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -351,7 +351,7 @@ LL | type TAW1<T> where T: Iterator<Item: Copy, Item: Send> = T;
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:104:44
|
||||
--> $DIR/duplicate.rs:103:44
|
||||
|
|
||||
LL | type TAW2<T> where T: Iterator<Item: Copy, Item: Copy> = T;
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -359,7 +359,7 @@ LL | type TAW2<T> where T: Iterator<Item: Copy, Item: Copy> = T;
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:106:47
|
||||
--> $DIR/duplicate.rs:105:47
|
||||
|
|
||||
LL | type TAW3<T> where T: Iterator<Item: 'static, Item: 'static> = T;
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -367,13 +367,13 @@ LL | type TAW3<T> where T: Iterator<Item: 'static, Item: 'static> = T;
|
||||
| `Item` bound here first
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:109:1
|
||||
--> $DIR/duplicate.rs:108:1
|
||||
|
|
||||
LL | type ETAI1<T: Iterator<Item: Copy, Item: Send>> = impl Copy;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:109:36
|
||||
--> $DIR/duplicate.rs:108:36
|
||||
|
|
||||
LL | type ETAI1<T: Iterator<Item: Copy, Item: Send>> = impl Copy;
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -381,13 +381,13 @@ LL | type ETAI1<T: Iterator<Item: Copy, Item: Send>> = impl Copy;
|
||||
| `Item` bound here first
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:114:1
|
||||
--> $DIR/duplicate.rs:113:1
|
||||
|
|
||||
LL | type ETAI2<T: Iterator<Item: Copy, Item: Copy>> = impl Copy;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:114:36
|
||||
--> $DIR/duplicate.rs:113:36
|
||||
|
|
||||
LL | type ETAI2<T: Iterator<Item: Copy, Item: Copy>> = impl Copy;
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -395,13 +395,13 @@ LL | type ETAI2<T: Iterator<Item: Copy, Item: Copy>> = impl Copy;
|
||||
| `Item` bound here first
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:119:1
|
||||
--> $DIR/duplicate.rs:118:1
|
||||
|
|
||||
LL | type ETAI3<T: Iterator<Item: 'static, Item: 'static>> = impl Copy;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:119:39
|
||||
--> $DIR/duplicate.rs:118:39
|
||||
|
|
||||
LL | type ETAI3<T: Iterator<Item: 'static, Item: 'static>> = impl Copy;
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -409,13 +409,13 @@ LL | type ETAI3<T: Iterator<Item: 'static, Item: 'static>> = impl Copy;
|
||||
| `Item` bound here first
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:124:1
|
||||
--> $DIR/duplicate.rs:123:1
|
||||
|
|
||||
LL | type ETAI4 = impl Iterator<Item: Copy, Item: Send>;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:124:40
|
||||
--> $DIR/duplicate.rs:123:40
|
||||
|
|
||||
LL | type ETAI4 = impl Iterator<Item: Copy, Item: Send>;
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -423,13 +423,13 @@ LL | type ETAI4 = impl Iterator<Item: Copy, Item: Send>;
|
||||
| `Item` bound here first
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:129:1
|
||||
--> $DIR/duplicate.rs:128:1
|
||||
|
|
||||
LL | type ETAI5 = impl Iterator<Item: Copy, Item: Copy>;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:129:40
|
||||
--> $DIR/duplicate.rs:128:40
|
||||
|
|
||||
LL | type ETAI5 = impl Iterator<Item: Copy, Item: Copy>;
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -437,13 +437,13 @@ LL | type ETAI5 = impl Iterator<Item: Copy, Item: Copy>;
|
||||
| `Item` bound here first
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:134:1
|
||||
--> $DIR/duplicate.rs:133:1
|
||||
|
|
||||
LL | type ETAI6 = impl Iterator<Item: 'static, Item: 'static>;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:134:43
|
||||
--> $DIR/duplicate.rs:133:43
|
||||
|
|
||||
LL | type ETAI6 = impl Iterator<Item: 'static, Item: 'static>;
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -451,7 +451,7 @@ LL | type ETAI6 = impl Iterator<Item: 'static, Item: 'static>;
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:140:36
|
||||
--> $DIR/duplicate.rs:139:36
|
||||
|
|
||||
LL | trait TRI1<T: Iterator<Item: Copy, Item: Send>> {}
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -459,7 +459,7 @@ LL | trait TRI1<T: Iterator<Item: Copy, Item: Send>> {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:142:36
|
||||
--> $DIR/duplicate.rs:141:36
|
||||
|
|
||||
LL | trait TRI2<T: Iterator<Item: Copy, Item: Copy>> {}
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -467,7 +467,7 @@ LL | trait TRI2<T: Iterator<Item: Copy, Item: Copy>> {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:144:39
|
||||
--> $DIR/duplicate.rs:143:39
|
||||
|
|
||||
LL | trait TRI3<T: Iterator<Item: 'static, Item: 'static>> {}
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -475,7 +475,7 @@ LL | trait TRI3<T: Iterator<Item: 'static, Item: 'static>> {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:146:34
|
||||
--> $DIR/duplicate.rs:145:34
|
||||
|
|
||||
LL | trait TRS1: Iterator<Item: Copy, Item: Send> {}
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -483,7 +483,7 @@ LL | trait TRS1: Iterator<Item: Copy, Item: Send> {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:148:34
|
||||
--> $DIR/duplicate.rs:147:34
|
||||
|
|
||||
LL | trait TRS2: Iterator<Item: Copy, Item: Copy> {}
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -491,7 +491,7 @@ LL | trait TRS2: Iterator<Item: Copy, Item: Copy> {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:150:37
|
||||
--> $DIR/duplicate.rs:149:37
|
||||
|
|
||||
LL | trait TRS3: Iterator<Item: 'static, Item: 'static> {}
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -499,7 +499,7 @@ LL | trait TRS3: Iterator<Item: 'static, Item: 'static> {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:152:45
|
||||
--> $DIR/duplicate.rs:151:45
|
||||
|
|
||||
LL | trait TRW1<T> where T: Iterator<Item: Copy, Item: Send> {}
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -507,7 +507,7 @@ LL | trait TRW1<T> where T: Iterator<Item: Copy, Item: Send> {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:154:45
|
||||
--> $DIR/duplicate.rs:153:45
|
||||
|
|
||||
LL | trait TRW2<T> where T: Iterator<Item: Copy, Item: Copy> {}
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -515,7 +515,7 @@ LL | trait TRW2<T> where T: Iterator<Item: Copy, Item: Copy> {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:156:48
|
||||
--> $DIR/duplicate.rs:155:48
|
||||
|
|
||||
LL | trait TRW3<T> where T: Iterator<Item: 'static, Item: 'static> {}
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -523,7 +523,7 @@ LL | trait TRW3<T> where T: Iterator<Item: 'static, Item: 'static> {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:158:46
|
||||
--> $DIR/duplicate.rs:157:46
|
||||
|
|
||||
LL | trait TRSW1 where Self: Iterator<Item: Copy, Item: Send> {}
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -531,7 +531,7 @@ LL | trait TRSW1 where Self: Iterator<Item: Copy, Item: Send> {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:158:46
|
||||
--> $DIR/duplicate.rs:157:46
|
||||
|
|
||||
LL | trait TRSW1 where Self: Iterator<Item: Copy, Item: Send> {}
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -539,7 +539,7 @@ LL | trait TRSW1 where Self: Iterator<Item: Copy, Item: Send> {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:161:46
|
||||
--> $DIR/duplicate.rs:160:46
|
||||
|
|
||||
LL | trait TRSW2 where Self: Iterator<Item: Copy, Item: Copy> {}
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -547,7 +547,7 @@ LL | trait TRSW2 where Self: Iterator<Item: Copy, Item: Copy> {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:161:46
|
||||
--> $DIR/duplicate.rs:160:46
|
||||
|
|
||||
LL | trait TRSW2 where Self: Iterator<Item: Copy, Item: Copy> {}
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -555,7 +555,7 @@ LL | trait TRSW2 where Self: Iterator<Item: Copy, Item: Copy> {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:164:49
|
||||
--> $DIR/duplicate.rs:163:49
|
||||
|
|
||||
LL | trait TRSW3 where Self: Iterator<Item: 'static, Item: 'static> {}
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -563,7 +563,7 @@ LL | trait TRSW3 where Self: Iterator<Item: 'static, Item: 'static> {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:164:49
|
||||
--> $DIR/duplicate.rs:163:49
|
||||
|
|
||||
LL | trait TRSW3 where Self: Iterator<Item: 'static, Item: 'static> {}
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -571,7 +571,7 @@ LL | trait TRSW3 where Self: Iterator<Item: 'static, Item: 'static> {}
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:167:43
|
||||
--> $DIR/duplicate.rs:166:43
|
||||
|
|
||||
LL | trait TRA1 { type A: Iterator<Item: Copy, Item: Send>; }
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -579,7 +579,7 @@ LL | trait TRA1 { type A: Iterator<Item: Copy, Item: Send>; }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:169:43
|
||||
--> $DIR/duplicate.rs:168:43
|
||||
|
|
||||
LL | trait TRA2 { type A: Iterator<Item: Copy, Item: Copy>; }
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -587,7 +587,7 @@ LL | trait TRA2 { type A: Iterator<Item: Copy, Item: Copy>; }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:171:46
|
||||
--> $DIR/duplicate.rs:170:46
|
||||
|
|
||||
LL | trait TRA3 { type A: Iterator<Item: 'static, Item: 'static>; }
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -595,7 +595,7 @@ LL | trait TRA3 { type A: Iterator<Item: 'static, Item: 'static>; }
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:174:40
|
||||
--> $DIR/duplicate.rs:173:40
|
||||
|
|
||||
LL | type TADyn1 = dyn Iterator<Item: Copy, Item: Send>;
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -603,7 +603,7 @@ LL | type TADyn1 = dyn Iterator<Item: Copy, Item: Send>;
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:178:44
|
||||
--> $DIR/duplicate.rs:177:44
|
||||
|
|
||||
LL | type TADyn2 = Box<dyn Iterator<Item: Copy, Item: Copy>>;
|
||||
| ---------- ^^^^^^^^^^ re-bound here
|
||||
@ -611,7 +611,7 @@ LL | type TADyn2 = Box<dyn Iterator<Item: Copy, Item: Copy>>;
|
||||
| `Item` bound here first
|
||||
|
||||
error[E0719]: the value of the associated type `Item` (from trait `std::iter::Iterator`) is already specified
|
||||
--> $DIR/duplicate.rs:182:43
|
||||
--> $DIR/duplicate.rs:181:43
|
||||
|
|
||||
LL | type TADyn3 = dyn Iterator<Item: 'static, Item: 'static>;
|
||||
| ------------- ^^^^^^^^^^^^^ re-bound here
|
||||
@ -619,109 +619,109 @@ LL | type TADyn3 = dyn Iterator<Item: 'static, Item: 'static>;
|
||||
| `Item` bound here first
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:109:24
|
||||
--> $DIR/duplicate.rs:108:24
|
||||
|
|
||||
LL | type ETAI1<T: Iterator<Item: Copy, Item: Send>> = impl Copy;
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:109:36
|
||||
--> $DIR/duplicate.rs:108:36
|
||||
|
|
||||
LL | type ETAI1<T: Iterator<Item: Copy, Item: Send>> = impl Copy;
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:114:24
|
||||
--> $DIR/duplicate.rs:113:24
|
||||
|
|
||||
LL | type ETAI2<T: Iterator<Item: Copy, Item: Copy>> = impl Copy;
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:114:36
|
||||
--> $DIR/duplicate.rs:113:36
|
||||
|
|
||||
LL | type ETAI2<T: Iterator<Item: Copy, Item: Copy>> = impl Copy;
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:119:24
|
||||
--> $DIR/duplicate.rs:118:24
|
||||
|
|
||||
LL | type ETAI3<T: Iterator<Item: 'static, Item: 'static>> = impl Copy;
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:119:39
|
||||
--> $DIR/duplicate.rs:118:39
|
||||
|
|
||||
LL | type ETAI3<T: Iterator<Item: 'static, Item: 'static>> = impl Copy;
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:124:28
|
||||
--> $DIR/duplicate.rs:123:28
|
||||
|
|
||||
LL | type ETAI4 = impl Iterator<Item: Copy, Item: Send>;
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:124:40
|
||||
--> $DIR/duplicate.rs:123:40
|
||||
|
|
||||
LL | type ETAI4 = impl Iterator<Item: Copy, Item: Send>;
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:129:28
|
||||
--> $DIR/duplicate.rs:128:28
|
||||
|
|
||||
LL | type ETAI5 = impl Iterator<Item: Copy, Item: Copy>;
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:129:40
|
||||
--> $DIR/duplicate.rs:128:40
|
||||
|
|
||||
LL | type ETAI5 = impl Iterator<Item: Copy, Item: Copy>;
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:134:28
|
||||
--> $DIR/duplicate.rs:133:28
|
||||
|
|
||||
LL | type ETAI6 = impl Iterator<Item: 'static, Item: 'static>;
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:134:43
|
||||
--> $DIR/duplicate.rs:133:43
|
||||
|
|
||||
LL | type ETAI6 = impl Iterator<Item: 'static, Item: 'static>;
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:174:28
|
||||
--> $DIR/duplicate.rs:173:28
|
||||
|
|
||||
LL | type TADyn1 = dyn Iterator<Item: Copy, Item: Send>;
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:174:40
|
||||
--> $DIR/duplicate.rs:173:40
|
||||
|
|
||||
LL | type TADyn1 = dyn Iterator<Item: Copy, Item: Send>;
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:178:32
|
||||
--> $DIR/duplicate.rs:177:32
|
||||
|
|
||||
LL | type TADyn2 = Box<dyn Iterator<Item: Copy, Item: Copy>>;
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:178:44
|
||||
--> $DIR/duplicate.rs:177:44
|
||||
|
|
||||
LL | type TADyn2 = Box<dyn Iterator<Item: Copy, Item: Copy>>;
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:182:28
|
||||
--> $DIR/duplicate.rs:181:28
|
||||
|
|
||||
LL | type TADyn3 = dyn Iterator<Item: 'static, Item: 'static>;
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/duplicate.rs:182:43
|
||||
--> $DIR/duplicate.rs:181:43
|
||||
|
|
||||
LL | type TADyn3 = dyn Iterator<Item: 'static, Item: 'static>;
|
||||
| ^^^^^^^^^^^^^
|
||||
|
@ -1,5 +1,5 @@
|
||||
error: lifetime may not live long enough
|
||||
--> $DIR/implied-region-constraints.rs:19:56
|
||||
--> $DIR/implied-region-constraints.rs:17:56
|
||||
|
|
||||
LL | fn _bad_st<'a, 'b, T>(x: St<'a, 'b, T>)
|
||||
| -- -- lifetime `'b` defined here
|
||||
@ -12,7 +12,7 @@ LL | let _failure_proves_not_implied_outlives_region_b: &'b T = &x.f0;
|
||||
= help: consider adding the following bound: `'a: 'b`
|
||||
|
||||
error: lifetime may not live long enough
|
||||
--> $DIR/implied-region-constraints.rs:40:64
|
||||
--> $DIR/implied-region-constraints.rs:38:64
|
||||
|
|
||||
LL | fn _bad_en7<'a, 'b, T>(x: En7<'a, 'b, T>)
|
||||
| -- -- lifetime `'b` defined here
|
||||
|
@ -1,5 +1,3 @@
|
||||
// compile-fail
|
||||
|
||||
#![feature(associated_type_bounds)]
|
||||
|
||||
trait Tr1 { type As1; }
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0623]: lifetime mismatch
|
||||
--> $DIR/implied-region-constraints.rs:19:64
|
||||
--> $DIR/implied-region-constraints.rs:17:64
|
||||
|
|
||||
LL | fn _bad_st<'a, 'b, T>(x: St<'a, 'b, T>)
|
||||
| ------------- this type is declared with multiple lifetimes...
|
||||
@ -8,7 +8,7 @@ LL | let _failure_proves_not_implied_outlives_region_b: &'b T = &x.f0;
|
||||
| ^^^^^ ...but data with one lifetime flows into the other here
|
||||
|
||||
error[E0623]: lifetime mismatch
|
||||
--> $DIR/implied-region-constraints.rs:40:72
|
||||
--> $DIR/implied-region-constraints.rs:38:72
|
||||
|
|
||||
LL | fn _bad_en7<'a, 'b, T>(x: En7<'a, 'b, T>)
|
||||
| -------------- this type is declared with multiple lifetimes...
|
||||
|
@ -1,4 +1,3 @@
|
||||
// compile-fail
|
||||
#![feature(associated_type_bounds)]
|
||||
#![feature(untagged_unions)]
|
||||
|
||||
|
@ -1,107 +1,107 @@
|
||||
error: associated type bounds are not allowed within structs, enums, or unions
|
||||
--> $DIR/inside-adt.rs:5:29
|
||||
--> $DIR/inside-adt.rs:4:29
|
||||
|
|
||||
LL | struct S1 { f: dyn Iterator<Item: Copy> }
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: associated type bounds are not allowed within structs, enums, or unions
|
||||
--> $DIR/inside-adt.rs:8:33
|
||||
--> $DIR/inside-adt.rs:7:33
|
||||
|
|
||||
LL | struct S2 { f: Box<dyn Iterator<Item: Copy>> }
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: associated type bounds are not allowed within structs, enums, or unions
|
||||
--> $DIR/inside-adt.rs:11:29
|
||||
--> $DIR/inside-adt.rs:10:29
|
||||
|
|
||||
LL | struct S3 { f: dyn Iterator<Item: 'static> }
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: associated type bounds are not allowed within structs, enums, or unions
|
||||
--> $DIR/inside-adt.rs:15:26
|
||||
--> $DIR/inside-adt.rs:14:26
|
||||
|
|
||||
LL | enum E1 { V(dyn Iterator<Item: Copy>) }
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: associated type bounds are not allowed within structs, enums, or unions
|
||||
--> $DIR/inside-adt.rs:18:30
|
||||
--> $DIR/inside-adt.rs:17:30
|
||||
|
|
||||
LL | enum E2 { V(Box<dyn Iterator<Item: Copy>>) }
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: associated type bounds are not allowed within structs, enums, or unions
|
||||
--> $DIR/inside-adt.rs:21:26
|
||||
--> $DIR/inside-adt.rs:20:26
|
||||
|
|
||||
LL | enum E3 { V(dyn Iterator<Item: 'static>) }
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: associated type bounds are not allowed within structs, enums, or unions
|
||||
--> $DIR/inside-adt.rs:25:28
|
||||
--> $DIR/inside-adt.rs:24:28
|
||||
|
|
||||
LL | union U1 { f: dyn Iterator<Item: Copy> }
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: associated type bounds are not allowed within structs, enums, or unions
|
||||
--> $DIR/inside-adt.rs:28:32
|
||||
--> $DIR/inside-adt.rs:27:32
|
||||
|
|
||||
LL | union U2 { f: Box<dyn Iterator<Item: Copy>> }
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: associated type bounds are not allowed within structs, enums, or unions
|
||||
--> $DIR/inside-adt.rs:31:28
|
||||
--> $DIR/inside-adt.rs:30:28
|
||||
|
|
||||
LL | union U3 { f: dyn Iterator<Item: 'static> }
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/inside-adt.rs:5:29
|
||||
--> $DIR/inside-adt.rs:4:29
|
||||
|
|
||||
LL | struct S1 { f: dyn Iterator<Item: Copy> }
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/inside-adt.rs:8:33
|
||||
--> $DIR/inside-adt.rs:7:33
|
||||
|
|
||||
LL | struct S2 { f: Box<dyn Iterator<Item: Copy>> }
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/inside-adt.rs:11:29
|
||||
--> $DIR/inside-adt.rs:10:29
|
||||
|
|
||||
LL | struct S3 { f: dyn Iterator<Item: 'static> }
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/inside-adt.rs:15:26
|
||||
--> $DIR/inside-adt.rs:14:26
|
||||
|
|
||||
LL | enum E1 { V(dyn Iterator<Item: Copy>) }
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/inside-adt.rs:18:30
|
||||
--> $DIR/inside-adt.rs:17:30
|
||||
|
|
||||
LL | enum E2 { V(Box<dyn Iterator<Item: Copy>>) }
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/inside-adt.rs:21:26
|
||||
--> $DIR/inside-adt.rs:20:26
|
||||
|
|
||||
LL | enum E3 { V(dyn Iterator<Item: 'static>) }
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/inside-adt.rs:25:28
|
||||
--> $DIR/inside-adt.rs:24:28
|
||||
|
|
||||
LL | union U1 { f: dyn Iterator<Item: Copy> }
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/inside-adt.rs:28:32
|
||||
--> $DIR/inside-adt.rs:27:32
|
||||
|
|
||||
LL | union U2 { f: Box<dyn Iterator<Item: Copy>> }
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: could not find defining uses
|
||||
--> $DIR/inside-adt.rs:31:28
|
||||
--> $DIR/inside-adt.rs:30:28
|
||||
|
|
||||
LL | union U3 { f: dyn Iterator<Item: 'static> }
|
||||
| ^^^^^^^^^^^^^
|
||||
|
@ -1,4 +1,3 @@
|
||||
// compile-fail
|
||||
// edition:2018
|
||||
// compile-flags: --crate-type lib
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error: future cannot be sent between threads safely
|
||||
--> $DIR/async-fn-nonsend.rs:50:5
|
||||
--> $DIR/async-fn-nonsend.rs:49:5
|
||||
|
|
||||
LL | fn assert_send(_: impl Send) {}
|
||||
| ----------- ---- required by this bound in `assert_send`
|
||||
@ -9,7 +9,7 @@ LL | assert_send(local_dropped_before_await());
|
||||
|
|
||||
= help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `std::rc::Rc<()>`
|
||||
note: future is not `Send` as this value is used across an await
|
||||
--> $DIR/async-fn-nonsend.rs:25:5
|
||||
--> $DIR/async-fn-nonsend.rs:24:5
|
||||
|
|
||||
LL | let x = non_send();
|
||||
| - has type `impl std::fmt::Debug`
|
||||
@ -20,7 +20,7 @@ LL | }
|
||||
| - `x` is later dropped here
|
||||
|
||||
error: future cannot be sent between threads safely
|
||||
--> $DIR/async-fn-nonsend.rs:52:5
|
||||
--> $DIR/async-fn-nonsend.rs:51:5
|
||||
|
|
||||
LL | fn assert_send(_: impl Send) {}
|
||||
| ----------- ---- required by this bound in `assert_send`
|
||||
@ -30,7 +30,7 @@ LL | assert_send(non_send_temporary_in_match());
|
||||
|
|
||||
= help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `std::rc::Rc<()>`
|
||||
note: future is not `Send` as this value is used across an await
|
||||
--> $DIR/async-fn-nonsend.rs:34:20
|
||||
--> $DIR/async-fn-nonsend.rs:33:20
|
||||
|
|
||||
LL | match Some(non_send()) {
|
||||
| ---------- has type `impl std::fmt::Debug`
|
||||
@ -41,7 +41,7 @@ LL | }
|
||||
| - `non_send()` is later dropped here
|
||||
|
||||
error: future cannot be sent between threads safely
|
||||
--> $DIR/async-fn-nonsend.rs:54:5
|
||||
--> $DIR/async-fn-nonsend.rs:53:5
|
||||
|
|
||||
LL | fn assert_send(_: impl Send) {}
|
||||
| ----------- ---- required by this bound in `assert_send`
|
||||
@ -51,7 +51,7 @@ LL | assert_send(non_sync_with_method_call());
|
||||
|
|
||||
= help: the trait `std::marker::Send` is not implemented for `dyn std::fmt::Write`
|
||||
note: future is not `Send` as this value is used across an await
|
||||
--> $DIR/async-fn-nonsend.rs:43:9
|
||||
--> $DIR/async-fn-nonsend.rs:42:9
|
||||
|
|
||||
LL | let f: &mut std::fmt::Formatter = panic!();
|
||||
| - has type `&mut std::fmt::Formatter<'_>`
|
||||
|
@ -1,4 +1,3 @@
|
||||
// compile-fail
|
||||
// edition:2018
|
||||
// compile-flags: --crate-type lib
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error: expected one of `fn` or `unsafe`, found keyword `const`
|
||||
--> $DIR/no-async-const.rs:5:11
|
||||
--> $DIR/no-async-const.rs:4:11
|
||||
|
|
||||
LL | pub async const fn x() {}
|
||||
| ^^^^^ expected one of `fn` or `unsafe`
|
||||
|
@ -1,4 +1,3 @@
|
||||
// compile-fail
|
||||
// edition:2018
|
||||
// compile-flags: --crate-type lib
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
error: expected identifier, found keyword `async`
|
||||
--> $DIR/no-const-async.rs:5:11
|
||||
--> $DIR/no-const-async.rs:4:11
|
||||
|
|
||||
LL | pub const async fn x() {}
|
||||
| ^^^^^ expected identifier, found keyword
|
||||
|
||||
error: expected `:`, found keyword `fn`
|
||||
--> $DIR/no-const-async.rs:5:17
|
||||
--> $DIR/no-const-async.rs:4:17
|
||||
|
|
||||
LL | pub const async fn x() {}
|
||||
| ^^ expected `:`
|
||||
|
@ -1,4 +1,3 @@
|
||||
// compile-fail
|
||||
// edition:2018
|
||||
// compile-flags: --crate-type lib
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0382]: use of moved value: `s.x`
|
||||
--> $DIR/no-move-across-await-struct.rs:8:5
|
||||
--> $DIR/no-move-across-await-struct.rs:7:5
|
||||
|
|
||||
LL | needs_vec(s.x).await;
|
||||
| --- value moved here
|
||||
|
@ -1,4 +1,3 @@
|
||||
// compile-fail
|
||||
// edition:2018
|
||||
// compile-flags: --crate-type lib
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0382]: use of moved value: `x.1`
|
||||
--> $DIR/no-move-across-await-tuple.rs:9:5
|
||||
--> $DIR/no-move-across-await-tuple.rs:8:5
|
||||
|
|
||||
LL | drop(x.1);
|
||||
| --- value moved here
|
||||
|
@ -1,4 +1,3 @@
|
||||
// compile-fail
|
||||
// edition:2018
|
||||
// compile-flags: --crate-type lib
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0381]: use of possibly-uninitialized variable: `y`
|
||||
--> $DIR/no-non-guaranteed-initialization.rs:10:5
|
||||
--> $DIR/no-non-guaranteed-initialization.rs:9:5
|
||||
|
|
||||
LL | y
|
||||
| ^ use of possibly-uninitialized `y`
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0499]: cannot borrow `*f` as mutable more than once at a time
|
||||
--> $DIR/two-phase-nonrecv-autoref.rs:58:11
|
||||
--> $DIR/two-phase-nonrecv-autoref.rs:51:11
|
||||
|
|
||||
LL | f(f(10));
|
||||
| - ^ second mutable borrow occurs here
|
||||
@ -8,7 +8,7 @@ LL | f(f(10));
|
||||
| first borrow later used by call
|
||||
|
||||
error[E0382]: use of moved value: `f`
|
||||
--> $DIR/two-phase-nonrecv-autoref.rs:66:11
|
||||
--> $DIR/two-phase-nonrecv-autoref.rs:59:11
|
||||
|
|
||||
LL | fn twice_ten_so<F: FnOnce(i32) -> i32>(f: Box<F>) {
|
||||
| - move occurs because `f` has type `std::boxed::Box<F>`, which does not implement the `Copy` trait
|
||||
@ -18,7 +18,7 @@ LL | f(f(10));
|
||||
| value moved here
|
||||
|
||||
error[E0499]: cannot borrow `*f` as mutable more than once at a time
|
||||
--> $DIR/two-phase-nonrecv-autoref.rs:72:11
|
||||
--> $DIR/two-phase-nonrecv-autoref.rs:65:11
|
||||
|
|
||||
LL | f(f(10));
|
||||
| - ^ second mutable borrow occurs here
|
||||
@ -27,7 +27,7 @@ LL | f(f(10));
|
||||
| first borrow later used by call
|
||||
|
||||
error[E0382]: use of moved value: `f`
|
||||
--> $DIR/two-phase-nonrecv-autoref.rs:80:11
|
||||
--> $DIR/two-phase-nonrecv-autoref.rs:73:11
|
||||
|
|
||||
LL | fn twice_ten_oo(f: Box<dyn FnOnce(i32) -> i32>) {
|
||||
| - move occurs because `f` has type `std::boxed::Box<dyn std::ops::FnOnce(i32) -> i32>`, which does not implement the `Copy` trait
|
||||
@ -37,7 +37,7 @@ LL | f(f(10));
|
||||
| value moved here
|
||||
|
||||
error[E0502]: cannot borrow `a` as immutable because it is also borrowed as mutable
|
||||
--> $DIR/two-phase-nonrecv-autoref.rs:119:27
|
||||
--> $DIR/two-phase-nonrecv-autoref.rs:112:27
|
||||
|
|
||||
LL | double_access(&mut a, &a);
|
||||
| ------------- ------ ^^ immutable borrow occurs here
|
||||
@ -46,7 +46,7 @@ LL | double_access(&mut a, &a);
|
||||
| mutable borrow later used by call
|
||||
|
||||
error[E0502]: cannot borrow `i` as immutable because it is also borrowed as mutable
|
||||
--> $DIR/two-phase-nonrecv-autoref.rs:145:7
|
||||
--> $DIR/two-phase-nonrecv-autoref.rs:138:7
|
||||
|
|
||||
LL | i[i[3]] = 4;
|
||||
| --^----
|
||||
@ -56,7 +56,7 @@ LL | i[i[3]] = 4;
|
||||
| mutable borrow later used here
|
||||
|
||||
error[E0502]: cannot borrow `i` as immutable because it is also borrowed as mutable
|
||||
--> $DIR/two-phase-nonrecv-autoref.rs:150:7
|
||||
--> $DIR/two-phase-nonrecv-autoref.rs:143:7
|
||||
|
|
||||
LL | i[i[3]] = i[4];
|
||||
| --^----
|
||||
|
@ -13,13 +13,6 @@
|
||||
// receivers (namely, in many cases demonstrated below, the error
|
||||
// would not arise).
|
||||
|
||||
// (If we revise the compiler or this test so that the g2p revision
|
||||
// passes, turn the `rustc_attrs` feature back on and tag the `fn
|
||||
// main` with `#[rustc_error]` so that this remains a valid
|
||||
// compile-fail test.)
|
||||
//
|
||||
// #![feature(rustc_attrs)]
|
||||
|
||||
use std::ops::{Index, IndexMut};
|
||||
|
||||
fn foo(x: &mut u32, y: u32) {
|
||||
|
@ -1,4 +1,3 @@
|
||||
// compile-fail
|
||||
// ignore-tidy-linelength
|
||||
// edition:2018
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
warning: the feature `impl_trait_in_bindings` is incomplete and may cause the compiler to crash
|
||||
--> $DIR/bound-normalization-fail.rs:5:12
|
||||
--> $DIR/bound-normalization-fail.rs:4:12
|
||||
|
|
||||
LL | #![feature(impl_trait_in_bindings)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
@ -7,7 +7,7 @@ LL | #![feature(impl_trait_in_bindings)]
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
error[E0271]: type mismatch resolving `<Foo<()> as FooLike>::Output == <T as impl_trait::Trait>::Assoc`
|
||||
--> $DIR/bound-normalization-fail.rs:28:32
|
||||
--> $DIR/bound-normalization-fail.rs:27:32
|
||||
|
|
||||
LL | fn foo_fail<T: Trait>() -> impl FooLike<Output=T::Assoc> {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found associated type
|
||||
@ -19,13 +19,13 @@ LL | fn foo_fail<T: Trait>() -> impl FooLike<Output=T::Assoc> {
|
||||
= note: the return type of a function must have a statically known size
|
||||
|
||||
error: `impl Trait` return type cannot contain a projection or `Self` that references lifetimes from a parent scope
|
||||
--> $DIR/bound-normalization-fail.rs:44:41
|
||||
--> $DIR/bound-normalization-fail.rs:43:41
|
||||
|
|
||||
LL | fn foo2_fail<'a, T: Trait<'a>>() -> impl FooLike<Output=T::Assoc> {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0271]: type mismatch resolving `<Foo<()> as FooLike>::Output == <T as lifetimes::Trait<'static>>::Assoc`
|
||||
--> $DIR/bound-normalization-fail.rs:44:41
|
||||
--> $DIR/bound-normalization-fail.rs:43:41
|
||||
|
|
||||
LL | fn foo2_fail<'a, T: Trait<'a>>() -> impl FooLike<Output=T::Assoc> {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found associated type
|
||||
|
@ -1,5 +1,5 @@
|
||||
error: lifetime may not live long enough
|
||||
--> $DIR/arbitrary_self_types_pin_lifetime_impl_trait.rs:8:31
|
||||
--> $DIR/arbitrary_self_types_pin_lifetime_impl_trait.rs:6:31
|
||||
|
|
||||
LL | fn f(self: Pin<&Self>) -> impl Clone { self }
|
||||
| - ^^^^^^^^^^ opaque type requires that `'1` must outlive `'static`
|
||||
|
@ -1,5 +1,3 @@
|
||||
// compile-fail
|
||||
|
||||
use std::pin::Pin;
|
||||
|
||||
struct Foo;
|
||||
|
@ -1,17 +1,17 @@
|
||||
error: cannot infer an appropriate lifetime
|
||||
--> $DIR/arbitrary_self_types_pin_lifetime_impl_trait.rs:8:44
|
||||
--> $DIR/arbitrary_self_types_pin_lifetime_impl_trait.rs:6:44
|
||||
|
|
||||
LL | fn f(self: Pin<&Self>) -> impl Clone { self }
|
||||
| ---------- ^^^^ ...but this borrow...
|
||||
| |
|
||||
| this return type evaluates to the `'static` lifetime...
|
||||
|
|
||||
note: ...can't outlive the anonymous lifetime #1 defined on the method body at 8:5
|
||||
--> $DIR/arbitrary_self_types_pin_lifetime_impl_trait.rs:8:5
|
||||
note: ...can't outlive the anonymous lifetime #1 defined on the method body at 6:5
|
||||
--> $DIR/arbitrary_self_types_pin_lifetime_impl_trait.rs:6:5
|
||||
|
|
||||
LL | fn f(self: Pin<&Self>) -> impl Clone { self }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
help: you can add a bound to the return type to make it last less than `'static` and match the anonymous lifetime #1 defined on the method body at 8:5
|
||||
help: you can add a bound to the return type to make it last less than `'static` and match the anonymous lifetime #1 defined on the method body at 6:5
|
||||
|
|
||||
LL | fn f(self: Pin<&Self>) -> impl Clone + '_ { self }
|
||||
| ^^^^^^^^^^^^^^^
|
||||
|
@ -1,5 +1,5 @@
|
||||
error: lifetime may not live long enough
|
||||
--> $DIR/arbitrary_self_types_pin_lifetime_mismatch.rs:8:46
|
||||
--> $DIR/arbitrary_self_types_pin_lifetime_mismatch.rs:6:46
|
||||
|
|
||||
LL | fn a(self: Pin<&Foo>, f: &Foo) -> &Foo { f }
|
||||
| - - ^ function was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`
|
||||
@ -8,7 +8,7 @@ LL | fn a(self: Pin<&Foo>, f: &Foo) -> &Foo { f }
|
||||
| let's call the lifetime of this reference `'2`
|
||||
|
||||
error: lifetime may not live long enough
|
||||
--> $DIR/arbitrary_self_types_pin_lifetime_mismatch.rs:10:69
|
||||
--> $DIR/arbitrary_self_types_pin_lifetime_mismatch.rs:8:69
|
||||
|
|
||||
LL | fn c(self: Pin<&Self>, f: &Foo, g: &Foo) -> (Pin<&Foo>, &Foo) { (self, f) }
|
||||
| - - ^^^^^^^^^ function was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`
|
||||
@ -17,7 +17,7 @@ LL | fn c(self: Pin<&Self>, f: &Foo, g: &Foo) -> (Pin<&Foo>, &Foo) { (self,
|
||||
| let's call the lifetime of this reference `'2`
|
||||
|
||||
error: lifetime may not live long enough
|
||||
--> $DIR/arbitrary_self_types_pin_lifetime_mismatch.rs:15:58
|
||||
--> $DIR/arbitrary_self_types_pin_lifetime_mismatch.rs:13:58
|
||||
|
|
||||
LL | fn bar<'a>(self: Alias<&Self>, arg: &'a ()) -> &() { arg }
|
||||
| -- ---- has type `std::pin::Pin<&'1 Foo>` ^^^ function was supposed to return data with lifetime `'1` but it is returning data with lifetime `'a`
|
||||
|
@ -1,5 +1,3 @@
|
||||
// compile-fail
|
||||
|
||||
use std::pin::Pin;
|
||||
|
||||
struct Foo;
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0623]: lifetime mismatch
|
||||
--> $DIR/arbitrary_self_types_pin_lifetime_mismatch.rs:8:46
|
||||
--> $DIR/arbitrary_self_types_pin_lifetime_mismatch.rs:6:46
|
||||
|
|
||||
LL | fn a(self: Pin<&Foo>, f: &Foo) -> &Foo { f }
|
||||
| ---- ---- ^ ...but data from `f` is returned here
|
||||
@ -7,7 +7,7 @@ LL | fn a(self: Pin<&Foo>, f: &Foo) -> &Foo { f }
|
||||
| this parameter and the return type are declared with different lifetimes...
|
||||
|
||||
error[E0623]: lifetime mismatch
|
||||
--> $DIR/arbitrary_self_types_pin_lifetime_mismatch.rs:10:76
|
||||
--> $DIR/arbitrary_self_types_pin_lifetime_mismatch.rs:8:76
|
||||
|
|
||||
LL | fn c(self: Pin<&Self>, f: &Foo, g: &Foo) -> (Pin<&Foo>, &Foo) { (self, f) }
|
||||
| ---- ----------------- ^ ...but data from `f` is returned here
|
||||
@ -15,7 +15,7 @@ LL | fn c(self: Pin<&Self>, f: &Foo, g: &Foo) -> (Pin<&Foo>, &Foo) { (self,
|
||||
| this parameter and the return type are declared with different lifetimes...
|
||||
|
||||
error[E0623]: lifetime mismatch
|
||||
--> $DIR/arbitrary_self_types_pin_lifetime_mismatch.rs:15:58
|
||||
--> $DIR/arbitrary_self_types_pin_lifetime_mismatch.rs:13:58
|
||||
|
|
||||
LL | fn bar<'a>(self: Alias<&Self>, arg: &'a ()) -> &() { arg }
|
||||
| ------ --- ^^^ ...but data from `arg` is returned here
|
||||
|
@ -1,5 +1,3 @@
|
||||
// compile-fail
|
||||
|
||||
// check that reservation impls are accounted for in negative reasoning.
|
||||
|
||||
#![feature(rustc_attrs)]
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0119]: conflicting implementations of trait `OtherTrait` for type `()`:
|
||||
--> $DIR/reservation-impl-coherence-conflict.rs:13:1
|
||||
--> $DIR/reservation-impl-coherence-conflict.rs:11:1
|
||||
|
|
||||
LL | impl OtherTrait for () {}
|
||||
| ---------------------- first implementation here
|
||||
|
@ -1,5 +1,3 @@
|
||||
// compile-fail
|
||||
|
||||
// check that reservation impls can't be used as normal impls in positive reasoning.
|
||||
|
||||
#![feature(rustc_attrs)]
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `(): MyTrait` is not satisfied
|
||||
--> $DIR/reservation-impl-no-use.rs:12:26
|
||||
--> $DIR/reservation-impl-no-use.rs:10:26
|
||||
|
|
||||
LL | trait MyTrait { fn foo(&self); }
|
||||
| -------------- required by `MyTrait::foo`
|
||||
|
@ -1,5 +1,3 @@
|
||||
// compile-fail
|
||||
|
||||
// Test that `dyn ... + ?Sized + ...` is okay (though `?Sized` has no effect in trait objects).
|
||||
|
||||
trait Foo {}
|
||||
|
@ -1,29 +1,29 @@
|
||||
error: `?Trait` is not permitted in trait object types
|
||||
--> $DIR/wf-trait-object-maybe-bound.rs:7:15
|
||||
--> $DIR/wf-trait-object-maybe-bound.rs:5:15
|
||||
|
|
||||
LL | type _0 = dyn ?Sized + Foo;
|
||||
| ^^^^^^
|
||||
|
||||
error: `?Trait` is not permitted in trait object types
|
||||
--> $DIR/wf-trait-object-maybe-bound.rs:10:21
|
||||
--> $DIR/wf-trait-object-maybe-bound.rs:8:21
|
||||
|
|
||||
LL | type _1 = dyn Foo + ?Sized;
|
||||
| ^^^^^^
|
||||
|
||||
error: `?Trait` is not permitted in trait object types
|
||||
--> $DIR/wf-trait-object-maybe-bound.rs:13:21
|
||||
--> $DIR/wf-trait-object-maybe-bound.rs:11:21
|
||||
|
|
||||
LL | type _2 = dyn Foo + ?Sized + ?Sized;
|
||||
| ^^^^^^
|
||||
|
||||
error: `?Trait` is not permitted in trait object types
|
||||
--> $DIR/wf-trait-object-maybe-bound.rs:13:30
|
||||
--> $DIR/wf-trait-object-maybe-bound.rs:11:30
|
||||
|
|
||||
LL | type _2 = dyn Foo + ?Sized + ?Sized;
|
||||
| ^^^^^^
|
||||
|
||||
error: `?Trait` is not permitted in trait object types
|
||||
--> $DIR/wf-trait-object-maybe-bound.rs:17:15
|
||||
--> $DIR/wf-trait-object-maybe-bound.rs:15:15
|
||||
|
|
||||
LL | type _3 = dyn ?Sized + Foo;
|
||||
| ^^^^^^
|
||||
|
@ -554,6 +554,9 @@ impl TestProps {
|
||||
panic!("`{}-fail` header is only supported in UI tests", mode);
|
||||
}
|
||||
};
|
||||
if config.mode == Mode::Ui && config.parse_name_directive(ln, "compile-fail") {
|
||||
panic!("`compile-fail` header is useless in UI tests");
|
||||
}
|
||||
let fail_mode = if config.parse_name_directive(ln, "check-fail") {
|
||||
check_ui("check");
|
||||
Some(FailMode::Check)
|
||||
|
Loading…
Reference in New Issue
Block a user