Some tests

This commit is contained in:
Nick Cameron 2017-02-24 10:43:53 +13:00
parent 6a58d91239
commit fbb2370d66
4 changed files with 184 additions and 0 deletions

View File

@ -0,0 +1,41 @@
// rustfmt-trailing_comma: Never
enum X {
A,
B,
}
enum Y {
A,
B
}
enum TupX {
A(u32),
B(i32, u16),
}
enum TupY {
A(u32),
B(i32, u16)
}
enum StructX {
A {
s: u16,
},
B {
u: u32,
i: i32,
},
}
enum StructY {
A {
s: u16,
},
B {
u: u32,
i: i32,
}
}

View File

@ -0,0 +1,46 @@
// 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;
}

View File

@ -0,0 +1,31 @@
// rustfmt-trailing_comma: Never
enum X {
A,
B
}
enum Y {
A,
B
}
enum TupX {
A(u32),
B(i32, u16)
}
enum TupY {
A(u32),
B(i32, u16)
}
enum StructX {
A { s: u16 },
B { u: u32, i: i32 }
}
enum StructY {
A { s: u16 },
B { u: u32, i: i32 }
}

View File

@ -0,0 +1,66 @@
// 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;
}