mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-11-03 22:49:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			23 lines
		
	
	
		
			458 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			458 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
//@ known-bug: #122630
 | 
						|
//@ compile-flags: -Zvalidate-mir
 | 
						|
 | 
						|
use std::ops::Coroutine;
 | 
						|
 | 
						|
const FOO_SIZE: usize = 1024;
 | 
						|
struct Foo([u8; FOO_SIZE]);
 | 
						|
 | 
						|
impl Drop for Foo {
 | 
						|
    fn move_before_yield_with_noop() -> impl Coroutine<Yield = ()> {}
 | 
						|
}
 | 
						|
 | 
						|
fn overlap_move_points() -> impl Coroutine<Yield = ()> {
 | 
						|
    static || {
 | 
						|
        let first = Foo([0; FOO_SIZE]);
 | 
						|
        yield;
 | 
						|
        let second = first;
 | 
						|
        yield;
 | 
						|
        let second = first;
 | 
						|
        yield;
 | 
						|
    }
 | 
						|
}
 |