mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-30 20:44:34 +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 }
 | 
