mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-11-04 06:56:14 +00:00 
			
		
		
		
	When encountering a type that needs to be pinned but that is `!Unpin`, suggest using the `pin!()` macro. Fix #57994.
		
			
				
	
	
		
			18 lines
		
	
	
		
			735 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			735 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
error[E0599]: no method named `poll` found for opaque type `impl Future<Output = ()>` in the current scope
 | 
						|
  --> $DIR/issue-108572.rs:12:9
 | 
						|
   |
 | 
						|
LL |     fut.poll(cx);
 | 
						|
   |         ^^^^ method not found in `impl Future<Output = ()>`
 | 
						|
   |
 | 
						|
   = help: method `poll` found on `Pin<&mut impl Future<Output = ()>>`, see documentation for `std::pin::Pin`
 | 
						|
   = help: self type must be pinned to call `Future::poll`, see https://rust-lang.github.io/async-book/04_pinning/01_chapter.html#pinning-in-practice
 | 
						|
help: consider pinning the expression
 | 
						|
   |
 | 
						|
LL ~     let mut pinned = std::pin::pin!(fut);
 | 
						|
LL ~     pinned.as_mut().poll(cx);
 | 
						|
   |
 | 
						|
 | 
						|
error: aborting due to previous error
 | 
						|
 | 
						|
For more information about this error, try `rustc --explain E0599`.
 |