//@ check-pass #![recursion_limit = "1024"] // Really high recursion limit ^ // Test that ensures we're filtering projections by def id before matching // them in `match_projection_projections`. use std::ops::{Add, Sub}; pub trait Scalar {} pub trait VectorCommon: Sized { type T: Scalar; } pub trait VectorOpsByValue: VectorCommon + Add + Sub { } pub trait VectorView<'a>: VectorOpsByValue + VectorOpsByValue { type Owned; } pub trait Vector: VectorOpsByValue + for<'a> VectorOpsByValue> { type View<'a>: VectorView<'a, T = Self::T, Owned = Self> where Self: 'a; } pub trait MatrixCommon { type V: Vector; } fn main() {}