File: make-sure-to-filter-projections-by-def-id.rs

package info (click to toggle)
rustc 1.85.0%2Bdfsg2-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 893,176 kB
  • sloc: xml: 158,127; python: 35,830; javascript: 19,497; cpp: 19,002; sh: 17,245; ansic: 13,127; asm: 4,376; makefile: 1,051; lisp: 29; perl: 29; ruby: 19; sql: 11
file content (38 lines) | stat: -rw-r--r-- 805 bytes parent folder | download | duplicates (15)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//@ 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<Rhs = Self, Output = Self>:
    VectorCommon + Add<Rhs, Output = Output> + Sub<Rhs, Output = Output>
{
}

pub trait VectorView<'a>:
    VectorOpsByValue<Self, Self::Owned> + VectorOpsByValue<Self::Owned, Self::Owned>
{
    type Owned;
}

pub trait Vector: VectorOpsByValue<Self> + for<'a> VectorOpsByValue<Self::View<'a>> {
    type View<'a>: VectorView<'a, T = Self::T, Owned = Self>
    where
        Self: 'a;
}

pub trait MatrixCommon {
    type V: Vector;
}

fn main() {}