mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-11-04 06:56:14 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			29 lines
		
	
	
		
			770 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			770 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
pub struct P;
 | 
						|
pub struct Q;
 | 
						|
pub struct R<T>(T);
 | 
						|
 | 
						|
// returns test
 | 
						|
pub fn alef() -> R<P> { loop {} }
 | 
						|
pub fn bet() -> R<Q> { loop {} }
 | 
						|
 | 
						|
// in_args test
 | 
						|
pub fn alpha(_x: R<P>) { loop {} }
 | 
						|
pub fn beta(_x: R<Q>) { loop {} }
 | 
						|
 | 
						|
// test case with multiple appearances of the same type
 | 
						|
pub struct ExtraCreditStructMulti<T, U> { t: T, u: U }
 | 
						|
pub struct ExtraCreditInnerMulti {}
 | 
						|
pub fn extracreditlabhomework(
 | 
						|
    _param: ExtraCreditStructMulti<ExtraCreditInnerMulti, ExtraCreditInnerMulti>
 | 
						|
) { loop {} }
 | 
						|
pub fn redherringmatchforextracredit(
 | 
						|
    _param: ExtraCreditStructMulti<ExtraCreditInnerMulti, ()>
 | 
						|
) { loop {} }
 | 
						|
 | 
						|
pub trait TraitCat {}
 | 
						|
pub trait TraitDog {}
 | 
						|
 | 
						|
pub fn gamma<T: TraitCat + TraitDog>(t: T) {}
 | 
						|
 | 
						|
pub fn super_soup(s: Result<String, i32>) -> Result<String, i32> { s }
 |