mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-30 20:44:34 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			19 lines
		
	
	
		
			373 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			373 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| //@ edition: 2021
 | |
| 
 | |
| trait MyTrait<T> {
 | |
|     async fn foo_recursive(&self, n: usize) -> T;
 | |
| }
 | |
| 
 | |
| impl<T> MyTrait<T> for T where T: Copy {
 | |
|     async fn foo_recursive(&self, n: usize) -> T {
 | |
|         //~^ ERROR recursion in an async fn requires boxing
 | |
|         if n > 0 {
 | |
|             self.foo_recursive(n - 1).await
 | |
|         } else {
 | |
|             *self
 | |
|         }
 | |
|     }
 | |
| }
 | |
| 
 | |
| fn main() {}
 | 
