mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 13:04:42 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			27 lines
		
	
	
		
			540 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			540 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| //@ check-pass
 | |
| //@ compile-flags: -Znormalize-docs
 | |
| // Regression test for <https://github.com/rust-lang/rust/issues/79459>.
 | |
| pub trait Query {}
 | |
| 
 | |
| pub trait AsQuery {
 | |
|     type Query;
 | |
| }
 | |
| 
 | |
| impl<T: Query> AsQuery for T {
 | |
|     type Query = T;
 | |
| }
 | |
| 
 | |
| pub trait SelectDsl<Selection> {
 | |
|     type Output;
 | |
| }
 | |
| 
 | |
| impl<T, Selection> SelectDsl<Selection> for T
 | |
| where
 | |
|     T: AsQuery,
 | |
|     T::Query: SelectDsl<Selection>,
 | |
| {
 | |
|     type Output = <T::Query as SelectDsl<Selection>>::Output;
 | |
| }
 | |
| 
 | |
| pub type Select<Source, Selection> = <Source as SelectDsl<Selection>>::Output;
 | 
