Skip to content

Commit

Permalink
add test for ICE failed to resolve instance for <[f32; 2] as CrossPro…
Browse files Browse the repository at this point in the history
…duct

Fixes rust-lang#111667
  • Loading branch information
matthiaskrgr authored and blyxyas committed Apr 28, 2024
1 parent 0495f8f commit bced44c
Showing 1 changed file with 18 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// 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() {}

0 comments on commit bced44c

Please sign in to comment.