mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-30 20:44:34 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			19 lines
		
	
	
		
			504 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			504 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| // issue rust-lang/rust#111667
 | |
| // ICE failed to resolve instance for <[f32; 2] as CrossProduct ..
 | |
| //@ check-pass
 | |
| 
 | |
| #![feature(generic_const_exprs)]
 | |
| #![allow(incomplete_features)]
 | |
| 
 | |
| pub trait CrossProduct<'a, T, R> {
 | |
|     fn cross(&'a self, t: &'a T) -> R;
 | |
| }
 | |
| 
 | |
| impl<'a, T, U, const N: usize> CrossProduct<'a, [U; N], [(&'a T, &'a U); N * N]> for [T; N] {
 | |
|     fn cross(&'a self, us: &'a [U; N]) -> [(&'a T, &'a U); N * N] {
 | |
|         std::array::from_fn(|i| (&self[i / N], &us[i % N]))
 | |
|     }
 | |
| }
 | |
| 
 | |
| pub fn main() {}
 | 
