mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 13:04:42 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| error: coroutine cannot be sent between threads safely
 | |
|   --> $DIR/ref-upvar-not-send.rs:15:17
 | |
|    |
 | |
| LL |       assert_send(move || {
 | |
|    |  _________________^
 | |
| LL | |
 | |
| LL | |
 | |
| LL | |         yield;
 | |
| LL | |         let _x = x;
 | |
| LL | |     });
 | |
|    | |_____^ coroutine is not `Send`
 | |
|    |
 | |
|    = help: the trait `Sync` is not implemented for `*mut ()`
 | |
| note: captured value is not `Send` because `&` references cannot be sent unless their referent is `Sync`
 | |
|   --> $DIR/ref-upvar-not-send.rs:19:18
 | |
|    |
 | |
| LL |         let _x = x;
 | |
|    |                  ^ has type `&*mut ()` which is not `Send`, because `*mut ()` is not `Sync`
 | |
| note: required by a bound in `assert_send`
 | |
|   --> $DIR/ref-upvar-not-send.rs:6:19
 | |
|    |
 | |
| LL | fn assert_send<T: Send>(_: T) {}
 | |
|    |                   ^^^^ required by this bound in `assert_send`
 | |
| 
 | |
| error: coroutine cannot be sent between threads safely
 | |
|   --> $DIR/ref-upvar-not-send.rs:23:17
 | |
|    |
 | |
| LL |       assert_send(move || {
 | |
|    |  _________________^
 | |
| LL | |
 | |
| LL | |
 | |
| LL | |         yield;
 | |
| LL | |         let _y = y;
 | |
| LL | |     });
 | |
|    | |_____^ coroutine is not `Send`
 | |
|    |
 | |
|    = help: within `{coroutine@$DIR/ref-upvar-not-send.rs:23:17: 23:24}`, the trait `Send` is not implemented for `*mut ()`
 | |
| note: captured value is not `Send` because `&mut` references cannot be sent unless their referent is `Send`
 | |
|   --> $DIR/ref-upvar-not-send.rs:27:18
 | |
|    |
 | |
| LL |         let _y = y;
 | |
|    |                  ^ has type `&mut *mut ()` which is not `Send`, because `*mut ()` is not `Send`
 | |
| note: required by a bound in `assert_send`
 | |
|   --> $DIR/ref-upvar-not-send.rs:6:19
 | |
|    |
 | |
| LL | fn assert_send<T: Send>(_: T) {}
 | |
|    |                   ^^^^ required by this bound in `assert_send`
 | |
| 
 | |
| error: aborting due to 2 previous errors
 | |
| 
 | 
