about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/auxiliary/cci_capture_clause.rs2
-rw-r--r--src/test/auxiliary/cci_nested_lib.rs8
-rw-r--r--src/test/auxiliary/issue-2526.rs4
-rw-r--r--src/test/auxiliary/issue-2631-a.rs2
-rw-r--r--src/test/auxiliary/issue4516_ty_param_lib.rs2
-rw-r--r--src/test/auxiliary/static-methods-crate.rs2
-rw-r--r--src/test/auxiliary/trait_inheritance_auto_xc_aux.rs2
-rw-r--r--src/test/bench/core-set.rs4
-rw-r--r--src/test/bench/pingpong.rs2
-rw-r--r--src/test/bench/shootout-k-nucleotide-pipes.rs6
-rw-r--r--src/test/compile-fail/ambig_impl_bounds.rs2
-rw-r--r--src/test/compile-fail/issue-2611-3.rs4
-rw-r--r--src/test/compile-fail/issue-2611-4.rs4
-rw-r--r--src/test/compile-fail/issue-2611-5.rs4
-rw-r--r--src/test/compile-fail/issue-2766-a.rs6
-rw-r--r--src/test/compile-fail/issue-3177-mutable-struct.rs2
-rw-r--r--src/test/compile-fail/kindck-owned-trait-scoped.rs2
-rw-r--r--src/test/compile-fail/kindck-owned-trait.rs4
-rw-r--r--src/test/compile-fail/kindck-owned.rs4
-rw-r--r--src/test/compile-fail/liveness-use-after-send.rs2
-rw-r--r--src/test/compile-fail/non-const.rs2
-rw-r--r--src/test/compile-fail/obsolete-syntax.rs8
-rw-r--r--src/test/compile-fail/regions-escape-via-trait-or-not.rs2
-rw-r--r--src/test/compile-fail/unique-unique-kind.rs2
-rw-r--r--src/test/compile-fail/vec-concat-bug.rs2
-rw-r--r--src/test/compile-fail/vtable-res-trait-param.rs6
-rw-r--r--src/test/run-fail/bug-811.rs2
-rw-r--r--src/test/run-pass/alignment-gep-tup-like-1.rs2
-rw-r--r--src/test/run-pass/alignment-gep-tup-like-2.rs2
-rw-r--r--src/test/run-pass/auto-encode.rs2
-rw-r--r--src/test/run-pass/auto-instantiate.rs2
-rw-r--r--src/test/run-pass/autobind.rs2
-rw-r--r--src/test/run-pass/autoderef-method-on-trait-monomorphized.rs2
-rw-r--r--src/test/run-pass/autoref-intermediate-types-issue-3585.rs2
-rw-r--r--src/test/run-pass/borrowed-ptr-pattern.rs2
-rw-r--r--src/test/run-pass/box-unbox.rs2
-rw-r--r--src/test/run-pass/class-cast-to-trait-cross-crate-2.rs2
-rw-r--r--src/test/run-pass/class-cast-to-trait-cross-crate.rs2
-rw-r--r--src/test/run-pass/class-cast-to-trait-multiple-types.rs2
-rw-r--r--src/test/run-pass/class-implement-traits.rs2
-rw-r--r--src/test/run-pass/class-implements-multiple-traits.rs6
-rw-r--r--src/test/run-pass/class-separate-impl.rs2
-rw-r--r--src/test/run-pass/class-trait-bounded-param.rs2
-rw-r--r--src/test/run-pass/close-over-big-then-small-data.rs2
-rw-r--r--src/test/run-pass/const-bound.rs2
-rw-r--r--src/test/run-pass/explicit-self-objects-ext-1.rs2
-rw-r--r--src/test/run-pass/explicit-self-objects-ext-2.rs2
-rw-r--r--src/test/run-pass/explicit-self-objects-ext-3.rs2
-rw-r--r--src/test/run-pass/explicit-self-objects-ext-4.rs2
-rw-r--r--src/test/run-pass/expr-alt-generic-box2.rs2
-rw-r--r--src/test/run-pass/expr-alt-generic-unique1.rs2
-rw-r--r--src/test/run-pass/expr-alt-generic-unique2.rs2
-rw-r--r--src/test/run-pass/expr-alt-generic.rs2
-rw-r--r--src/test/run-pass/expr-block-generic-box2.rs2
-rw-r--r--src/test/run-pass/expr-block-generic-unique1.rs2
-rw-r--r--src/test/run-pass/expr-block-generic-unique2.rs2
-rw-r--r--src/test/run-pass/expr-block-generic.rs2
-rw-r--r--src/test/run-pass/expr-fn.rs2
-rw-r--r--src/test/run-pass/expr-if-generic-box2.rs2
-rw-r--r--src/test/run-pass/expr-if-generic.rs2
-rw-r--r--src/test/run-pass/fixed-point-bind-unique.rs4
-rw-r--r--src/test/run-pass/fn-bare-spawn.rs2
-rw-r--r--src/test/run-pass/generic-alias-box.rs2
-rw-r--r--src/test/run-pass/generic-alias-unique.rs2
-rw-r--r--src/test/run-pass/generic-box.rs2
-rw-r--r--src/test/run-pass/generic-derived-type.rs4
-rw-r--r--src/test/run-pass/generic-drop-glue.rs2
-rw-r--r--src/test/run-pass/generic-exterior-box.rs2
-rw-r--r--src/test/run-pass/generic-exterior-unique.rs2
-rw-r--r--src/test/run-pass/generic-fn-infer.rs2
-rw-r--r--src/test/run-pass/generic-fn-unique.rs2
-rw-r--r--src/test/run-pass/generic-fn.rs2
-rw-r--r--src/test/run-pass/generic-tup.rs2
-rw-r--r--src/test/run-pass/generic-unique.rs2
-rw-r--r--src/test/run-pass/issue-2284.rs2
-rw-r--r--src/test/run-pass/issue-2288.rs8
-rw-r--r--src/test/run-pass/issue-2311-2.rs6
-rw-r--r--src/test/run-pass/issue-2445-b.rs6
-rw-r--r--src/test/run-pass/issue-2445.rs6
-rw-r--r--src/test/run-pass/issue-2718.rs24
-rw-r--r--src/test/run-pass/issue-2734.rs2
-rw-r--r--src/test/run-pass/issue-2735.rs2
-rw-r--r--src/test/run-pass/issue-2834.rs2
-rw-r--r--src/test/run-pass/issue-3305.rs2
-rw-r--r--src/test/run-pass/issue-333.rs4
-rw-r--r--src/test/run-pass/issue-3480.rs6
-rw-r--r--src/test/run-pass/issue-4016.rs2
-rw-r--r--src/test/run-pass/ivec-add.rs2
-rw-r--r--src/test/run-pass/monad.rs4
-rw-r--r--src/test/run-pass/monomorphized-callees-with-ty-params-3314.rs8
-rw-r--r--src/test/run-pass/newtype-polymorphic.rs4
-rw-r--r--src/test/run-pass/non-boolean-pure-fns.rs8
-rw-r--r--src/test/run-pass/pipe-bank-proto.rs2
-rw-r--r--src/test/run-pass/reflect-visit-data.rs4
-rw-r--r--src/test/run-pass/resource-generic.rs4
-rw-r--r--src/test/run-pass/ret-break-cont-in-block.rs2
-rw-r--r--src/test/run-pass/ret-none.rs2
-rw-r--r--src/test/run-pass/send-type-inference.rs2
-rw-r--r--src/test/run-pass/sendfn-generic-fn.rs4
-rw-r--r--src/test/run-pass/static-impl.rs4
-rw-r--r--src/test/run-pass/static-method-in-trait-with-tps-intracrate.rs4
-rw-r--r--src/test/run-pass/static-method-test.rs4
-rw-r--r--src/test/run-pass/trait-bounds.rs2
-rw-r--r--src/test/run-pass/trait-cast.rs4
-rw-r--r--src/test/run-pass/trait-default-method-bound.rs2
-rw-r--r--src/test/run-pass/trait-generic.rs6
-rw-r--r--src/test/run-pass/trait-inheritance-auto-xc-2.rs4
-rw-r--r--src/test/run-pass/trait-inheritance-auto-xc.rs2
-rw-r--r--src/test/run-pass/trait-inheritance-auto.rs4
-rw-r--r--src/test/run-pass/trait-inheritance-call-bound-inherited2.rs2
-rw-r--r--src/test/run-pass/trait-inheritance-diamond.rs2
-rw-r--r--src/test/run-pass/trait-inheritance-multiple-inheritors.rs2
-rw-r--r--src/test/run-pass/trait-inheritance-multiple-params.rs2
-rw-r--r--src/test/run-pass/trait-inheritance-overloading-xc-exe.rs2
-rw-r--r--src/test/run-pass/trait-inheritance-overloading.rs2
-rw-r--r--src/test/run-pass/trait-inheritance-visibility.rs4
-rw-r--r--src/test/run-pass/trait-inheritance2.rs2
-rw-r--r--src/test/run-pass/trait-to-str.rs6
-rw-r--r--src/test/run-pass/type-param-constraints.rs4
-rw-r--r--src/test/run-pass/uniq-cc-generic.rs2
-rw-r--r--src/test/run-pass/unique-assign-generic.rs2
-rw-r--r--src/test/run-pass/unique-generic-assign.rs2
-rw-r--r--src/test/run-pass/unique-kinds.rs12
123 files changed, 197 insertions, 197 deletions
diff --git a/src/test/auxiliary/cci_capture_clause.rs b/src/test/auxiliary/cci_capture_clause.rs
index 70a2b8f680a..8038c5fc41a 100644
--- a/src/test/auxiliary/cci_capture_clause.rs
+++ b/src/test/auxiliary/cci_capture_clause.rs
@@ -10,7 +10,7 @@
 
 use core::pipes::*;
 
-pub fn foo<T: Owned Copy>(x: T) -> Port<T> {
+pub fn foo<T:Owned + Copy>(x: T) -> Port<T> {
     let (p, c) = stream();
     do task::spawn() {
         c.send(x);
diff --git a/src/test/auxiliary/cci_nested_lib.rs b/src/test/auxiliary/cci_nested_lib.rs
index 8f1c3d5bb5f..1be18459e40 100644
--- a/src/test/auxiliary/cci_nested_lib.rs
+++ b/src/test/auxiliary/cci_nested_lib.rs
@@ -16,11 +16,11 @@ pub struct Entry<A,B> {key: A, value: B}
 
 pub struct alist<A,B> { eq_fn: fn@(A,A) -> bool, data: DVec<Entry<A,B>> }
 
-pub fn alist_add<A: Copy, B: Copy>(lst: alist<A,B>, k: A, v: B) {
+pub fn alist_add<A:Copy,B:Copy>(lst: alist<A,B>, k: A, v: B) {
     lst.data.push(Entry{key:k, value:v});
 }
 
-pub fn alist_get<A: Copy, B: Copy>(lst: alist<A,B>, k: A) -> B {
+pub fn alist_get<A:Copy,B:Copy>(lst: alist<A,B>, k: A) -> B {
     let eq_fn = lst.eq_fn;
     for lst.data.each |entry| {
         if eq_fn(entry.key, k) { return entry.value; }
@@ -29,13 +29,13 @@ pub fn alist_get<A: Copy, B: Copy>(lst: alist<A,B>, k: A) -> B {
 }
 
 #[inline]
-pub fn new_int_alist<B: Copy>() -> alist<int, B> {
+pub fn new_int_alist<B:Copy>() -> alist<int, B> {
     fn eq_int(&&a: int, &&b: int) -> bool { a == b }
     return alist {eq_fn: eq_int, data: DVec()};
 }
 
 #[inline]
-pub fn new_int_alist_2<B: Copy>() -> alist<int, B> {
+pub fn new_int_alist_2<B:Copy>() -> alist<int, B> {
     #[inline]
     fn eq_int(&&a: int, &&b: int) -> bool { a == b }
     return alist {eq_fn: eq_int, data: DVec()};
diff --git a/src/test/auxiliary/issue-2526.rs b/src/test/auxiliary/issue-2526.rs
index f9d08713852..958fb75b9d2 100644
--- a/src/test/auxiliary/issue-2526.rs
+++ b/src/test/auxiliary/issue-2526.rs
@@ -23,13 +23,13 @@ impl<T:Const> Drop for arc_destruct<T> {
     fn finalize(&self) {}
 }
 
-fn arc_destruct<T: Const>(data: int) -> arc_destruct<T> {
+fn arc_destruct<T:Const>(data: int) -> arc_destruct<T> {
     arc_destruct {
         _data: data
     }
 }
 
-fn arc<T: Const>(_data: T) -> arc_destruct<T> {
+fn arc<T:Const>(_data: T) -> arc_destruct<T> {
     arc_destruct(0)
 }
 
diff --git a/src/test/auxiliary/issue-2631-a.rs b/src/test/auxiliary/issue-2631-a.rs
index 8679d3a7786..b1fb7a82c5c 100644
--- a/src/test/auxiliary/issue-2631-a.rs
+++ b/src/test/auxiliary/issue-2631-a.rs
@@ -19,6 +19,6 @@ use std::oldmap::HashMap;
 pub type header_map = HashMap<~str, @DVec<@~str>>;
 
 // the unused ty param is necessary so this gets monomorphized
-pub fn request<T: Copy>(req: header_map) {
+pub fn request<T:Copy>(req: header_map) {
   let _x = copy *(copy *req.get(&~"METHOD"))[0u];
 }
diff --git a/src/test/auxiliary/issue4516_ty_param_lib.rs b/src/test/auxiliary/issue4516_ty_param_lib.rs
index 2e3c7eedfcc..0e2105243e7 100644
--- a/src/test/auxiliary/issue4516_ty_param_lib.rs
+++ b/src/test/auxiliary/issue4516_ty_param_lib.rs
@@ -8,6 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-pub fn to_closure<A: Durable Copy>(x: A) -> @fn() -> A {
+pub fn to_closure<A:Durable + Copy>(x: A) -> @fn() -> A {
     fn@() -> A { copy x }
 }
diff --git a/src/test/auxiliary/static-methods-crate.rs b/src/test/auxiliary/static-methods-crate.rs
index f06f2e31b71..dbfff4e8aca 100644
--- a/src/test/auxiliary/static-methods-crate.rs
+++ b/src/test/auxiliary/static-methods-crate.rs
@@ -33,7 +33,7 @@ impl read for bool {
     }
 }
 
-pub fn read<T: read Copy>(s: ~str) -> T {
+pub fn read<T:read + Copy>(s: ~str) -> T {
     match read::readMaybe(s) {
       Some(x) => x,
       _ => fail!(~"read failed!")
diff --git a/src/test/auxiliary/trait_inheritance_auto_xc_aux.rs b/src/test/auxiliary/trait_inheritance_auto_xc_aux.rs
index 97a363f6b0c..3e26a09fb8f 100644
--- a/src/test/auxiliary/trait_inheritance_auto_xc_aux.rs
+++ b/src/test/auxiliary/trait_inheritance_auto_xc_aux.rs
@@ -14,4 +14,4 @@ trait Baz { fn h() -> int; }
 
 trait Quux: Foo Bar Baz { }
 
-impl<T: Foo Bar Baz> Quux for T { }
+impl<T:Foo + Bar + Baz> Quux for T { }
diff --git a/src/test/bench/core-set.rs b/src/test/bench/core-set.rs
index 65bb9fc1e90..2845596e780 100644
--- a/src/test/bench/core-set.rs
+++ b/src/test/bench/core-set.rs
@@ -32,7 +32,7 @@ fn timed(result: &mut float, op: fn()) {
 }
 
 impl Results {
-    fn bench_int<T: Set<uint>>(&mut self, rng: @rand::Rng, num_keys: uint,
+    fn bench_int<T:Set<uint>>(&mut self, rng: @rand::Rng, num_keys: uint,
                                rand_cap: uint, f: fn() -> T) {
         {
             let mut set = f();
@@ -70,7 +70,7 @@ impl Results {
         }
     }
 
-    fn bench_str<T: Set<~str>>(&mut self, rng: @rand::Rng, num_keys: uint,
+    fn bench_str<T:Set<~str>>(&mut self, rng: @rand::Rng, num_keys: uint,
                                f: fn() -> T) {
         {
             let mut set = f();
diff --git a/src/test/bench/pingpong.rs b/src/test/bench/pingpong.rs
index 11a127b9722..16f44b88793 100644
--- a/src/test/bench/pingpong.rs
+++ b/src/test/bench/pingpong.rs
@@ -72,7 +72,7 @@ macro_rules! follow (
     )
 )
 
-fn switch<T: Owned, Tb: Owned, U>(+endp: pipes::RecvPacketBuffered<T, Tb>,
+fn switch<T:Owned,Tb:Owned,U>(+endp: pipes::RecvPacketBuffered<T, Tb>,
                       f: fn(+v: Option<T>) -> U) -> U {
     f(pipes::try_recv(endp))
 }
diff --git a/src/test/bench/shootout-k-nucleotide-pipes.rs b/src/test/bench/shootout-k-nucleotide-pipes.rs
index 78ae31570b3..a887a13bf38 100644
--- a/src/test/bench/shootout-k-nucleotide-pipes.rs
+++ b/src/test/bench/shootout-k-nucleotide-pipes.rs
@@ -27,14 +27,14 @@ fn sort_and_fmt(mm: HashMap<~[u8], uint>, total: uint) -> ~str {
       return (xx as float) * 100f / (yy as float);
    }
 
-   pure fn le_by_val<TT: Copy, UU: Copy Ord>(kv0: &(TT,UU),
+   pure fn le_by_val<TT:Copy,UU:Copy + Ord>(kv0: &(TT,UU),
                                          kv1: &(TT,UU)) -> bool {
       let (_, v0) = *kv0;
       let (_, v1) = *kv1;
       return v0 >= v1;
    }
 
-   pure fn le_by_key<TT: Copy Ord, UU: Copy>(kv0: &(TT,UU),
+   pure fn le_by_key<TT:Copy + Ord,UU:Copy>(kv0: &(TT,UU),
                                          kv1: &(TT,UU)) -> bool {
       let (k0, _) = *kv0;
       let (k1, _) = *kv1;
@@ -42,7 +42,7 @@ fn sort_and_fmt(mm: HashMap<~[u8], uint>, total: uint) -> ~str {
    }
 
    // sort by key, then by value
-   fn sortKV<TT: Copy Ord, UU: Copy Ord>(orig: ~[(TT,UU)]) -> ~[(TT,UU)] {
+   fn sortKV<TT:Copy + Ord,UU:Copy + Ord>(orig: ~[(TT,UU)]) -> ~[(TT,UU)] {
       return sort::merge_sort(sort::merge_sort(orig, le_by_key), le_by_val);
    }
 
diff --git a/src/test/compile-fail/ambig_impl_bounds.rs b/src/test/compile-fail/ambig_impl_bounds.rs
index d4fe51835ae..92581d756db 100644
--- a/src/test/compile-fail/ambig_impl_bounds.rs
+++ b/src/test/compile-fail/ambig_impl_bounds.rs
@@ -11,7 +11,7 @@
 trait A { fn foo(); }
 trait B { fn foo(); }
 
-fn foo<T: A B>(t: T) {
+fn foo<T:A + B>(t: T) {
     t.foo(); //~ ERROR multiple applicable methods in scope
     //~^ NOTE candidate #1 derives from the bound `A`
     //~^^ NOTE candidate #2 derives from the bound `B`
diff --git a/src/test/compile-fail/issue-2611-3.rs b/src/test/compile-fail/issue-2611-3.rs
index 5da3d08e34c..c9aeaae0ff9 100644
--- a/src/test/compile-fail/issue-2611-3.rs
+++ b/src/test/compile-fail/issue-2611-3.rs
@@ -16,7 +16,7 @@
 use iter::BaseIter;
 
 trait A {
-  fn b<C:Copy Const, D>(x: C) -> C;
+  fn b<C:Copy + Const,D>(x: C) -> C;
 }
 
 struct E {
@@ -24,7 +24,7 @@ struct E {
 }
 
 impl A for E {
-  fn b<F:Copy, G>(_x: F) -> F { fail!() } //~ ERROR in method `b`, type parameter 0 has 1 bound, but
+  fn b<F:Copy,G>(_x: F) -> F { fail!() } //~ ERROR in method `b`, type parameter 0 has 1 bound, but
 }
 
 fn main() {}
diff --git a/src/test/compile-fail/issue-2611-4.rs b/src/test/compile-fail/issue-2611-4.rs
index c8f3f9a4a5a..fb7c5bd6cb8 100644
--- a/src/test/compile-fail/issue-2611-4.rs
+++ b/src/test/compile-fail/issue-2611-4.rs
@@ -13,7 +13,7 @@
 use iter::BaseIter;
 
 trait A {
-  fn b<C:Copy, D>(x: C) -> C;
+  fn b<C:Copy,D>(x: C) -> C;
 }
 
 struct E {
@@ -21,7 +21,7 @@ struct E {
 }
 
 impl A for E {
-  fn b<F:Copy Const, G>(_x: F) -> F { fail!() } //~ ERROR in method `b`, type parameter 0 has 2 bounds, but
+  fn b<F:Copy + Const,G>(_x: F) -> F { fail!() } //~ ERROR in method `b`, type parameter 0 has 2 bounds, but
 }
 
 fn main() {}
diff --git a/src/test/compile-fail/issue-2611-5.rs b/src/test/compile-fail/issue-2611-5.rs
index f8f7704bcd9..35015a260f5 100644
--- a/src/test/compile-fail/issue-2611-5.rs
+++ b/src/test/compile-fail/issue-2611-5.rs
@@ -13,7 +13,7 @@
 use iter::BaseIter;
 
 trait A {
-  fn b<C:Copy, D>(x: C) -> C;
+  fn b<C:Copy,D>(x: C) -> C;
 }
 
 struct E {
@@ -22,7 +22,7 @@ struct E {
 
 impl A for E {
   // n.b. The error message is awful -- see #3404
-  fn b<F:Copy, G>(_x: G) -> G { fail!() } //~ ERROR method `b` has an incompatible type
+  fn b<F:Copy,G>(_x: G) -> G { fail!() } //~ ERROR method `b` has an incompatible type
 }
 
 fn main() {}
diff --git a/src/test/compile-fail/issue-2766-a.rs b/src/test/compile-fail/issue-2766-a.rs
index 0b63ae5b1ba..77a840e7e36 100644
--- a/src/test/compile-fail/issue-2766-a.rs
+++ b/src/test/compile-fail/issue-2766-a.rs
@@ -9,12 +9,12 @@
 // except according to those terms.
 
 pub mod stream {
-    pub enum Stream<T: Owned> { send(T, ::stream::server::Stream<T>), }
+    pub enum Stream<T:Owned> { send(T, ::stream::server::Stream<T>), }
     pub mod server {
         use core::option;
         use core::pipes;
 
-        impl<T: Owned> Stream<T> {
+        impl<T:Owned> Stream<T> {
             pub fn recv() -> extern fn(+v: Stream<T>) -> ::stream::Stream<T> {
               // resolve really should report just one error here.
               // Change the test case when it changes.
@@ -28,7 +28,7 @@ pub mod stream {
             }
         }
 
-        pub type Stream<T: Owned> = pipes::RecvPacket<::stream::Stream<T>>;
+        pub type Stream<T:Owned> = pipes::RecvPacket<::stream::Stream<T>>;
     }
 }
 
diff --git a/src/test/compile-fail/issue-3177-mutable-struct.rs b/src/test/compile-fail/issue-3177-mutable-struct.rs
index a71826c629b..ab28b461a2c 100644
--- a/src/test/compile-fail/issue-3177-mutable-struct.rs
+++ b/src/test/compile-fail/issue-3177-mutable-struct.rs
@@ -10,7 +10,7 @@
 
 // xfail-test
 // error-pattern: instantiating a type parameter with an incompatible type
-struct S<T: Const> {
+struct S<T:Const> {
     s: T,
     mut cant_nest: ()
 }
diff --git a/src/test/compile-fail/kindck-owned-trait-scoped.rs b/src/test/compile-fail/kindck-owned-trait-scoped.rs
index 3d83f13c211..b2cef943528 100644
--- a/src/test/compile-fail/kindck-owned-trait-scoped.rs
+++ b/src/test/compile-fail/kindck-owned-trait-scoped.rs
@@ -35,7 +35,7 @@ fn to_foo_2<T:Copy>(t: T) -> foo {
     {f:t} as foo //~ ERROR value may contain borrowed pointers; use `&static` bound
 }
 
-fn to_foo_3<T:Copy &static>(t: T) -> foo {
+fn to_foo_3<T:Copy + &static>(t: T) -> foo {
     // OK---T may escape as part of the returned foo value, but it is
     // owned and hence does not contain borrowed ptrs
     {f:t} as foo
diff --git a/src/test/compile-fail/kindck-owned-trait.rs b/src/test/compile-fail/kindck-owned-trait.rs
index 683d66d0d72..2bc6a911204 100644
--- a/src/test/compile-fail/kindck-owned-trait.rs
+++ b/src/test/compile-fail/kindck-owned-trait.rs
@@ -10,11 +10,11 @@
 
 trait foo { fn foo(); }
 
-fn to_foo<T: Copy foo>(t: T) -> foo {
+fn to_foo<T:Copy + foo>(t: T) -> foo {
     t as foo //~ ERROR value may contain borrowed pointers; use `&static` bound
 }
 
-fn to_foo2<T: Copy foo &static>(t: T) -> foo {
+fn to_foo2<T:Copy + foo + &static>(t: T) -> foo {
     t as foo
 }
 
diff --git a/src/test/compile-fail/kindck-owned.rs b/src/test/compile-fail/kindck-owned.rs
index 65f6f837c83..e792917622b 100644
--- a/src/test/compile-fail/kindck-owned.rs
+++ b/src/test/compile-fail/kindck-owned.rs
@@ -8,11 +8,11 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-fn copy1<T: Copy>(t: T) -> fn@() -> T {
+fn copy1<T:Copy>(t: T) -> fn@() -> T {
     fn@() -> T { t } //~ ERROR value may contain borrowed pointers
 }
 
-fn copy2<T: Copy &static>(t: T) -> fn@() -> T {
+fn copy2<T:Copy + &static>(t: T) -> fn@() -> T {
     fn@() -> T { t }
 }
 
diff --git a/src/test/compile-fail/liveness-use-after-send.rs b/src/test/compile-fail/liveness-use-after-send.rs
index f852fb1d38e..95dd59eb27f 100644
--- a/src/test/compile-fail/liveness-use-after-send.rs
+++ b/src/test/compile-fail/liveness-use-after-send.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-fn send<T: Owned>(ch: _chan<T>, -data: T) {
+fn send<T:Owned>(ch: _chan<T>, -data: T) {
     log(debug, ch);
     log(debug, data);
     fail!();
diff --git a/src/test/compile-fail/non-const.rs b/src/test/compile-fail/non-const.rs
index 9bc4ce87787..43c91490a96 100644
--- a/src/test/compile-fail/non-const.rs
+++ b/src/test/compile-fail/non-const.rs
@@ -10,7 +10,7 @@
 
 // Test that various non const things are rejected.
 
-fn foo<T: Const>(_x: T) { }
+fn foo<T:Const>(_x: T) { }
 
 struct r {
   x:int,
diff --git a/src/test/compile-fail/obsolete-syntax.rs b/src/test/compile-fail/obsolete-syntax.rs
index d92b545d170..ac873238bfc 100644
--- a/src/test/compile-fail/obsolete-syntax.rs
+++ b/src/test/compile-fail/obsolete-syntax.rs
@@ -8,16 +8,16 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-fn f1<T: copy>() -> T { }
+fn f1<T:copy>() -> T { }
 //~^ ERROR obsolete syntax: lower-case kind bounds
 
-fn f1<T: send>() -> T { }
+fn f1<T:send>() -> T { }
 //~^ ERROR obsolete syntax: lower-case kind bounds
 
-fn f1<T: const>() -> T { }
+fn f1<T:const>() -> T { }
 //~^ ERROR obsolete syntax: lower-case kind bounds
 
-fn f1<T: owned>() -> T { }
+fn f1<T:owned>() -> T { }
 //~^ ERROR obsolete syntax: lower-case kind bounds
 
 struct s {
diff --git a/src/test/compile-fail/regions-escape-via-trait-or-not.rs b/src/test/compile-fail/regions-escape-via-trait-or-not.rs
index 0681680b9c4..e4598adca27 100644
--- a/src/test/compile-fail/regions-escape-via-trait-or-not.rs
+++ b/src/test/compile-fail/regions-escape-via-trait-or-not.rs
@@ -18,7 +18,7 @@ impl deref for &int {
     }
 }
 
-fn with<R: deref>(f: fn(x: &int) -> R) -> int {
+fn with<R:deref>(f: fn(x: &int) -> R) -> int {
     f(&3).get()
 }
 
diff --git a/src/test/compile-fail/unique-unique-kind.rs b/src/test/compile-fail/unique-unique-kind.rs
index d36b53eb2ee..26058bf89ca 100644
--- a/src/test/compile-fail/unique-unique-kind.rs
+++ b/src/test/compile-fail/unique-unique-kind.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-fn f<T: Owned>(_i: T) {
+fn f<T:Owned>(_i: T) {
 }
 
 fn main() {
diff --git a/src/test/compile-fail/vec-concat-bug.rs b/src/test/compile-fail/vec-concat-bug.rs
index f9ad20eaeb9..478e01ccd04 100644
--- a/src/test/compile-fail/vec-concat-bug.rs
+++ b/src/test/compile-fail/vec-concat-bug.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-fn concat<T: Copy>(v: ~[const ~[const T]]) -> ~[T] {
+fn concat<T:Copy>(v: ~[const ~[const T]]) -> ~[T] {
     let mut r = ~[];
 
     // Earlier versions of our type checker accepted this:
diff --git a/src/test/compile-fail/vtable-res-trait-param.rs b/src/test/compile-fail/vtable-res-trait-param.rs
index 7b48eca3dbe..bd886f44ede 100644
--- a/src/test/compile-fail/vtable-res-trait-param.rs
+++ b/src/test/compile-fail/vtable-res-trait-param.rs
@@ -13,16 +13,16 @@ trait TraitA {
 }
 
 trait TraitB {
-    fn gimme_an_a<A: TraitA>(a: A) -> int;
+    fn gimme_an_a<A:TraitA>(a: A) -> int;
 }
 
 impl TraitB for int {
-    fn gimme_an_a<A: TraitA>(a: A) -> int {
+    fn gimme_an_a<A:TraitA>(a: A) -> int {
         a.method_a() + self
     }
 }
 
-fn call_it<B: TraitB>(b: B)  -> int {
+fn call_it<B:TraitB>(b: B)  -> int {
     let y = 4u;
     b.gimme_an_a(y) //~ ERROR failed to find an implementation of trait @TraitA
 }
diff --git a/src/test/run-fail/bug-811.rs b/src/test/run-fail/bug-811.rs
index 85e0f3dd398..4dada6257d4 100644
--- a/src/test/run-fail/bug-811.rs
+++ b/src/test/run-fail/bug-811.rs
@@ -16,6 +16,6 @@ type port_id = int;
 
 enum chan_t<T> = {task: task_id, port: port_id};
 
-fn send<T: Owned>(ch: chan_t<T>, data: T) { fail!(); }
+fn send<T:Owned>(ch: chan_t<T>, data: T) { fail!(); }
 
 fn main() { fail!(~"quux"); }
diff --git a/src/test/run-pass/alignment-gep-tup-like-1.rs b/src/test/run-pass/alignment-gep-tup-like-1.rs
index 350132c15b8..2972c425192 100644
--- a/src/test/run-pass/alignment-gep-tup-like-1.rs
+++ b/src/test/run-pass/alignment-gep-tup-like-1.rs
@@ -12,7 +12,7 @@ type pair<A,B> = {
     a: A, b: B
 };
 
-fn f<A:Copy &static>(a: A, b: u16) -> fn@() -> (A, u16) {
+fn f<A:Copy + &static>(a: A, b: u16) -> fn@() -> (A, u16) {
     fn@() -> (A, u16) { (a, b) }
 }
 
diff --git a/src/test/run-pass/alignment-gep-tup-like-2.rs b/src/test/run-pass/alignment-gep-tup-like-2.rs
index e16fae776f7..2a09de7a81c 100644
--- a/src/test/run-pass/alignment-gep-tup-like-2.rs
+++ b/src/test/run-pass/alignment-gep-tup-like-2.rs
@@ -23,7 +23,7 @@ fn make_cycle<A:Copy>(a: A) {
     g.rec = Some(g);
 }
 
-fn f<A:Owned Copy, B:Owned Copy>(a: A, b: B) -> fn@() -> (A, B) {
+fn f<A:Owned + Copy,B:Owned + Copy>(a: A, b: B) -> fn@() -> (A, B) {
     fn@() -> (A, B) { (a, b) }
 }
 
diff --git a/src/test/run-pass/auto-encode.rs b/src/test/run-pass/auto-encode.rs
index d4171ceb70f..6bf5293913f 100644
--- a/src/test/run-pass/auto-encode.rs
+++ b/src/test/run-pass/auto-encode.rs
@@ -26,7 +26,7 @@ use std::serialize::{Encodable, Decodable};
 use std::prettyprint;
 use std::time;
 
-fn test_prettyprint<A: Encodable<prettyprint::Serializer>>(
+fn test_prettyprint<A:Encodable<prettyprint::Serializer>>(
     a: &A,
     expected: &~str
 ) {
diff --git a/src/test/run-pass/auto-instantiate.rs b/src/test/run-pass/auto-instantiate.rs
index 8f7a88f19a7..4075ec56038 100644
--- a/src/test/run-pass/auto-instantiate.rs
+++ b/src/test/run-pass/auto-instantiate.rs
@@ -16,7 +16,7 @@
 struct Pair<T, U> { a: T, b: U }
 struct Triple { x: int, y: int, z: int }
 
-fn f<T: Copy, U: Copy>(x: T, y: U) -> Pair<T, U> { return Pair {a: x, b: y}; }
+fn f<T:Copy,U:Copy>(x: T, y: U) -> Pair<T, U> { return Pair {a: x, b: y}; }
 
 pub fn main() {
     log(debug, f(Triple {x: 3, y: 4, z: 5}, 4).a.x);
diff --git a/src/test/run-pass/autobind.rs b/src/test/run-pass/autobind.rs
index 0b969540d74..316627e349b 100644
--- a/src/test/run-pass/autobind.rs
+++ b/src/test/run-pass/autobind.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-fn f<T: Copy>(x: ~[T]) -> T { return x[0]; }
+fn f<T:Copy>(x: ~[T]) -> T { return x[0]; }
 
 fn g(act: fn(~[int]) -> int) -> int { return act(~[1, 2, 3]); }
 
diff --git a/src/test/run-pass/autoderef-method-on-trait-monomorphized.rs b/src/test/run-pass/autoderef-method-on-trait-monomorphized.rs
index 53dd6f942e8..b44d1cbb78d 100644
--- a/src/test/run-pass/autoderef-method-on-trait-monomorphized.rs
+++ b/src/test/run-pass/autoderef-method-on-trait-monomorphized.rs
@@ -16,7 +16,7 @@ impl double for uint {
     fn double() -> uint { self * 2u }
 }
 
-fn is_equal<D: double>(x: @D, exp: uint) {
+fn is_equal<D:double>(x: @D, exp: uint) {
     assert x.double() == exp;
 }
 
diff --git a/src/test/run-pass/autoref-intermediate-types-issue-3585.rs b/src/test/run-pass/autoref-intermediate-types-issue-3585.rs
index 60f19b4db0a..8bc02eb2f9f 100644
--- a/src/test/run-pass/autoref-intermediate-types-issue-3585.rs
+++ b/src/test/run-pass/autoref-intermediate-types-issue-3585.rs
@@ -12,7 +12,7 @@ trait Foo {
     fn foo(&self) -> ~str;
 }
 
-impl<T: Foo> Foo for @T {
+impl<T:Foo> Foo for @T {
     fn foo(&self) -> ~str {
         fmt!("@%s", (**self).foo())
     }
diff --git a/src/test/run-pass/borrowed-ptr-pattern.rs b/src/test/run-pass/borrowed-ptr-pattern.rs
index fdf4a161560..b51481f1ea1 100644
--- a/src/test/run-pass/borrowed-ptr-pattern.rs
+++ b/src/test/run-pass/borrowed-ptr-pattern.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-fn foo<T: Copy>(x: &T) -> T{
+fn foo<T:Copy>(x: &T) -> T{
     match x {
         &a => a
     }
diff --git a/src/test/run-pass/box-unbox.rs b/src/test/run-pass/box-unbox.rs
index 6889d764cbb..1efe12c1a3c 100644
--- a/src/test/run-pass/box-unbox.rs
+++ b/src/test/run-pass/box-unbox.rs
@@ -12,7 +12,7 @@
 
 struct Box<T> {c: @T}
 
-fn unbox<T: Copy>(b: Box<T>) -> T { return *b.c; }
+fn unbox<T:Copy>(b: Box<T>) -> T { return *b.c; }
 
 pub fn main() {
     let foo: int = 17;
diff --git a/src/test/run-pass/class-cast-to-trait-cross-crate-2.rs b/src/test/run-pass/class-cast-to-trait-cross-crate-2.rs
index 1d1b07ae324..f81b12b555e 100644
--- a/src/test/run-pass/class-cast-to-trait-cross-crate-2.rs
+++ b/src/test/run-pass/class-cast-to-trait-cross-crate-2.rs
@@ -14,7 +14,7 @@ extern mod cci_class_cast;
 use core::to_str::ToStr;
 use cci_class_cast::kitty::*;
 
-fn print_out<T: ToStr>(thing: T, expected: ~str) {
+fn print_out<T:ToStr>(thing: T, expected: ~str) {
   let actual = thing.to_str();
   debug!("%s", actual);
   assert(actual == expected);
diff --git a/src/test/run-pass/class-cast-to-trait-cross-crate.rs b/src/test/run-pass/class-cast-to-trait-cross-crate.rs
index 36e6c6b487d..d21ff90e7fb 100644
--- a/src/test/run-pass/class-cast-to-trait-cross-crate.rs
+++ b/src/test/run-pass/class-cast-to-trait-cross-crate.rs
@@ -48,7 +48,7 @@ class cat : to_str {
   fn to_str() -> str { self.name }
 }
 
-fn print_out<T: to_str>(thing: T, expected: str) {
+fn print_out<T:to_str>(thing: T, expected: str) {
   let actual = thing.to_str();
   debug!("%s", actual);
   assert(actual == expected);
diff --git a/src/test/run-pass/class-cast-to-trait-multiple-types.rs b/src/test/run-pass/class-cast-to-trait-multiple-types.rs
index b72a8e5da27..f35a91c2b91 100644
--- a/src/test/run-pass/class-cast-to-trait-multiple-types.rs
+++ b/src/test/run-pass/class-cast-to-trait-multiple-types.rs
@@ -79,7 +79,7 @@ fn cat(in_x : uint, in_y : int, in_name: ~str) -> cat {
 }
 
 
-fn annoy_neighbors<T: noisy>(critter: T) {
+fn annoy_neighbors<T:noisy>(critter: T) {
   for uint::range(0u, 10u) |i| { critter.speak(); }
 }
 
diff --git a/src/test/run-pass/class-implement-traits.rs b/src/test/run-pass/class-implement-traits.rs
index 06a2dbeb9a4..15564d73e1f 100644
--- a/src/test/run-pass/class-implement-traits.rs
+++ b/src/test/run-pass/class-implement-traits.rs
@@ -59,7 +59,7 @@ fn cat(in_x : uint, in_y : int, in_name: ~str) -> cat {
 }
 
 
-fn make_speak<C: noisy>(c: C) {
+fn make_speak<C:noisy>(c: C) {
     c.speak();
 }
 
diff --git a/src/test/run-pass/class-implements-multiple-traits.rs b/src/test/run-pass/class-implements-multiple-traits.rs
index 6d2fb984365..a05b74c9a3c 100644
--- a/src/test/run-pass/class-implements-multiple-traits.rs
+++ b/src/test/run-pass/class-implements-multiple-traits.rs
@@ -96,14 +96,14 @@ class cat : noisy, scratchy, bitey {
   }
 }
 
-fn annoy_neighbors<T: noisy>(critter: T) {
+fn annoy_neighbors<T:noisy>(critter: T) {
   for uint::range(0u, 10u) |i| {
       let what = critter.speak();
       debug!("%u %d", i, what);
   }
 }
 
-fn bite_everything<T: bitey>(critter: T) -> bool {
+fn bite_everything<T:bitey>(critter: T) -> bool {
   let mut left : ~[body_part] = ~[finger, toe, nose, ear];
   while vec::len(left) > 0u {
     let part = critter.bite();
@@ -118,7 +118,7 @@ fn bite_everything<T: bitey>(critter: T) -> bool {
   true
 }
 
-fn scratched_something<T: scratchy>(critter: T) -> bool {
+fn scratched_something<T:scratchy>(critter: T) -> bool {
   option::is_some(critter.scratch())
 }
 
diff --git a/src/test/run-pass/class-separate-impl.rs b/src/test/run-pass/class-separate-impl.rs
index 919fb058a95..fda358a86a2 100644
--- a/src/test/run-pass/class-separate-impl.rs
+++ b/src/test/run-pass/class-separate-impl.rs
@@ -57,7 +57,7 @@ impl ToStr for cat {
   pure fn to_str(&self) -> ~str { copy self.name }
 }
 
-fn print_out<T: ToStr>(thing: T, expected: ~str) {
+fn print_out<T:ToStr>(thing: T, expected: ~str) {
   let actual = thing.to_str();
   debug!("%s", actual);
   assert(actual == expected);
diff --git a/src/test/run-pass/class-trait-bounded-param.rs b/src/test/run-pass/class-trait-bounded-param.rs
index e3c4703432f..5e39b18db73 100644
--- a/src/test/run-pass/class-trait-bounded-param.rs
+++ b/src/test/run-pass/class-trait-bounded-param.rs
@@ -13,7 +13,7 @@
 extern mod std;
 use std::oldmap::{map, hashmap, int_hash};
 
-class keys<K: Copy, V: Copy, M: Copy map<K,V>>
+class keys<K:Copy,V:Copy,M:Copy + map<K,V>>
     : iter::base_iter<K> {
 
     let map: M;
diff --git a/src/test/run-pass/close-over-big-then-small-data.rs b/src/test/run-pass/close-over-big-then-small-data.rs
index d218519a4f3..32f39177e1c 100644
--- a/src/test/run-pass/close-over-big-then-small-data.rs
+++ b/src/test/run-pass/close-over-big-then-small-data.rs
@@ -16,7 +16,7 @@ type pair<A,B> = {
     a: A, b: B
 };
 
-fn f<A:Copy &static>(a: A, b: u16) -> fn@() -> (A, u16) {
+fn f<A:Copy + &static>(a: A, b: u16) -> fn@() -> (A, u16) {
     fn@() -> (A, u16) { (a, b) }
 }
 
diff --git a/src/test/run-pass/const-bound.rs b/src/test/run-pass/const-bound.rs
index 2320a5b1aa3..d4467ca0c7a 100644
--- a/src/test/run-pass/const-bound.rs
+++ b/src/test/run-pass/const-bound.rs
@@ -12,7 +12,7 @@
 // are const.
 
 
-fn foo<T: Copy Const>(x: T) -> T { x }
+fn foo<T:Copy + Const>(x: T) -> T { x }
 
 struct F { field: int }
 
diff --git a/src/test/run-pass/explicit-self-objects-ext-1.rs b/src/test/run-pass/explicit-self-objects-ext-1.rs
index 80c18ca0974..e226423f848 100644
--- a/src/test/run-pass/explicit-self-objects-ext-1.rs
+++ b/src/test/run-pass/explicit-self-objects-ext-1.rs
@@ -13,7 +13,7 @@ pub trait ReaderUtil {
     fn read_bytes(&self, len: uint);
 }
 
-impl<T: Reader> ReaderUtil for T {
+impl<T:Reader> ReaderUtil for T {
 
     fn read_bytes(&self, len: uint) {
         let mut count = self.read(&mut [0], len);
diff --git a/src/test/run-pass/explicit-self-objects-ext-2.rs b/src/test/run-pass/explicit-self-objects-ext-2.rs
index 80c18ca0974..e226423f848 100644
--- a/src/test/run-pass/explicit-self-objects-ext-2.rs
+++ b/src/test/run-pass/explicit-self-objects-ext-2.rs
@@ -13,7 +13,7 @@ pub trait ReaderUtil {
     fn read_bytes(&self, len: uint);
 }
 
-impl<T: Reader> ReaderUtil for T {
+impl<T:Reader> ReaderUtil for T {
 
     fn read_bytes(&self, len: uint) {
         let mut count = self.read(&mut [0], len);
diff --git a/src/test/run-pass/explicit-self-objects-ext-3.rs b/src/test/run-pass/explicit-self-objects-ext-3.rs
index a32ac955b94..1a18ee7c6f7 100644
--- a/src/test/run-pass/explicit-self-objects-ext-3.rs
+++ b/src/test/run-pass/explicit-self-objects-ext-3.rs
@@ -13,7 +13,7 @@ pub trait ReaderUtil {
     fn read_bytes(len: uint);
 }
 
-impl<T: Reader> ReaderUtil for T {
+impl<T:Reader> ReaderUtil for T {
 
     fn read_bytes(len: uint) {
         let mut count = self.read(&mut [0], len);
diff --git a/src/test/run-pass/explicit-self-objects-ext-4.rs b/src/test/run-pass/explicit-self-objects-ext-4.rs
index ca7764f96f4..a5d934d9984 100644
--- a/src/test/run-pass/explicit-self-objects-ext-4.rs
+++ b/src/test/run-pass/explicit-self-objects-ext-4.rs
@@ -13,7 +13,7 @@ pub trait ReaderUtil {
     fn read_bytes(len: uint);
 }
 
-impl<T: Reader> ReaderUtil for T {
+impl<T:Reader> ReaderUtil for T {
 
     fn read_bytes(len: uint) {
         let mut count = self.read(&mut [0], len);
diff --git a/src/test/run-pass/expr-alt-generic-box2.rs b/src/test/run-pass/expr-alt-generic-box2.rs
index 9176e8672b2..224ae2cf78e 100644
--- a/src/test/run-pass/expr-alt-generic-box2.rs
+++ b/src/test/run-pass/expr-alt-generic-box2.rs
@@ -15,7 +15,7 @@
 
 type compare<T> = fn@(T, T) -> bool;
 
-fn test_generic<T: Copy>(expected: T, eq: compare<T>) {
+fn test_generic<T:Copy>(expected: T, eq: compare<T>) {
     let actual: T = match true { true => { expected }, _ => fail!(~"wat") };
     assert (eq(expected, actual));
 }
diff --git a/src/test/run-pass/expr-alt-generic-unique1.rs b/src/test/run-pass/expr-alt-generic-unique1.rs
index 36c591da853..ec51fabd4a7 100644
--- a/src/test/run-pass/expr-alt-generic-unique1.rs
+++ b/src/test/run-pass/expr-alt-generic-unique1.rs
@@ -13,7 +13,7 @@
 // -*- rust -*-
 type compare<T> = fn@(~T, ~T) -> bool;
 
-fn test_generic<T: Copy>(expected: ~T, eq: compare<T>) {
+fn test_generic<T:Copy>(expected: ~T, eq: compare<T>) {
     let actual: ~T = match true {
         true => { copy expected },
         _ => fail!(~"wat")
diff --git a/src/test/run-pass/expr-alt-generic-unique2.rs b/src/test/run-pass/expr-alt-generic-unique2.rs
index 2a504c2e2bd..cb641b493e0 100644
--- a/src/test/run-pass/expr-alt-generic-unique2.rs
+++ b/src/test/run-pass/expr-alt-generic-unique2.rs
@@ -15,7 +15,7 @@
 
 type compare<T> = fn@(T, T) -> bool;
 
-fn test_generic<T: Copy>(expected: T, eq: compare<T>) {
+fn test_generic<T:Copy>(expected: T, eq: compare<T>) {
     let actual: T = match true {
         true => copy expected,
         _ => fail!(~"wat")
diff --git a/src/test/run-pass/expr-alt-generic.rs b/src/test/run-pass/expr-alt-generic.rs
index d631e4eac5e..95710eecddb 100644
--- a/src/test/run-pass/expr-alt-generic.rs
+++ b/src/test/run-pass/expr-alt-generic.rs
@@ -14,7 +14,7 @@
 
 type compare<T> = fn@(T, T) -> bool;
 
-fn test_generic<T: Copy>(expected: T, eq: compare<T>) {
+fn test_generic<T:Copy>(expected: T, eq: compare<T>) {
   let actual: T = match true { true => { expected }, _ => fail!(~"wat") };
     assert (eq(expected, actual));
 }
diff --git a/src/test/run-pass/expr-block-generic-box2.rs b/src/test/run-pass/expr-block-generic-box2.rs
index 94627082eb4..3851578d547 100644
--- a/src/test/run-pass/expr-block-generic-box2.rs
+++ b/src/test/run-pass/expr-block-generic-box2.rs
@@ -14,7 +14,7 @@
 
 type compare<T> = fn@(T, T) -> bool;
 
-fn test_generic<T: Copy>(expected: T, eq: compare<T>) {
+fn test_generic<T:Copy>(expected: T, eq: compare<T>) {
     let actual: T = { expected };
     assert (eq(expected, actual));
 }
diff --git a/src/test/run-pass/expr-block-generic-unique1.rs b/src/test/run-pass/expr-block-generic-unique1.rs
index b3637f80535..c4efe32a31e 100644
--- a/src/test/run-pass/expr-block-generic-unique1.rs
+++ b/src/test/run-pass/expr-block-generic-unique1.rs
@@ -13,7 +13,7 @@
 // -*- rust -*-
 type compare<T> = fn@(~T, ~T) -> bool;
 
-fn test_generic<T: Copy>(expected: ~T, eq: compare<T>) {
+fn test_generic<T:Copy>(expected: ~T, eq: compare<T>) {
     let actual: ~T = { copy expected };
     assert (eq(expected, actual));
 }
diff --git a/src/test/run-pass/expr-block-generic-unique2.rs b/src/test/run-pass/expr-block-generic-unique2.rs
index 39585f7cc67..b0a056e8891 100644
--- a/src/test/run-pass/expr-block-generic-unique2.rs
+++ b/src/test/run-pass/expr-block-generic-unique2.rs
@@ -14,7 +14,7 @@
 
 type compare<T> = fn@(T, T) -> bool;
 
-fn test_generic<T: Copy>(expected: T, eq: compare<T>) {
+fn test_generic<T:Copy>(expected: T, eq: compare<T>) {
     let actual: T = { expected };
     assert (eq(expected, actual));
 }
diff --git a/src/test/run-pass/expr-block-generic.rs b/src/test/run-pass/expr-block-generic.rs
index dca3030df14..3d1ef7dbea2 100644
--- a/src/test/run-pass/expr-block-generic.rs
+++ b/src/test/run-pass/expr-block-generic.rs
@@ -16,7 +16,7 @@
 // Tests for standalone blocks as expressions with dynamic type sizes
 type compare<T> = fn@(T, T) -> bool;
 
-fn test_generic<T: Copy>(expected: T, eq: compare<T>) {
+fn test_generic<T:Copy>(expected: T, eq: compare<T>) {
     let actual: T = { expected };
     assert (eq(expected, actual));
 }
diff --git a/src/test/run-pass/expr-fn.rs b/src/test/run-pass/expr-fn.rs
index 727524f5677..0db78f776c4 100644
--- a/src/test/run-pass/expr-fn.rs
+++ b/src/test/run-pass/expr-fn.rs
@@ -19,7 +19,7 @@ fn test_vec() {
 }
 
 fn test_generic() {
-    fn f<T: Copy>(t: T) -> T { t }
+    fn f<T:Copy>(t: T) -> T { t }
     assert (f(10) == 10);
 }
 
diff --git a/src/test/run-pass/expr-if-generic-box2.rs b/src/test/run-pass/expr-if-generic-box2.rs
index c1bd2589301..5a879071a88 100644
--- a/src/test/run-pass/expr-if-generic-box2.rs
+++ b/src/test/run-pass/expr-if-generic-box2.rs
@@ -14,7 +14,7 @@
 
 type compare<T> = fn@(T, T) -> bool;
 
-fn test_generic<T: Copy>(expected: T, not_expected: T, eq: compare<T>) {
+fn test_generic<T:Copy>(expected: T, not_expected: T, eq: compare<T>) {
     let actual: T = if true { expected } else { not_expected };
     assert (eq(expected, actual));
 }
diff --git a/src/test/run-pass/expr-if-generic.rs b/src/test/run-pass/expr-if-generic.rs
index 537f6039af8..179268a22b8 100644
--- a/src/test/run-pass/expr-if-generic.rs
+++ b/src/test/run-pass/expr-if-generic.rs
@@ -15,7 +15,7 @@
 // Tests for if as expressions with dynamic type sizes
 type compare<T> = fn@(T, T) -> bool;
 
-fn test_generic<T: Copy>(expected: T, not_expected: T, eq: compare<T>) {
+fn test_generic<T:Copy>(expected: T, not_expected: T, eq: compare<T>) {
     let actual: T = if true { expected } else { not_expected };
     assert (eq(expected, actual));
 }
diff --git a/src/test/run-pass/fixed-point-bind-unique.rs b/src/test/run-pass/fixed-point-bind-unique.rs
index e41fa1af90f..8547180b933 100644
--- a/src/test/run-pass/fixed-point-bind-unique.rs
+++ b/src/test/run-pass/fixed-point-bind-unique.rs
@@ -11,11 +11,11 @@
 // xfail-fast
 #[legacy_modes];
 
-fn fix_help<A: &static, B: Owned>(f: extern fn(fn@(A) -> B, A) -> B, x: A) -> B {
+fn fix_help<A:&static,B:Owned>(f: extern fn(fn@(A) -> B, A) -> B, x: A) -> B {
     return f(|a| fix_help(f, a), x);
 }
 
-fn fix<A: &static, B: Owned>(f: extern fn(fn@(A) -> B, A) -> B) -> fn@(A) -> B {
+fn fix<A:&static,B:Owned>(f: extern fn(fn@(A) -> B, A) -> B) -> fn@(A) -> B {
     return |a| fix_help(f, a);
 }
 
diff --git a/src/test/run-pass/fn-bare-spawn.rs b/src/test/run-pass/fn-bare-spawn.rs
index c875b805ea3..9b2a8d0c681 100644
--- a/src/test/run-pass/fn-bare-spawn.rs
+++ b/src/test/run-pass/fn-bare-spawn.rs
@@ -10,7 +10,7 @@
 
 // This is what the signature to spawn should look like with bare functions
 
-fn spawn<T: Owned>(val: T, f: extern fn(T)) {
+fn spawn<T:Owned>(val: T, f: extern fn(T)) {
     f(val);
 }
 
diff --git a/src/test/run-pass/generic-alias-box.rs b/src/test/run-pass/generic-alias-box.rs
index 3830d89616c..95902acc848 100644
--- a/src/test/run-pass/generic-alias-box.rs
+++ b/src/test/run-pass/generic-alias-box.rs
@@ -10,7 +10,7 @@
 
 
 
-fn id<T: Copy>(t: T) -> T { return t; }
+fn id<T:Copy>(t: T) -> T { return t; }
 
 pub fn main() {
     let expected = @100;
diff --git a/src/test/run-pass/generic-alias-unique.rs b/src/test/run-pass/generic-alias-unique.rs
index 0aa1b4dd651..3cb6409a254 100644
--- a/src/test/run-pass/generic-alias-unique.rs
+++ b/src/test/run-pass/generic-alias-unique.rs
@@ -10,7 +10,7 @@
 
 
 
-fn id<T: Copy Owned>(t: T) -> T { return t; }
+fn id<T:Copy + Owned>(t: T) -> T { return t; }
 
 pub fn main() {
     let expected = ~100;
diff --git a/src/test/run-pass/generic-box.rs b/src/test/run-pass/generic-box.rs
index 05f4908b3b2..43c6acd3f3d 100644
--- a/src/test/run-pass/generic-box.rs
+++ b/src/test/run-pass/generic-box.rs
@@ -10,7 +10,7 @@
 
 
 
-fn box<T: Copy>(x: Box<T>) -> @Box<T> { return @x; }
+fn box<T:Copy>(x: Box<T>) -> @Box<T> { return @x; }
 
 struct Box<T> {x: T, y: T, z: T}
 
diff --git a/src/test/run-pass/generic-derived-type.rs b/src/test/run-pass/generic-derived-type.rs
index 3667e549745..264703439e8 100644
--- a/src/test/run-pass/generic-derived-type.rs
+++ b/src/test/run-pass/generic-derived-type.rs
@@ -10,11 +10,11 @@
 
 
 
-fn g<X: Copy>(x: X) -> X { return x; }
+fn g<X:Copy>(x: X) -> X { return x; }
 
 struct Pair<T> {a: T, b: T}
 
-fn f<T: Copy>(t: T) -> Pair<T> {
+fn f<T:Copy>(t: T) -> Pair<T> {
 
     let x: Pair<T> = Pair {a: t, b: t};
     return g::<Pair<T>>(x);
diff --git a/src/test/run-pass/generic-drop-glue.rs b/src/test/run-pass/generic-drop-glue.rs
index b8de3e0b5e3..19e11197fd9 100644
--- a/src/test/run-pass/generic-drop-glue.rs
+++ b/src/test/run-pass/generic-drop-glue.rs
@@ -11,6 +11,6 @@
 
 struct Pair { x: @int, y: @int }
 
-fn f<T: Copy>(t: T) { let t1: T = t; }
+fn f<T:Copy>(t: T) { let t1: T = t; }
 
 pub fn main() { let x = Pair {x: @10, y: @12}; f(x); }
diff --git a/src/test/run-pass/generic-exterior-box.rs b/src/test/run-pass/generic-exterior-box.rs
index 4c8de2fbffc..7039fad1a9a 100644
--- a/src/test/run-pass/generic-exterior-box.rs
+++ b/src/test/run-pass/generic-exterior-box.rs
@@ -12,7 +12,7 @@
 
 struct Recbox<T> {x: @T}
 
-fn reclift<T: Copy>(t: T) -> Recbox<T> { return Recbox {x: @t}; }
+fn reclift<T:Copy>(t: T) -> Recbox<T> { return Recbox {x: @t}; }
 
 pub fn main() {
     let foo: int = 17;
diff --git a/src/test/run-pass/generic-exterior-unique.rs b/src/test/run-pass/generic-exterior-unique.rs
index 741d9f0e179..3d3cc028f35 100644
--- a/src/test/run-pass/generic-exterior-unique.rs
+++ b/src/test/run-pass/generic-exterior-unique.rs
@@ -10,7 +10,7 @@
 
 struct Recbox<T> {x: ~T}
 
-fn reclift<T: Copy>(t: T) -> Recbox<T> { return Recbox {x: ~t}; }
+fn reclift<T:Copy>(t: T) -> Recbox<T> { return Recbox {x: ~t}; }
 
 pub fn main() {
     let foo: int = 17;
diff --git a/src/test/run-pass/generic-fn-infer.rs b/src/test/run-pass/generic-fn-infer.rs
index 88130af2ccc..fcd356bcd2d 100644
--- a/src/test/run-pass/generic-fn-infer.rs
+++ b/src/test/run-pass/generic-fn-infer.rs
@@ -14,6 +14,6 @@
 // -*- rust -*-
 
 // Issue #45: infer type parameters in function applications
-fn id<T: Copy>(x: T) -> T { return x; }
+fn id<T:Copy>(x: T) -> T { return x; }
 
 pub fn main() { let x: int = 42; let y: int = id(x); assert (x == y); }
diff --git a/src/test/run-pass/generic-fn-unique.rs b/src/test/run-pass/generic-fn-unique.rs
index b58b68ee5ae..d41cd86bcc1 100644
--- a/src/test/run-pass/generic-fn-unique.rs
+++ b/src/test/run-pass/generic-fn-unique.rs
@@ -9,6 +9,6 @@
 // except according to those terms.
 
 
-fn f<T: Copy>(x: ~T) -> ~T { return x; }
+fn f<T:Copy>(x: ~T) -> ~T { return x; }
 
 pub fn main() { let x = f(~3); log(debug, *x); }
diff --git a/src/test/run-pass/generic-fn.rs b/src/test/run-pass/generic-fn.rs
index 551fe221eda..2fad81f4db2 100644
--- a/src/test/run-pass/generic-fn.rs
+++ b/src/test/run-pass/generic-fn.rs
@@ -12,7 +12,7 @@
 
 
 // -*- rust -*-
-fn id<T: Copy>(x: T) -> T { return x; }
+fn id<T:Copy>(x: T) -> T { return x; }
 
 struct Triple {x: int, y: int, z: int}
 
diff --git a/src/test/run-pass/generic-tup.rs b/src/test/run-pass/generic-tup.rs
index 8db1c4673bd..3f6f8e7af68 100644
--- a/src/test/run-pass/generic-tup.rs
+++ b/src/test/run-pass/generic-tup.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-fn get_third<T: Copy>(t: (T, T, T)) -> T { let (_, _, x) = t; return x; }
+fn get_third<T:Copy>(t: (T, T, T)) -> T { let (_, _, x) = t; return x; }
 
 pub fn main() {
     log(debug, get_third((1, 2, 3)));
diff --git a/src/test/run-pass/generic-unique.rs b/src/test/run-pass/generic-unique.rs
index 0ae417e711e..dc88f7acfbd 100644
--- a/src/test/run-pass/generic-unique.rs
+++ b/src/test/run-pass/generic-unique.rs
@@ -10,7 +10,7 @@
 
 struct Triple<T> { x: T, y: T, z: T }
 
-fn box<T: Copy>(x: Triple<T>) -> ~Triple<T> { return ~x; }
+fn box<T:Copy>(x: Triple<T>) -> ~Triple<T> { return ~x; }
 
 pub fn main() {
     let x: ~Triple<int> = box::<int>(Triple{x: 1, y: 2, z: 3});
diff --git a/src/test/run-pass/issue-2284.rs b/src/test/run-pass/issue-2284.rs
index 1c4f21c6288..ebf7eec470c 100644
--- a/src/test/run-pass/issue-2284.rs
+++ b/src/test/run-pass/issue-2284.rs
@@ -12,7 +12,7 @@ trait Send {
     fn f();
 }
 
-fn f<T: Send>(t: T) {
+fn f<T:Send>(t: T) {
     t.f();
 }
 
diff --git a/src/test/run-pass/issue-2288.rs b/src/test/run-pass/issue-2288.rs
index 99c9828bfea..375259baaf5 100644
--- a/src/test/run-pass/issue-2288.rs
+++ b/src/test/run-pass/issue-2288.rs
@@ -8,25 +8,25 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-trait clam<A: Copy> {
+trait clam<A:Copy> {
   fn chowder(y: A);
 }
 struct foo<A> {
   x: A,
 }
 
-impl<A: Copy> clam<A> for foo<A> {
+impl<A:Copy> clam<A> for foo<A> {
   fn chowder(y: A) {
   }
 }
 
-fn foo<A: Copy>(b: A) -> foo<A> {
+fn foo<A:Copy>(b: A) -> foo<A> {
     foo {
         x: b
     }
 }
 
-fn f<A: Copy>(x: clam<A>, a: A) {
+fn f<A:Copy>(x: clam<A>, a: A) {
   x.chowder(a);
 }
 
diff --git a/src/test/run-pass/issue-2311-2.rs b/src/test/run-pass/issue-2311-2.rs
index 8e4036b36be..b4141b47b4d 100644
--- a/src/test/run-pass/issue-2311-2.rs
+++ b/src/test/run-pass/issue-2311-2.rs
@@ -8,18 +8,18 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-trait clam<A: Copy> { }
+trait clam<A:Copy> { }
 struct foo<A> {
     x: A,
 }
 
-impl<A: Copy> foo<A> {
+impl<A:Copy> foo<A> {
    fn bar<B,C:clam<A>>(c: C) -> B {
      fail!();
    }
 }
 
-fn foo<A: Copy>(b: A) -> foo<A> {
+fn foo<A:Copy>(b: A) -> foo<A> {
     foo {
         x: b
     }
diff --git a/src/test/run-pass/issue-2445-b.rs b/src/test/run-pass/issue-2445-b.rs
index 2fce24c0670..9869b8d330b 100644
--- a/src/test/run-pass/issue-2445-b.rs
+++ b/src/test/run-pass/issue-2445-b.rs
@@ -12,18 +12,18 @@ struct c1<T> {
     x: T,
 }
 
-impl<T: Copy> c1<T> {
+impl<T:Copy> c1<T> {
     fn f1(x: int) {
     }
 }
 
-fn c1<T: Copy>(x: T) -> c1<T> {
+fn c1<T:Copy>(x: T) -> c1<T> {
     c1 {
         x: x
     }
 }
 
-impl<T: Copy> c1<T> {
+impl<T:Copy> c1<T> {
     fn f2(x: int) {
     }
 }
diff --git a/src/test/run-pass/issue-2445.rs b/src/test/run-pass/issue-2445.rs
index ea1cec61867..4a085a1eb8a 100644
--- a/src/test/run-pass/issue-2445.rs
+++ b/src/test/run-pass/issue-2445.rs
@@ -12,17 +12,17 @@ struct c1<T> {
     x: T,
 }
 
-impl<T: Copy> c1<T> {
+impl<T:Copy> c1<T> {
     fn f1(x: T) {}
 }
 
-fn c1<T: Copy>(x: T) -> c1<T> {
+fn c1<T:Copy>(x: T) -> c1<T> {
     c1 {
         x: x
     }
 }
 
-impl<T: Copy> c1<T> {
+impl<T:Copy> c1<T> {
     fn f2(x: T) {}
 }
 
diff --git a/src/test/run-pass/issue-2718.rs b/src/test/run-pass/issue-2718.rs
index 8472f0158bb..029fe12fcd9 100644
--- a/src/test/run-pass/issue-2718.rs
+++ b/src/test/run-pass/issue-2718.rs
@@ -34,7 +34,7 @@ pub mod pipes {
         mut payload: Option<T>
     };
 
-    pub fn packet<T: Owned>() -> *packet<T> {
+    pub fn packet<T:Owned>() -> *packet<T> {
         unsafe {
             let p: *packet<T> = cast::transmute(~Stuff{
                 mut state: empty,
@@ -70,7 +70,7 @@ pub mod pipes {
         }
     }
 
-    pub fn send<T: Owned>(-p: send_packet<T>, -payload: T) {
+    pub fn send<T:Owned>(-p: send_packet<T>, -payload: T) {
         let p = p.unwrap();
         let p = unsafe { uniquify(p) };
         assert (*p).payload.is_none();
@@ -96,7 +96,7 @@ pub mod pipes {
         }
     }
 
-    pub fn recv<T: Owned>(-p: recv_packet<T>) -> Option<T> {
+    pub fn recv<T:Owned>(-p: recv_packet<T>) -> Option<T> {
         let p = p.unwrap();
         let p = unsafe { uniquify(p) };
         loop {
@@ -117,7 +117,7 @@ pub mod pipes {
         }
     }
 
-    pub fn sender_terminate<T: Owned>(p: *packet<T>) {
+    pub fn sender_terminate<T:Owned>(p: *packet<T>) {
         let p = unsafe { uniquify(p) };
         match swap_state_rel(&mut (*p).state, terminated) {
           empty | blocked => {
@@ -134,7 +134,7 @@ pub mod pipes {
         }
     }
 
-    pub fn receiver_terminate<T: Owned>(p: *packet<T>) {
+    pub fn receiver_terminate<T:Owned>(p: *packet<T>) {
         let p = unsafe { uniquify(p) };
         match swap_state_rel(&mut (*p).state, terminated) {
           empty => {
@@ -155,7 +155,7 @@ pub mod pipes {
         mut p: Option<*packet<T>>,
     }
 
-    pub impl<T: Owned> Drop for send_packet<T> {
+    pub impl<T:Owned> Drop for send_packet<T> {
         fn finalize(&self) {
             if self.p != None {
                 let mut p = None;
@@ -165,7 +165,7 @@ pub mod pipes {
         }
     }
 
-    pub impl<T: Owned> send_packet<T> {
+    pub impl<T:Owned> send_packet<T> {
         fn unwrap() -> *packet<T> {
             let mut p = None;
             p <-> self.p;
@@ -173,7 +173,7 @@ pub mod pipes {
         }
     }
 
-    pub fn send_packet<T: Owned>(p: *packet<T>) -> send_packet<T> {
+    pub fn send_packet<T:Owned>(p: *packet<T>) -> send_packet<T> {
         send_packet {
             p: Some(p)
         }
@@ -183,7 +183,7 @@ pub mod pipes {
         mut p: Option<*packet<T>>,
     }
 
-    pub impl<T: Owned> Drop for recv_packet<T> {
+    pub impl<T:Owned> Drop for recv_packet<T> {
         fn finalize(&self) {
             if self.p != None {
                 let mut p = None;
@@ -193,7 +193,7 @@ pub mod pipes {
         }
     }
 
-    pub impl<T: Owned> recv_packet<T> {
+    pub impl<T:Owned> recv_packet<T> {
         fn unwrap() -> *packet<T> {
             let mut p = None;
             p <-> self.p;
@@ -201,13 +201,13 @@ pub mod pipes {
         }
     }
 
-    pub fn recv_packet<T: Owned>(p: *packet<T>) -> recv_packet<T> {
+    pub fn recv_packet<T:Owned>(p: *packet<T>) -> recv_packet<T> {
         recv_packet {
             p: Some(p)
         }
     }
 
-    pub fn entangle<T: Owned>() -> (send_packet<T>, recv_packet<T>) {
+    pub fn entangle<T:Owned>() -> (send_packet<T>, recv_packet<T>) {
         let p = packet();
         (send_packet(p), recv_packet(p))
     }
diff --git a/src/test/run-pass/issue-2734.rs b/src/test/run-pass/issue-2734.rs
index ed7b032e713..45c6b22544d 100644
--- a/src/test/run-pass/issue-2734.rs
+++ b/src/test/run-pass/issue-2734.rs
@@ -11,7 +11,7 @@
 trait hax { } 
 impl<A> hax for A { } 
 
-fn perform_hax<T: &static>(x: @T) -> hax {
+fn perform_hax<T:&static>(x: @T) -> hax {
     x as hax 
 }
 
diff --git a/src/test/run-pass/issue-2735.rs b/src/test/run-pass/issue-2735.rs
index 8a6f2a0b461..7c87c6a31cd 100644
--- a/src/test/run-pass/issue-2735.rs
+++ b/src/test/run-pass/issue-2735.rs
@@ -11,7 +11,7 @@
 trait hax { } 
 impl<A> hax for A { } 
 
-fn perform_hax<T: &static>(x: @T) -> hax {
+fn perform_hax<T:&static>(x: @T) -> hax {
     x as hax 
 }
 
diff --git a/src/test/run-pass/issue-2834.rs b/src/test/run-pass/issue-2834.rs
index 84e0f20e61b..579c4f9f1d1 100644
--- a/src/test/run-pass/issue-2834.rs
+++ b/src/test/run-pass/issue-2834.rs
@@ -12,7 +12,7 @@
 //
 
 proto! streamp (
-    open:send<T: Owned> {
+    open:send<T:Owned> {
         data(T) -> open<T>
     }
 )
diff --git a/src/test/run-pass/issue-3305.rs b/src/test/run-pass/issue-3305.rs
index 53dd6f942e8..b44d1cbb78d 100644
--- a/src/test/run-pass/issue-3305.rs
+++ b/src/test/run-pass/issue-3305.rs
@@ -16,7 +16,7 @@ impl double for uint {
     fn double() -> uint { self * 2u }
 }
 
-fn is_equal<D: double>(x: @D, exp: uint) {
+fn is_equal<D:double>(x: @D, exp: uint) {
     assert x.double() == exp;
 }
 
diff --git a/src/test/run-pass/issue-333.rs b/src/test/run-pass/issue-333.rs
index 8b863bd90b6..1f9dd6e3b6f 100644
--- a/src/test/run-pass/issue-333.rs
+++ b/src/test/run-pass/issue-333.rs
@@ -8,8 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-fn quux<T: Copy>(x: T) -> T { let f = id::<T>; return f(x); }
+fn quux<T:Copy>(x: T) -> T { let f = id::<T>; return f(x); }
 
-fn id<T: Copy>(x: T) -> T { return x; }
+fn id<T:Copy>(x: T) -> T { return x; }
 
 pub fn main() { assert (quux(10) == 10); }
diff --git a/src/test/run-pass/issue-3480.rs b/src/test/run-pass/issue-3480.rs
index 252ebb86685..e813cde7c27 100644
--- a/src/test/run-pass/issue-3480.rs
+++ b/src/test/run-pass/issue-3480.rs
@@ -9,14 +9,14 @@
 // except according to those terms.
 
 // xfail-test
-type IMap<K: Copy, V: Copy> = ~[(K, V)];
+type IMap<K:Copy,V:Copy> = ~[(K, V)];
 
-trait ImmutableMap<K: Copy, V: Copy>
+trait ImmutableMap<K:Copy,V:Copy>
 {
     pure fn contains_key(key: K) -> bool;
 }
 
-impl<K: Copy, V: Copy> IMap<K, V> : ImmutableMap<K, V>
+impl<K:Copy,V:Copy> IMap<K, V> : ImmutableMap<K, V>
 {
     pure fn contains_key(key: K) -> bool
     {
diff --git a/src/test/run-pass/issue-4016.rs b/src/test/run-pass/issue-4016.rs
index 307d7974762..69cd1a2a19d 100644
--- a/src/test/run-pass/issue-4016.rs
+++ b/src/test/run-pass/issue-4016.rs
@@ -18,7 +18,7 @@ use std::serialization::{Deserializable, deserialize};
 trait JD : Deserializable<json::Deserializer> { }
 //type JD = Deserializable<json::Deserializer>;
 
-fn exec<T: JD>() {
+fn exec<T:JD>() {
     let doc = result::unwrap(json::from_str(""));
     let _v: T = deserialize(&json::Deserializer(doc));
     fail!()
diff --git a/src/test/run-pass/ivec-add.rs b/src/test/run-pass/ivec-add.rs
index f06185f3727..aa61a35d6e3 100644
--- a/src/test/run-pass/ivec-add.rs
+++ b/src/test/run-pass/ivec-add.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-fn double<T: Copy>(a: T) -> ~[T] { return ~[a] + ~[a]; }
+fn double<T:Copy>(a: T) -> ~[T] { return ~[a] + ~[a]; }
 
 fn double_int(a: int) -> ~[int] { return ~[a] + ~[a]; }
 
diff --git a/src/test/run-pass/monad.rs b/src/test/run-pass/monad.rs
index 9447330fe07..5a3adc14e43 100644
--- a/src/test/run-pass/monad.rs
+++ b/src/test/run-pass/monad.rs
@@ -12,11 +12,11 @@
 #[legacy_modes];
 
 trait vec_monad<A> {
-    fn bind<B: Copy>(f: fn(A) -> ~[B]) -> ~[B];
+    fn bind<B:Copy>(f: fn(A) -> ~[B]) -> ~[B];
 }
 
 impl<A> vec_monad<A> for ~[A] {
-    fn bind<B: Copy>(f: fn(A) -> ~[B]) -> ~[B] {
+    fn bind<B:Copy>(f: fn(A) -> ~[B]) -> ~[B] {
         let mut r = ~[];
         for self.each |elt| { r += f(*elt); }
         r
diff --git a/src/test/run-pass/monomorphized-callees-with-ty-params-3314.rs b/src/test/run-pass/monomorphized-callees-with-ty-params-3314.rs
index b5af07207bc..88c317a3c07 100644
--- a/src/test/run-pass/monomorphized-callees-with-ty-params-3314.rs
+++ b/src/test/run-pass/monomorphized-callees-with-ty-params-3314.rs
@@ -14,17 +14,17 @@ trait Serializer {
 }
 
 trait Serializable {
-    fn serialize<S: Serializer>(s: S);
+    fn serialize<S:Serializer>(s: S);
 }
 
 impl Serializable for int {
-    fn serialize<S: Serializer>(_s: S) { }
+    fn serialize<S:Serializer>(_s: S) { }
 }
 
 struct F<A> { a: A }
 
-impl<A: Copy Serializable> Serializable for F<A> {
-    fn serialize<S: Serializer>(s: S) {
+impl<A:Copy + Serializable> Serializable for F<A> {
+    fn serialize<S:Serializer>(s: S) {
         self.a.serialize(s);
     }
 }
diff --git a/src/test/run-pass/newtype-polymorphic.rs b/src/test/run-pass/newtype-polymorphic.rs
index dfa1008a69e..01e554ad041 100644
--- a/src/test/run-pass/newtype-polymorphic.rs
+++ b/src/test/run-pass/newtype-polymorphic.rs
@@ -10,9 +10,9 @@
 
 enum myvec<X> = ~[X];
 
-fn myvec_deref<X: Copy>(mv: myvec<X>) -> ~[X] { return copy *mv; }
+fn myvec_deref<X:Copy>(mv: myvec<X>) -> ~[X] { return copy *mv; }
 
-fn myvec_elt<X: Copy>(mv: myvec<X>) -> X { return mv[0]; }
+fn myvec_elt<X:Copy>(mv: myvec<X>) -> X { return mv[0]; }
 
 pub fn main() {
     let mv = myvec(~[1, 2, 3]);
diff --git a/src/test/run-pass/non-boolean-pure-fns.rs b/src/test/run-pass/non-boolean-pure-fns.rs
index 3fb9a557fa1..931c4cbad79 100644
--- a/src/test/run-pass/non-boolean-pure-fns.rs
+++ b/src/test/run-pass/non-boolean-pure-fns.rs
@@ -14,15 +14,15 @@ extern mod std;
 
 use std::list::*;
 
-pure fn pure_length_go<T: Copy>(ls: @List<T>, acc: uint) -> uint {
+pure fn pure_length_go<T:Copy>(ls: @List<T>, acc: uint) -> uint {
     match *ls { Nil => { acc } Cons(_, tl) => { pure_length_go(tl, acc + 1u) } }
 }
 
-pure fn pure_length<T: Copy>(ls: @List<T>) -> uint { pure_length_go(ls, 0u) }
+pure fn pure_length<T:Copy>(ls: @List<T>) -> uint { pure_length_go(ls, 0u) }
 
-pure fn nonempty_list<T: Copy>(ls: @List<T>) -> bool { pure_length(ls) > 0u }
+pure fn nonempty_list<T:Copy>(ls: @List<T>) -> bool { pure_length(ls) > 0u }
 
-fn safe_head<T: Copy>(ls: @List<T>) -> T {
+fn safe_head<T:Copy>(ls: @List<T>) -> T {
     assert !is_empty(ls);
     return head(ls);
 }
diff --git a/src/test/run-pass/pipe-bank-proto.rs b/src/test/run-pass/pipe-bank-proto.rs
index bc218e71ede..0016d792c0d 100644
--- a/src/test/run-pass/pipe-bank-proto.rs
+++ b/src/test/run-pass/pipe-bank-proto.rs
@@ -47,7 +47,7 @@ macro_rules! move_it (
     { $x:expr } => { unsafe { let y = *ptr::addr_of(&($x)); y } }
 )
 
-fn switch<T: Owned, U>(+endp: pipes::RecvPacket<T>,
+fn switch<T:Owned,U>(+endp: pipes::RecvPacket<T>,
                       f: fn(+v: Option<T>) -> U) -> U {
     f(pipes::try_recv(endp))
 }
diff --git a/src/test/run-pass/reflect-visit-data.rs b/src/test/run-pass/reflect-visit-data.rs
index 3694ffdfde0..890599f9b8b 100644
--- a/src/test/run-pass/reflect-visit-data.rs
+++ b/src/test/run-pass/reflect-visit-data.rs
@@ -31,7 +31,7 @@ fn align(size: uint, align: uint) -> uint {
 
 enum ptr_visit_adaptor<V> = Inner<V>;
 
-impl<V: TyVisitor movable_ptr> ptr_visit_adaptor<V> {
+impl<V:TyVisitor + movable_ptr> ptr_visit_adaptor<V> {
 
     #[inline(always)]
     fn bump(sz: uint) {
@@ -59,7 +59,7 @@ impl<V: TyVisitor movable_ptr> ptr_visit_adaptor<V> {
 
 }
 
-impl<V: TyVisitor movable_ptr> TyVisitor for ptr_visit_adaptor<V> {
+impl<V:TyVisitor + movable_ptr> TyVisitor for ptr_visit_adaptor<V> {
 
     fn visit_bot(&self) -> bool {
         self.align_to::<()>();
diff --git a/src/test/run-pass/resource-generic.rs b/src/test/run-pass/resource-generic.rs
index eb25f20607f..347c14538a1 100644
--- a/src/test/run-pass/resource-generic.rs
+++ b/src/test/run-pass/resource-generic.rs
@@ -17,13 +17,13 @@ struct finish<T> {
   arg: Arg<T>
 }
 
-impl<T: Copy> Drop for finish<T> {
+impl<T:Copy> Drop for finish<T> {
     fn finalize(&self) {
         (self.arg.fin)(self.arg.val);
     }
 }
 
-fn finish<T: Copy>(arg: Arg<T>) -> finish<T> {
+fn finish<T:Copy>(arg: Arg<T>) -> finish<T> {
     finish {
         arg: arg
     }
diff --git a/src/test/run-pass/ret-break-cont-in-block.rs b/src/test/run-pass/ret-break-cont-in-block.rs
index 97fa11bef1b..e70c72f550d 100644
--- a/src/test/run-pass/ret-break-cont-in-block.rs
+++ b/src/test/run-pass/ret-break-cont-in-block.rs
@@ -21,7 +21,7 @@ fn iter<T>(v: ~[T], it: fn(T) -> bool) {
     }
 }
 
-fn find_pos<T:Eq Copy>(n: T, h: ~[T]) -> Option<uint> {
+fn find_pos<T:Eq + Copy>(n: T, h: ~[T]) -> Option<uint> {
     let mut i = 0u;
     for iter(copy h) |e| {
         if e == n { return Some(i); }
diff --git a/src/test/run-pass/ret-none.rs b/src/test/run-pass/ret-none.rs
index 1df01a5e579..d493f23ba84 100644
--- a/src/test/run-pass/ret-none.rs
+++ b/src/test/run-pass/ret-none.rs
@@ -12,6 +12,6 @@
 
 enum option<T> { none, some(T), }
 
-fn f<T: Copy>() -> option<T> { return none; }
+fn f<T:Copy>() -> option<T> { return none; }
 
 pub fn main() { f::<int>(); }
diff --git a/src/test/run-pass/send-type-inference.rs b/src/test/run-pass/send-type-inference.rs
index bf1ab6e07d2..77f06140369 100644
--- a/src/test/run-pass/send-type-inference.rs
+++ b/src/test/run-pass/send-type-inference.rs
@@ -13,7 +13,7 @@ use core::pipes::*;
 // tests that ctrl's type gets inferred properly
 type command<K, V> = {key: K, val: V};
 
-fn cache_server<K: Owned, V: Owned>(c: Chan<Chan<command<K, V>>>) {
+fn cache_server<K:Owned,V:Owned>(c: Chan<Chan<command<K, V>>>) {
     let (ctrl_port, ctrl_chan) = stream();
     c.send(ctrl_chan);
 }
diff --git a/src/test/run-pass/sendfn-generic-fn.rs b/src/test/run-pass/sendfn-generic-fn.rs
index be4b609afab..2dc008931e4 100644
--- a/src/test/run-pass/sendfn-generic-fn.rs
+++ b/src/test/run-pass/sendfn-generic-fn.rs
@@ -15,7 +15,7 @@ pub fn main() { test05(); }
 
 struct Pair<A,B> { a: A, b: B }
 
-fn make_generic_record<A: Copy, B: Copy>(a: A, b: B) -> Pair<A,B> {
+fn make_generic_record<A:Copy,B:Copy>(a: A, b: B) -> Pair<A,B> {
     return Pair {a: a, b: b};
 }
 
@@ -31,7 +31,7 @@ fn test05_start(&&f: fn~(&&v: float, &&v: ~str) -> Pair<float, ~str>) {
     assert q.b == ~"Ho";
 }
 
-fn spawn<A: Copy, B: Copy>(f: extern fn(fn~(A,B)->Pair<A,B>)) {
+fn spawn<A:Copy,B:Copy>(f: extern fn(fn~(A,B)->Pair<A,B>)) {
     let arg = fn~(a: A, b: B) -> Pair<A,B> {
         return make_generic_record(a, b);
     };
diff --git a/src/test/run-pass/static-impl.rs b/src/test/run-pass/static-impl.rs
index 5e7785c2dbb..5cc54da28b2 100644
--- a/src/test/run-pass/static-impl.rs
+++ b/src/test/run-pass/static-impl.rs
@@ -41,13 +41,13 @@ impl uint_utils for uint {
 trait vec_utils<T> {
     fn length_() -> uint;
     fn iter_(f: fn(T));
-    fn map_<U: Copy>(f: fn(T) -> U) -> ~[U];
+    fn map_<U:Copy>(f: fn(T) -> U) -> ~[U];
 }
 
 impl<T> vec_utils<T> for ~[T] {
     fn length_() -> uint { vec::len(self) }
     fn iter_(f: fn(T)) { for self.each |x| { f(*x); } }
-    fn map_<U: Copy>(f: fn(T) -> U) -> ~[U] {
+    fn map_<U:Copy>(f: fn(T) -> U) -> ~[U] {
         let mut r = ~[];
         for self.each |elt| { r += ~[f(*elt)]; }
         r
diff --git a/src/test/run-pass/static-method-in-trait-with-tps-intracrate.rs b/src/test/run-pass/static-method-in-trait-with-tps-intracrate.rs
index 328a937b441..9a9533d7c8a 100644
--- a/src/test/run-pass/static-method-in-trait-with-tps-intracrate.rs
+++ b/src/test/run-pass/static-method-in-trait-with-tps-intracrate.rs
@@ -12,11 +12,11 @@ trait Deserializer {
     fn read_int() -> int;
 }
 
-trait Deserializable<D: Deserializer> {
+trait Deserializable<D:Deserializer> {
     static fn deserialize(d: &D) -> Self;
 }
 
-impl<D: Deserializer> Deserializable<D> for int {
+impl<D:Deserializer> Deserializable<D> for int {
     static fn deserialize(d: &D) -> int {
         return d.read_int();
     }
diff --git a/src/test/run-pass/static-method-test.rs b/src/test/run-pass/static-method-test.rs
index da79bf53fe0..d9461c48be8 100644
--- a/src/test/run-pass/static-method-test.rs
+++ b/src/test/run-pass/static-method-test.rs
@@ -17,7 +17,7 @@ trait bool_like {
     static fn select<A>(b: Self, +x1: A, +x2: A) -> A;
 }
 
-fn andand<T: bool_like Copy>(x1: T, x2: T) -> T {
+fn andand<T:bool_like + Copy>(x1: T, x2: T) -> T {
     bool_like::select(x1, x2, x1)
 }
 
@@ -70,7 +70,7 @@ fn map<T, IT: BaseIter<T>, U, BU: buildable<U>>
     }
 }
 
-fn seq_range<BT: buildable<int>>(lo: uint, hi: uint) -> BT {
+fn seq_range<BT:buildable<int>>(lo: uint, hi: uint) -> BT {
     do buildable::build_sized(hi-lo) |push| {
         for uint::range(lo, hi) |i| {
             push(i as int);
diff --git a/src/test/run-pass/trait-bounds.rs b/src/test/run-pass/trait-bounds.rs
index 2e093d6d631..1775bba934c 100644
--- a/src/test/run-pass/trait-bounds.rs
+++ b/src/test/run-pass/trait-bounds.rs
@@ -12,7 +12,7 @@ trait connection {
     fn read() -> int;
 }
 
-trait connection_factory<C: connection> {
+trait connection_factory<C:connection> {
     fn create() -> C;
 }
 
diff --git a/src/test/run-pass/trait-cast.rs b/src/test/run-pass/trait-cast.rs
index 62d1c00eea9..e0e3c6e1597 100644
--- a/src/test/run-pass/trait-cast.rs
+++ b/src/test/run-pass/trait-cast.rs
@@ -21,7 +21,7 @@ trait to_str {
     fn to_str() -> ~str;
 }
 
-impl<T: to_str> to_str for Option<T> {
+impl<T:to_str> to_str for Option<T> {
     fn to_str() -> ~str {
         match self {
           None => { ~"none" }
@@ -42,7 +42,7 @@ impl to_str for Tree {
     }
 }
 
-fn foo<T: to_str>(x: T) -> ~str { x.to_str() }
+fn foo<T:to_str>(x: T) -> ~str { x.to_str() }
 
 pub fn main() {
     let t1 = Tree(@TreeR{mut left: None,
diff --git a/src/test/run-pass/trait-default-method-bound.rs b/src/test/run-pass/trait-default-method-bound.rs
index ab2f1928d1f..be50b434055 100644
--- a/src/test/run-pass/trait-default-method-bound.rs
+++ b/src/test/run-pass/trait-default-method-bound.rs
@@ -16,7 +16,7 @@ trait A {
 
 impl A for int { }
 
-fn f<T: A>(i: T) {
+fn f<T:A>(i: T) {
     assert i.g() == 10;
 }
 
diff --git a/src/test/run-pass/trait-generic.rs b/src/test/run-pass/trait-generic.rs
index 80b1b1eba39..ff902490e7c 100644
--- a/src/test/run-pass/trait-generic.rs
+++ b/src/test/run-pass/trait-generic.rs
@@ -25,10 +25,10 @@ impl to_str for () {
 }
 
 trait map<T> {
-    fn map<U: Copy>(f: fn(T) -> U) -> ~[U];
+    fn map<U:Copy>(f: fn(T) -> U) -> ~[U];
 }
 impl<T> map<T> for ~[T] {
-    fn map<U: Copy>(f: fn(T) -> U) -> ~[U] {
+    fn map<U:Copy>(f: fn(T) -> U) -> ~[U] {
         let mut r = ~[];
         for self.each |x| { r += ~[f(*x)]; }
         r
@@ -38,7 +38,7 @@ impl<T> map<T> for ~[T] {
 fn foo<U, T: map<U>>(x: T) -> ~[~str] {
     x.map(|_e| ~"hi" )
 }
-fn bar<U: to_str, T: map<U>>(x: T) -> ~[~str] {
+fn bar<U:to_str,T:map<U>>(x: T) -> ~[~str] {
     x.map(|_e| _e.to_str() )
 }
 
diff --git a/src/test/run-pass/trait-inheritance-auto-xc-2.rs b/src/test/run-pass/trait-inheritance-auto-xc-2.rs
index b8e060ee914..c3333fa10ab 100644
--- a/src/test/run-pass/trait-inheritance-auto-xc-2.rs
+++ b/src/test/run-pass/trait-inheritance-auto-xc-2.rs
@@ -18,9 +18,9 @@ use aux::{Foo, Bar, Baz, A};
 
 // We want to extend all Foo, Bar, Bazes to Quuxes
 pub trait Quux: Foo Bar Baz { }
-impl<T: Foo Bar Baz> Quux for T { }
+impl<T:Foo + Bar + Baz> Quux for T { }
 
-fn f<T: Quux>(a: &T) {
+fn f<T:Quux>(a: &T) {
     assert a.f() == 10;
     assert a.g() == 20;
     assert a.h() == 30;
diff --git a/src/test/run-pass/trait-inheritance-auto-xc.rs b/src/test/run-pass/trait-inheritance-auto-xc.rs
index f0fa291f00c..302076da7a2 100644
--- a/src/test/run-pass/trait-inheritance-auto-xc.rs
+++ b/src/test/run-pass/trait-inheritance-auto-xc.rs
@@ -21,7 +21,7 @@ impl Foo for A { fn f() -> int { 10 } }
 impl Bar for A { fn g() -> int { 20 } }
 impl Baz for A { fn h() -> int { 30 } }
 
-fn f<T: Quux>(a: &T) {
+fn f<T:Quux>(a: &T) {
     assert a.f() == 10;
     assert a.g() == 20;
     assert a.h() == 30;
diff --git a/src/test/run-pass/trait-inheritance-auto.rs b/src/test/run-pass/trait-inheritance-auto.rs
index 84e498c8ffd..5d576193880 100644
--- a/src/test/run-pass/trait-inheritance-auto.rs
+++ b/src/test/run-pass/trait-inheritance-auto.rs
@@ -10,7 +10,7 @@
 
 // Testing that this impl turns A into a Quux, because
 // A is already a Foo Bar Baz
-impl<T: Foo Bar Baz> Quux for T { }
+impl<T:Foo + Bar + Baz> Quux for T { }
 
 trait Foo { fn f() -> int; }
 trait Bar { fn g() -> int; }
@@ -24,7 +24,7 @@ impl Foo for A { fn f() -> int { 10 } }
 impl Bar for A { fn g() -> int { 20 } }
 impl Baz for A { fn h() -> int { 30 } }
 
-fn f<T: Quux>(a: &T) {
+fn f<T:Quux>(a: &T) {
     assert a.f() == 10;
     assert a.g() == 20;
     assert a.h() == 30;
diff --git a/src/test/run-pass/trait-inheritance-call-bound-inherited2.rs b/src/test/run-pass/trait-inheritance-call-bound-inherited2.rs
index 45498996ba5..11a0918ba78 100644
--- a/src/test/run-pass/trait-inheritance-call-bound-inherited2.rs
+++ b/src/test/run-pass/trait-inheritance-call-bound-inherited2.rs
@@ -20,7 +20,7 @@ impl Baz for A { fn h() -> int { 30 } }
 
 // Call a function on Foo, given a T: Baz,
 // which is inherited via Bar
-fn gg<T: Baz>(a: &T) -> int {
+fn gg<T:Baz>(a: &T) -> int {
     a.f()
 }
 
diff --git a/src/test/run-pass/trait-inheritance-diamond.rs b/src/test/run-pass/trait-inheritance-diamond.rs
index 1c914ebabc0..1d6e4823091 100644
--- a/src/test/run-pass/trait-inheritance-diamond.rs
+++ b/src/test/run-pass/trait-inheritance-diamond.rs
@@ -22,7 +22,7 @@ impl B for S { fn b(&self) -> int { 20 } }
 impl C for S { fn c(&self) -> int { 30 } }
 impl D for S { fn d(&self) -> int { 40 } }
 
-fn f<T: D>(x: &T) {
+fn f<T:D>(x: &T) {
     assert x.a() == 10;
     assert x.b() == 20;
     assert x.c() == 30;
diff --git a/src/test/run-pass/trait-inheritance-multiple-inheritors.rs b/src/test/run-pass/trait-inheritance-multiple-inheritors.rs
index afcf5c87832..ad4d3ebc0b5 100644
--- a/src/test/run-pass/trait-inheritance-multiple-inheritors.rs
+++ b/src/test/run-pass/trait-inheritance-multiple-inheritors.rs
@@ -19,7 +19,7 @@ impl B for S { fn b(&self) -> int { 20 } }
 impl C for S { fn c(&self) -> int { 30 } }
 
 // Both B and C inherit from A
-fn f<T: B C>(x: &T) {
+fn f<T:B + C>(x: &T) {
     assert x.a() == 10;
     assert x.b() == 20;
     assert x.c() == 30;
diff --git a/src/test/run-pass/trait-inheritance-multiple-params.rs b/src/test/run-pass/trait-inheritance-multiple-params.rs
index a91a40ce221..5b6a754488e 100644
--- a/src/test/run-pass/trait-inheritance-multiple-params.rs
+++ b/src/test/run-pass/trait-inheritance-multiple-params.rs
@@ -19,7 +19,7 @@ impl B for S { fn b(&self) -> int { 20 } }
 impl C for S { fn c(&self) -> int { 30 } }
 
 // Multiple type params, multiple levels of inheritance
-fn f<X: A, Y: B, Z: C>(x: &X, y: &Y, z: &Z) {
+fn f<X:A,Y:B,Z:C>(x: &X, y: &Y, z: &Z) {
     assert x.a() == 10;
     assert y.a() == 10;
     assert y.b() == 20;
diff --git a/src/test/run-pass/trait-inheritance-overloading-xc-exe.rs b/src/test/run-pass/trait-inheritance-overloading-xc-exe.rs
index f7798507871..1d59f1fc19e 100644
--- a/src/test/run-pass/trait-inheritance-overloading-xc-exe.rs
+++ b/src/test/run-pass/trait-inheritance-overloading-xc-exe.rs
@@ -14,7 +14,7 @@
 extern mod trait_inheritance_overloading_xc;
 use trait_inheritance_overloading_xc::{MyNum, MyInt};
 
-fn f<T:Copy MyNum>(x: T, y: T) -> (T, T, T) {
+fn f<T:Copy + MyNum>(x: T, y: T) -> (T, T, T) {
     return (x + y, x - y, x * y);
 }
 
diff --git a/src/test/run-pass/trait-inheritance-overloading.rs b/src/test/run-pass/trait-inheritance-overloading.rs
index f56a950f918..08f3d41ddad 100644
--- a/src/test/run-pass/trait-inheritance-overloading.rs
+++ b/src/test/run-pass/trait-inheritance-overloading.rs
@@ -33,7 +33,7 @@ impl Eq for MyInt {
 
 impl MyNum for MyInt;
 
-fn f<T:Copy MyNum>(x: T, y: T) -> (T, T, T) {
+fn f<T:Copy + MyNum>(x: T, y: T) -> (T, T, T) {
     return (x + y, x - y, x * y);
 }
 
diff --git a/src/test/run-pass/trait-inheritance-visibility.rs b/src/test/run-pass/trait-inheritance-visibility.rs
index 6015eff8abe..8518137bbb8 100644
--- a/src/test/run-pass/trait-inheritance-visibility.rs
+++ b/src/test/run-pass/trait-inheritance-visibility.rs
@@ -15,11 +15,11 @@ mod traits {
 }
 
 trait Quux: traits::Foo { }
-impl<T: traits::Foo> Quux for T { }
+impl<T:traits::Foo> Quux for T { }
 
 // Foo is not in scope but because Quux is we can still access
 // Foo's methods on a Quux bound typaram
-fn f<T: Quux>(x: &T) {
+fn f<T:Quux>(x: &T) {
     assert x.f() == 10;
 }
 
diff --git a/src/test/run-pass/trait-inheritance2.rs b/src/test/run-pass/trait-inheritance2.rs
index 08448a65ac8..55a63e9099a 100644
--- a/src/test/run-pass/trait-inheritance2.rs
+++ b/src/test/run-pass/trait-inheritance2.rs
@@ -21,7 +21,7 @@ impl Bar for A { fn g() -> int { 20 } }
 impl Baz for A { fn h() -> int { 30 } }
 impl Quux for A;
 
-fn f<T: Quux Foo Bar Baz>(a: &T) {
+fn f<T:Quux + Foo + Bar + Baz>(a: &T) {
     assert a.f() == 10;
     assert a.g() == 20;
     assert a.h() == 30;
diff --git a/src/test/run-pass/trait-to-str.rs b/src/test/run-pass/trait-to-str.rs
index b3ebc2ba820..20e23c0fc58 100644
--- a/src/test/run-pass/trait-to-str.rs
+++ b/src/test/run-pass/trait-to-str.rs
@@ -24,7 +24,7 @@ impl to_str for int {
     fn to_str() -> ~str { int::str(self) }
 }
 
-impl<T: to_str> to_str for ~[T] {
+impl<T:to_str> to_str for ~[T] {
     fn to_str() -> ~str {
         ~"[" + str::connect(vec::map(self, |e| e.to_str() ), ~", ") + ~"]"
     }
@@ -34,12 +34,12 @@ pub fn main() {
     assert 1.to_str() == ~"1";
     assert (~[2, 3, 4]).to_str() == ~"[2, 3, 4]";
 
-    fn indirect<T: to_str>(x: T) -> ~str {
+    fn indirect<T:to_str>(x: T) -> ~str {
         x.to_str() + ~"!"
     }
     assert indirect(~[10, 20]) == ~"[10, 20]!";
 
-    fn indirect2<T: to_str>(x: T) -> ~str {
+    fn indirect2<T:to_str>(x: T) -> ~str {
         indirect(x)
     }
     assert indirect2(~[1]) == ~"[1]!";
diff --git a/src/test/run-pass/type-param-constraints.rs b/src/test/run-pass/type-param-constraints.rs
index 95920bcc967..684e0a8aaae 100644
--- a/src/test/run-pass/type-param-constraints.rs
+++ b/src/test/run-pass/type-param-constraints.rs
@@ -12,8 +12,8 @@
 #[legacy_modes];
 
 fn p_foo<T>(pinned: T) { }
-fn s_foo<T: Copy>(shared: T) { }
-fn u_foo<T: Owned>(unique: T) { }
+fn s_foo<T:Copy>(shared: T) { }
+fn u_foo<T:Owned>(unique: T) { }
 
 struct r {
   i: int,
diff --git a/src/test/run-pass/uniq-cc-generic.rs b/src/test/run-pass/uniq-cc-generic.rs
index 8de91acd185..dd86150b93b 100644
--- a/src/test/run-pass/uniq-cc-generic.rs
+++ b/src/test/run-pass/uniq-cc-generic.rs
@@ -18,7 +18,7 @@ struct Pointy {
     d : fn~() -> uint,
 }
 
-fn make_uniq_closure<A:Owned Copy>(a: A) -> fn~() -> uint {
+fn make_uniq_closure<A:Owned + Copy>(a: A) -> fn~() -> uint {
     fn~() -> uint { ptr::addr_of(&a) as uint }
 }
 
diff --git a/src/test/run-pass/unique-assign-generic.rs b/src/test/run-pass/unique-assign-generic.rs
index 9ad5575be9d..d6992e4623f 100644
--- a/src/test/run-pass/unique-assign-generic.rs
+++ b/src/test/run-pass/unique-assign-generic.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-fn f<T: Copy>(t: T) -> T {
+fn f<T:Copy>(t: T) -> T {
     let t1 = t;
     t1
 }
diff --git a/src/test/run-pass/unique-generic-assign.rs b/src/test/run-pass/unique-generic-assign.rs
index 5d3b550c430..ab92b10a332 100644
--- a/src/test/run-pass/unique-generic-assign.rs
+++ b/src/test/run-pass/unique-generic-assign.rs
@@ -10,7 +10,7 @@
 
 // Issue #976
 
-fn f<T: Copy>(x: ~T) {
+fn f<T:Copy>(x: ~T) {
     let _x2 = x;
 }
 pub fn main() { }
diff --git a/src/test/run-pass/unique-kinds.rs b/src/test/run-pass/unique-kinds.rs
index 0cffa14fb70..180ce716dcc 100644
--- a/src/test/run-pass/unique-kinds.rs
+++ b/src/test/run-pass/unique-kinds.rs
@@ -12,11 +12,11 @@ use cmp::Eq;
 
 fn sendable() {
 
-    fn f<T: Owned Eq>(i: T, j: T) {
+    fn f<T:Owned + Eq>(i: T, j: T) {
         assert i == j;
     }
 
-    fn g<T: Owned Eq>(i: T, j: T) {
+    fn g<T:Owned + Eq>(i: T, j: T) {
         assert i != j;
     }
 
@@ -30,11 +30,11 @@ fn sendable() {
 
 fn copyable() {
 
-    fn f<T: Copy Eq>(i: T, j: T) {
+    fn f<T:Copy + Eq>(i: T, j: T) {
         assert i == j;
     }
 
-    fn g<T: Copy Eq>(i: T, j: T) {
+    fn g<T:Copy + Eq>(i: T, j: T) {
         assert i != j;
     }
 
@@ -48,11 +48,11 @@ fn copyable() {
 
 fn noncopyable() {
 
-    fn f<T: Eq>(i: T, j: T) {
+    fn f<T:Eq>(i: T, j: T) {
         assert i == j;
     }
 
-    fn g<T: Eq>(i: T, j: T) {
+    fn g<T:Eq>(i: T, j: T) {
         assert i != j;
     }