-error[E0277]: `()` is not a tuple
- --> $DIR/closure.rs:7:5
- |
-LL | t();
- | ^^^ the trait `Tuple` is not implemented for `()`
- |
-help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
- |
-LL | fn main() -> () where (): Tuple {
- | +++++++++++++++
-
-error[E0277]: `()` is not a tuple
- --> $DIR/closure.rs:13:5
- |
-LL | b();
- | ^^^ the trait `Tuple` is not implemented for `()`
- |
-help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
- |
-LL | fn main() -> () where (): Tuple {
- | +++++++++++++++
-
-error[E0277]: `()` is not a tuple
- --> $DIR/closure.rs:17:5
- |
-LL | c();
- | ^^^ the trait `Tuple` is not implemented for `()`
- |
-help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
- |
-LL | fn main() -> () where (): Tuple {
- | +++++++++++++++
-
-error[E0277]: `()` is not a tuple
- --> $DIR/closure.rs:18:5
+error[E0382]: borrow of moved value: `b`
+ --> $DIR/closure.rs:27:5
|
+LL | let mut c = b;
+ | - value moved here
+...
LL | b();
- | ^^^ the trait `Tuple` is not implemented for `()`
- |
-help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
- |
-LL | fn main() -> () where (): Tuple {
- | +++++++++++++++
-
-error[E0277]: `()` is not a tuple
- --> $DIR/closure.rs:24:5
- |
-LL | b();
- | ^^^ the trait `Tuple` is not implemented for `()`
- |
-help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
- |
-LL | fn main() -> () where (): Tuple {
- | +++++++++++++++
-
-error[E0277]: `()` is not a tuple
- --> $DIR/closure.rs:28:5
- |
-LL | c();
- | ^^^ the trait `Tuple` is not implemented for `()`
- |
-help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
- |
-LL | fn main() -> () where (): Tuple {
- | +++++++++++++++
-
-error[E0277]: `()` is not a tuple
- --> $DIR/closure.rs:29:5
+ | ^ value borrowed here after move
|
-LL | b(); // FIXME: reenable when this is fixed ~ ERROR
- | ^^^ the trait `Tuple` is not implemented for `()`
+note: closure cannot be moved more than once as it is not `Copy` due to moving the variable `a` out of its environment
+ --> $DIR/closure.rs:20:9
|
-help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
+LL | a = 1;
+ | ^
+help: consider mutably borrowing `b`
|
-LL | fn main() -> () where (): Tuple {
- | +++++++++++++++
+LL | let mut c = &mut b;
+ | ++++
-error: aborting due to 7 previous errors
+error: aborting due to previous error
-For more information about this error, try `rustc --explain E0277`.
+For more information about this error, try `rustc --explain E0382`.
+++ /dev/null
-error: the type `&dyn Fn(i32) -> _` is not well-formed (chalk)
- --> $DIR/trait-objects.rs:11:12
- |
-LL | let f: &dyn Fn(i32) -> _ = &|x| x + x;
- | ^^^^^^^^^^^^^^^^^
-
-error[E0277]: `(i32,)` is not a tuple
- --> $DIR/trait-objects.rs:12:5
- |
-LL | f(2);
- | ^^^^ the trait `Tuple` is not implemented for `(i32,)`
- |
-help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
- |
-LL | fn main() where (i32,): Tuple {
- | +++++++++++++++++++
-
-error[E0277]: expected a `Fn<(i32,)>` closure, found `dyn Fn(i32) -> i32`
- --> $DIR/trait-objects.rs:12:5
- |
-LL | f(2);
- | ^^^^ expected an `Fn<(i32,)>` closure, found `dyn Fn(i32) -> i32`
- |
- = help: the trait `Fn<(i32,)>` is not implemented for `dyn Fn(i32) -> i32`
-help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
- |
-LL | fn main() where dyn Fn(i32) -> i32: Fn<(i32,)> {
- | ++++++++++++++++++++++++++++++++++++
-
-error: aborting due to 3 previous errors
-
-For more information about this error, try `rustc --explain E0277`.