Update test outputs
This commit is contained in:
parent
471334e996
commit
9ae575c795
@ -19,16 +19,16 @@
|
||||
+ _4 = hide_foo() -> [return: bb1, unwind: bb3]; // scope 0 at $DIR/issue-78442.rs:11:5: 11:15
|
||||
// mir::Constant
|
||||
// + span: $DIR/issue-78442.rs:11:5: 11:13
|
||||
// + literal: Const { ty: fn() -> impl std::ops::Fn<()> {hide_foo}, val: Value(Scalar(<ZST>)) }
|
||||
// + literal: Const { ty: fn() -> impl Fn() -> () {hide_foo}, val: Value(Scalar(<ZST>)) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
_3 = &_4; // scope 0 at $DIR/issue-78442.rs:11:5: 11:15
|
||||
StorageLive(_5); // scope 0 at $DIR/issue-78442.rs:11:5: 11:17
|
||||
- _2 = <impl Fn<()> as Fn<()>>::call(move _3, move _5) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/issue-78442.rs:11:5: 11:17
|
||||
- _2 = <impl Fn() -> () as Fn<()>>::call(move _3, move _5) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/issue-78442.rs:11:5: 11:17
|
||||
- // mir::Constant
|
||||
- // + span: $DIR/issue-78442.rs:11:5: 11:15
|
||||
- // + literal: Const { ty: for<'r> extern "rust-call" fn(&'r impl std::ops::Fn<()>, ()) -> <impl std::ops::Fn<()> as std::ops::FnOnce<()>>::Output {<impl std::ops::Fn<()> as std::ops::Fn<()>>::call}, val: Value(Scalar(<ZST>)) }
|
||||
- // + literal: Const { ty: for<'r> extern "rust-call" fn(&'r impl Fn() -> (), ()) -> <impl Fn() -> () as std::ops::FnOnce<()>>::Output {<impl Fn() -> () as std::ops::Fn<()>>::call}, val: Value(Scalar(<ZST>)) }
|
||||
+ _2 = move (*_3)() -> [return: bb5, unwind: bb3]; // scope 1 at $DIR/issue-78442.rs:11:5: 11:17
|
||||
}
|
||||
|
||||
|
@ -5,8 +5,8 @@
|
||||
debug _baz => _1; // in scope 0 at $DIR/issue-78442.rs:9:5: 9:9
|
||||
let mut _0: (); // return place in scope 0 at $DIR/issue-78442.rs:10:3: 10:3
|
||||
let _2: (); // in scope 0 at $DIR/issue-78442.rs:11:5: 11:17
|
||||
- let mut _3: &impl std::ops::Fn<()>; // in scope 0 at $DIR/issue-78442.rs:11:5: 11:15
|
||||
- let _4: impl std::ops::Fn<()>; // in scope 0 at $DIR/issue-78442.rs:11:5: 11:15
|
||||
- let mut _3: &impl Fn() -> (); // in scope 0 at $DIR/issue-78442.rs:11:5: 11:15
|
||||
- let _4: impl Fn() -> (); // in scope 0 at $DIR/issue-78442.rs:11:5: 11:15
|
||||
+ let mut _3: &fn() {foo}; // in scope 0 at $DIR/issue-78442.rs:11:5: 11:15
|
||||
+ let _4: fn() {foo}; // in scope 0 at $DIR/issue-78442.rs:11:5: 11:15
|
||||
let mut _5: (); // in scope 0 at $DIR/issue-78442.rs:11:5: 11:17
|
||||
@ -18,17 +18,17 @@
|
||||
_4 = hide_foo() -> [return: bb1, unwind: bb4]; // scope 0 at $DIR/issue-78442.rs:11:5: 11:15
|
||||
// mir::Constant
|
||||
// + span: $DIR/issue-78442.rs:11:5: 11:13
|
||||
// + literal: Const { ty: fn() -> impl std::ops::Fn<()> {hide_foo}, val: Value(Scalar(<ZST>)) }
|
||||
// + literal: Const { ty: fn() -> impl Fn() -> () {hide_foo}, val: Value(Scalar(<ZST>)) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
_3 = &_4; // scope 0 at $DIR/issue-78442.rs:11:5: 11:15
|
||||
StorageLive(_5); // scope 0 at $DIR/issue-78442.rs:11:5: 11:17
|
||||
nop; // scope 0 at $DIR/issue-78442.rs:11:5: 11:17
|
||||
_2 = <impl Fn<()> as Fn<()>>::call(move _3, move _5) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/issue-78442.rs:11:5: 11:17
|
||||
_2 = <impl Fn() -> () as Fn<()>>::call(move _3, move _5) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/issue-78442.rs:11:5: 11:17
|
||||
// mir::Constant
|
||||
// + span: $DIR/issue-78442.rs:11:5: 11:15
|
||||
// + literal: Const { ty: for<'r> extern "rust-call" fn(&'r impl std::ops::Fn<()>, ()) -> <impl std::ops::Fn<()> as std::ops::FnOnce<()>>::Output {<impl std::ops::Fn<()> as std::ops::Fn<()>>::call}, val: Value(Scalar(<ZST>)) }
|
||||
// + literal: Const { ty: for<'r> extern "rust-call" fn(&'r impl Fn() -> (), ()) -> <impl Fn() -> () as std::ops::FnOnce<()>>::Output {<impl Fn() -> () as std::ops::Fn<()>>::call}, val: Value(Scalar(<ZST>)) }
|
||||
}
|
||||
|
||||
bb2: {
|
||||
|
@ -83,17 +83,17 @@ fn main() {
|
||||
//~^ ERROR type mismatch resolving `<impl DerivedTrait as Trait>::Associated == ()`
|
||||
|
||||
accepts_trait(returns_opaque_foo());
|
||||
//~^ ERROR type mismatch resolving `<impl Trait + Foo as Trait>::Associated == ()`
|
||||
//~^ ERROR type mismatch resolving `<impl Foo + Trait as Trait>::Associated == ()`
|
||||
|
||||
accepts_trait(returns_opaque_derived_foo());
|
||||
//~^ ERROR type mismatch resolving `<impl DerivedTrait + Foo as Trait>::Associated == ()`
|
||||
//~^ ERROR type mismatch resolving `<impl Foo + DerivedTrait as Trait>::Associated == ()`
|
||||
|
||||
accepts_generic_trait(returns_opaque_generic());
|
||||
//~^ ERROR type mismatch resolving `<impl GenericTrait<()> as GenericTrait<()>>::Associated == ()`
|
||||
|
||||
accepts_generic_trait(returns_opaque_generic_foo());
|
||||
//~^ ERROR type mismatch resolving `<impl GenericTrait<()> + Foo as GenericTrait<()>>::Associated == ()`
|
||||
//~^ ERROR type mismatch resolving `<impl Foo + GenericTrait<()> as GenericTrait<()>>::Associated == ()`
|
||||
|
||||
accepts_generic_trait(returns_opaque_generic_duplicate());
|
||||
//~^ ERROR type mismatch resolving `<impl GenericTrait<()> + GenericTrait<u8> as GenericTrait<()>>::Associated == ()`
|
||||
//~^ ERROR type mismatch resolving `<impl GenericTrait<u8> + GenericTrait<()> as GenericTrait<()>>::Associated == ()`
|
||||
}
|
||||
|
@ -160,7 +160,7 @@ help: consider constraining the associated type `<impl DerivedTrait as Trait>::A
|
||||
LL | fn returns_opaque_derived() -> impl DerivedTrait<Associated = ()> + 'static {
|
||||
| +++++++++++++++++
|
||||
|
||||
error[E0271]: type mismatch resolving `<impl Trait + Foo as Trait>::Associated == ()`
|
||||
error[E0271]: type mismatch resolving `<impl Foo + Trait as Trait>::Associated == ()`
|
||||
--> $DIR/issue-87261.rs:85:5
|
||||
|
|
||||
LL | fn returns_opaque_foo() -> impl Trait + Foo {
|
||||
@ -170,18 +170,18 @@ LL | accepts_trait(returns_opaque_foo());
|
||||
| ^^^^^^^^^^^^^ expected `()`, found associated type
|
||||
|
|
||||
= note: expected unit type `()`
|
||||
found associated type `<impl Trait + Foo as Trait>::Associated`
|
||||
found associated type `<impl Foo + Trait as Trait>::Associated`
|
||||
note: required by a bound in `accepts_trait`
|
||||
--> $DIR/issue-87261.rs:43:27
|
||||
|
|
||||
LL | fn accepts_trait<T: Trait<Associated = ()>>(_: T) {}
|
||||
| ^^^^^^^^^^^^^^^ required by this bound in `accepts_trait`
|
||||
help: consider constraining the associated type `<impl Trait + Foo as Trait>::Associated` to `()`
|
||||
help: consider constraining the associated type `<impl Foo + Trait as Trait>::Associated` to `()`
|
||||
|
|
||||
LL | fn returns_opaque_foo() -> impl Trait<Associated = ()> + Foo {
|
||||
| +++++++++++++++++
|
||||
|
||||
error[E0271]: type mismatch resolving `<impl DerivedTrait + Foo as Trait>::Associated == ()`
|
||||
error[E0271]: type mismatch resolving `<impl Foo + DerivedTrait as Trait>::Associated == ()`
|
||||
--> $DIR/issue-87261.rs:88:5
|
||||
|
|
||||
LL | fn returns_opaque_derived_foo() -> impl DerivedTrait + Foo {
|
||||
@ -191,8 +191,8 @@ LL | accepts_trait(returns_opaque_derived_foo());
|
||||
| ^^^^^^^^^^^^^ expected `()`, found associated type
|
||||
|
|
||||
= note: expected unit type `()`
|
||||
found associated type `<impl DerivedTrait + Foo as Trait>::Associated`
|
||||
= help: consider constraining the associated type `<impl DerivedTrait + Foo as Trait>::Associated` to `()`
|
||||
found associated type `<impl Foo + DerivedTrait as Trait>::Associated`
|
||||
= help: consider constraining the associated type `<impl Foo + DerivedTrait as Trait>::Associated` to `()`
|
||||
= note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html
|
||||
note: required by a bound in `accepts_trait`
|
||||
--> $DIR/issue-87261.rs:43:27
|
||||
@ -221,7 +221,7 @@ help: consider constraining the associated type `<impl GenericTrait<()> as Gener
|
||||
LL | fn returns_opaque_generic() -> impl GenericTrait<(), Associated = ()> + 'static {
|
||||
| +++++++++++++++++
|
||||
|
||||
error[E0271]: type mismatch resolving `<impl GenericTrait<()> + Foo as GenericTrait<()>>::Associated == ()`
|
||||
error[E0271]: type mismatch resolving `<impl Foo + GenericTrait<()> as GenericTrait<()>>::Associated == ()`
|
||||
--> $DIR/issue-87261.rs:94:5
|
||||
|
|
||||
LL | fn returns_opaque_generic_foo() -> impl GenericTrait<()> + Foo {
|
||||
@ -231,18 +231,18 @@ LL | accepts_generic_trait(returns_opaque_generic_foo());
|
||||
| ^^^^^^^^^^^^^^^^^^^^^ expected `()`, found associated type
|
||||
|
|
||||
= note: expected unit type `()`
|
||||
found associated type `<impl GenericTrait<()> + Foo as GenericTrait<()>>::Associated`
|
||||
found associated type `<impl Foo + GenericTrait<()> as GenericTrait<()>>::Associated`
|
||||
note: required by a bound in `accepts_generic_trait`
|
||||
--> $DIR/issue-87261.rs:44:46
|
||||
|
|
||||
LL | fn accepts_generic_trait<T: GenericTrait<(), Associated = ()>>(_: T) {}
|
||||
| ^^^^^^^^^^^^^^^ required by this bound in `accepts_generic_trait`
|
||||
help: consider constraining the associated type `<impl GenericTrait<()> + Foo as GenericTrait<()>>::Associated` to `()`
|
||||
help: consider constraining the associated type `<impl Foo + GenericTrait<()> as GenericTrait<()>>::Associated` to `()`
|
||||
|
|
||||
LL | fn returns_opaque_generic_foo() -> impl GenericTrait<(), Associated = ()> + Foo {
|
||||
| +++++++++++++++++
|
||||
|
||||
error[E0271]: type mismatch resolving `<impl GenericTrait<()> + GenericTrait<u8> as GenericTrait<()>>::Associated == ()`
|
||||
error[E0271]: type mismatch resolving `<impl GenericTrait<u8> + GenericTrait<()> as GenericTrait<()>>::Associated == ()`
|
||||
--> $DIR/issue-87261.rs:97:5
|
||||
|
|
||||
LL | fn returns_opaque_generic_duplicate() -> impl GenericTrait<()> + GenericTrait<u8> {
|
||||
@ -252,8 +252,8 @@ LL | accepts_generic_trait(returns_opaque_generic_duplicate());
|
||||
| ^^^^^^^^^^^^^^^^^^^^^ expected `()`, found associated type
|
||||
|
|
||||
= note: expected unit type `()`
|
||||
found associated type `<impl GenericTrait<()> + GenericTrait<u8> as GenericTrait<()>>::Associated`
|
||||
= help: consider constraining the associated type `<impl GenericTrait<()> + GenericTrait<u8> as GenericTrait<()>>::Associated` to `()`
|
||||
found associated type `<impl GenericTrait<u8> + GenericTrait<()> as GenericTrait<()>>::Associated`
|
||||
= help: consider constraining the associated type `<impl GenericTrait<u8> + GenericTrait<()> as GenericTrait<()>>::Associated` to `()`
|
||||
= note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html
|
||||
note: required by a bound in `accepts_generic_trait`
|
||||
--> $DIR/issue-87261.rs:44:46
|
||||
|
@ -15,16 +15,16 @@ fn return_targets_async_block_not_fn() -> u8 {
|
||||
return 0u8;
|
||||
};
|
||||
let _: &dyn Future<Output = ()> = █
|
||||
//~^ ERROR type mismatch resolving `<impl Future as Future>::Output == ()`
|
||||
//~^ ERROR type mismatch
|
||||
}
|
||||
|
||||
async fn return_targets_async_block_not_async_fn() -> u8 {
|
||||
//~^ ERROR mismatched types
|
||||
//~^ ERROR mismatched types [E0308]
|
||||
let block = async {
|
||||
return 0u8;
|
||||
};
|
||||
let _: &dyn Future<Output = ()> = █
|
||||
//~^ ERROR type mismatch resolving `<impl Future as Future>::Output == ()`
|
||||
//~^ ERROR type mismatch resolving `<impl Future<Output = [async output]> as Future>::Output == ()`
|
||||
}
|
||||
|
||||
fn no_break_in_async_block() {
|
||||
|
@ -31,7 +31,7 @@ LL | |
|
||||
LL | | }
|
||||
| |_^ expected `u8`, found `()`
|
||||
|
||||
error[E0271]: type mismatch resolving `<impl Future as Future>::Output == ()`
|
||||
error[E0271]: type mismatch resolving `<impl Future<Output = [async output]> as Future>::Output == ()`
|
||||
--> $DIR/async-block-control-flow-static-semantics.rs:26:39
|
||||
|
|
||||
LL | let _: &dyn Future<Output = ()> = █
|
||||
@ -47,7 +47,7 @@ LL | fn return_targets_async_block_not_fn() -> u8 {
|
||||
| |
|
||||
| implicitly returns `()` as its body has no tail or `return` expression
|
||||
|
||||
error[E0271]: type mismatch resolving `<impl Future as Future>::Output == ()`
|
||||
error[E0271]: type mismatch resolving `<impl Future<Output = [async output]> as Future>::Output == ()`
|
||||
--> $DIR/async-block-control-flow-static-semantics.rs:17:39
|
||||
|
|
||||
LL | let _: &dyn Future<Output = ()> = █
|
||||
|
@ -46,8 +46,8 @@ LL | pub const fn from_generator<T>(gen: T) -> impl Future<Output = T::Return>
|
||||
| the expected opaque type
|
||||
| the found opaque type
|
||||
|
|
||||
= note: expected opaque type `impl Future` (`async` closure body)
|
||||
found opaque type `impl Future` (`async` closure body)
|
||||
= note: expected opaque type `impl Future<Output = [async output]>` (`async` closure body)
|
||||
found opaque type `impl Future<Output = [async output]>` (`async` closure body)
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
|
@ -4,7 +4,7 @@ error: future cannot be sent between threads safely
|
||||
LL | spawn(async {
|
||||
| ^^^^^ future created by async block is not `Send`
|
||||
|
|
||||
= help: within `impl Future`, the trait `Send` is not implemented for `*mut ()`
|
||||
= help: within `impl Future<Output = [async output]>`, the trait `Send` is not implemented for `*mut ()`
|
||||
note: future is not `Send` as this value is used across an await
|
||||
--> $DIR/issue-67252-unnamed-future.rs:20:9
|
||||
|
|
||||
|
@ -44,13 +44,13 @@ LL | require_send(send_fut);
|
||||
= note: required because of the requirements on the impl of `Send` for `Arc<RefCell<i32>>`
|
||||
= note: required because it appears within the type `[static generator@$DIR/issue-68112.rs:47:31: 47:36]`
|
||||
= note: required because it appears within the type `from_generator::GenFuture<[static generator@$DIR/issue-68112.rs:47:31: 47:36]>`
|
||||
= note: required because it appears within the type `impl Future`
|
||||
= note: required because it appears within the type `impl Future<Output = [async output]>`
|
||||
= note: required because it appears within the type `impl Future<Output = Arc<RefCell<i32>>>`
|
||||
= note: required because it appears within the type `impl Future<Output = Arc<RefCell<i32>>>`
|
||||
= note: required because it appears within the type `{ResumeTy, impl Future<Output = Arc<RefCell<i32>>>, (), i32, Ready<i32>}`
|
||||
= note: required because it appears within the type `[static generator@$DIR/issue-68112.rs:55:26: 59:6]`
|
||||
= note: required because it appears within the type `from_generator::GenFuture<[static generator@$DIR/issue-68112.rs:55:26: 59:6]>`
|
||||
= note: required because it appears within the type `impl Future`
|
||||
= note: required because it appears within the type `impl Future<Output = [async output]>`
|
||||
note: required by a bound in `require_send`
|
||||
--> $DIR/issue-68112.rs:11:25
|
||||
|
|
||||
|
@ -4,7 +4,7 @@ error: future cannot be sent between threads safely
|
||||
LL | assert_send(async {
|
||||
| ^^^^^^^^^^^ future created by async block is not `Send`
|
||||
|
|
||||
= help: within `impl Future`, the trait `Send` is not implemented for `*const u8`
|
||||
= help: within `impl Future<Output = [async output]>`, the trait `Send` is not implemented for `*const u8`
|
||||
note: future is not `Send` as this value is used across an await
|
||||
--> $DIR/issue-65436-raw-ptr-not-send.rs:14:9
|
||||
|
|
||||
|
@ -21,7 +21,7 @@ LL | type MainFn = impl Fn();
|
||||
LL | pub const BAR: MainFn = bar;
|
||||
| ^^^ expected opaque type, found fn item
|
||||
|
|
||||
= note: expected opaque type `impl Fn<()>`
|
||||
= note: expected opaque type `impl Fn() -> ()`
|
||||
found fn item `fn() {bar}`
|
||||
|
||||
error: could not find defining uses
|
||||
|
@ -9,7 +9,7 @@ note: generator is not `Send` as this value is used across a yield
|
||||
--> $DIR/issue-68112.rs:31:9
|
||||
|
|
||||
LL | let _non_send_gen = make_non_send_generator();
|
||||
| ------------- has type `impl Generator` which is not `Send`
|
||||
| ------------- has type `impl Generator<Return = Arc<RefCell<i32>>>` which is not `Send`
|
||||
LL | yield;
|
||||
| ^^^^^ yield occurs here, with `_non_send_gen` maybe used later
|
||||
LL | };
|
||||
@ -29,9 +29,9 @@ LL | require_send(send_gen);
|
||||
= help: the trait `Sync` is not implemented for `RefCell<i32>`
|
||||
= note: required because of the requirements on the impl of `Send` for `Arc<RefCell<i32>>`
|
||||
= note: required because it appears within the type `[generator@$DIR/issue-68112.rs:38:5: 41:6]`
|
||||
= note: required because it appears within the type `impl Generator`
|
||||
= note: required because it appears within the type `impl Generator`
|
||||
= note: required because it appears within the type `{impl Generator, ()}`
|
||||
= note: required because it appears within the type `impl Generator<Return = Arc<RefCell<i32>>>`
|
||||
= note: required because it appears within the type `impl Generator<Return = Arc<RefCell<i32>>>`
|
||||
= note: required because it appears within the type `{impl Generator<Return = Arc<RefCell<i32>>>, ()}`
|
||||
= note: required because it appears within the type `[generator@$DIR/issue-68112.rs:48:20: 51:6]`
|
||||
note: required by a bound in `require_send`
|
||||
--> $DIR/issue-68112.rs:22:25
|
||||
|
@ -2,16 +2,16 @@ error[E0277]: `Rc<Cell<i32>>` cannot be sent between threads safely
|
||||
--> $DIR/auto-trait-leak2.rs:13:10
|
||||
|
|
||||
LL | fn before() -> impl Fn(i32) {
|
||||
| ------------ within this `impl Fn<(i32,)>`
|
||||
| ------------ within this `impl Fn(i32) -> ()`
|
||||
...
|
||||
LL | send(before());
|
||||
| ---- ^^^^^^^^ `Rc<Cell<i32>>` cannot be sent between threads safely
|
||||
| |
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
= help: within `impl Fn<(i32,)>`, the trait `Send` is not implemented for `Rc<Cell<i32>>`
|
||||
= help: within `impl Fn(i32) -> ()`, the trait `Send` is not implemented for `Rc<Cell<i32>>`
|
||||
= note: required because it appears within the type `[closure@$DIR/auto-trait-leak2.rs:7:5: 7:22]`
|
||||
= note: required because it appears within the type `impl Fn<(i32,)>`
|
||||
= note: required because it appears within the type `impl Fn(i32) -> ()`
|
||||
note: required by a bound in `send`
|
||||
--> $DIR/auto-trait-leak2.rs:10:12
|
||||
|
|
||||
@ -27,11 +27,11 @@ LL | send(after());
|
||||
| required by a bound introduced by this call
|
||||
...
|
||||
LL | fn after() -> impl Fn(i32) {
|
||||
| ------------ within this `impl Fn<(i32,)>`
|
||||
| ------------ within this `impl Fn(i32) -> ()`
|
||||
|
|
||||
= help: within `impl Fn<(i32,)>`, the trait `Send` is not implemented for `Rc<Cell<i32>>`
|
||||
= help: within `impl Fn(i32) -> ()`, the trait `Send` is not implemented for `Rc<Cell<i32>>`
|
||||
= note: required because it appears within the type `[closure@$DIR/auto-trait-leak2.rs:24:5: 24:22]`
|
||||
= note: required because it appears within the type `impl Fn<(i32,)>`
|
||||
= note: required because it appears within the type `impl Fn(i32) -> ()`
|
||||
note: required by a bound in `send`
|
||||
--> $DIR/auto-trait-leak2.rs:10:12
|
||||
|
|
||||
|
@ -13,7 +13,7 @@ impl<S> Bar for S {
|
||||
type E = impl std::marker::Copy;
|
||||
fn foo<T>() -> Self::E {
|
||||
//~^ ERROR type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias
|
||||
//~| ERROR the trait bound `impl Future: Copy` is not satisfied [E0277]
|
||||
//~| ERROR the trait bound `impl Future<Output = [async output]>: Copy` is not satisfied
|
||||
async {}
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
error[E0277]: the trait bound `impl Future: Copy` is not satisfied
|
||||
error[E0277]: the trait bound `impl Future<Output = [async output]>: Copy` is not satisfied
|
||||
--> $DIR/issue-55872-2.rs:14:20
|
||||
|
|
||||
LL | fn foo<T>() -> Self::E {
|
||||
| ^^^^^^^ the trait `Copy` is not implemented for `impl Future`
|
||||
| ^^^^^^^ the trait `Copy` is not implemented for `impl Future<Output = [async output]>`
|
||||
|
||||
error: type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias
|
||||
--> $DIR/issue-55872-2.rs:14:28
|
||||
|
@ -19,14 +19,14 @@ LL |
|
||||
LL | lint_files().flat_map(|f| gather_from_file(&f))
|
||||
| -----------------------------------------------
|
||||
| |
|
||||
| returning here with type `FlatMap<impl Iterator, [type error], [closure@$DIR/issue-72911.rs:9:27: 9:51]>`
|
||||
| returning here with type `FlatMap<impl Iterator, [type error], [closure@$DIR/issue-72911.rs:9:27: 9:51]>`
|
||||
| returning here with type `FlatMap<impl Iterator<Item = [type error]>, [type error], [closure@$DIR/issue-72911.rs:9:27: 9:51]>`
|
||||
| returning here with type `FlatMap<impl Iterator<Item = [type error]>, [type error], [closure@$DIR/issue-72911.rs:9:27: 9:51]>`
|
||||
...
|
||||
LL | fn gather_from_file(dir_entry: &foo::MissingItem) -> impl Iterator<Item = Lint> {
|
||||
| -------------------------- returning this opaque type `FlatMap<impl Iterator, [type error], [closure@$DIR/issue-72911.rs:9:27: 9:51]>`
|
||||
| -------------------------- returning this opaque type `FlatMap<impl Iterator<Item = [type error]>, [type error], [closure@$DIR/issue-72911.rs:9:27: 9:51]>`
|
||||
...
|
||||
LL | fn lint_files() -> impl Iterator<Item = foo::MissingItem> {
|
||||
| -------------------------------------- returning this opaque type `FlatMap<impl Iterator, [type error], [closure@$DIR/issue-72911.rs:9:27: 9:51]>`
|
||||
| -------------------------------------- returning this opaque type `FlatMap<impl Iterator<Item = [type error]>, [type error], [closure@$DIR/issue-72911.rs:9:27: 9:51]>`
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
|
@ -17,10 +17,10 @@ LL | fn foo() -> impl Fn() {
|
||||
| ^^^^^^^^^ recursive opaque type
|
||||
...
|
||||
LL | wrap(wrap(wrap(wrap(wrap(wrap(wrap(foo())))))))
|
||||
| ----------------------------------------------- returning here with type `impl Fn<()>`
|
||||
| ----------------------------------------------- returning here with type `impl Fn() -> ()`
|
||||
...
|
||||
LL | fn wrap(f: impl Fn()) -> impl Fn() {
|
||||
| --------- returning this opaque type `impl Fn<()>`
|
||||
| --------- returning this opaque type `impl Fn() -> ()`
|
||||
|
||||
error: aborting due to previous error; 1 warning emitted
|
||||
|
||||
|
@ -15,7 +15,7 @@ LL | pub const fn from_generator<T>(gen: T) -> impl Future<Output = T::Return>
|
||||
| ------------------------------- the found opaque type
|
||||
|
|
||||
= note: expected opaque type `impl Future<Output = u8>`
|
||||
found opaque type `impl Future`
|
||||
found opaque type `impl Future<Output = [async output]>`
|
||||
= note: distinct uses of `impl Trait` result in different opaque types
|
||||
|
||||
error: aborting due to previous error
|
||||
|
@ -7,7 +7,7 @@ LL |
|
||||
LL | static STATIC_FN: FunType = some_fn;
|
||||
| ^^^^^^^ expected opaque type, found fn item
|
||||
|
|
||||
= note: expected opaque type `impl Fn<()>`
|
||||
= note: expected opaque type `impl Fn<()> + FnOnce<()>`
|
||||
found fn item `fn() {some_fn}`
|
||||
|
||||
error: could not find defining uses
|
||||
|
@ -19,5 +19,5 @@ fn main() {
|
||||
let g = |(a, _)| a;
|
||||
let t7 = |env| |a| |b| t7p(f, g)(((env, a), b));
|
||||
let t8 = t8n(t7, t7p(f, g));
|
||||
//~^ ERROR: expected a `Fn<(_,)>` closure, found `impl Fn<(((_, _), _),)>
|
||||
//~^ ERROR: expected a `Fn<(_,)>` closure, found `impl Fn(((_, _), _)) -> ()` [E0277]
|
||||
}
|
||||
|
@ -1,12 +1,12 @@
|
||||
error[E0277]: expected a `Fn<(_,)>` closure, found `impl Fn<(((_, _), _),)>`
|
||||
error[E0277]: expected a `Fn<(_,)>` closure, found `impl Fn(((_, _), _)) -> ()`
|
||||
--> $DIR/issue-59494.rs:21:22
|
||||
|
|
||||
LL | let t8 = t8n(t7, t7p(f, g));
|
||||
| --- ^^^^^^^^^ expected an `Fn<(_,)>` closure, found `impl Fn<(((_, _), _),)>`
|
||||
| --- ^^^^^^^^^ expected an `Fn<(_,)>` closure, found `impl Fn(((_, _), _)) -> ()`
|
||||
| |
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
= help: the trait `Fn<(_,)>` is not implemented for `impl Fn<(((_, _), _),)>`
|
||||
= help: the trait `Fn<(_,)>` is not implemented for `impl Fn(((_, _), _)) -> ()`
|
||||
note: required by a bound in `t8n`
|
||||
--> $DIR/issue-59494.rs:5:45
|
||||
|
|
||||
|
@ -33,7 +33,7 @@ fn use_of_b() -> AliasB {
|
||||
}
|
||||
|
||||
extern "C" {
|
||||
pub fn lint_me() -> <AliasB as TraitB>::Assoc; //~ ERROR: uses type `impl TraitA`
|
||||
pub fn lint_me() -> <AliasB as TraitB>::Assoc; //~ ERROR: uses type `impl TraitA<Assoc = u32>`
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
|
@ -1,4 +1,4 @@
|
||||
error: `extern` block uses type `impl TraitA`, which is not FFI-safe
|
||||
error: `extern` block uses type `impl TraitA<Assoc = u32>`, which is not FFI-safe
|
||||
--> $DIR/lint-ctypes-73251-2.rs:36:25
|
||||
|
|
||||
LL | pub fn lint_me() -> <AliasB as TraitB>::Assoc;
|
||||
|
@ -9,7 +9,7 @@ pub fn ret_closure() -> A {
|
||||
|
||||
extern "C" {
|
||||
pub fn a(_: A);
|
||||
//~^ ERROR `extern` block uses type `impl Fn<()>`, which is not FFI-safe
|
||||
//~^ ERROR `extern` block uses type `impl Fn() -> ()`, which is not FFI-safe [improper_ctypes]
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
|
@ -1,4 +1,4 @@
|
||||
error: `extern` block uses type `impl Fn<()>`, which is not FFI-safe
|
||||
error: `extern` block uses type `impl Fn() -> ()`, which is not FFI-safe
|
||||
--> $DIR/opaque-ty-ffi-unsafe.rs:11:17
|
||||
|
|
||||
LL | pub fn a(_: A);
|
||||
|
@ -4,7 +4,7 @@ error: `[closure@$DIR/non-structural-match-types.rs:9:17: 9:22]` cannot be used
|
||||
LL | const { || {} } => {},
|
||||
| ^^^^^^^^^^^^^^^
|
||||
|
||||
error: `impl Future` cannot be used in patterns
|
||||
error: `impl Future<Output = [async output]>` cannot be used in patterns
|
||||
--> $DIR/non-structural-match-types.rs:12:9
|
||||
|
|
||||
LL | const { async {} } => {},
|
||||
|
@ -81,7 +81,7 @@ LL | pub const fn from_generator<T>(gen: T) -> impl Future<Output = T::Return>
|
||||
| ------------------------------- the found opaque type
|
||||
|
|
||||
= note: expected struct `Pin<Box<(dyn Future<Output = i32> + Send + 'static)>>`
|
||||
found opaque type `impl Future`
|
||||
found opaque type `impl Future<Output = [async output]>`
|
||||
help: you need to pin and box this expression
|
||||
|
|
||||
LL ~ Box::pin(async {
|
||||
|
@ -1,11 +1,11 @@
|
||||
error[E0277]: the trait bound `fn() -> impl T {foo}: T` is not satisfied
|
||||
error[E0277]: the trait bound `fn() -> impl T<O = ()> {foo}: T` is not satisfied
|
||||
--> $DIR/fn-ctor-passed-as-arg-where-it-should-have-been-called.rs:17:9
|
||||
|
|
||||
LL | fn foo() -> impl T<O=()> { S }
|
||||
| --- consider calling this function
|
||||
...
|
||||
LL | bar(foo);
|
||||
| --- ^^^ the trait `T` is not implemented for `fn() -> impl T {foo}`
|
||||
| --- ^^^ the trait `T` is not implemented for `fn() -> impl T<O = ()> {foo}`
|
||||
| |
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
|
@ -5,7 +5,7 @@
|
||||
use std::future::Future;
|
||||
|
||||
type G<'a, T> = impl Future<Output = ()>;
|
||||
//~^ ERROR: type mismatch resolving `<impl Future as Future>::Output == ()`
|
||||
//~^ ERROR: type mismatch resolving `<impl Future<Output = [async output]> as Future>::Output == ()`
|
||||
//~| ERROR: the trait bound `T: Trait` is not satisfied
|
||||
|
||||
trait Trait {
|
||||
|
@ -1,4 +1,4 @@
|
||||
error[E0271]: type mismatch resolving `<impl Future as Future>::Output == ()`
|
||||
error[E0271]: type mismatch resolving `<impl Future<Output = [async output]> as Future>::Output == ()`
|
||||
--> $DIR/issue-89686.rs:7:17
|
||||
|
|
||||
LL | type G<'a, T> = impl Future<Output = ()>;
|
||||
@ -13,8 +13,8 @@ LL | pub const fn from_generator<T>(gen: T) -> impl Future<Output = T::Return>
|
||||
| ------------------------------- the found opaque type
|
||||
|
|
||||
= note: expected unit type `()`
|
||||
found associated type `<impl Future as Future>::Output`
|
||||
= help: consider constraining the associated type `<impl Future as Future>::Output` to `()`
|
||||
found associated type `<impl Future<Output = [async output]> as Future>::Output`
|
||||
= help: consider constraining the associated type `<impl Future<Output = [async output]> as Future>::Output` to `()`
|
||||
= note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html
|
||||
|
||||
error[E0277]: the trait bound `T: Trait` is not satisfied
|
||||
|
Loading…
x
Reference in New Issue
Block a user