summaryrefslogtreecommitdiffstats
path: root/tests/ui/impl-trait/auto-trait-leak2.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/impl-trait/auto-trait-leak2.stderr')
-rw-r--r--tests/ui/impl-trait/auto-trait-leak2.stderr59
1 files changed, 59 insertions, 0 deletions
diff --git a/tests/ui/impl-trait/auto-trait-leak2.stderr b/tests/ui/impl-trait/auto-trait-leak2.stderr
new file mode 100644
index 000000000..52fa28145
--- /dev/null
+++ b/tests/ui/impl-trait/auto-trait-leak2.stderr
@@ -0,0 +1,59 @@
+error[E0277]: `Rc<Cell<i32>>` cannot be sent between threads safely
+ --> $DIR/auto-trait-leak2.rs:20:10
+ |
+LL | fn before() -> 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>>`
+note: required because it's used within this closure
+ --> $DIR/auto-trait-leak2.rs:10:5
+ |
+LL | move |x| p.set(x)
+ | ^^^^^^^^
+note: required because it appears within the type `impl Fn(i32)`
+ --> $DIR/auto-trait-leak2.rs:5:16
+ |
+LL | fn before() -> impl Fn(i32) {
+ | ^^^^^^^^^^^^
+note: required by a bound in `send`
+ --> $DIR/auto-trait-leak2.rs:13:12
+ |
+LL | fn send<T: Send>(_: T) {}
+ | ^^^^ required by this bound in `send`
+
+error[E0277]: `Rc<Cell<i32>>` cannot be sent between threads safely
+ --> $DIR/auto-trait-leak2.rs:25:10
+ |
+LL | send(after());
+ | ---- ^^^^^^^ `Rc<Cell<i32>>` cannot be sent between threads safely
+ | |
+ | required by a bound introduced by this call
+...
+LL | fn after() -> impl Fn(i32) {
+ | ------------ within this `impl Fn(i32)`
+ |
+ = help: within `impl Fn(i32)`, the trait `Send` is not implemented for `Rc<Cell<i32>>`
+note: required because it's used within this closure
+ --> $DIR/auto-trait-leak2.rs:38:5
+ |
+LL | move |x| p.set(x)
+ | ^^^^^^^^
+note: required because it appears within the type `impl Fn(i32)`
+ --> $DIR/auto-trait-leak2.rs:33:15
+ |
+LL | fn after() -> impl Fn(i32) {
+ | ^^^^^^^^^^^^
+note: required by a bound in `send`
+ --> $DIR/auto-trait-leak2.rs:13:12
+ |
+LL | fn send<T: Send>(_: T) {}
+ | ^^^^ required by this bound in `send`
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0277`.