Skip to content

Commit 10c9d79

Browse files
committed
Trait constraints are separated by space, not comma
1 parent ecdc8aa commit 10c9d79

14 files changed

+21
-21
lines changed

src/libsyntax/parse/parser.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2826,7 +2826,7 @@ impl Parser {
28262826

28272827
fn parse_trait_ref_list(ket: token::Token) -> ~[@trait_ref] {
28282828
self.parse_seq_to_before_end(
2829-
ket, seq_sep_trailing_disallowed(token::COMMA),
2829+
ket, seq_sep_none(),
28302830
|p| p.parse_trait_ref())
28312831
}
28322832

src/test/auxiliary/trait_inheritance_auto_xc_aux.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ trait Foo { fn f() -> int; }
22
trait Bar { fn g() -> int; }
33
trait Baz { fn h() -> int; }
44

5-
trait Quux: Foo, Bar, Baz { }
5+
trait Quux: Foo Bar Baz { }
66

77
impl<T: Foo Bar Baz> T: Quux { }

src/test/compile-fail/issue-3953.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
use cmp::Eq;
22

3-
trait Hahaha: Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, //~ ERROR Duplicate supertrait in trait declaration
4-
Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq,
5-
Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq,
6-
Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq,
7-
Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq,
8-
Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq, Eq {}
3+
trait Hahaha: Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq //~ ERROR Duplicate supertrait in trait declaration
4+
Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq
5+
Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq
6+
Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq
7+
Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq
8+
Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq Eq {}
99

1010
enum Lol = int;
1111

src/test/run-pass/trait-inheritance-auto-xc-2.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ extern mod aux(name = "trait_inheritance_auto_xc_2_aux");
77
use aux::{Foo, Bar, Baz, A};
88

99
// We want to extend all Foo, Bar, Bazes to Quuxes
10-
pub trait Quux: Foo, Bar, Baz { }
10+
pub trait Quux: Foo Bar Baz { }
1111
impl<T: Foo Bar Baz> T: Quux { }
1212

1313
fn f<T: Quux>(a: &T) {

src/test/run-pass/trait-inheritance-auto.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ trait Foo { fn f() -> int; }
66
trait Bar { fn g() -> int; }
77
trait Baz { fn h() -> int; }
88

9-
trait Quux: Foo, Bar, Baz { }
9+
trait Quux: Foo Bar Baz { }
1010

1111
struct A { x: int }
1212

src/test/run-pass/trait-inheritance-diamond.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
trait A { fn a(&self) -> int; }
44
trait B: A { fn b(&self) -> int; }
55
trait C: A { fn c(&self) -> int; }
6-
trait D: B, C { fn d(&self) -> int; }
6+
trait D: B C { fn d(&self) -> int; }
77

88
struct S { bogus: () }
99

src/test/run-pass/trait-inheritance-num.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ use num::from_int;
44
extern mod std;
55
use std::cmp::FuzzyEq;
66

7-
pub trait NumExt: Num, Eq, Ord {}
7+
pub trait NumExt: Num Eq Ord {}
88

9-
pub trait FloatExt: NumExt, FuzzyEq {}
9+
pub trait FloatExt: NumExt FuzzyEq {}
1010

1111
fn greater_than_one<T:NumExt>(n: &T) -> bool { *n > from_int(1) }
1212
fn greater_than_one_float<T:FloatExt>(n: &T) -> bool { *n > from_int(1) }

src/test/run-pass/trait-inheritance-num1.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
use cmp::Ord;
44
use num::from_int;
55

6-
pub trait NumExt: Num, Ord { }
6+
pub trait NumExt: Num Ord { }
77

88
fn greater_than_one<T:NumExt>(n: &T) -> bool {
99
*n > from_int(1)

src/test/run-pass/trait-inheritance-num2.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ pub impl f64: TypeExt {}
2626
pub impl float: TypeExt {}
2727

2828

29-
pub trait NumExt: TypeExt, Eq, Ord, Num {}
29+
pub trait NumExt: TypeExt Eq Ord Num {}
3030

3131
pub impl u8: NumExt {}
3232
pub impl u16: NumExt {}
@@ -82,7 +82,7 @@ pub impl i64: IntegerExt {}
8282
pub impl int: IntegerExt {}
8383

8484

85-
pub trait FloatExt: NumExt , FuzzyEq {}
85+
pub trait FloatExt: NumExt FuzzyEq {}
8686

8787
pub impl f32: FloatExt {}
8888
pub impl f64: FloatExt {}

src/test/run-pass/trait-inheritance-num3.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use cmp::{Eq, Ord};
22
use num::from_int;
33

4-
pub trait NumExt: Eq, Ord, Num {}
4+
pub trait NumExt: Eq Ord Num {}
55

66
pub impl f32: NumExt {}
77

src/test/run-pass/trait-inheritance-num5.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use cmp::{Eq, Ord};
22
use num::from_int;
33

4-
pub trait NumExt: Eq, Num {}
4+
pub trait NumExt: Eq Num {}
55

66
pub impl f32: NumExt {}
77
pub impl int: NumExt {}

src/test/run-pass/trait-inheritance-overloading.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use cmp::Eq;
22

3-
trait MyNum : Add<self,self>, Sub<self,self>, Mul<self,self>, Eq { }
3+
trait MyNum : Add<self,self> Sub<self,self> Mul<self,self> Eq { }
44

55
struct MyInt { val: int }
66

src/test/run-pass/trait-inheritance-static2.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ trait MyNum {
44
static fn from_int(int) -> self;
55
}
66

7-
pub trait NumExt: MyEq, MyNum { }
7+
pub trait NumExt: MyEq MyNum { }
88

99
struct S { v: int }
1010

src/test/run-pass/trait-inheritance2.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ trait Foo { fn f() -> int; }
22
trait Bar { fn g() -> int; }
33
trait Baz { fn h() -> int; }
44

5-
trait Quux: Foo, Bar, Baz { }
5+
trait Quux: Foo Bar Baz { }
66

77
struct A { x: int }
88

0 commit comments

Comments
 (0)