103 lines
981 B
Rust
103 lines
981 B
Rust
// rustfmt-match_block_trailing_comma: true
|
|
// rustfmt-trailing_comma: Always
|
|
|
|
fn main() {
|
|
match foo {
|
|
x => {},
|
|
y => {
|
|
foo();
|
|
},
|
|
_ => x,
|
|
}
|
|
}
|
|
|
|
fn f<
|
|
S, T,
|
|
>(
|
|
x: T,
|
|
y: S,
|
|
) -> T
|
|
where
|
|
T: P,
|
|
S: Q,
|
|
{
|
|
x
|
|
}
|
|
|
|
impl Trait for T
|
|
where
|
|
T: P,
|
|
{
|
|
fn f(x: T) -> T
|
|
where
|
|
T: Q + R,
|
|
{
|
|
x
|
|
}
|
|
}
|
|
|
|
struct Pair<
|
|
S, T,
|
|
> where
|
|
T: P,
|
|
S: P + Q,
|
|
{
|
|
a: T,
|
|
b: S,
|
|
}
|
|
|
|
struct TupPair<
|
|
S, T,
|
|
>(S, T)
|
|
where
|
|
T: P,
|
|
S: P + Q;
|
|
|
|
enum E<
|
|
S, T,
|
|
> where
|
|
S: P,
|
|
T: P,
|
|
{
|
|
A { a: T, },
|
|
}
|
|
|
|
type Double<
|
|
T,
|
|
> where
|
|
T: P,
|
|
T: Q = Pair<
|
|
T, T,
|
|
>;
|
|
|
|
extern "C" {
|
|
fn f<
|
|
S, T,
|
|
>(
|
|
x: T,
|
|
y: S,
|
|
) -> T
|
|
where
|
|
T: P,
|
|
S: Q;
|
|
}
|
|
|
|
trait Q<
|
|
S, T,
|
|
> where
|
|
T: P,
|
|
S: R,
|
|
{
|
|
fn f<
|
|
U, V,
|
|
>(
|
|
self,
|
|
x: T,
|
|
y: S,
|
|
z: U,
|
|
) -> Self
|
|
where
|
|
U: P,
|
|
V: P;
|
|
}
|