about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2013-02-14 11:47:00 -0800
committerPatrick Walton <pcwalton@mimiga.net>2013-02-14 14:44:12 -0800
commit9143688197ee1ba14e224badbe1402b36111e592 (patch)
tree44b298c748b863da2c2c855733f1b2d58075fa9b /src/test
parent8ec6f43d6c58588576743f5adb28b78dbc3bb057 (diff)
downloadrust-9143688197ee1ba14e224badbe1402b36111e592.tar.gz
rust-9143688197ee1ba14e224badbe1402b36111e592.zip
librustc: Replace `impl Type : Trait` with `impl Trait for Type`. rs=implflipping
Diffstat (limited to 'src/test')
-rw-r--r--src/test/auxiliary/ambig_impl_2_lib.rs2
-rw-r--r--src/test/auxiliary/cci_impl_lib.rs2
-rw-r--r--src/test/auxiliary/explicit_self_xcrate.rs2
-rw-r--r--src/test/auxiliary/impl_privacy_xc_2.rs2
-rw-r--r--src/test/auxiliary/issue-2380.rs2
-rw-r--r--src/test/auxiliary/issue-2414-a.rs2
-rw-r--r--src/test/auxiliary/issue-2526.rs4
-rw-r--r--src/test/auxiliary/issue2378a.rs2
-rw-r--r--src/test/auxiliary/issue2378b.rs4
-rw-r--r--src/test/auxiliary/issue4516_ty_param_lib.rs2
-rw-r--r--src/test/auxiliary/issue_2242_a.rs2
-rw-r--r--src/test/auxiliary/issue_2242_c.rs2
-rw-r--r--src/test/auxiliary/issue_2472_b.rs2
-rw-r--r--src/test/auxiliary/issue_3136_a.rs2
-rw-r--r--src/test/auxiliary/private_variant_1.rs2
-rw-r--r--src/test/auxiliary/static-methods-crate.rs4
-rw-r--r--src/test/auxiliary/static_fn_inline_xc_aux.rs2
-rw-r--r--src/test/auxiliary/static_fn_trait_xc_aux.rs2
-rw-r--r--src/test/auxiliary/trait_inheritance_auto_xc_2_aux.rs6
-rw-r--r--src/test/auxiliary/trait_inheritance_auto_xc_aux.rs2
-rw-r--r--src/test/auxiliary/trait_inheritance_cross_trait_call_xc_aux.rs2
-rw-r--r--src/test/bench/shootout-mandelbrot.rs6
-rw-r--r--src/test/bench/task-perf-alloc-unwind.rs2
-rw-r--r--src/test/compile-fail/alt-arrows-block-then-binop.rs2
-rw-r--r--src/test/compile-fail/alt-range-fail-dominate.rs2
-rw-r--r--src/test/compile-fail/ambig_impl_2_exe.rs2
-rw-r--r--src/test/compile-fail/ambig_impl_bounds.rs2
-rw-r--r--src/test/compile-fail/ambig_impl_unify.rs4
-rw-r--r--src/test/compile-fail/assign-super.rs2
-rw-r--r--src/test/compile-fail/attempted-access-non-fatal.rs2
-rw-r--r--src/test/compile-fail/attr-before-ext.rs2
-rw-r--r--src/test/compile-fail/attr-before-let.rs2
-rw-r--r--src/test/compile-fail/auto-ref-borrowck-failure.rs2
-rw-r--r--src/test/compile-fail/auto-ref-slice-plus-ref.rs2
-rw-r--r--src/test/compile-fail/bad-method-typaram-kind.rs2
-rw-r--r--src/test/compile-fail/bad-value-ident-false.rs2
-rw-r--r--src/test/compile-fail/bad-value-ident-true.rs2
-rw-r--r--src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-1.rs2
-rw-r--r--src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-2.rs2
-rw-r--r--src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-3.rs2
-rw-r--r--src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-4.rs2
-rw-r--r--src/test/compile-fail/bind-by-move-no-lvalues-1.rs2
-rw-r--r--src/test/compile-fail/bind-by-move-no-lvalues-2.rs2
-rw-r--r--src/test/compile-fail/bind-by-move-no-sub-bindings.rs2
-rw-r--r--src/test/compile-fail/binop-add-ptr.rs2
-rw-r--r--src/test/compile-fail/block-must-not-have-result-do.rs2
-rw-r--r--src/test/compile-fail/block-must-not-have-result-for.rs2
-rw-r--r--src/test/compile-fail/block-must-not-have-result-res.rs2
-rw-r--r--src/test/compile-fail/block-must-not-have-result-while.rs2
-rw-r--r--src/test/compile-fail/borrowck-addr-of-upvar.rs2
-rw-r--r--src/test/compile-fail/borrowck-assign-to-constants.rs2
-rw-r--r--src/test/compile-fail/borrowck-assign-to-enum.rs2
-rw-r--r--src/test/compile-fail/borrowck-assign-to-subfield.rs2
-rw-r--r--src/test/compile-fail/borrowck-borrowed-uniq-rvalue-2.rs2
-rw-r--r--src/test/compile-fail/borrowck-insert-during-each.rs2
-rw-r--r--src/test/compile-fail/borrowck-loan-in-overloaded-op.rs2
-rw-r--r--src/test/compile-fail/borrowck-loan-rcvr-overloaded-op.rs2
-rw-r--r--src/test/compile-fail/borrowck-loan-rcvr.rs2
-rw-r--r--src/test/compile-fail/borrowck-loan-vec-content.rs2
-rw-r--r--src/test/compile-fail/borrowck-move-from-unsafe-ptr.rs2
-rw-r--r--src/test/compile-fail/borrowck-mut-deref-comp.rs2
-rw-r--r--src/test/compile-fail/borrowck-mut-field-imm-base.rs2
-rw-r--r--src/test/compile-fail/borrowck-mut-vec-as-imm-slice-bad.rs2
-rw-r--r--src/test/compile-fail/borrowck-pure-scope-in-call.rs2
-rw-r--r--src/test/compile-fail/borrowck-unary-move-2.rs2
-rw-r--r--src/test/compile-fail/cast-from-nil.rs2
-rw-r--r--src/test/compile-fail/cast-to-nil.rs2
-rw-r--r--src/test/compile-fail/class-cast-to-trait.rs2
-rw-r--r--src/test/compile-fail/class-method-missing.rs4
-rw-r--r--src/test/compile-fail/class-missing-self.rs2
-rw-r--r--src/test/compile-fail/coerce-bad-variance.rs2
-rw-r--r--src/test/compile-fail/const-recursive.rs2
-rw-r--r--src/test/compile-fail/copy-a-resource.rs2
-rw-r--r--src/test/compile-fail/disallowed-deconstructing-destructing-struct.rs2
-rw-r--r--src/test/compile-fail/drop-on-non-struct.rs2
-rw-r--r--src/test/compile-fail/elided-test.rs2
-rw-r--r--src/test/compile-fail/empty-record-type.rs2
-rw-r--r--src/test/compile-fail/explicit-call-to-dtor.rs2
-rw-r--r--src/test/compile-fail/explicit-call-to-supertrait-dtor.rs4
-rw-r--r--src/test/compile-fail/ext-after-attrib.rs2
-rw-r--r--src/test/compile-fail/extern-no-call.rs2
-rw-r--r--src/test/compile-fail/if-without-else-result.rs2
-rw-r--r--src/test/compile-fail/immut-function-arguments.rs2
-rw-r--r--src/test/compile-fail/import-from-path.rs2
-rw-r--r--src/test/compile-fail/import-glob-path.rs2
-rw-r--r--src/test/compile-fail/infinite-instantiation.rs4
-rw-r--r--src/test/compile-fail/infinite-tag-type-recursion.rs2
-rw-r--r--src/test/compile-fail/issue-1802-1.rs2
-rw-r--r--src/test/compile-fail/issue-1802-2.rs2
-rw-r--r--src/test/compile-fail/issue-1896-1.rs2
-rw-r--r--src/test/compile-fail/issue-1900.rs2
-rw-r--r--src/test/compile-fail/issue-2063.rs2
-rw-r--r--src/test/compile-fail/issue-2111.rs2
-rw-r--r--src/test/compile-fail/issue-2149.rs2
-rw-r--r--src/test/compile-fail/issue-2330.rs2
-rw-r--r--src/test/compile-fail/issue-2548.rs2
-rw-r--r--src/test/compile-fail/issue-2590.rs2
-rw-r--r--src/test/compile-fail/issue-2611-3.rs2
-rw-r--r--src/test/compile-fail/issue-2611-4.rs2
-rw-r--r--src/test/compile-fail/issue-2611-5.rs2
-rw-r--r--src/test/compile-fail/issue-2817-2.rs2
-rw-r--r--src/test/compile-fail/issue-2823.rs2
-rw-r--r--src/test/compile-fail/issue-2951.rs2
-rw-r--r--src/test/compile-fail/issue-2995.rs2
-rw-r--r--src/test/compile-fail/issue-3021-d.rs2
-rw-r--r--src/test/compile-fail/issue-3021.rs2
-rw-r--r--src/test/compile-fail/issue-3154.rs2
-rw-r--r--src/test/compile-fail/issue-3214.rs2
-rw-r--r--src/test/compile-fail/issue-3243.rs2
-rw-r--r--src/test/compile-fail/issue-3344.rs2
-rw-r--r--src/test/compile-fail/issue-3477.rs2
-rw-r--r--src/test/compile-fail/issue-3651-2.rs2
-rw-r--r--src/test/compile-fail/issue-3651.rs2
-rw-r--r--src/test/compile-fail/issue-3668.rs2
-rw-r--r--src/test/compile-fail/issue-3702-2.rs2
-rw-r--r--src/test/compile-fail/issue-3820.rs2
-rw-r--r--src/test/compile-fail/issue-3953.rs4
-rw-r--r--src/test/compile-fail/issue-3973.rs2
-rw-r--r--src/test/compile-fail/issue-4335.rs2
-rw-r--r--src/test/compile-fail/issue-4523.rs2
-rw-r--r--src/test/compile-fail/issue-818.rs2
-rw-r--r--src/test/compile-fail/kindck-nonsendable-1.rs2
-rw-r--r--src/test/compile-fail/kindck-owned-trait-contains.rs4
-rw-r--r--src/test/compile-fail/kindck-owned-trait-scoped.rs4
-rw-r--r--src/test/compile-fail/lint-deprecated-self.rs2
-rw-r--r--src/test/compile-fail/lint-non-camel-case-types.rs2
-rw-r--r--src/test/compile-fail/liveness-unused.rs2
-rw-r--r--src/test/compile-fail/loop-does-not-diverge.rs2
-rw-r--r--src/test/compile-fail/lub-in-args.rs2
-rw-r--r--src/test/compile-fail/missing-derivable-attr.rs2
-rw-r--r--src/test/compile-fail/mod_file_correct_spans.rs2
-rw-r--r--src/test/compile-fail/mod_file_not_exist.rs2
-rw-r--r--src/test/compile-fail/mod_file_with_path_attr.rs2
-rw-r--r--src/test/compile-fail/moves-based-on-type-access-to-field.rs2
-rw-r--r--src/test/compile-fail/multiple-main.rs2
-rw-r--r--src/test/compile-fail/multitrait.rs2
-rw-r--r--src/test/compile-fail/no-send-res-ports.rs2
-rw-r--r--src/test/compile-fail/non-const.rs4
-rw-r--r--src/test/compile-fail/noncopyable-class.rs2
-rw-r--r--src/test/compile-fail/omitted-arg-in-item-fn.rs2
-rw-r--r--src/test/compile-fail/omitted-arg-wrong-types.rs2
-rw-r--r--src/test/compile-fail/pinned-deep-copy.rs2
-rw-r--r--src/test/compile-fail/pptypedef.rs2
-rw-r--r--src/test/compile-fail/private_variant_2.rs2
-rw-r--r--src/test/compile-fail/pure-modifies-aliased.rs2
-rw-r--r--src/test/compile-fail/qquote-1.rs2
-rw-r--r--src/test/compile-fail/qquote-2.rs2
-rw-r--r--src/test/compile-fail/rec-expected.rs2
-rw-r--r--src/test/compile-fail/record-with-resource.rs2
-rw-r--r--src/test/compile-fail/regions-addr-of-arg.rs2
-rw-r--r--src/test/compile-fail/regions-escape-via-trait-or-not.rs2
-rw-r--r--src/test/compile-fail/regions-in-consts.rs2
-rw-r--r--src/test/compile-fail/regions-in-enums.rs2
-rw-r--r--src/test/compile-fail/regions-in-rsrcs.rs6
-rw-r--r--src/test/compile-fail/regions-in-type-items.rs2
-rw-r--r--src/test/compile-fail/regions-infer-call-3.rs2
-rw-r--r--src/test/compile-fail/regions-infer-contravariance-due-to-immutability.rs2
-rw-r--r--src/test/compile-fail/regions-infer-contravariance-due-to-ret.rs2
-rw-r--r--src/test/compile-fail/regions-infer-covariance-due-to-arg.rs2
-rw-r--r--src/test/compile-fail/regions-infer-invariance-due-to-arg-and-ret.rs2
-rw-r--r--src/test/compile-fail/regions-infer-invariance-due-to-mutability-1.rs2
-rw-r--r--src/test/compile-fail/regions-infer-invariance-due-to-mutability-2.rs2
-rw-r--r--src/test/compile-fail/regions-infer-invariance-due-to-mutability-3.rs2
-rw-r--r--src/test/compile-fail/regions-infer-invariance-due-to-mutability-4.rs2
-rw-r--r--src/test/compile-fail/regions-infer-invariance-due-to-mutability.rs2
-rw-r--r--src/test/compile-fail/regions-infer-paramd-indirect.rs2
-rw-r--r--src/test/compile-fail/regions-infer-paramd-method.rs4
-rw-r--r--src/test/compile-fail/regions-infer-region-in-fn-but-not-type.rs2
-rw-r--r--src/test/compile-fail/regions-nested-fns-2.rs2
-rw-r--r--src/test/compile-fail/regions-nested-fns.rs2
-rw-r--r--src/test/compile-fail/regions-out-of-scope-slice.rs2
-rw-r--r--src/test/compile-fail/regions-scoping.rs2
-rw-r--r--src/test/compile-fail/regions-trait-1.rs2
-rw-r--r--src/test/compile-fail/regions-trait-2.rs2
-rw-r--r--src/test/compile-fail/regions-var-type-out-of-scope.rs2
-rw-r--r--src/test/compile-fail/repeat-to-run-dtor-twice.rs2
-rw-r--r--src/test/compile-fail/reserved-be.rs2
-rw-r--r--src/test/compile-fail/selftype-astparam.rs2
-rw-r--r--src/test/compile-fail/seq-args.rs4
-rw-r--r--src/test/compile-fail/staticness-mismatch.rs2
-rw-r--r--src/test/compile-fail/struct-fields-dupe.rs2
-rw-r--r--src/test/compile-fail/tps-invariant-class.rs2
-rw-r--r--src/test/compile-fail/tps-invariant-enum.rs2
-rw-r--r--src/test/compile-fail/tps-invariant-trait.rs4
-rw-r--r--src/test/compile-fail/trait-impl-can-not-have-untraitful-methods.rs4
-rw-r--r--src/test/compile-fail/trait-impl-different-num-params.rs2
-rw-r--r--src/test/compile-fail/trait-impl-method-mismatch.rs2
-rw-r--r--src/test/compile-fail/trait-impl-subtype.rs2
-rw-r--r--src/test/compile-fail/trait-inheritance-missing-requirement.rs2
-rw-r--r--src/test/compile-fail/trait-keyword.rs2
-rw-r--r--src/test/compile-fail/trait-test-2.rs4
-rw-r--r--src/test/compile-fail/trait-test.rs2
-rw-r--r--src/test/compile-fail/tutorial-suffix-inference-test.rs2
-rw-r--r--src/test/compile-fail/unique-mut.rs2
-rw-r--r--src/test/compile-fail/unique-object-noncopyable.rs4
-rw-r--r--src/test/compile-fail/unique-pinned-nocopy.rs2
-rw-r--r--src/test/compile-fail/unique-vec-res.rs2
-rw-r--r--src/test/compile-fail/unreachable-code.rs2
-rw-r--r--src/test/compile-fail/vec-concat-bug.rs2
-rw-r--r--src/test/compile-fail/vec-res-add.rs2
-rw-r--r--src/test/compile-fail/vtable-res-trait-param.rs2
-rw-r--r--src/test/compile-fail/warn-path-statement.rs2
-rw-r--r--src/test/run-fail/die-macro-expr.rs2
-rw-r--r--src/test/run-fail/die-macro-pure.rs2
-rw-r--r--src/test/run-fail/die-macro.rs2
-rw-r--r--src/test/run-fail/issue-2061.rs2
-rw-r--r--src/test/run-fail/linked-failure4.rs2
-rw-r--r--src/test/run-fail/morestack2.rs2
-rw-r--r--src/test/run-fail/morestack3.rs2
-rw-r--r--src/test/run-fail/morestack4.rs2
-rw-r--r--src/test/run-fail/rt-set-exit-status-fail2.rs2
-rw-r--r--src/test/run-fail/rt-set-exit-status.rs2
-rw-r--r--src/test/run-fail/too-much-recursion.rs2
-rw-r--r--src/test/run-fail/unwind-assert.rs2
-rw-r--r--src/test/run-fail/unwind-box-res.rs2
-rw-r--r--src/test/run-fail/unwind-box-trait.rs2
-rw-r--r--src/test/run-fail/unwind-resource-fail3.rs2
-rw-r--r--src/test/run-pass-fulldeps/qquote.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/alt-value-binding-in-guard-3291.rs2
-rw-r--r--src/test/run-pass/assignability-trait.rs4
-rw-r--r--src/test/run-pass/auto-encode.rs10
-rw-r--r--src/test/run-pass/auto-ref-bounded-ty-param.rs4
-rw-r--r--src/test/run-pass/auto-ref-slice-plus-ref.rs4
-rw-r--r--src/test/run-pass/auto-ref-sliceable.rs4
-rw-r--r--src/test/run-pass/auto-ref.rs2
-rw-r--r--src/test/run-pass/autoderef-method-newtype.rs2
-rw-r--r--src/test/run-pass/autoderef-method-on-trait-monomorphized.rs2
-rw-r--r--src/test/run-pass/autoderef-method-on-trait.rs2
-rw-r--r--src/test/run-pass/autoderef-method-priority.rs4
-rw-r--r--src/test/run-pass/autoderef-method-twice-but-not-thrice.rs2
-rw-r--r--src/test/run-pass/autoderef-method-twice.rs2
-rw-r--r--src/test/run-pass/autoderef-method.rs2
-rw-r--r--src/test/run-pass/autoref-intermediate-types-issue-3585.rs6
-rw-r--r--src/test/run-pass/big-literals.rs2
-rw-r--r--src/test/run-pass/binops.rs2
-rw-r--r--src/test/run-pass/borrow-by-val-method-receiver.rs2
-rw-r--r--src/test/run-pass/borrowck-borrow-from-at-vec.rs2
-rw-r--r--src/test/run-pass/borrowck-move-from-unsafe-ptr-ok.rs2
-rw-r--r--src/test/run-pass/borrowck-mut-vec-as-imm-slice.rs2
-rw-r--r--src/test/run-pass/borrowck-newtype-issue-2573.rs2
-rw-r--r--src/test/run-pass/borrowck-preserve-box-in-field.rs2
-rw-r--r--src/test/run-pass/borrowck-preserve-box-in-uniq.rs2
-rw-r--r--src/test/run-pass/borrowck-preserve-box-sometimes-needed.rs2
-rw-r--r--src/test/run-pass/borrowck-preserve-box.rs2
-rw-r--r--src/test/run-pass/borrowck-preserve-cond-box.rs2
-rw-r--r--src/test/run-pass/borrowck-univariant-enum.rs2
-rw-r--r--src/test/run-pass/borrowed-ptr-pattern-option.rs2
-rw-r--r--src/test/run-pass/boxed-trait-with-vstore.rs2
-rw-r--r--src/test/run-pass/cast-region-to-uint.rs2
-rw-r--r--src/test/run-pass/cfg-family.rs2
-rw-r--r--src/test/run-pass/cfg-target-family.rs2
-rw-r--r--src/test/run-pass/class-attributes-2.rs2
-rw-r--r--src/test/run-pass/class-cast-to-trait-multiple-types.rs4
-rw-r--r--src/test/run-pass/class-cast-to-trait.rs4
-rw-r--r--src/test/run-pass/class-dtor.rs2
-rw-r--r--src/test/run-pass/class-impl-very-parameterized-trait.rs10
-rw-r--r--src/test/run-pass/class-implement-trait-cross-crate.rs4
-rw-r--r--src/test/run-pass/class-implement-traits.rs2
-rw-r--r--src/test/run-pass/class-separate-impl.rs2
-rw-r--r--src/test/run-pass/class-str-field.rs2
-rw-r--r--src/test/run-pass/classes-cross-crate.rs2
-rw-r--r--src/test/run-pass/classes.rs2
-rw-r--r--src/test/run-pass/clone-with-exterior.rs2
-rw-r--r--src/test/run-pass/coerce-reborrow-mut-vec-rcvr.rs2
-rw-r--r--src/test/run-pass/coherence-copy-bound.rs4
-rw-r--r--src/test/run-pass/coherence-impl-in-fn.rs2
-rw-r--r--src/test/run-pass/compare-generic-enums.rs2
-rw-r--r--src/test/run-pass/conditional-compile.rs2
-rw-r--r--src/test/run-pass/const-const.rs2
-rw-r--r--src/test/run-pass/const-extern-function.rs2
-rw-r--r--src/test/run-pass/const-fn-val.rs2
-rw-r--r--src/test/run-pass/const-negative.rs2
-rw-r--r--src/test/run-pass/const-struct.rs2
-rw-r--r--src/test/run-pass/cycle-collection2.rs2
-rw-r--r--src/test/run-pass/cycle-collection4.rs2
-rw-r--r--src/test/run-pass/cycle-collection5.rs2
-rw-r--r--src/test/run-pass/deep-vector.rs2
-rw-r--r--src/test/run-pass/deep-vector2.rs2
-rw-r--r--src/test/run-pass/default-method-simple.rs2
-rw-r--r--src/test/run-pass/do-for-no-args.rs2
-rw-r--r--src/test/run-pass/do-pure.rs2
-rw-r--r--src/test/run-pass/drop-trait-generic.rs2
-rw-r--r--src/test/run-pass/drop-trait.rs2
-rw-r--r--src/test/run-pass/early-vtbl-resolution.rs2
-rw-r--r--src/test/run-pass/empty-tag.rs2
-rw-r--r--src/test/run-pass/explicit-self-objects-box.rs2
-rw-r--r--src/test/run-pass/explicit-self-objects-ext-1.rs4
-rw-r--r--src/test/run-pass/explicit-self-objects-ext-2.rs4
-rw-r--r--src/test/run-pass/explicit-self-objects-ext-3.rs4
-rw-r--r--src/test/run-pass/explicit-self-objects-ext-4.rs4
-rw-r--r--src/test/run-pass/explicit-self-objects-simple.rs2
-rw-r--r--src/test/run-pass/explicit-self-objects-uniq.rs2
-rw-r--r--src/test/run-pass/explicit-self.rs2
-rw-r--r--src/test/run-pass/export-unexported-dep.rs2
-rw-r--r--src/test/run-pass/expr-alt-struct.rs2
-rw-r--r--src/test/run-pass/expr-if-struct.rs2
-rw-r--r--src/test/run-pass/extern-1.rs2
-rw-r--r--src/test/run-pass/fn-assign-managed-to-bare-1.rs2
-rw-r--r--src/test/run-pass/fn-bare-assign.rs2
-rw-r--r--src/test/run-pass/fn-bare-coerce-to-block.rs2
-rw-r--r--src/test/run-pass/fn-bare-coerce-to-shared.rs2
-rw-r--r--src/test/run-pass/fn-bare-item.rs2
-rw-r--r--src/test/run-pass/fn-bare-size.rs2
-rw-r--r--src/test/run-pass/fn-coerce-field.rs2
-rw-r--r--src/test/run-pass/foreign-call-no-runtime.rs2
-rw-r--r--src/test/run-pass/generic-object.rs2
-rw-r--r--src/test/run-pass/impl-implicit-trait.rs2
-rw-r--r--src/test/run-pass/impl-variance.rs2
-rw-r--r--src/test/run-pass/infinite-loops.rs2
-rw-r--r--src/test/run-pass/init-res-into-things.rs2
-rw-r--r--src/test/run-pass/issue-1701.rs2
-rw-r--r--src/test/run-pass/issue-1821.rs2
-rw-r--r--src/test/run-pass/issue-1974.rs2
-rw-r--r--src/test/run-pass/issue-2185.rs4
-rw-r--r--src/test/run-pass/issue-2190-2.rs2
-rw-r--r--src/test/run-pass/issue-2216.rs2
-rw-r--r--src/test/run-pass/issue-2284.rs2
-rw-r--r--src/test/run-pass/issue-2288.rs2
-rw-r--r--src/test/run-pass/issue-2316-c.rs2
-rw-r--r--src/test/run-pass/issue-2487-a.rs2
-rw-r--r--src/test/run-pass/issue-2611.rs2
-rw-r--r--src/test/run-pass/issue-2708.rs2
-rw-r--r--src/test/run-pass/issue-2734.rs2
-rw-r--r--src/test/run-pass/issue-2735-2.rs2
-rw-r--r--src/test/run-pass/issue-2735-3.rs2
-rw-r--r--src/test/run-pass/issue-2735.rs2
-rw-r--r--src/test/run-pass/issue-2895.rs2
-rw-r--r--src/test/run-pass/issue-2904.rs2
-rw-r--r--src/test/run-pass/issue-2935.rs2
-rw-r--r--src/test/run-pass/issue-2936.rs2
-rw-r--r--src/test/run-pass/issue-2989.rs2
-rw-r--r--src/test/run-pass/issue-3211.rs2
-rw-r--r--src/test/run-pass/issue-3220.rs2
-rw-r--r--src/test/run-pass/issue-3305.rs2
-rw-r--r--src/test/run-pass/issue-3461.rs2
-rw-r--r--src/test/run-pass/issue-3480.rs2
-rw-r--r--src/test/run-pass/issue-3683.rs2
-rw-r--r--src/test/run-pass/issue-3753.rs2
-rw-r--r--src/test/run-pass/issue-3794.rs2
-rw-r--r--src/test/run-pass/issue-3860.rs2
-rw-r--r--src/test/run-pass/issue-3979-generics.rs2
-rw-r--r--src/test/run-pass/issue-3979-xcrate.rs2
-rw-r--r--src/test/run-pass/issue-3979.rs2
-rw-r--r--src/test/run-pass/issue-4401.rs2
-rw-r--r--src/test/run-pass/issue-4542.rs2
-rw-r--r--src/test/run-pass/issue-979.rs2
-rw-r--r--src/test/run-pass/kindck-owned-trait-contains-1.rs4
-rw-r--r--src/test/run-pass/lint-structural-records.rs2
-rw-r--r--src/test/run-pass/loop-break-cont-1.rs2
-rw-r--r--src/test/run-pass/loop-break-cont.rs2
-rw-r--r--src/test/run-pass/loop-diverges.rs2
-rw-r--r--src/test/run-pass/max-min-classes.rs2
-rw-r--r--src/test/run-pass/mlist-cycle.rs2
-rw-r--r--src/test/run-pass/mod-merge-hack.rs2
-rw-r--r--src/test/run-pass/mod_file.rs2
-rw-r--r--src/test/run-pass/mod_file_with_path_attr.rs2
-rw-r--r--src/test/run-pass/module-polymorphism3-files/float-template/inst_f32.rs2
-rw-r--r--src/test/run-pass/module-polymorphism3-files/float-template/inst_f64.rs2
-rw-r--r--src/test/run-pass/module-polymorphism3-files/float-template/inst_float.rs2
-rw-r--r--src/test/run-pass/monad.rs4
-rw-r--r--src/test/run-pass/monomorphize-trait-in-fn-at.rs4
-rw-r--r--src/test/run-pass/monomorphized-callees-with-ty-params-3314.rs6
-rw-r--r--src/test/run-pass/morestack1.rs2
-rw-r--r--src/test/run-pass/morestack2.rs2
-rw-r--r--src/test/run-pass/morestack3.rs2
-rw-r--r--src/test/run-pass/morestack4.rs2
-rw-r--r--src/test/run-pass/morestack5.rs2
-rw-r--r--src/test/run-pass/move-nullary-fn.rs2
-rw-r--r--src/test/run-pass/mut-function-arguments.rs2
-rw-r--r--src/test/run-pass/operator-overloading.rs12
-rw-r--r--src/test/run-pass/option-unwrap.rs2
-rw-r--r--src/test/run-pass/propagate-expected-type-through-block.rs2
-rw-r--r--src/test/run-pass/pure-sum.rs2
-rw-r--r--src/test/run-pass/rcvr-borrowed-to-region.rs2
-rw-r--r--src/test/run-pass/rcvr-borrowed-to-slice.rs2
-rw-r--r--src/test/run-pass/recursion.rs4
-rw-r--r--src/test/run-pass/reflect-visit-data.rs6
-rw-r--r--src/test/run-pass/reflect-visit-type.rs2
-rw-r--r--src/test/run-pass/regions-creating-enums2.rs2
-rw-r--r--src/test/run-pass/regions-creating-enums5.rs2
-rw-r--r--src/test/run-pass/regions-infer-call-2.rs2
-rw-r--r--src/test/run-pass/regions-infer-call.rs2
-rw-r--r--src/test/run-pass/regions-infer-contravariance-due-to-ret.rs2
-rw-r--r--src/test/run-pass/regions-infer-contravariance.rs2
-rw-r--r--src/test/run-pass/regions-nullary-variant.rs2
-rw-r--r--src/test/run-pass/regions-self-impls.rs2
-rw-r--r--src/test/run-pass/regions-trait.rs2
-rw-r--r--src/test/run-pass/resource-assign-is-not-copy.rs2
-rw-r--r--src/test/run-pass/resource-cycle.rs2
-rw-r--r--src/test/run-pass/resource-cycle2.rs2
-rw-r--r--src/test/run-pass/resource-cycle3.rs2
-rw-r--r--src/test/run-pass/resource-destruct.rs2
-rw-r--r--src/test/run-pass/resource-generic.rs2
-rw-r--r--src/test/run-pass/resource-in-struct.rs2
-rw-r--r--src/test/run-pass/self-type-param.rs2
-rw-r--r--src/test/run-pass/send-resource.rs2
-rw-r--r--src/test/run-pass/sendable-class.rs2
-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.rs8
-rw-r--r--src/test/run-pass/static-methods-in-traits.rs4
-rw-r--r--src/test/run-pass/struct-literal-dtor.rs2
-rw-r--r--src/test/run-pass/structured-compare.rs2
-rw-r--r--src/test/run-pass/tag-variant-disr-val.rs2
-rw-r--r--src/test/run-pass/tag.rs2
-rw-r--r--src/test/run-pass/task-comm-16.rs2
-rw-r--r--src/test/run-pass/task-comm-17.rs2
-rw-r--r--src/test/run-pass/task-killjoin-rsrc.rs2
-rw-r--r--src/test/run-pass/test-ignore-cfg.rs2
-rw-r--r--src/test/run-pass/trait-bounds.rs4
-rw-r--r--src/test/run-pass/trait-cast.rs6
-rw-r--r--src/test/run-pass/trait-default-method-bound-subst.rs2
-rw-r--r--src/test/run-pass/trait-default-method-bound-subst2.rs2
-rw-r--r--src/test/run-pass/trait-default-method-bound-subst3.rs2
-rw-r--r--src/test/run-pass/trait-default-method-bound-subst4.rs2
-rw-r--r--src/test/run-pass/trait-default-method-bound.rs2
-rw-r--r--src/test/run-pass/trait-generic.rs8
-rw-r--r--src/test/run-pass/trait-inheritance-auto-xc-2.rs2
-rw-r--r--src/test/run-pass/trait-inheritance-auto-xc.rs6
-rw-r--r--src/test/run-pass/trait-inheritance-auto.rs8
-rw-r--r--src/test/run-pass/trait-inheritance-call-bound-inherited.rs4
-rw-r--r--src/test/run-pass/trait-inheritance-call-bound-inherited2.rs6
-rw-r--r--src/test/run-pass/trait-inheritance-cast-without-call-to-supertrait.rs4
-rw-r--r--src/test/run-pass/trait-inheritance-cast.rs4
-rw-r--r--src/test/run-pass/trait-inheritance-cross-trait-call-xc.rs2
-rw-r--r--src/test/run-pass/trait-inheritance-cross-trait-call.rs4
-rw-r--r--src/test/run-pass/trait-inheritance-diamond.rs10
-rw-r--r--src/test/run-pass/trait-inheritance-multiple-inheritors.rs8
-rw-r--r--src/test/run-pass/trait-inheritance-multiple-params.rs8
-rw-r--r--src/test/run-pass/trait-inheritance-overloading-simple.rs2
-rw-r--r--src/test/run-pass/trait-inheritance-overloading.rs8
-rw-r--r--src/test/run-pass/trait-inheritance-self.rs4
-rw-r--r--src/test/run-pass/trait-inheritance-simple.rs4
-rw-r--r--src/test/run-pass/trait-inheritance-static.rs4
-rw-r--r--src/test/run-pass/trait-inheritance-static2.rs6
-rw-r--r--src/test/run-pass/trait-inheritance-subst.rs2
-rw-r--r--src/test/run-pass/trait-inheritance-subst2.rs4
-rw-r--r--src/test/run-pass/trait-inheritance-visibility.rs6
-rw-r--r--src/test/run-pass/trait-inheritance2.rs6
-rw-r--r--src/test/run-pass/trait-region-pointer-simple.rs2
-rw-r--r--src/test/run-pass/trait-to-str.rs4
-rw-r--r--src/test/run-pass/trait-typedef-cc.rs4
-rw-r--r--src/test/run-pass/traits-default-method-macro.rs2
-rw-r--r--src/test/run-pass/traits-default-method-self.rs2
-rw-r--r--src/test/run-pass/traits-default-method-trivial.rs2
-rw-r--r--src/test/run-pass/traits.rs2
-rw-r--r--src/test/run-pass/type-param-constraints.rs2
-rw-r--r--src/test/run-pass/typeclasses-eq-example-static.rs4
-rw-r--r--src/test/run-pass/typeclasses-eq-example.rs4
-rw-r--r--src/test/run-pass/unique-alt-discrim.rs2
-rw-r--r--src/test/run-pass/unique-assign-drop.rs2
-rw-r--r--src/test/run-pass/unique-assign.rs2
-rw-r--r--src/test/run-pass/unique-autoderef-field.rs2
-rw-r--r--src/test/run-pass/unique-cmp.rs2
-rw-r--r--src/test/run-pass/unique-create.rs2
-rw-r--r--src/test/run-pass/unique-decl-init.rs2
-rw-r--r--src/test/run-pass/unique-decl-move-temp.rs2
-rw-r--r--src/test/run-pass/unique-decl-move.rs2
-rw-r--r--src/test/run-pass/unique-deref.rs2
-rw-r--r--src/test/run-pass/unique-destructure.rs2
-rw-r--r--src/test/run-pass/unique-fn-arg-move.rs2
-rw-r--r--src/test/run-pass/unique-fn-arg-mut.rs2
-rw-r--r--src/test/run-pass/unique-fn-arg.rs2
-rw-r--r--src/test/run-pass/unique-fn-ret.rs2
-rw-r--r--src/test/run-pass/unique-init.rs2
-rw-r--r--src/test/run-pass/unique-log.rs2
-rw-r--r--src/test/run-pass/unique-move-drop.rs2
-rw-r--r--src/test/run-pass/unique-move-temp.rs2
-rw-r--r--src/test/run-pass/unique-move.rs2
-rw-r--r--src/test/run-pass/unique-mutable.rs2
-rw-r--r--src/test/run-pass/unique-object.rs2
-rw-r--r--src/test/run-pass/unique-pinned-nocopy-2.rs2
-rw-r--r--src/test/run-pass/unique-send-2.rs2
-rw-r--r--src/test/run-pass/unique-send.rs2
-rw-r--r--src/test/run-pass/unique-swap.rs2
-rw-r--r--src/test/run-pass/unused-move.rs2
-rw-r--r--src/test/run-pass/unwind-resource.rs2
-rw-r--r--src/test/run-pass/unwind-resource2.rs2
-rw-r--r--src/test/run-pass/use-trait-before-def.rs4
-rw-r--r--src/test/run-pass/vec-slice-drop.rs2
482 files changed, 593 insertions, 593 deletions
diff --git a/src/test/auxiliary/ambig_impl_2_lib.rs b/src/test/auxiliary/ambig_impl_2_lib.rs
index ef195c9c32a..c6dfe7b79a9 100644
--- a/src/test/auxiliary/ambig_impl_2_lib.rs
+++ b/src/test/auxiliary/ambig_impl_2_lib.rs
@@ -11,4 +11,4 @@
 trait me {
     fn me() -> uint;
 }
-impl uint: me { fn me() -> uint { self } }
+impl me for uint { fn me() -> uint { self } }
diff --git a/src/test/auxiliary/cci_impl_lib.rs b/src/test/auxiliary/cci_impl_lib.rs
index cd342c44407..ab744d60ac2 100644
--- a/src/test/auxiliary/cci_impl_lib.rs
+++ b/src/test/auxiliary/cci_impl_lib.rs
@@ -14,7 +14,7 @@ trait uint_helpers {
     fn to(v: uint, f: fn(uint));
 }
 
-impl uint: uint_helpers {
+impl uint_helpers for uint {
     #[inline]
     fn to(v: uint, f: fn(uint)) {
         let mut i = self;
diff --git a/src/test/auxiliary/explicit_self_xcrate.rs b/src/test/auxiliary/explicit_self_xcrate.rs
index 355cd935ce2..c790252244f 100644
--- a/src/test/auxiliary/explicit_self_xcrate.rs
+++ b/src/test/auxiliary/explicit_self_xcrate.rs
@@ -17,7 +17,7 @@ pub struct Bar {
     x: ~str
 }
 
-impl Bar : Foo {
+impl Foo for Bar {
     #[inline(always)]
     fn f(&self) {
         io::println((*self).x);
diff --git a/src/test/auxiliary/impl_privacy_xc_2.rs b/src/test/auxiliary/impl_privacy_xc_2.rs
index 009e132f598..d8c2a9ede5c 100644
--- a/src/test/auxiliary/impl_privacy_xc_2.rs
+++ b/src/test/auxiliary/impl_privacy_xc_2.rs
@@ -6,7 +6,7 @@ pub struct Fish {
 
 mod unexported {
     use super::Fish;
-    impl Fish : Eq {
+    impl Eq for Fish {
         pure fn eq(&self, _: &Fish) -> bool { true }
         pure fn ne(&self, _: &Fish) -> bool { false }
     }
diff --git a/src/test/auxiliary/issue-2380.rs b/src/test/auxiliary/issue-2380.rs
index c0b824618a4..7cc8dcb22c9 100644
--- a/src/test/auxiliary/issue-2380.rs
+++ b/src/test/auxiliary/issue-2380.rs
@@ -14,7 +14,7 @@
 pub trait i<T> { }
 
 pub fn f<T>() -> i<T> {
-    impl<T> (): i<T> { }
+    impl<T> i<T> for () { }
 
     () as i::<T>
 }
diff --git a/src/test/auxiliary/issue-2414-a.rs b/src/test/auxiliary/issue-2414-a.rs
index 2c691d6d58e..fb97adf51a5 100644
--- a/src/test/auxiliary/issue-2414-a.rs
+++ b/src/test/auxiliary/issue-2414-a.rs
@@ -17,7 +17,7 @@ trait foo {
     fn foo();
 }
 
-impl ~str: foo {
+impl foo for ~str {
     fn foo() {}
 }
 
diff --git a/src/test/auxiliary/issue-2526.rs b/src/test/auxiliary/issue-2526.rs
index 4e07de771e5..f9d08713852 100644
--- a/src/test/auxiliary/issue-2526.rs
+++ b/src/test/auxiliary/issue-2526.rs
@@ -19,7 +19,7 @@ struct arc_destruct<T> {
   _data: int,
 }
 
-impl<T:Const> arc_destruct<T> : Drop {
+impl<T:Const> Drop for arc_destruct<T> {
     fn finalize(&self) {}
 }
 
@@ -43,7 +43,7 @@ struct context_res {
     ctx : int,
 }
 
-impl context_res : Drop {
+impl Drop for context_res {
     fn finalize(&self) {}
 }
 
diff --git a/src/test/auxiliary/issue2378a.rs b/src/test/auxiliary/issue2378a.rs
index 6007b1f3d17..ead338c4bc8 100644
--- a/src/test/auxiliary/issue2378a.rs
+++ b/src/test/auxiliary/issue2378a.rs
@@ -10,7 +10,7 @@
 
 enum maybe<T> { just(T), nothing }
 
-impl methods<T:copy> for maybe<T> {
+impl copy> for maybe<T> for methods<T {
     fn ~[](idx: uint) -> T {
         match self {
           just(t) { t }
diff --git a/src/test/auxiliary/issue2378b.rs b/src/test/auxiliary/issue2378b.rs
index ff056b8028d..9037417ef62 100644
--- a/src/test/auxiliary/issue2378b.rs
+++ b/src/test/auxiliary/issue2378b.rs
@@ -15,8 +15,8 @@ use issue2378a::methods;
 
 type two_maybes<T> = {a: maybe<T>, b: maybe<T>};
 
-impl methods<T:copy> for two_maybes<T> {
+impl copy> for two_maybes<T> for methods<T {
     fn ~[](idx: uint) -> (T, T) {
         (self.a[idx], self.b[idx])
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/auxiliary/issue4516_ty_param_lib.rs b/src/test/auxiliary/issue4516_ty_param_lib.rs
index 3f93540e64f..2e3c7eedfcc 100644
--- a/src/test/auxiliary/issue4516_ty_param_lib.rs
+++ b/src/test/auxiliary/issue4516_ty_param_lib.rs
@@ -10,4 +10,4 @@
 
 pub fn to_closure<A: Durable Copy>(x: A) -> @fn() -> A {
     fn@() -> A { copy x }
-}
\ No newline at end of file
+}
diff --git a/src/test/auxiliary/issue_2242_a.rs b/src/test/auxiliary/issue_2242_a.rs
index 6f3813a94c0..c2caf1e77ee 100644
--- a/src/test/auxiliary/issue_2242_a.rs
+++ b/src/test/auxiliary/issue_2242_a.rs
@@ -15,6 +15,6 @@ trait to_strz {
     fn to_strz() -> ~str;
 }
 
-impl ~str: to_strz {
+impl to_strz for ~str {
     fn to_strz() -> ~str { copy self }
 }
diff --git a/src/test/auxiliary/issue_2242_c.rs b/src/test/auxiliary/issue_2242_c.rs
index 32e131fac26..40a2bcc114a 100644
--- a/src/test/auxiliary/issue_2242_c.rs
+++ b/src/test/auxiliary/issue_2242_c.rs
@@ -15,6 +15,6 @@ extern mod a;
 
 use a::to_strz;
 
-impl bool: to_strz {
+impl to_strz for bool {
     fn to_strz() -> ~str { fmt!("%b", self) }
 }
diff --git a/src/test/auxiliary/issue_2472_b.rs b/src/test/auxiliary/issue_2472_b.rs
index 0c7c827e029..e1be3adcd4a 100644
--- a/src/test/auxiliary/issue_2472_b.rs
+++ b/src/test/auxiliary/issue_2472_b.rs
@@ -19,6 +19,6 @@ trait T {
     fn bar();
 }
 
-impl S: T {
+impl T for S {
     fn bar() { }
 }
diff --git a/src/test/auxiliary/issue_3136_a.rs b/src/test/auxiliary/issue_3136_a.rs
index a0c056d1f99..4de0b900dd3 100644
--- a/src/test/auxiliary/issue_3136_a.rs
+++ b/src/test/auxiliary/issue_3136_a.rs
@@ -12,7 +12,7 @@ trait x {
     fn use_x<T>();
 }
 enum y = (); 
-impl y:x { 
+impl x for y { 
     fn use_x<T>() {
         struct foo { //~ ERROR quux
             i: ()
diff --git a/src/test/auxiliary/private_variant_1.rs b/src/test/auxiliary/private_variant_1.rs
index 248223e5c5d..606a662315a 100644
--- a/src/test/auxiliary/private_variant_1.rs
+++ b/src/test/auxiliary/private_variant_1.rs
@@ -12,4 +12,4 @@ mod super_sekrit {
     pub enum sooper_sekrit {
         pub quux, priv baz
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/auxiliary/static-methods-crate.rs b/src/test/auxiliary/static-methods-crate.rs
index 37be325f15b..f06f2e31b71 100644
--- a/src/test/auxiliary/static-methods-crate.rs
+++ b/src/test/auxiliary/static-methods-crate.rs
@@ -17,13 +17,13 @@ pub trait read {
     static fn readMaybe(s: ~str) -> Option<Self>;
 }
 
-impl int: read {
+impl read for int {
     static fn readMaybe(s: ~str) -> Option<int> {
         int::from_str(s)
     }
 }
 
-impl bool: read {
+impl read for bool {
     static fn readMaybe(s: ~str) -> Option<bool> {
         match s {
           ~"true" => Some(true),
diff --git a/src/test/auxiliary/static_fn_inline_xc_aux.rs b/src/test/auxiliary/static_fn_inline_xc_aux.rs
index 78e3dcca39d..f595529b7f6 100644
--- a/src/test/auxiliary/static_fn_inline_xc_aux.rs
+++ b/src/test/auxiliary/static_fn_inline_xc_aux.rs
@@ -16,7 +16,7 @@ pub mod num {
 }
 
 pub mod float {
-    impl float: ::num::Num2 {
+    impl ::num::Num2 for float {
         #[inline]
         static pure fn from_int2(n: int) -> float { return n as float;  }
     }
diff --git a/src/test/auxiliary/static_fn_trait_xc_aux.rs b/src/test/auxiliary/static_fn_trait_xc_aux.rs
index d28d6ce187a..80734b8336b 100644
--- a/src/test/auxiliary/static_fn_trait_xc_aux.rs
+++ b/src/test/auxiliary/static_fn_trait_xc_aux.rs
@@ -5,7 +5,7 @@ pub mod num {
 }
 
 pub mod float {
-    impl float: ::num::Num2 {
+    impl ::num::Num2 for float {
         static pure fn from_int2(n: int) -> float { return n as float;  }
     }
 }
diff --git a/src/test/auxiliary/trait_inheritance_auto_xc_2_aux.rs b/src/test/auxiliary/trait_inheritance_auto_xc_2_aux.rs
index 0b434ad0f4f..11d4b28c215 100644
--- a/src/test/auxiliary/trait_inheritance_auto_xc_2_aux.rs
+++ b/src/test/auxiliary/trait_inheritance_auto_xc_2_aux.rs
@@ -14,8 +14,8 @@ pub trait Baz { fn h() -> int; }
 
 pub struct A { x: int }
 
-impl A : Foo { fn f() -> int { 10 } }
-impl A : Bar { fn g() -> int { 20 } }
-impl A : Baz { fn h() -> int { 30 } }
+impl Foo for A { fn f() -> int { 10 } }
+impl Bar for A { fn g() -> int { 20 } }
+impl Baz for A { fn h() -> int { 30 } }
 
 
diff --git a/src/test/auxiliary/trait_inheritance_auto_xc_aux.rs b/src/test/auxiliary/trait_inheritance_auto_xc_aux.rs
index 6bbf9bd5994..97a363f6b0c 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> T: Quux { }
+impl<T: Foo Bar Baz> Quux for T { }
diff --git a/src/test/auxiliary/trait_inheritance_cross_trait_call_xc_aux.rs b/src/test/auxiliary/trait_inheritance_cross_trait_call_xc_aux.rs
index ca4d8edc2c7..724860d6855 100644
--- a/src/test/auxiliary/trait_inheritance_cross_trait_call_xc_aux.rs
+++ b/src/test/auxiliary/trait_inheritance_cross_trait_call_xc_aux.rs
@@ -17,6 +17,6 @@ pub struct A {
     x: int
 }
 
-impl A : Foo {
+impl Foo for A {
     fn f() -> int { 10 }
 }
diff --git a/src/test/bench/shootout-mandelbrot.rs b/src/test/bench/shootout-mandelbrot.rs
index b19454ec230..76a76887772 100644
--- a/src/test/bench/shootout-mandelbrot.rs
+++ b/src/test/bench/shootout-mandelbrot.rs
@@ -29,7 +29,7 @@ struct cmplx {
     im: f64
 }
 
-impl cmplx : ops::Mul<cmplx,cmplx> {
+impl ops::Mul<cmplx,cmplx> for cmplx {
     pure fn mul(&self, x: &cmplx) -> cmplx {
         cmplx {
             re: self.re*(*x).re - self.im*(*x).im,
@@ -38,7 +38,7 @@ impl cmplx : ops::Mul<cmplx,cmplx> {
     }
 }
 
-impl cmplx : ops::Add<cmplx,cmplx> {
+impl ops::Add<cmplx,cmplx> for cmplx {
     pure fn add(&self, x: &cmplx) -> cmplx {
         cmplx {
             re: self.re + (*x).re,
@@ -98,7 +98,7 @@ fn chanmb(i: uint, size: uint) -> Line
 
 struct Devnull();
 
-impl Devnull: io::Writer {
+impl io::Writer for Devnull {
     fn write(&self, _b: &[const u8]) {}
     fn seek(&self, _i: int, _s: io::SeekStyle) {}
     fn tell(&self) -> uint {0_u}
diff --git a/src/test/bench/task-perf-alloc-unwind.rs b/src/test/bench/task-perf-alloc-unwind.rs
index c67305bab8f..5f0530871fc 100644
--- a/src/test/bench/task-perf-alloc-unwind.rs
+++ b/src/test/bench/task-perf-alloc-unwind.rs
@@ -56,7 +56,7 @@ struct r {
   _l: @nillist,
 }
 
-impl r : Drop {
+impl Drop for r {
     fn finalize(&self) {}
 }
 
diff --git a/src/test/compile-fail/alt-arrows-block-then-binop.rs b/src/test/compile-fail/alt-arrows-block-then-binop.rs
index 490a8a8b67b..b6b2313aa09 100644
--- a/src/test/compile-fail/alt-arrows-block-then-binop.rs
+++ b/src/test/compile-fail/alt-arrows-block-then-binop.rs
@@ -14,4 +14,4 @@ fn main() {
       0 => {
       } + 5 //~ ERROR unexpected token: `+`
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/alt-range-fail-dominate.rs b/src/test/compile-fail/alt-range-fail-dominate.rs
index c5354a8f7f1..3f484511859 100644
--- a/src/test/compile-fail/alt-range-fail-dominate.rs
+++ b/src/test/compile-fail/alt-range-fail-dominate.rs
@@ -44,4 +44,4 @@ fn main() {
       0.02 => {}
       _ => {}
     };
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/ambig_impl_2_exe.rs b/src/test/compile-fail/ambig_impl_2_exe.rs
index f73fb95c5bc..ed18abe9bf0 100644
--- a/src/test/compile-fail/ambig_impl_2_exe.rs
+++ b/src/test/compile-fail/ambig_impl_2_exe.rs
@@ -15,6 +15,6 @@ use ambig_impl_2_lib::me;
 trait me {
     fn me() -> uint;
 }
-impl uint: me { fn me() -> uint { self } } //~ NOTE is `__extensions__::me`
+impl me for uint { fn me() -> uint { self } } //~ NOTE is `__extensions__::me`
 fn main() { 1u.me(); } //~ ERROR multiple applicable methods in scope
 //~^ NOTE is `ambig_impl_2_lib::__extensions__::me`
diff --git a/src/test/compile-fail/ambig_impl_bounds.rs b/src/test/compile-fail/ambig_impl_bounds.rs
index 10629ef2344..d4fe51835ae 100644
--- a/src/test/compile-fail/ambig_impl_bounds.rs
+++ b/src/test/compile-fail/ambig_impl_bounds.rs
@@ -17,4 +17,4 @@ fn foo<T: A B>(t: T) {
     //~^^ NOTE candidate #2 derives from the bound `B`
 }
 
-fn main() {}
\ No newline at end of file
+fn main() {}
diff --git a/src/test/compile-fail/ambig_impl_unify.rs b/src/test/compile-fail/ambig_impl_unify.rs
index 4d2a8004986..7e27a51ccdd 100644
--- a/src/test/compile-fail/ambig_impl_unify.rs
+++ b/src/test/compile-fail/ambig_impl_unify.rs
@@ -12,11 +12,11 @@ trait foo {
     fn foo() -> int;
 }
 
-impl ~[uint]: foo {
+impl foo for ~[uint] {
     fn foo() -> int {1} //~ NOTE candidate #1 is `__extensions__::foo`
 }
 
-impl ~[int]: foo {
+impl foo for ~[int] {
     fn foo() -> int {2} //~ NOTE candidate #2 is `__extensions__::foo`
 }
 
diff --git a/src/test/compile-fail/assign-super.rs b/src/test/compile-fail/assign-super.rs
index a728a64f53b..17c7ff1bb60 100644
--- a/src/test/compile-fail/assign-super.rs
+++ b/src/test/compile-fail/assign-super.rs
@@ -12,4 +12,4 @@ fn main() {
     let mut x: ~[mut int] = ~[mut 3];
     let y: ~[int] = ~[3];
     x = y; //~ ERROR values differ in mutability
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/attempted-access-non-fatal.rs b/src/test/compile-fail/attempted-access-non-fatal.rs
index e55efd7938f..06dd154c279 100644
--- a/src/test/compile-fail/attempted-access-non-fatal.rs
+++ b/src/test/compile-fail/attempted-access-non-fatal.rs
@@ -13,4 +13,4 @@ fn main() {
     let x = 0;
     log(debug, x.foo); //~ ERROR attempted access of field
     log(debug, x.bar); //~ ERROR attempted access of field
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/attr-before-ext.rs b/src/test/compile-fail/attr-before-ext.rs
index 764f8fc7d37..2675b865e90 100644
--- a/src/test/compile-fail/attr-before-ext.rs
+++ b/src/test/compile-fail/attr-before-ext.rs
@@ -11,4 +11,4 @@
 fn main() {
     #[attr]
     debug!("hi"); //~ ERROR expected item after attrs
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/attr-before-let.rs b/src/test/compile-fail/attr-before-let.rs
index ad757d16eb3..51ee903b1b1 100644
--- a/src/test/compile-fail/attr-before-let.rs
+++ b/src/test/compile-fail/attr-before-let.rs
@@ -11,4 +11,4 @@
 fn main() {
     #[attr]
     let _i = 0; //~ ERROR expected item
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/auto-ref-borrowck-failure.rs b/src/test/compile-fail/auto-ref-borrowck-failure.rs
index 5e6ceac9031..f5dbef3c061 100644
--- a/src/test/compile-fail/auto-ref-borrowck-failure.rs
+++ b/src/test/compile-fail/auto-ref-borrowck-failure.rs
@@ -18,7 +18,7 @@ trait Stuff {
     fn printme();
 }
 
-impl &mut Foo : Stuff {
+impl Stuff for &mut Foo {
     fn printme() {
         io::println(fmt!("%d", self.x));
     }
diff --git a/src/test/compile-fail/auto-ref-slice-plus-ref.rs b/src/test/compile-fail/auto-ref-slice-plus-ref.rs
index f80112834ea..db89dcfea02 100644
--- a/src/test/compile-fail/auto-ref-slice-plus-ref.rs
+++ b/src/test/compile-fail/auto-ref-slice-plus-ref.rs
@@ -23,6 +23,6 @@ trait MyIter {
     pure fn test_mut(&mut self);
 }
 
-impl &[int]: MyIter {
+impl MyIter for &[int] {
     pure fn test_mut(&mut self) { }
 }
diff --git a/src/test/compile-fail/bad-method-typaram-kind.rs b/src/test/compile-fail/bad-method-typaram-kind.rs
index 112423a073e..7032a3a0b22 100644
--- a/src/test/compile-fail/bad-method-typaram-kind.rs
+++ b/src/test/compile-fail/bad-method-typaram-kind.rs
@@ -16,7 +16,7 @@ trait bar {
     fn bar<T:Copy>();
 }
 
-impl uint: bar {
+impl bar for uint {
     fn bar<T:Copy>() {
     }
 }
diff --git a/src/test/compile-fail/bad-value-ident-false.rs b/src/test/compile-fail/bad-value-ident-false.rs
index 79a247d827d..17157623863 100644
--- a/src/test/compile-fail/bad-value-ident-false.rs
+++ b/src/test/compile-fail/bad-value-ident-false.rs
@@ -9,4 +9,4 @@
 // except according to those terms.
 
 fn false() { } //~ ERROR found `false` in ident position
-fn main() { }
\ No newline at end of file
+fn main() { }
diff --git a/src/test/compile-fail/bad-value-ident-true.rs b/src/test/compile-fail/bad-value-ident-true.rs
index 317a9a32931..5160471e95c 100644
--- a/src/test/compile-fail/bad-value-ident-true.rs
+++ b/src/test/compile-fail/bad-value-ident-true.rs
@@ -9,4 +9,4 @@
 // except according to those terms.
 
 fn true() { } //~ ERROR found `true` in ident position
-fn main() { }
\ No newline at end of file
+fn main() { }
diff --git a/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-1.rs b/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-1.rs
index 1bffb0739e9..298e5d53c94 100644
--- a/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-1.rs
+++ b/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-1.rs
@@ -10,7 +10,7 @@
 
 struct X { x: () }
 
-impl X : Drop {
+impl Drop for X {
     fn finalize(&self) {
         error!("destructor runs");
     }
diff --git a/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-2.rs b/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-2.rs
index cbf48559909..162a10a370b 100644
--- a/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-2.rs
+++ b/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-2.rs
@@ -10,7 +10,7 @@
 
 struct X { x: (), }
 
-impl X : Drop {
+impl Drop for X {
     fn finalize(&self) {
         error!("destructor runs");
     }
diff --git a/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-3.rs b/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-3.rs
index 9c14a53eba1..1aed491bbf0 100644
--- a/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-3.rs
+++ b/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-3.rs
@@ -10,7 +10,7 @@
 
 struct X { x: (), }
 
-impl X : Drop {
+impl Drop for X {
     fn finalize(&self) {
         error!("destructor runs");
     }
diff --git a/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-4.rs b/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-4.rs
index 1d492fdd0f1..9c879e29709 100644
--- a/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-4.rs
+++ b/src/test/compile-fail/bind-by-move-neither-can-live-while-the-other-survives-4.rs
@@ -10,7 +10,7 @@
 
 struct X { x: (), }
 
-impl X : Drop {
+impl Drop for X {
     fn finalize(&self) {
         error!("destructor runs");
     }
diff --git a/src/test/compile-fail/bind-by-move-no-lvalues-1.rs b/src/test/compile-fail/bind-by-move-no-lvalues-1.rs
index e4e8cba4e9c..586285d9566 100644
--- a/src/test/compile-fail/bind-by-move-no-lvalues-1.rs
+++ b/src/test/compile-fail/bind-by-move-no-lvalues-1.rs
@@ -12,7 +12,7 @@
 
 struct X { x: (), }
 
-impl X : Drop {
+impl Drop for X {
     fn finalize(&self) {
         error!("destructor runs");
     }
diff --git a/src/test/compile-fail/bind-by-move-no-lvalues-2.rs b/src/test/compile-fail/bind-by-move-no-lvalues-2.rs
index 45f9415db9b..9ed48fe33e3 100644
--- a/src/test/compile-fail/bind-by-move-no-lvalues-2.rs
+++ b/src/test/compile-fail/bind-by-move-no-lvalues-2.rs
@@ -12,7 +12,7 @@
 
 struct X { x: (), }
 
-impl X : Drop {
+impl Drop for X {
     fn finalize(&self) {
         error!("destructor runs");
     }
diff --git a/src/test/compile-fail/bind-by-move-no-sub-bindings.rs b/src/test/compile-fail/bind-by-move-no-sub-bindings.rs
index 0d845983c6e..d60ef84f040 100644
--- a/src/test/compile-fail/bind-by-move-no-sub-bindings.rs
+++ b/src/test/compile-fail/bind-by-move-no-sub-bindings.rs
@@ -10,7 +10,7 @@
 
 struct X { x: (), }
 
-impl X : Drop {
+impl Drop for X {
     fn finalize(&self) {
         error!("destructor runs");
     }
diff --git a/src/test/compile-fail/binop-add-ptr.rs b/src/test/compile-fail/binop-add-ptr.rs
index 605e2179f21..679deceb7bc 100644
--- a/src/test/compile-fail/binop-add-ptr.rs
+++ b/src/test/compile-fail/binop-add-ptr.rs
@@ -11,4 +11,4 @@
 // error-pattern:binary operation + cannot be applied to type `*int`
 
 fn die() -> *int { (0 as *int) + (0 as *int) }
-fn main() { }
\ No newline at end of file
+fn main() { }
diff --git a/src/test/compile-fail/block-must-not-have-result-do.rs b/src/test/compile-fail/block-must-not-have-result-do.rs
index 1c2a3b5627c..abeefa4aac8 100644
--- a/src/test/compile-fail/block-must-not-have-result-do.rs
+++ b/src/test/compile-fail/block-must-not-have-result-do.rs
@@ -14,4 +14,4 @@ fn main() {
     loop {
         true
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/block-must-not-have-result-for.rs b/src/test/compile-fail/block-must-not-have-result-for.rs
index b3f1755dc66..d1e001f722c 100644
--- a/src/test/compile-fail/block-must-not-have-result-for.rs
+++ b/src/test/compile-fail/block-must-not-have-result-for.rs
@@ -12,4 +12,4 @@ fn main() {
     for vec::each(~[0]) |_i| {  //~ ERROR A for-loop body must return (), but
         true
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/block-must-not-have-result-res.rs b/src/test/compile-fail/block-must-not-have-result-res.rs
index 25108d2a13b..6095d645f48 100644
--- a/src/test/compile-fail/block-must-not-have-result-res.rs
+++ b/src/test/compile-fail/block-must-not-have-result-res.rs
@@ -12,7 +12,7 @@
 
 struct r {}
 
-impl r : Drop {
+impl Drop for r {
     fn finalize(&self) {
         true
     }
diff --git a/src/test/compile-fail/block-must-not-have-result-while.rs b/src/test/compile-fail/block-must-not-have-result-while.rs
index 7caf5bd129d..e4aceabf0c8 100644
--- a/src/test/compile-fail/block-must-not-have-result-while.rs
+++ b/src/test/compile-fail/block-must-not-have-result-while.rs
@@ -14,4 +14,4 @@ fn main() {
     while true {
         true
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/borrowck-addr-of-upvar.rs b/src/test/compile-fail/borrowck-addr-of-upvar.rs
index b9e3960fcce..8bd3832d70c 100644
--- a/src/test/compile-fail/borrowck-addr-of-upvar.rs
+++ b/src/test/compile-fail/borrowck-addr-of-upvar.rs
@@ -21,4 +21,4 @@ fn zed(x: @int) -> fn@() -> int {
 }
 
 fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/borrowck-assign-to-constants.rs b/src/test/compile-fail/borrowck-assign-to-constants.rs
index c89c22db3dc..78a95cb33c0 100644
--- a/src/test/compile-fail/borrowck-assign-to-constants.rs
+++ b/src/test/compile-fail/borrowck-assign-to-constants.rs
@@ -14,4 +14,4 @@ fn main() {
     // assigning to various global constants
     None = Some(3); //~ ERROR assigning to static item
     foo = 6; //~ ERROR assigning to static item
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/borrowck-assign-to-enum.rs b/src/test/compile-fail/borrowck-assign-to-enum.rs
index adc923ce22f..25a320061d4 100644
--- a/src/test/compile-fail/borrowck-assign-to-enum.rs
+++ b/src/test/compile-fail/borrowck-assign-to-enum.rs
@@ -13,4 +13,4 @@ enum foo = int;
 fn main() {
     let x = foo(3);
     *x = 4; //~ ERROR assigning to enum content
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/borrowck-assign-to-subfield.rs b/src/test/compile-fail/borrowck-assign-to-subfield.rs
index 397525b9473..9e90995c33a 100644
--- a/src/test/compile-fail/borrowck-assign-to-subfield.rs
+++ b/src/test/compile-fail/borrowck-assign-to-subfield.rs
@@ -27,4 +27,4 @@ fn main() {
     p.x.a = 2;     //~ ERROR assigning to immutable field
     p.y.a = 2;     //~ ERROR assigning to const field
     p.z.a = 2;
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/borrowck-borrowed-uniq-rvalue-2.rs b/src/test/compile-fail/borrowck-borrowed-uniq-rvalue-2.rs
index e899e214248..404644e78e2 100644
--- a/src/test/compile-fail/borrowck-borrowed-uniq-rvalue-2.rs
+++ b/src/test/compile-fail/borrowck-borrowed-uniq-rvalue-2.rs
@@ -12,7 +12,7 @@ struct defer {
     x: &[&str],
 }
 
-impl defer : Drop {
+impl Drop for defer {
     fn finalize(&self) {
         error!("%?", self.x);
     }
diff --git a/src/test/compile-fail/borrowck-insert-during-each.rs b/src/test/compile-fail/borrowck-insert-during-each.rs
index 1dcf8268440..e0fca586b6b 100644
--- a/src/test/compile-fail/borrowck-insert-during-each.rs
+++ b/src/test/compile-fail/borrowck-insert-during-each.rs
@@ -31,4 +31,4 @@ fn bar(f: &mut Foo) {
 fn main() {
   let mut f = Foo { n: LinearSet::new() };
   bar(&mut f);
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/borrowck-loan-in-overloaded-op.rs b/src/test/compile-fail/borrowck-loan-in-overloaded-op.rs
index fb72dc02714..0b9375bc543 100644
--- a/src/test/compile-fail/borrowck-loan-in-overloaded-op.rs
+++ b/src/test/compile-fail/borrowck-loan-in-overloaded-op.rs
@@ -12,7 +12,7 @@
 
 enum foo = ~uint;
 
-impl foo : Add<foo, foo> {
+impl Add<foo, foo> for foo {
     pure fn add(f: &foo) -> foo {
         foo(~(**self + **(*f)))
     }
diff --git a/src/test/compile-fail/borrowck-loan-rcvr-overloaded-op.rs b/src/test/compile-fail/borrowck-loan-rcvr-overloaded-op.rs
index c2649801cbc..e15edd8cf19 100644
--- a/src/test/compile-fail/borrowck-loan-rcvr-overloaded-op.rs
+++ b/src/test/compile-fail/borrowck-loan-rcvr-overloaded-op.rs
@@ -13,7 +13,7 @@ struct Point {
     y: int,
 }
 
-impl Point : ops::Add<int,int> {
+impl ops::Add<int,int> for Point {
     pure fn add(&self, z: &int) -> int {
         self.x + self.y + (*z)
     }
diff --git a/src/test/compile-fail/borrowck-loan-rcvr.rs b/src/test/compile-fail/borrowck-loan-rcvr.rs
index f558280f0e1..97b46c71492 100644
--- a/src/test/compile-fail/borrowck-loan-rcvr.rs
+++ b/src/test/compile-fail/borrowck-loan-rcvr.rs
@@ -16,7 +16,7 @@ trait methods {
     pure fn purem();
 }
 
-impl point: methods {
+impl methods for point {
     fn impurem() {
     }
 
diff --git a/src/test/compile-fail/borrowck-loan-vec-content.rs b/src/test/compile-fail/borrowck-loan-vec-content.rs
index 1423eac4ab8..b0b22dcfe61 100644
--- a/src/test/compile-fail/borrowck-loan-vec-content.rs
+++ b/src/test/compile-fail/borrowck-loan-vec-content.rs
@@ -41,4 +41,4 @@ fn has_mut_vec_and_tries_to_change_it() {
 }
 
 fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/borrowck-move-from-unsafe-ptr.rs b/src/test/compile-fail/borrowck-move-from-unsafe-ptr.rs
index 32fe696dbb9..71546835659 100644
--- a/src/test/compile-fail/borrowck-move-from-unsafe-ptr.rs
+++ b/src/test/compile-fail/borrowck-move-from-unsafe-ptr.rs
@@ -14,4 +14,4 @@ fn foo(x: *~int) -> ~int {
 }
 
 fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/borrowck-mut-deref-comp.rs b/src/test/compile-fail/borrowck-mut-deref-comp.rs
index 3ffe71e2325..3c67b6d5caf 100644
--- a/src/test/compile-fail/borrowck-mut-deref-comp.rs
+++ b/src/test/compile-fail/borrowck-mut-deref-comp.rs
@@ -16,4 +16,4 @@ fn borrow(x: @mut foo) {
 }
 
 fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/borrowck-mut-field-imm-base.rs b/src/test/compile-fail/borrowck-mut-field-imm-base.rs
index 2d57419f494..685efcacf0c 100644
--- a/src/test/compile-fail/borrowck-mut-field-imm-base.rs
+++ b/src/test/compile-fail/borrowck-mut-field-imm-base.rs
@@ -27,4 +27,4 @@ fn main() {
     *q += 1;
     io::println(fmt!("*r = %u", *r));
     io::println(fmt!("*r = %u", *s));
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/borrowck-mut-vec-as-imm-slice-bad.rs b/src/test/compile-fail/borrowck-mut-vec-as-imm-slice-bad.rs
index 88263df954b..43feb65c8b9 100644
--- a/src/test/compile-fail/borrowck-mut-vec-as-imm-slice-bad.rs
+++ b/src/test/compile-fail/borrowck-mut-vec-as-imm-slice-bad.rs
@@ -21,4 +21,4 @@ fn has_mut_vec(+v: @~[mut int]) -> int {
 
 fn main() {
     assert has_mut_vec(@~[mut 1, 2, 3]) == 6;
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/borrowck-pure-scope-in-call.rs b/src/test/compile-fail/borrowck-pure-scope-in-call.rs
index 0d652585fdb..7ff13739ba7 100644
--- a/src/test/compile-fail/borrowck-pure-scope-in-call.rs
+++ b/src/test/compile-fail/borrowck-pure-scope-in-call.rs
@@ -30,4 +30,4 @@ fn test2() {
 }
 
 fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/borrowck-unary-move-2.rs b/src/test/compile-fail/borrowck-unary-move-2.rs
index 9a70449f372..a25fc8327bd 100644
--- a/src/test/compile-fail/borrowck-unary-move-2.rs
+++ b/src/test/compile-fail/borrowck-unary-move-2.rs
@@ -12,7 +12,7 @@ struct noncopyable {
     i: (),
 }
 
-impl noncopyable : Drop {
+impl Drop for noncopyable {
     fn finalize(&self) {
         error!("dropped");
     }
diff --git a/src/test/compile-fail/cast-from-nil.rs b/src/test/compile-fail/cast-from-nil.rs
index 8cf2b82a36b..262bf1030bc 100644
--- a/src/test/compile-fail/cast-from-nil.rs
+++ b/src/test/compile-fail/cast-from-nil.rs
@@ -9,4 +9,4 @@
 // except according to those terms.
 
 // error-pattern: cast from nil: `()` as `u32`
-fn main() { let u = (assert true) as u32; }
\ No newline at end of file
+fn main() { let u = (assert true) as u32; }
diff --git a/src/test/compile-fail/cast-to-nil.rs b/src/test/compile-fail/cast-to-nil.rs
index a5b179284d3..1a5c0744f70 100644
--- a/src/test/compile-fail/cast-to-nil.rs
+++ b/src/test/compile-fail/cast-to-nil.rs
@@ -9,4 +9,4 @@
 // except according to those terms.
 
 // error-pattern: cast to nil: `u32` as `()`
-fn main() { let u = 0u32 as (); }
\ No newline at end of file
+fn main() { let u = 0u32 as (); }
diff --git a/src/test/compile-fail/class-cast-to-trait.rs b/src/test/compile-fail/class-cast-to-trait.rs
index 5facc3cc5f7..671298040a9 100644
--- a/src/test/compile-fail/class-cast-to-trait.rs
+++ b/src/test/compile-fail/class-cast-to-trait.rs
@@ -34,7 +34,7 @@ impl cat {
   }
 }
 
-impl cat : noisy {
+impl noisy for cat {
   fn speak() { self.meow(); }
 
 }
diff --git a/src/test/compile-fail/class-method-missing.rs b/src/test/compile-fail/class-method-missing.rs
index bdde101b0c8..2a7e2cea6fa 100644
--- a/src/test/compile-fail/class-method-missing.rs
+++ b/src/test/compile-fail/class-method-missing.rs
@@ -17,7 +17,7 @@ struct cat {
   meows: uint,
 }
 
-impl cat : animal {
+impl animal for cat {
 }
 
 fn cat(in_x : uint) -> cat {
@@ -28,4 +28,4 @@ fn cat(in_x : uint) -> cat {
 
 fn main() {
   let nyan = cat(0u);
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/class-missing-self.rs b/src/test/compile-fail/class-missing-self.rs
index bbab4c7d424..9d3eb644656 100644
--- a/src/test/compile-fail/class-missing-self.rs
+++ b/src/test/compile-fail/class-missing-self.rs
@@ -23,4 +23,4 @@ priv impl cat {
 }
 
 
- fn main() { }
\ No newline at end of file
+ fn main() { }
diff --git a/src/test/compile-fail/coerce-bad-variance.rs b/src/test/compile-fail/coerce-bad-variance.rs
index c4cdbcb67e2..6ce969c7eaf 100644
--- a/src/test/compile-fail/coerce-bad-variance.rs
+++ b/src/test/compile-fail/coerce-bad-variance.rs
@@ -14,4 +14,4 @@ fn give_away3(y: @mut @int) {
     mutate(y); //~ ERROR values differ in mutability
 }
 
-fn main() {}
\ No newline at end of file
+fn main() {}
diff --git a/src/test/compile-fail/const-recursive.rs b/src/test/compile-fail/const-recursive.rs
index 43eceab2c1f..f565a44c97f 100644
--- a/src/test/compile-fail/const-recursive.rs
+++ b/src/test/compile-fail/const-recursive.rs
@@ -13,4 +13,4 @@ const a: int = b;
 const b: int = a;
 
 fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/copy-a-resource.rs b/src/test/compile-fail/copy-a-resource.rs
index eb135e18893..95fd9b938f0 100644
--- a/src/test/compile-fail/copy-a-resource.rs
+++ b/src/test/compile-fail/copy-a-resource.rs
@@ -12,7 +12,7 @@ struct foo {
   i: int,
 }
 
-impl foo : Drop {
+impl Drop for foo {
     fn finalize(&self) {}
 }
 
diff --git a/src/test/compile-fail/disallowed-deconstructing-destructing-struct.rs b/src/test/compile-fail/disallowed-deconstructing-destructing-struct.rs
index e4448f17a99..9019d338d09 100644
--- a/src/test/compile-fail/disallowed-deconstructing-destructing-struct.rs
+++ b/src/test/compile-fail/disallowed-deconstructing-destructing-struct.rs
@@ -12,7 +12,7 @@ struct X {
     x: ~str,
 }
 
-impl X : Drop {
+impl Drop for X {
     fn finalize(&self) {
         error!("value: %s", self.x);
     }
diff --git a/src/test/compile-fail/drop-on-non-struct.rs b/src/test/compile-fail/drop-on-non-struct.rs
index 69880272350..4e5b64c8f3d 100644
--- a/src/test/compile-fail/drop-on-non-struct.rs
+++ b/src/test/compile-fail/drop-on-non-struct.rs
@@ -10,7 +10,7 @@
 
 type Foo = @[u8];
 
-impl Foo : Drop {   //~ ERROR the Drop trait may only be implemented
+impl Drop for Foo {   //~ ERROR the Drop trait may only be implemented
 //~^ ERROR cannot provide an extension implementation
     fn finalize(&self) {
         io::println("kaboom");
diff --git a/src/test/compile-fail/elided-test.rs b/src/test/compile-fail/elided-test.rs
index 13c2caf2c42..b62214b12f9 100644
--- a/src/test/compile-fail/elided-test.rs
+++ b/src/test/compile-fail/elided-test.rs
@@ -14,4 +14,4 @@
 // and the build will fail because main doesn't exist
 #[test]
 fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/empty-record-type.rs b/src/test/compile-fail/empty-record-type.rs
index 16eaea638c8..74ac36f3694 100644
--- a/src/test/compile-fail/empty-record-type.rs
+++ b/src/test/compile-fail/empty-record-type.rs
@@ -14,4 +14,4 @@
 type t = {};
 
 fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/explicit-call-to-dtor.rs b/src/test/compile-fail/explicit-call-to-dtor.rs
index 0f124158410..71674186b61 100644
--- a/src/test/compile-fail/explicit-call-to-dtor.rs
+++ b/src/test/compile-fail/explicit-call-to-dtor.rs
@@ -12,7 +12,7 @@ struct Foo {
     x: int
 }
 
-impl Foo : Drop {
+impl Drop for Foo {
     fn finalize(&self) {
         io::println("kaboom");
     }
diff --git a/src/test/compile-fail/explicit-call-to-supertrait-dtor.rs b/src/test/compile-fail/explicit-call-to-supertrait-dtor.rs
index f16053a9a44..3b1dda19448 100644
--- a/src/test/compile-fail/explicit-call-to-supertrait-dtor.rs
+++ b/src/test/compile-fail/explicit-call-to-supertrait-dtor.rs
@@ -16,13 +16,13 @@ trait Bar : Drop {
     fn blah();
 }
 
-impl Foo : Drop {
+impl Drop for Foo {
     fn finalize(&self) {
         io::println("kaboom");
     }
 }
 
-impl Foo : Bar {
+impl Bar for Foo {
     fn blah() {
         self.finalize();    //~ ERROR explicit call to destructor
     }
diff --git a/src/test/compile-fail/ext-after-attrib.rs b/src/test/compile-fail/ext-after-attrib.rs
index 256ef33cede..eacad50b92f 100644
--- a/src/test/compile-fail/ext-after-attrib.rs
+++ b/src/test/compile-fail/ext-after-attrib.rs
@@ -14,4 +14,4 @@
 // item attribute. Probably could use a better error message.
 #[foo = "bar"]
 fmt!("baz")
-fn main() { }
\ No newline at end of file
+fn main() { }
diff --git a/src/test/compile-fail/extern-no-call.rs b/src/test/compile-fail/extern-no-call.rs
index 5a4474c7ccc..8c6deb34816 100644
--- a/src/test/compile-fail/extern-no-call.rs
+++ b/src/test/compile-fail/extern-no-call.rs
@@ -14,4 +14,4 @@ extern fn f() {
 
 fn main() {
     f();
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/if-without-else-result.rs b/src/test/compile-fail/if-without-else-result.rs
index b95c853aa7b..58e78953d5a 100644
--- a/src/test/compile-fail/if-without-else-result.rs
+++ b/src/test/compile-fail/if-without-else-result.rs
@@ -13,4 +13,4 @@
 fn main() {
     let a = if true { true };
     log(debug, a);
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/immut-function-arguments.rs b/src/test/compile-fail/immut-function-arguments.rs
index 814ec64b5c0..e557eaba834 100644
--- a/src/test/compile-fail/immut-function-arguments.rs
+++ b/src/test/compile-fail/immut-function-arguments.rs
@@ -17,4 +17,4 @@ fn g() {
 
 }
 
-fn main() {}
\ No newline at end of file
+fn main() {}
diff --git a/src/test/compile-fail/import-from-path.rs b/src/test/compile-fail/import-from-path.rs
index 480491067cd..ce91de7e9d9 100644
--- a/src/test/compile-fail/import-from-path.rs
+++ b/src/test/compile-fail/import-from-path.rs
@@ -9,4 +9,4 @@
 // except according to those terms.
 
 // error-pattern:expected
-use foo::{bar}::baz
\ No newline at end of file
+use foo::{bar}::baz
diff --git a/src/test/compile-fail/import-glob-path.rs b/src/test/compile-fail/import-glob-path.rs
index bf60f951e7f..b6bc53fad94 100644
--- a/src/test/compile-fail/import-glob-path.rs
+++ b/src/test/compile-fail/import-glob-path.rs
@@ -9,4 +9,4 @@
 // except according to those terms.
 
 // error-pattern:expected
-use foo::*::bar
\ No newline at end of file
+use foo::*::bar
diff --git a/src/test/compile-fail/infinite-instantiation.rs b/src/test/compile-fail/infinite-instantiation.rs
index 8b068f47c8f..21f49b11f66 100644
--- a/src/test/compile-fail/infinite-instantiation.rs
+++ b/src/test/compile-fail/infinite-instantiation.rs
@@ -15,13 +15,13 @@ trait to_opt {
     fn to_option() -> Option<Self>;
 }
 
-impl uint: to_opt {
+impl to_opt for uint {
     fn to_option() -> Option<uint> {
         Some(self)
     }
 }
 
-impl<T:Copy> Option<T>: to_opt {
+impl<T:Copy> to_opt for Option<T> {
     fn to_option() -> Option<Option<T>> {
         Some(self)
     }
diff --git a/src/test/compile-fail/infinite-tag-type-recursion.rs b/src/test/compile-fail/infinite-tag-type-recursion.rs
index 84ffffcd3d6..0974668f19d 100644
--- a/src/test/compile-fail/infinite-tag-type-recursion.rs
+++ b/src/test/compile-fail/infinite-tag-type-recursion.rs
@@ -14,4 +14,4 @@
 
 enum mlist { cons(int, mlist), nil, }
 
-fn main() { let a = cons(10, cons(11, nil)); }
\ No newline at end of file
+fn main() { let a = cons(10, cons(11, nil)); }
diff --git a/src/test/compile-fail/issue-1802-1.rs b/src/test/compile-fail/issue-1802-1.rs
index d75a66de0f6..8ce99f517c4 100644
--- a/src/test/compile-fail/issue-1802-1.rs
+++ b/src/test/compile-fail/issue-1802-1.rs
@@ -11,4 +11,4 @@
 // error-pattern:no valid digits found for number
 fn main() {
     log(error, 0b42);
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/issue-1802-2.rs b/src/test/compile-fail/issue-1802-2.rs
index a8d3e386187..c7aacdfc68a 100644
--- a/src/test/compile-fail/issue-1802-2.rs
+++ b/src/test/compile-fail/issue-1802-2.rs
@@ -11,4 +11,4 @@
 // error-pattern:no valid digits found for number
 fn main() {
     log(error, 0bu);
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/issue-1896-1.rs b/src/test/compile-fail/issue-1896-1.rs
index ff1afcebf9a..5def792558a 100644
--- a/src/test/compile-fail/issue-1896-1.rs
+++ b/src/test/compile-fail/issue-1896-1.rs
@@ -20,4 +20,4 @@ fn main () {
     let myInt: uint = (aFn.theFn)();
 
     assert myInt == 10;
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/issue-1900.rs b/src/test/compile-fail/issue-1900.rs
index a5ec5c5e794..ae46ab8116f 100644
--- a/src/test/compile-fail/issue-1900.rs
+++ b/src/test/compile-fail/issue-1900.rs
@@ -9,4 +9,4 @@
 // except according to those terms.
 
 // error-pattern: main function is not allowed to have type parameters
-fn main<T>() { }
\ No newline at end of file
+fn main<T>() { }
diff --git a/src/test/compile-fail/issue-2063.rs b/src/test/compile-fail/issue-2063.rs
index 7837fa2f8c7..8f344f42606 100644
--- a/src/test/compile-fail/issue-2063.rs
+++ b/src/test/compile-fail/issue-2063.rs
@@ -20,7 +20,7 @@ trait to_str_2 {
 // I use an impl here because it will cause
 // the compiler to attempt autoderef and then
 // try to resolve the method.
-impl t: to_str_2 {
+impl to_str_2 for t {
     fn to_str() -> ~str { ~"t" }
 }
 
diff --git a/src/test/compile-fail/issue-2111.rs b/src/test/compile-fail/issue-2111.rs
index 124c25d681f..40010b203aa 100644
--- a/src/test/compile-fail/issue-2111.rs
+++ b/src/test/compile-fail/issue-2111.rs
@@ -18,4 +18,4 @@ fn foo(a: Option<uint>, b: Option<uint>) {
 
 fn main() {
   foo(None, None);
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/issue-2149.rs b/src/test/compile-fail/issue-2149.rs
index abc6fe50fab..7e3ffb92950 100644
--- a/src/test/compile-fail/issue-2149.rs
+++ b/src/test/compile-fail/issue-2149.rs
@@ -12,7 +12,7 @@ trait vec_monad<A> {
     fn bind<B>(f: fn(A) -> ~[B]);
 }
 
-impl<A> ~[A]: vec_monad<A> {
+impl<A> vec_monad<A> for ~[A] {
     fn bind<B>(f: fn(A) -> ~[B]) {
         let mut r = fail!();
         for self.each |elt| { r += f(*elt); }
diff --git a/src/test/compile-fail/issue-2330.rs b/src/test/compile-fail/issue-2330.rs
index 9ff9676b675..e255d46633a 100644
--- a/src/test/compile-fail/issue-2330.rs
+++ b/src/test/compile-fail/issue-2330.rs
@@ -15,7 +15,7 @@ trait channel<T> {
 }
 
 // `chan` is not a trait, it's an enum
-impl int: chan { //~ ERROR can only implement trait types
+impl chan for int { //~ ERROR can only implement trait types
     fn send(v: int) { fail!() }
 }
 
diff --git a/src/test/compile-fail/issue-2548.rs b/src/test/compile-fail/issue-2548.rs
index 1b85bd9646e..abc73469719 100644
--- a/src/test/compile-fail/issue-2548.rs
+++ b/src/test/compile-fail/issue-2548.rs
@@ -16,7 +16,7 @@ struct foo {
 
 }
 
-impl foo : Drop {
+impl Drop for foo {
     fn finalize(&self) {
         io::println("Goodbye, World!");
         *self.x += 1;
diff --git a/src/test/compile-fail/issue-2590.rs b/src/test/compile-fail/issue-2590.rs
index ac8132555d6..22ae941350b 100644
--- a/src/test/compile-fail/issue-2590.rs
+++ b/src/test/compile-fail/issue-2590.rs
@@ -18,7 +18,7 @@ trait parse {
     fn parse() -> ~[int];
 }
 
-impl parser: parse {
+impl parse for parser {
     fn parse() -> ~[int] {
         dvec::unwrap(self.tokens) //~ ERROR moving out of immutable field
     }
diff --git a/src/test/compile-fail/issue-2611-3.rs b/src/test/compile-fail/issue-2611-3.rs
index 4bcdf9b299f..5da3d08e34c 100644
--- a/src/test/compile-fail/issue-2611-3.rs
+++ b/src/test/compile-fail/issue-2611-3.rs
@@ -23,7 +23,7 @@ struct E {
  f: int
 }
 
-impl E: A {
+impl A for E {
   fn b<F:Copy, G>(_x: F) -> F { fail!() } //~ ERROR in method `b`, type parameter 0 has 1 bound, but
 }
 
diff --git a/src/test/compile-fail/issue-2611-4.rs b/src/test/compile-fail/issue-2611-4.rs
index a20a182d85e..c8f3f9a4a5a 100644
--- a/src/test/compile-fail/issue-2611-4.rs
+++ b/src/test/compile-fail/issue-2611-4.rs
@@ -20,7 +20,7 @@ struct E {
  f: int
 }
 
-impl E: A {
+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
 }
 
diff --git a/src/test/compile-fail/issue-2611-5.rs b/src/test/compile-fail/issue-2611-5.rs
index f55feb80c32..f8f7704bcd9 100644
--- a/src/test/compile-fail/issue-2611-5.rs
+++ b/src/test/compile-fail/issue-2611-5.rs
@@ -20,7 +20,7 @@ struct E {
  f: int
 }
 
-impl E: A {
+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
 }
diff --git a/src/test/compile-fail/issue-2817-2.rs b/src/test/compile-fail/issue-2817-2.rs
index 05adfaa03ec..890b984e42e 100644
--- a/src/test/compile-fail/issue-2817-2.rs
+++ b/src/test/compile-fail/issue-2817-2.rs
@@ -24,4 +24,4 @@ fn main() {
     for not_bool() |_i| {
     //~^ ERROR A `for` loop iterator should expect a closure that returns `bool`
     };
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/issue-2823.rs b/src/test/compile-fail/issue-2823.rs
index f2ea4faf482..b29b19b406f 100644
--- a/src/test/compile-fail/issue-2823.rs
+++ b/src/test/compile-fail/issue-2823.rs
@@ -12,7 +12,7 @@ struct C {
     x: int,
 }
 
-impl C : Drop {
+impl Drop for C {
     fn finalize(&self) {
         error!("dropping: %?", self.x);
     }
diff --git a/src/test/compile-fail/issue-2951.rs b/src/test/compile-fail/issue-2951.rs
index f31c4c8c679..3874d9b13f5 100644
--- a/src/test/compile-fail/issue-2951.rs
+++ b/src/test/compile-fail/issue-2951.rs
@@ -16,4 +16,4 @@ fn foo<T, U>(x: T, y: U) {
 
 fn main() {
     
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/issue-2995.rs b/src/test/compile-fail/issue-2995.rs
index dd146b98af2..5c48416667f 100644
--- a/src/test/compile-fail/issue-2995.rs
+++ b/src/test/compile-fail/issue-2995.rs
@@ -10,4 +10,4 @@
 
 fn bad (p: *int) {
     let _q: &int = p as &int; //~ ERROR non-scalar cast
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/issue-3021-d.rs b/src/test/compile-fail/issue-3021-d.rs
index 6779829e70c..38bd007f189 100644
--- a/src/test/compile-fail/issue-3021-d.rs
+++ b/src/test/compile-fail/issue-3021-d.rs
@@ -28,7 +28,7 @@ fn siphash(k0 : u64, k1 : u64) -> siphash {
         return v0 ^ v1;
     }
 
-   impl sipstate: siphash {
+   impl siphash for sipstate {
         fn reset() {
             self.v0 = k0 ^ 0x736f6d6570736575;  //~ ERROR attempted dynamic environment-capture
             //~^ ERROR unresolved name: k0
diff --git a/src/test/compile-fail/issue-3021.rs b/src/test/compile-fail/issue-3021.rs
index fa9c4eb5217..fdfd2562175 100644
--- a/src/test/compile-fail/issue-3021.rs
+++ b/src/test/compile-fail/issue-3021.rs
@@ -20,7 +20,7 @@ fn siphash(k0 : u64) -> siphash {
     };
 
 
-   impl sipstate: siphash {
+   impl siphash for sipstate {
         fn reset() {
            self.v0 = k0 ^ 0x736f6d6570736575; //~ ERROR attempted dynamic environment-capture
            //~^ ERROR unresolved name: k0
diff --git a/src/test/compile-fail/issue-3154.rs b/src/test/compile-fail/issue-3154.rs
index bdb9d6ee16a..8f638713742 100644
--- a/src/test/compile-fail/issue-3154.rs
+++ b/src/test/compile-fail/issue-3154.rs
@@ -18,4 +18,4 @@ fn thing<Q>(x: &Q) -> thing<Q> {
 
 fn main() {
     thing(&());
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/issue-3214.rs b/src/test/compile-fail/issue-3214.rs
index ca36a626014..ff19551896b 100644
--- a/src/test/compile-fail/issue-3214.rs
+++ b/src/test/compile-fail/issue-3214.rs
@@ -14,7 +14,7 @@ fn foo<T>() {
         //~^ ERROR use of undeclared type name
     }
 
-    impl<T> foo<T> : Drop {
+    impl<T> Drop for foo<T> {
         fn finalize(&self) {}
     }
 }
diff --git a/src/test/compile-fail/issue-3243.rs b/src/test/compile-fail/issue-3243.rs
index 4a09e93deff..ac5c099e114 100644
--- a/src/test/compile-fail/issue-3243.rs
+++ b/src/test/compile-fail/issue-3243.rs
@@ -18,4 +18,4 @@ fn function() -> &[mut int] {
 fn main() {
     let x = function();
     error!("%?", x);
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/issue-3344.rs b/src/test/compile-fail/issue-3344.rs
index 84deb4cad46..2d31867752a 100644
--- a/src/test/compile-fail/issue-3344.rs
+++ b/src/test/compile-fail/issue-3344.rs
@@ -9,7 +9,7 @@
 // except according to those terms.
 
 enum thing = uint;
-impl thing : cmp::Ord { //~ ERROR missing method `gt`
+impl cmp::Ord for thing { //~ ERROR missing method `gt`
     pure fn lt(&self, other: &thing) -> bool { **self < **other }
     pure fn le(&self, other: &thing) -> bool { **self < **other }
     pure fn ge(&self, other: &thing) -> bool { **self < **other }
diff --git a/src/test/compile-fail/issue-3477.rs b/src/test/compile-fail/issue-3477.rs
index 7e189348db3..23e680fd851 100644
--- a/src/test/compile-fail/issue-3477.rs
+++ b/src/test/compile-fail/issue-3477.rs
@@ -1,3 +1,3 @@
 fn main() {
     let _p: char = 100; //~ ERROR mismatched types: expected `char` but found
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/issue-3651-2.rs b/src/test/compile-fail/issue-3651-2.rs
index bb20be701db..2431313df63 100644
--- a/src/test/compile-fail/issue-3651-2.rs
+++ b/src/test/compile-fail/issue-3651-2.rs
@@ -10,4 +10,4 @@
 
 fn main() {
     do 5.times {} //~ ERROR Do-block body must return bool, but returns () here. Perhaps
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/issue-3651.rs b/src/test/compile-fail/issue-3651.rs
index 392c1415d8a..38e9348155a 100644
--- a/src/test/compile-fail/issue-3651.rs
+++ b/src/test/compile-fail/issue-3651.rs
@@ -10,4 +10,4 @@
 
 fn main() {
     for task::spawn { return true; } //~ ERROR A `for` loop iterator should expect a closure that
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/issue-3668.rs b/src/test/compile-fail/issue-3668.rs
index 364701de2d1..2b25afeb0e7 100644
--- a/src/test/compile-fail/issue-3668.rs
+++ b/src/test/compile-fail/issue-3668.rs
@@ -13,7 +13,7 @@ trait PTrait {
    fn getChildOption() -> Option<@P>;
 }
 
-impl P: PTrait {
+impl PTrait for P {
    fn getChildOption() -> Option<@P> {
        const childVal: @P = self.child.get(); //~ ERROR attempt to use a non-constant value in a constant
        fail!();
diff --git a/src/test/compile-fail/issue-3702-2.rs b/src/test/compile-fail/issue-3702-2.rs
index f50b046b5ee..54100d543dd 100644
--- a/src/test/compile-fail/issue-3702-2.rs
+++ b/src/test/compile-fail/issue-3702-2.rs
@@ -13,7 +13,7 @@ trait Add {
     fn add_dynamic(&self, other: &Add) -> int;
 }
 
-impl int: Add {
+impl Add for int {
     fn to_int(&self) -> int { *self }
     fn add_dynamic(&self, other: &Add) -> int {
         self.to_int() + other.to_int() //~ ERROR multiple applicable methods in scope
diff --git a/src/test/compile-fail/issue-3820.rs b/src/test/compile-fail/issue-3820.rs
index 719036db1ab..3a726d270ff 100644
--- a/src/test/compile-fail/issue-3820.rs
+++ b/src/test/compile-fail/issue-3820.rs
@@ -13,7 +13,7 @@ struct Thing {
     x: int
 }
 
-impl Thing/*: Mul<int, Thing>*/ { //~ ERROR Look ma, no Mul!
+impl Mul<int, Thing>*/ for Thing/* { //~ ERROR Look ma, no Mul!
     pure fn mul(c: &int) -> Thing {
         Thing {x: self.x * *c}
     }
diff --git a/src/test/compile-fail/issue-3953.rs b/src/test/compile-fail/issue-3953.rs
index 0b10f6cd17e..2c797691b8d 100644
--- a/src/test/compile-fail/issue-3953.rs
+++ b/src/test/compile-fail/issue-3953.rs
@@ -21,7 +21,7 @@ enum Lol = int;
 
 pub impl Lol: Hahaha { }
 
-impl Lol: Eq {
+impl Eq for Lol {
     pure fn eq(&self, other: &Lol) -> bool { **self != **other }
     pure fn ne(&self, other: &Lol) -> bool { **self == **other }
 }
@@ -32,4 +32,4 @@ fn main() {
     } else {
         io::println("2 != 4");
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/issue-3973.rs b/src/test/compile-fail/issue-3973.rs
index 5d49610a4e5..812e0fc8c96 100644
--- a/src/test/compile-fail/issue-3973.rs
+++ b/src/test/compile-fail/issue-3973.rs
@@ -15,7 +15,7 @@ struct Point {
     mut y: float,
 }
 
-impl Point : ToStr { //~ ERROR implements a method not defined in the trait
+impl ToStr for Point { //~ ERROR implements a method not defined in the trait
     static fn new(x: float, y: float) -> Point {
         Point { x: x, y: y }
     }
diff --git a/src/test/compile-fail/issue-4335.rs b/src/test/compile-fail/issue-4335.rs
index 3aaac650c2b..7242d993f33 100644
--- a/src/test/compile-fail/issue-4335.rs
+++ b/src/test/compile-fail/issue-4335.rs
@@ -16,4 +16,4 @@ fn f<T>(v: &r/T) -> &r/fn()->T { id::<&r/fn()->T>(|| *v) } //~ ERROR ???
 fn main() {
     let v = &5;
     io::println(fmt!("%d", f(v)()));
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/issue-4523.rs b/src/test/compile-fail/issue-4523.rs
index e72b73f8fa4..49510c33858 100644
--- a/src/test/compile-fail/issue-4523.rs
+++ b/src/test/compile-fail/issue-4523.rs
@@ -14,4 +14,4 @@ const f: fn() = foopy; //~ ERROR mismatched types: expected `&static/fn()`
 
 fn main () {
     f();
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/issue-818.rs b/src/test/compile-fail/issue-818.rs
index 824f36038dd..00f2df00385 100644
--- a/src/test/compile-fail/issue-818.rs
+++ b/src/test/compile-fail/issue-818.rs
@@ -21,4 +21,4 @@ fn main() {
     let c = ctr::new(42);
     let c2 = ctr::inc(c);
     assert *c2 == 5; //~ ERROR can only dereference enums with a single, public variant
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/kindck-nonsendable-1.rs b/src/test/compile-fail/kindck-nonsendable-1.rs
index f04740bae4c..a513e367fe5 100644
--- a/src/test/compile-fail/kindck-nonsendable-1.rs
+++ b/src/test/compile-fail/kindck-nonsendable-1.rs
@@ -15,4 +15,4 @@ fn main() {
     let _ = fn~() { foo(x); }; //~ ERROR value has non-owned type `@uint`
     let _ = fn~(copy x) { foo(x); }; //~ ERROR value has non-owned type `@uint`
     let _ = fn~(move x) { foo(x); }; //~ ERROR value has non-owned type `@uint`
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/kindck-owned-trait-contains.rs b/src/test/compile-fail/kindck-owned-trait-contains.rs
index 69f07e3e774..2864e27f42f 100644
--- a/src/test/compile-fail/kindck-owned-trait-contains.rs
+++ b/src/test/compile-fail/kindck-owned-trait-contains.rs
@@ -10,7 +10,7 @@
 
 trait repeat<A> { fn get() -> A; }
 
-impl<A:Copy> @A: repeat<A> {
+impl<A:Copy> repeat<A> for @A {
     fn get() -> A { *self }
 }
 
@@ -28,4 +28,4 @@ fn main() {
         repeater(@x)
     };
     assert 3 == *(y.get()); //~ ERROR reference is not valid
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/kindck-owned-trait-scoped.rs b/src/test/compile-fail/kindck-owned-trait-scoped.rs
index 6c6cdbbb2c7..3d83f13c211 100644
--- a/src/test/compile-fail/kindck-owned-trait-scoped.rs
+++ b/src/test/compile-fail/kindck-owned-trait-scoped.rs
@@ -15,7 +15,7 @@ trait foo {
     fn foo(i: &self/int) -> int;
 }
 
-impl<T:Copy> T: foo {
+impl<T:Copy> foo for T {
     fn foo(i: &self/int) -> int {*i}
 }
 
@@ -42,4 +42,4 @@ fn to_foo_3<T:Copy &static>(t: T) -> foo {
 }
 
 fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/lint-deprecated-self.rs b/src/test/compile-fail/lint-deprecated-self.rs
index f02ab438fde..9da103396d8 100644
--- a/src/test/compile-fail/lint-deprecated-self.rs
+++ b/src/test/compile-fail/lint-deprecated-self.rs
@@ -8,7 +8,7 @@ mod a {
         x: int
     }
 
-    impl S : T {
+    impl T for S {
         fn f() {    //~ ERROR this method form is deprecated
         }
     }
diff --git a/src/test/compile-fail/lint-non-camel-case-types.rs b/src/test/compile-fail/lint-non-camel-case-types.rs
index 2cb0c9e8ddb..27c9ca64a93 100644
--- a/src/test/compile-fail/lint-non-camel-case-types.rs
+++ b/src/test/compile-fail/lint-non-camel-case-types.rs
@@ -31,4 +31,4 @@ enum Foo5 {
 trait foo6 { //~ ERROR type, variant, or trait should have a camel case identifier
 }
 
-fn main() { }
\ No newline at end of file
+fn main() { }
diff --git a/src/test/compile-fail/liveness-unused.rs b/src/test/compile-fail/liveness-unused.rs
index 351a63f062d..b5157c669a7 100644
--- a/src/test/compile-fail/liveness-unused.rs
+++ b/src/test/compile-fail/liveness-unused.rs
@@ -62,7 +62,7 @@ struct r {
     x: (),
 }
 
-impl r : Drop {
+impl Drop for r {
     fn finalize(&self) {}
 }
 
diff --git a/src/test/compile-fail/loop-does-not-diverge.rs b/src/test/compile-fail/loop-does-not-diverge.rs
index 0265bd6d24b..0a9d9fb20ab 100644
--- a/src/test/compile-fail/loop-does-not-diverge.rs
+++ b/src/test/compile-fail/loop-does-not-diverge.rs
@@ -19,4 +19,4 @@ fn forever() -> ! {
 
 fn main() {
   if (1 == 2) { forever(); }
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/lub-in-args.rs b/src/test/compile-fail/lub-in-args.rs
index ffd5ce3d108..c2879d7f272 100644
--- a/src/test/compile-fail/lub-in-args.rs
+++ b/src/test/compile-fail/lub-in-args.rs
@@ -24,4 +24,4 @@ fn main() {
 
     two_args(x, y); //~ ERROR (values differ in mutability)
     two_args(a, b); //~ ERROR (values differ in mutability)
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/missing-derivable-attr.rs b/src/test/compile-fail/missing-derivable-attr.rs
index bff6344bc55..3d63b622fcc 100644
--- a/src/test/compile-fail/missing-derivable-attr.rs
+++ b/src/test/compile-fail/missing-derivable-attr.rs
@@ -16,7 +16,7 @@ struct A {
     x: int
 }
 
-impl int : MyEq {
+impl MyEq for int {
     pure fn eq(&self, other: &int) -> bool { *self == *other }
 }
 
diff --git a/src/test/compile-fail/mod_file_correct_spans.rs b/src/test/compile-fail/mod_file_correct_spans.rs
index aa1106952fa..f2973fb0d5e 100644
--- a/src/test/compile-fail/mod_file_correct_spans.rs
+++ b/src/test/compile-fail/mod_file_correct_spans.rs
@@ -14,4 +14,4 @@ mod mod_file_aux;
 
 fn main() {
     assert mod_file_aux::bar() == 10; //~ ERROR unresolved name
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/mod_file_not_exist.rs b/src/test/compile-fail/mod_file_not_exist.rs
index da2eb70915c..42a43ea358c 100644
--- a/src/test/compile-fail/mod_file_not_exist.rs
+++ b/src/test/compile-fail/mod_file_not_exist.rs
@@ -12,4 +12,4 @@ mod not_a_real_file; //~ ERROR not_a_real_file.rs
 
 fn main() {
     assert mod_file_aux::bar() == 10;
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/mod_file_with_path_attr.rs b/src/test/compile-fail/mod_file_with_path_attr.rs
index 7cc03081105..56be5e5022a 100644
--- a/src/test/compile-fail/mod_file_with_path_attr.rs
+++ b/src/test/compile-fail/mod_file_with_path_attr.rs
@@ -13,4 +13,4 @@ mod m; //~ ERROR not_a_real_file.rs
 
 fn main() {
     assert m::foo() == 10;
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/moves-based-on-type-access-to-field.rs b/src/test/compile-fail/moves-based-on-type-access-to-field.rs
index 663b615816d..6cc19b18c20 100644
--- a/src/test/compile-fail/moves-based-on-type-access-to-field.rs
+++ b/src/test/compile-fail/moves-based-on-type-access-to-field.rs
@@ -17,4 +17,4 @@ fn f20() {
     touch(&x[0]); //~ ERROR use of partially moved value: `x`
 }
 
-fn main() {}
\ No newline at end of file
+fn main() {}
diff --git a/src/test/compile-fail/multiple-main.rs b/src/test/compile-fail/multiple-main.rs
index 0ca42425dbd..ef8cd58abf9 100644
--- a/src/test/compile-fail/multiple-main.rs
+++ b/src/test/compile-fail/multiple-main.rs
@@ -14,4 +14,4 @@ fn main() {
 mod foo {
     fn main() { //~ ERROR multiple 'main' functions
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/multitrait.rs b/src/test/compile-fail/multitrait.rs
index a0a9e3f0ddf..b49ee5aab47 100644
--- a/src/test/compile-fail/multitrait.rs
+++ b/src/test/compile-fail/multitrait.rs
@@ -12,7 +12,7 @@ struct S {
  y: int
 }
 
-impl S: Cmp, ToStr { //~ ERROR: expected `{` but found `,`
+impl Cmp, ToStr for S { //~ ERROR: expected `{` but found `,`
   fn eq(&&other: S) { false }
   fn to_str(&self) -> ~str { ~"hi" }
 }
diff --git a/src/test/compile-fail/no-send-res-ports.rs b/src/test/compile-fail/no-send-res-ports.rs
index d0c216fe231..4954bbfa09d 100644
--- a/src/test/compile-fail/no-send-res-ports.rs
+++ b/src/test/compile-fail/no-send-res-ports.rs
@@ -15,7 +15,7 @@ fn main() {
       _x: Port<()>,
     }
 
-    impl foo : Drop {
+    impl Drop for foo {
         fn finalize(&self) {}
     }
 
diff --git a/src/test/compile-fail/non-const.rs b/src/test/compile-fail/non-const.rs
index 84f34d0e9bd..9bc4ce87787 100644
--- a/src/test/compile-fail/non-const.rs
+++ b/src/test/compile-fail/non-const.rs
@@ -16,7 +16,7 @@ struct r {
   x:int,
 }
 
-impl r : Drop {
+impl Drop for r {
     fn finalize(&self) {}
 }
 
@@ -30,7 +30,7 @@ struct r2 {
   x:@mut int,
 }
 
-impl r2 : Drop {
+impl Drop for r2 {
     fn finalize(&self) {}
 }
 
diff --git a/src/test/compile-fail/noncopyable-class.rs b/src/test/compile-fail/noncopyable-class.rs
index 360180ee455..115120ff372 100644
--- a/src/test/compile-fail/noncopyable-class.rs
+++ b/src/test/compile-fail/noncopyable-class.rs
@@ -14,7 +14,7 @@ struct bar {
   x: int,
 }
 
-impl bar : Drop {
+impl Drop for bar {
     fn finalize(&self) {}
 }
 
diff --git a/src/test/compile-fail/omitted-arg-in-item-fn.rs b/src/test/compile-fail/omitted-arg-in-item-fn.rs
index df833ad55fe..fcbfb115af7 100644
--- a/src/test/compile-fail/omitted-arg-in-item-fn.rs
+++ b/src/test/compile-fail/omitted-arg-in-item-fn.rs
@@ -9,4 +9,4 @@
 // except according to those terms.
 
 fn foo(x) { //~ ERROR expected `:` but found `)`
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/omitted-arg-wrong-types.rs b/src/test/compile-fail/omitted-arg-wrong-types.rs
index 2a9f427c7b0..13087e05d0b 100644
--- a/src/test/compile-fail/omitted-arg-wrong-types.rs
+++ b/src/test/compile-fail/omitted-arg-wrong-types.rs
@@ -17,4 +17,4 @@ fn main() {
 
     let_in(3, fn&(i) { assert i == 3u; });
     //~^ ERROR expected `int` but found `uint`
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/pinned-deep-copy.rs b/src/test/compile-fail/pinned-deep-copy.rs
index 80cf409f239..43515e26529 100644
--- a/src/test/compile-fail/pinned-deep-copy.rs
+++ b/src/test/compile-fail/pinned-deep-copy.rs
@@ -12,7 +12,7 @@ struct r {
   i: @mut int,
 }
 
-impl r : Drop {
+impl Drop for r {
     fn finalize(&self) {
         *(self.i) = *(self.i) + 1;
     }
diff --git a/src/test/compile-fail/pptypedef.rs b/src/test/compile-fail/pptypedef.rs
index 223d7effa4c..b3717c5b20e 100644
--- a/src/test/compile-fail/pptypedef.rs
+++ b/src/test/compile-fail/pptypedef.rs
@@ -16,4 +16,4 @@ fn bar(_t: foo) {}
 fn main() {
     // we used to print foo<int>:
     bar(Some(3u)); //~ ERROR mismatched types: expected `foo`
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/private_variant_2.rs b/src/test/compile-fail/private_variant_2.rs
index 11d929f79ca..e6a27e6a4bb 100644
--- a/src/test/compile-fail/private_variant_2.rs
+++ b/src/test/compile-fail/private_variant_2.rs
@@ -14,4 +14,4 @@ extern mod private_variant_1;
 
 fn main() {
     let _x = private_variant_1::super_sekrit::baz; //~ ERROR baz is private
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/pure-modifies-aliased.rs b/src/test/compile-fail/pure-modifies-aliased.rs
index 85497e2ee0a..90c507091e9 100644
--- a/src/test/compile-fail/pure-modifies-aliased.rs
+++ b/src/test/compile-fail/pure-modifies-aliased.rs
@@ -22,7 +22,7 @@ trait modify_in_box_rec {
     pure fn modify_in_box_rec(sum: @{mut f: int});
 }
 
-impl int: modify_in_box_rec {
+impl modify_in_box_rec for int {
     pure fn modify_in_box_rec(sum: @{mut f: int}) {
         sum.f = self; //~ ERROR assigning to mutable field prohibited in pure context
     }
diff --git a/src/test/compile-fail/qquote-1.rs b/src/test/compile-fail/qquote-1.rs
index a9ba7082628..e4e61e438f9 100644
--- a/src/test/compile-fail/qquote-1.rs
+++ b/src/test/compile-fail/qquote-1.rs
@@ -31,7 +31,7 @@ trait fake_ext_ctxt {
 
 type fake_session = parse::parse_sess;
 
-impl fake_session: fake_ext_ctxt {
+impl fake_ext_ctxt for fake_session {
     fn cfg() -> ast::crate_cfg { ~[] }
     fn parse_sess() -> parse::parse_sess { self }
     fn call_site() -> span {
diff --git a/src/test/compile-fail/qquote-2.rs b/src/test/compile-fail/qquote-2.rs
index fe382badb5c..abe62e15e13 100644
--- a/src/test/compile-fail/qquote-2.rs
+++ b/src/test/compile-fail/qquote-2.rs
@@ -30,7 +30,7 @@ trait fake_ext_ctxt {
 
 type fake_session = parse::parse_sess;
 
-impl fake_session: fake_ext_ctxt {
+impl fake_ext_ctxt for fake_session {
     fn cfg() -> ast::crate_cfg { ~[] }
     fn parse_sess() -> parse::parse_sess { self }
     fn call_site() -> span {
diff --git a/src/test/compile-fail/rec-expected.rs b/src/test/compile-fail/rec-expected.rs
index e64b6092c66..962201aa9b9 100644
--- a/src/test/compile-fail/rec-expected.rs
+++ b/src/test/compile-fail/rec-expected.rs
@@ -16,4 +16,4 @@ fn have_bar(b: bar) {
     want_foo(b); //~ ERROR expected a record with field `a`
 }
 
-fn main() {}
\ No newline at end of file
+fn main() {}
diff --git a/src/test/compile-fail/record-with-resource.rs b/src/test/compile-fail/record-with-resource.rs
index c9dc77ce4d2..2a1db52d733 100644
--- a/src/test/compile-fail/record-with-resource.rs
+++ b/src/test/compile-fail/record-with-resource.rs
@@ -12,7 +12,7 @@ struct my_resource {
   x: int,
 }
 
-impl my_resource : Drop {
+impl Drop for my_resource {
     fn finalize(&self) {
         log(error, self.x);
     }
diff --git a/src/test/compile-fail/regions-addr-of-arg.rs b/src/test/compile-fail/regions-addr-of-arg.rs
index b9ffb485bdf..54d7c0b4d18 100644
--- a/src/test/compile-fail/regions-addr-of-arg.rs
+++ b/src/test/compile-fail/regions-addr-of-arg.rs
@@ -17,4 +17,4 @@ fn bar(a: int) {
 }
 
 fn main() {
-}
\ No newline at end of file
+}
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 0e6039a4db7..0681680b9c4 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
@@ -12,7 +12,7 @@ trait deref {
     fn get() -> int;
 }
 
-impl &int: deref {
+impl deref for &int {
     fn get() -> int {
         *self
     }
diff --git a/src/test/compile-fail/regions-in-consts.rs b/src/test/compile-fail/regions-in-consts.rs
index 47a290099d3..1d6ddc4cd9a 100644
--- a/src/test/compile-fail/regions-in-consts.rs
+++ b/src/test/compile-fail/regions-in-consts.rs
@@ -12,4 +12,4 @@ const c_x: &blk/int = &22; //~ ERROR only the static region is allowed here
 const c_y: &static/int = &22;
 
 fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/regions-in-enums.rs b/src/test/compile-fail/regions-in-enums.rs
index 5e90fbb0498..baf072c01ee 100644
--- a/src/test/compile-fail/regions-in-enums.rs
+++ b/src/test/compile-fail/regions-in-enums.rs
@@ -20,4 +20,4 @@ enum yes2 {
     x5(&foo/uint) //~ ERROR named regions other than `self` are not allowed as part of a type declaration
 }
 
-fn main() {}
\ No newline at end of file
+fn main() {}
diff --git a/src/test/compile-fail/regions-in-rsrcs.rs b/src/test/compile-fail/regions-in-rsrcs.rs
index 5547d14799c..a3ff0563483 100644
--- a/src/test/compile-fail/regions-in-rsrcs.rs
+++ b/src/test/compile-fail/regions-in-rsrcs.rs
@@ -12,7 +12,7 @@ struct yes0 {
   x: &uint,
 }
 
-impl yes0 : Drop {
+impl Drop for yes0 {
     fn finalize(&self) {}
 }
 
@@ -20,7 +20,7 @@ struct yes1 {
   x: &self/uint,
 }
 
-impl yes1 : Drop {
+impl Drop for yes1 {
     fn finalize(&self) {}
 }
 
@@ -28,7 +28,7 @@ struct yes2 {
   x: &foo/uint, //~ ERROR named regions other than `self` are not allowed as part of a type declaration
 }
 
-impl yes2 : Drop {
+impl Drop for yes2 {
     fn finalize(&self) {}
 }
 
diff --git a/src/test/compile-fail/regions-in-type-items.rs b/src/test/compile-fail/regions-in-type-items.rs
index a183c60fecd..a83b747d2f1 100644
--- a/src/test/compile-fail/regions-in-type-items.rs
+++ b/src/test/compile-fail/regions-in-type-items.rs
@@ -20,4 +20,4 @@ type item_ty_yes2 = {
     x: &foo/uint //~ ERROR named regions other than `self` are not allowed as part of a type declaration
 };
 
-fn main() {}
\ No newline at end of file
+fn main() {}
diff --git a/src/test/compile-fail/regions-infer-call-3.rs b/src/test/compile-fail/regions-infer-call-3.rs
index fcef29a5156..762142993f9 100644
--- a/src/test/compile-fail/regions-infer-call-3.rs
+++ b/src/test/compile-fail/regions-infer-call-3.rs
@@ -21,4 +21,4 @@ fn manip(x: &a/int) -> int {
 }
 
 fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/regions-infer-contravariance-due-to-immutability.rs b/src/test/compile-fail/regions-infer-contravariance-due-to-immutability.rs
index 2c493ba2882..e9603dba744 100644
--- a/src/test/compile-fail/regions-infer-contravariance-due-to-immutability.rs
+++ b/src/test/compile-fail/regions-infer-contravariance-due-to-immutability.rs
@@ -25,4 +25,4 @@ fn to_longer_lifetime(bi: contravariant/&r) -> contravariant/&static {
 }
 
 fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/regions-infer-contravariance-due-to-ret.rs b/src/test/compile-fail/regions-infer-contravariance-due-to-ret.rs
index 16a6f935290..5c57fe26c24 100644
--- a/src/test/compile-fail/regions-infer-contravariance-due-to-ret.rs
+++ b/src/test/compile-fail/regions-infer-contravariance-due-to-ret.rs
@@ -30,4 +30,4 @@ fn to_longer_lifetime(bi: contravariant/&r) -> contravariant/&static {
 }
 
 fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/regions-infer-covariance-due-to-arg.rs b/src/test/compile-fail/regions-infer-covariance-due-to-arg.rs
index cfd8834a53a..a7363867ddc 100644
--- a/src/test/compile-fail/regions-infer-covariance-due-to-arg.rs
+++ b/src/test/compile-fail/regions-infer-covariance-due-to-arg.rs
@@ -29,4 +29,4 @@ fn to_longer_lifetime(bi: covariant/&r) -> covariant/&static {
 }
 
 fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/regions-infer-invariance-due-to-arg-and-ret.rs b/src/test/compile-fail/regions-infer-invariance-due-to-arg-and-ret.rs
index ec11b193ba6..a22bc7c08c5 100644
--- a/src/test/compile-fail/regions-infer-invariance-due-to-arg-and-ret.rs
+++ b/src/test/compile-fail/regions-infer-invariance-due-to-arg-and-ret.rs
@@ -29,4 +29,4 @@ fn to_longer_lifetime(bi: invariant/&r) -> invariant/&static {
 }
 
 fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/regions-infer-invariance-due-to-mutability-1.rs b/src/test/compile-fail/regions-infer-invariance-due-to-mutability-1.rs
index b500b8d6724..83c2c5806e4 100644
--- a/src/test/compile-fail/regions-infer-invariance-due-to-mutability-1.rs
+++ b/src/test/compile-fail/regions-infer-invariance-due-to-mutability-1.rs
@@ -25,4 +25,4 @@ fn to_longer_lifetime(bi: invariant/&r) -> invariant/&static {
 }
 
 fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/regions-infer-invariance-due-to-mutability-2.rs b/src/test/compile-fail/regions-infer-invariance-due-to-mutability-2.rs
index 523b48f2aff..1a20ca23fae 100644
--- a/src/test/compile-fail/regions-infer-invariance-due-to-mutability-2.rs
+++ b/src/test/compile-fail/regions-infer-invariance-due-to-mutability-2.rs
@@ -25,4 +25,4 @@ fn to_longer_lifetime(bi: invariant/&r) -> invariant/&static {
 }
 
 fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/regions-infer-invariance-due-to-mutability-3.rs b/src/test/compile-fail/regions-infer-invariance-due-to-mutability-3.rs
index 76996e9c142..3d831f02a91 100644
--- a/src/test/compile-fail/regions-infer-invariance-due-to-mutability-3.rs
+++ b/src/test/compile-fail/regions-infer-invariance-due-to-mutability-3.rs
@@ -25,4 +25,4 @@ fn to_longer_lifetime(bi: invariant/&r) -> invariant/&static {
 }
 
 fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/regions-infer-invariance-due-to-mutability-4.rs b/src/test/compile-fail/regions-infer-invariance-due-to-mutability-4.rs
index 0f2bdd57bbf..2c232f70bc4 100644
--- a/src/test/compile-fail/regions-infer-invariance-due-to-mutability-4.rs
+++ b/src/test/compile-fail/regions-infer-invariance-due-to-mutability-4.rs
@@ -25,4 +25,4 @@ fn to_longer_lifetime(bi: invariant/&r) -> invariant/&static {
 }
 
 fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/regions-infer-invariance-due-to-mutability.rs b/src/test/compile-fail/regions-infer-invariance-due-to-mutability.rs
index 119c28a9e84..fabce969b9c 100644
--- a/src/test/compile-fail/regions-infer-invariance-due-to-mutability.rs
+++ b/src/test/compile-fail/regions-infer-invariance-due-to-mutability.rs
@@ -25,4 +25,4 @@ fn to_longer_lifetime(bi: invariant/&r) -> invariant/&static {
 }
 
 fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/regions-infer-paramd-indirect.rs b/src/test/compile-fail/regions-infer-paramd-indirect.rs
index 51a8fe9ceac..c3ce00594f4 100644
--- a/src/test/compile-fail/regions-infer-paramd-indirect.rs
+++ b/src/test/compile-fail/regions-infer-paramd-indirect.rs
@@ -20,7 +20,7 @@ trait set_f {
     fn set_f_bad(b: @b);
 }
 
-impl c: set_f {
+impl set_f for c {
     fn set_f_ok(b: @b/&self) {
         self.f = b;
     }
diff --git a/src/test/compile-fail/regions-infer-paramd-method.rs b/src/test/compile-fail/regions-infer-paramd-method.rs
index 46b809d225f..a75e1deb6a2 100644
--- a/src/test/compile-fail/regions-infer-paramd-method.rs
+++ b/src/test/compile-fail/regions-infer-paramd-method.rs
@@ -23,7 +23,7 @@ trait set_foo_foo {
     fn set_foo(f: foo);
 }
 
-impl with_foo: set_foo_foo {
+impl set_foo_foo for with_foo {
     fn set_foo(f: foo) {
         self.f = f; //~ ERROR mismatched types: expected `@foo/&self` but found `@foo/&`
     }
@@ -41,7 +41,7 @@ trait set_foo_bar {
     fn set_foo(f: bar);
 }
 
-impl with_bar: set_foo_bar {
+impl set_foo_bar for with_bar {
     fn set_foo(f: bar) {
         self.f = f;
     }
diff --git a/src/test/compile-fail/regions-infer-region-in-fn-but-not-type.rs b/src/test/compile-fail/regions-infer-region-in-fn-but-not-type.rs
index 914e77bb5bb..7b8b8daf565 100644
--- a/src/test/compile-fail/regions-infer-region-in-fn-but-not-type.rs
+++ b/src/test/compile-fail/regions-infer-region-in-fn-but-not-type.rs
@@ -16,4 +16,4 @@ enum foo = fn~(x: &int);
 fn take_foo(x: foo/&) {} //~ ERROR no region bound is allowed on `foo`
 
 fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/regions-nested-fns-2.rs b/src/test/compile-fail/regions-nested-fns-2.rs
index 63c27957215..ee2aea1086b 100644
--- a/src/test/compile-fail/regions-nested-fns-2.rs
+++ b/src/test/compile-fail/regions-nested-fns-2.rs
@@ -18,4 +18,4 @@ fn nested() {
     });
 }
 
-fn main() {}
\ No newline at end of file
+fn main() {}
diff --git a/src/test/compile-fail/regions-nested-fns.rs b/src/test/compile-fail/regions-nested-fns.rs
index fa4cebcdefb..4d53db35596 100644
--- a/src/test/compile-fail/regions-nested-fns.rs
+++ b/src/test/compile-fail/regions-nested-fns.rs
@@ -27,4 +27,4 @@ fn nested(x: &x/int) {
     });
 }
 
-fn main() {}
\ No newline at end of file
+fn main() {}
diff --git a/src/test/compile-fail/regions-out-of-scope-slice.rs b/src/test/compile-fail/regions-out-of-scope-slice.rs
index 55cdf2752ed..102ff8b3998 100644
--- a/src/test/compile-fail/regions-out-of-scope-slice.rs
+++ b/src/test/compile-fail/regions-out-of-scope-slice.rs
@@ -19,4 +19,4 @@ fn foo(cond: bool) {
     }
 }
 
-fn main() {}
\ No newline at end of file
+fn main() {}
diff --git a/src/test/compile-fail/regions-scoping.rs b/src/test/compile-fail/regions-scoping.rs
index f9992429733..380a9a57d01 100644
--- a/src/test/compile-fail/regions-scoping.rs
+++ b/src/test/compile-fail/regions-scoping.rs
@@ -53,4 +53,4 @@ fn nested(x: &x/int) {  // (1)
     }
 }
 
-fn main() {}
\ No newline at end of file
+fn main() {}
diff --git a/src/test/compile-fail/regions-trait-1.rs b/src/test/compile-fail/regions-trait-1.rs
index 76e2244c570..de31c64328f 100644
--- a/src/test/compile-fail/regions-trait-1.rs
+++ b/src/test/compile-fail/regions-trait-1.rs
@@ -17,7 +17,7 @@ trait get_ctxt {
 
 type has_ctxt = { c: &ctxt };
 
-impl has_ctxt: get_ctxt {
+impl get_ctxt for has_ctxt {
 
     // Here an error occurs because we used `&self` but
     // the definition used `&`:
diff --git a/src/test/compile-fail/regions-trait-2.rs b/src/test/compile-fail/regions-trait-2.rs
index 044e656e71c..f19417425aa 100644
--- a/src/test/compile-fail/regions-trait-2.rs
+++ b/src/test/compile-fail/regions-trait-2.rs
@@ -16,7 +16,7 @@ trait get_ctxt {
 
 type has_ctxt = { c: &ctxt };
 
-impl has_ctxt: get_ctxt {
+impl get_ctxt for has_ctxt {
     fn get_ctxt() -> &self/ctxt { self.c }
 }
 
diff --git a/src/test/compile-fail/regions-var-type-out-of-scope.rs b/src/test/compile-fail/regions-var-type-out-of-scope.rs
index aad58446d0e..48ef79a9984 100644
--- a/src/test/compile-fail/regions-var-type-out-of-scope.rs
+++ b/src/test/compile-fail/regions-var-type-out-of-scope.rs
@@ -19,4 +19,4 @@ fn foo(cond: bool) {
     }
 }
 
-fn main() {}
\ No newline at end of file
+fn main() {}
diff --git a/src/test/compile-fail/repeat-to-run-dtor-twice.rs b/src/test/compile-fail/repeat-to-run-dtor-twice.rs
index 58c07cc8ea6..18bdb564441 100644
--- a/src/test/compile-fail/repeat-to-run-dtor-twice.rs
+++ b/src/test/compile-fail/repeat-to-run-dtor-twice.rs
@@ -16,7 +16,7 @@ struct Foo {
 
 }
 
-impl Foo : Drop {
+impl Drop for Foo {
     fn finalize(&self) {
         io::println("Goodbye!");
     }
diff --git a/src/test/compile-fail/reserved-be.rs b/src/test/compile-fail/reserved-be.rs
index b0e8e6ae7bd..386d53cc16e 100644
--- a/src/test/compile-fail/reserved-be.rs
+++ b/src/test/compile-fail/reserved-be.rs
@@ -11,4 +11,4 @@
 fn main() {
     let be = 0;
     //~^ ERROR `be` is a reserved keyword
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/selftype-astparam.rs b/src/test/compile-fail/selftype-astparam.rs
index e3bdb97e744..c89d1d2795b 100644
--- a/src/test/compile-fail/selftype-astparam.rs
+++ b/src/test/compile-fail/selftype-astparam.rs
@@ -12,7 +12,7 @@ trait add {
     fn plus(++x: Self) -> Self;
 }
 
-impl int: add {
+impl add for int {
     fn plus(++x: int) -> int { self + x }
 }
 
diff --git a/src/test/compile-fail/seq-args.rs b/src/test/compile-fail/seq-args.rs
index 5aec1c41d0f..0d253d78283 100644
--- a/src/test/compile-fail/seq-args.rs
+++ b/src/test/compile-fail/seq-args.rs
@@ -12,10 +12,10 @@ extern mod std;
 fn main() {
 trait seq { }
 
-impl<T> ~[T]: seq<T> { //~ ERROR wrong number of type arguments
+impl<T> seq<T> for ~[T] { //~ ERROR wrong number of type arguments
     /* ... */
 }
-impl u32: seq<bool> {
+impl seq<bool> for u32 {
    /* Treat the integer as a sequence of bits */
 }
 
diff --git a/src/test/compile-fail/staticness-mismatch.rs b/src/test/compile-fail/staticness-mismatch.rs
index 6d02291622e..e67a4099987 100644
--- a/src/test/compile-fail/staticness-mismatch.rs
+++ b/src/test/compile-fail/staticness-mismatch.rs
@@ -13,7 +13,7 @@ trait foo {
     static fn bar();
 }
 
-impl int: foo {
+impl foo for int {
     fn bar() {} //~ ERROR method `bar` is declared as static in its trait, but not in its impl
 }
 
diff --git a/src/test/compile-fail/struct-fields-dupe.rs b/src/test/compile-fail/struct-fields-dupe.rs
index 06cd7bf2468..ffbfecdc48c 100644
--- a/src/test/compile-fail/struct-fields-dupe.rs
+++ b/src/test/compile-fail/struct-fields-dupe.rs
@@ -17,4 +17,4 @@ fn main() {
         foo: 0,
         foo: 0 //~ ERROR field `foo` specified more than once
     };
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/tps-invariant-class.rs b/src/test/compile-fail/tps-invariant-class.rs
index ee7e52d3219..c1a0b220971 100644
--- a/src/test/compile-fail/tps-invariant-class.rs
+++ b/src/test/compile-fail/tps-invariant-class.rs
@@ -30,4 +30,4 @@ fn main() {
     // No error when type of parameter actually IS @const int
     let b = box_impl::<@const int>(@3);
     set_box_impl(b, @mut 5);
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/tps-invariant-enum.rs b/src/test/compile-fail/tps-invariant-enum.rs
index fda80dc4d32..1514dc5fd54 100644
--- a/src/test/compile-fail/tps-invariant-enum.rs
+++ b/src/test/compile-fail/tps-invariant-enum.rs
@@ -25,4 +25,4 @@ fn main() {
     let x: @const int = @3; // only way I could find to upcast
     let b = box_impl::<@const int>({mut f: x});
     set_box_impl(b, @mut 5);
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/tps-invariant-trait.rs b/src/test/compile-fail/tps-invariant-trait.rs
index 94c17fa1602..f2e030b259e 100644
--- a/src/test/compile-fail/tps-invariant-trait.rs
+++ b/src/test/compile-fail/tps-invariant-trait.rs
@@ -17,7 +17,7 @@ enum box_impl<T> = {
     mut f: T
 };
 
-impl<T:Copy> box_impl<T>: box_trait<T> {
+impl<T:Copy> box_trait<T> for box_impl<T> {
     fn get() -> T { return self.f; }
     fn set(t: T) { self.f = t; }
 }
@@ -36,4 +36,4 @@ fn main() {
     //~^ ERROR values differ in mutability
     set_box_impl(b, @mut 5);
     //~^ ERROR values differ in mutability
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/trait-impl-can-not-have-untraitful-methods.rs b/src/test/compile-fail/trait-impl-can-not-have-untraitful-methods.rs
index 41277974cbf..a20186c362b 100644
--- a/src/test/compile-fail/trait-impl-can-not-have-untraitful-methods.rs
+++ b/src/test/compile-fail/trait-impl-can-not-have-untraitful-methods.rs
@@ -10,8 +10,8 @@
 
 trait A { }
 
-impl int: A {
+impl A for int {
     fn foo() { } //~ ERROR method `foo` is not a member of trait `A`
 }
 
-fn main() { }
\ No newline at end of file
+fn main() { }
diff --git a/src/test/compile-fail/trait-impl-different-num-params.rs b/src/test/compile-fail/trait-impl-different-num-params.rs
index 8ff4188d4b6..f32793ad1e4 100644
--- a/src/test/compile-fail/trait-impl-different-num-params.rs
+++ b/src/test/compile-fail/trait-impl-different-num-params.rs
@@ -11,7 +11,7 @@
 trait foo {
     fn bar(x: uint) -> Self;
 }
-impl int: foo {
+impl foo for int {
     fn bar() -> int {
         //~^ ERROR method `bar` has 0 parameters but the trait has 1
         self
diff --git a/src/test/compile-fail/trait-impl-method-mismatch.rs b/src/test/compile-fail/trait-impl-method-mismatch.rs
index 5509ad42a70..6931e680e08 100644
--- a/src/test/compile-fail/trait-impl-method-mismatch.rs
+++ b/src/test/compile-fail/trait-impl-method-mismatch.rs
@@ -14,7 +14,7 @@ trait Mumbo {
     fn jbmbo(&self) -> @uint;
 }
 
-impl uint: Mumbo {
+impl Mumbo for uint {
     // Cannot have a larger effect than the trait:
     fn jumbo(&self, x: @uint) { *self + *x; }
     //~^ ERROR expected pure fn but found impure fn
diff --git a/src/test/compile-fail/trait-impl-subtype.rs b/src/test/compile-fail/trait-impl-subtype.rs
index b138cb88f0f..eb34ebbdfb0 100644
--- a/src/test/compile-fail/trait-impl-subtype.rs
+++ b/src/test/compile-fail/trait-impl-subtype.rs
@@ -12,7 +12,7 @@ trait Mumbo {
     fn jumbo(&self, x: @uint) -> uint;
 }
 
-impl uint: Mumbo {
+impl Mumbo for uint {
     // Note: this method def is ok, it is more accepting and
     // less effecting than the trait method:
     pure fn jumbo(&self, x: @const uint) -> uint { *self + *x }
diff --git a/src/test/compile-fail/trait-inheritance-missing-requirement.rs b/src/test/compile-fail/trait-inheritance-missing-requirement.rs
index 37d1e02b8a9..a341c242611 100644
--- a/src/test/compile-fail/trait-inheritance-missing-requirement.rs
+++ b/src/test/compile-fail/trait-inheritance-missing-requirement.rs
@@ -24,7 +24,7 @@ struct A {
 }
 
 // Can't implement Bar without an impl of Foo
-impl A : Bar {
+impl Bar for A {
     fn g() { }
 }
 
diff --git a/src/test/compile-fail/trait-keyword.rs b/src/test/compile-fail/trait-keyword.rs
index db85c89f933..e60be6c81eb 100644
--- a/src/test/compile-fail/trait-keyword.rs
+++ b/src/test/compile-fail/trait-keyword.rs
@@ -10,4 +10,4 @@
 
 iface foo { } //~ ERROR iface
 
-fn main() {}
\ No newline at end of file
+fn main() {}
diff --git a/src/test/compile-fail/trait-test-2.rs b/src/test/compile-fail/trait-test-2.rs
index cabcbff1154..73b7c4369ac 100644
--- a/src/test/compile-fail/trait-test-2.rs
+++ b/src/test/compile-fail/trait-test-2.rs
@@ -9,8 +9,8 @@
 // except according to those terms.
 
 trait bar { fn dup() -> Self; fn blah<X>(); }
-impl int: bar { fn dup() -> int { self } fn blah<X>() {} }
-impl uint: bar { fn dup() -> uint { self } fn blah<X>() {} }
+impl bar for int { fn dup() -> int { self } fn blah<X>() {} }
+impl bar for uint { fn dup() -> uint { self } fn blah<X>() {} }
 
 fn main() {
     10i.dup::<int>(); //~ ERROR does not take type parameters
diff --git a/src/test/compile-fail/trait-test.rs b/src/test/compile-fail/trait-test.rs
index 9bc2abe076c..cd92801fb4d 100644
--- a/src/test/compile-fail/trait-test.rs
+++ b/src/test/compile-fail/trait-test.rs
@@ -10,6 +10,6 @@
 
 trait foo { fn foo(); }
 
-impl uint: int { fn foo() {} } //~ ERROR trait
+impl int for uint { fn foo() {} } //~ ERROR trait
 
 fn main() {}
diff --git a/src/test/compile-fail/tutorial-suffix-inference-test.rs b/src/test/compile-fail/tutorial-suffix-inference-test.rs
index b890ce205be..c68af84b95b 100644
--- a/src/test/compile-fail/tutorial-suffix-inference-test.rs
+++ b/src/test/compile-fail/tutorial-suffix-inference-test.rs
@@ -29,4 +29,4 @@ fn main() {
     identity_u16(a); 
     //~^ ERROR mismatched types: expected `u16` but found `int`
 
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/unique-mut.rs b/src/test/compile-fail/unique-mut.rs
index 44c30eebe66..a3a197505a3 100644
--- a/src/test/compile-fail/unique-mut.rs
+++ b/src/test/compile-fail/unique-mut.rs
@@ -11,4 +11,4 @@
 //error-pattern:mismatched types
 fn main() {
     let i: ~int = ~mut 0;
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/unique-object-noncopyable.rs b/src/test/compile-fail/unique-object-noncopyable.rs
index 010161181f5..edc8a47822d 100644
--- a/src/test/compile-fail/unique-object-noncopyable.rs
+++ b/src/test/compile-fail/unique-object-noncopyable.rs
@@ -16,11 +16,11 @@ struct Bar {
     x: int,
 }
 
-impl Bar : Drop {
+impl Drop for Bar {
     fn finalize(&self) {}
 }
 
-impl Bar : Foo {
+impl Foo for Bar {
     fn f(&self) {
         io::println("hi");
     }
diff --git a/src/test/compile-fail/unique-pinned-nocopy.rs b/src/test/compile-fail/unique-pinned-nocopy.rs
index 0211fd3c011..1eebc770132 100644
--- a/src/test/compile-fail/unique-pinned-nocopy.rs
+++ b/src/test/compile-fail/unique-pinned-nocopy.rs
@@ -12,7 +12,7 @@ struct r {
   b:bool,
 }
 
-impl r : Drop {
+impl Drop for r {
     fn finalize(&self) {}
 }
 
diff --git a/src/test/compile-fail/unique-vec-res.rs b/src/test/compile-fail/unique-vec-res.rs
index a97f47551e1..28a7b37d6e2 100644
--- a/src/test/compile-fail/unique-vec-res.rs
+++ b/src/test/compile-fail/unique-vec-res.rs
@@ -12,7 +12,7 @@ struct r {
   i: @mut int,
 }
 
-impl r : Drop {
+impl Drop for r {
     fn finalize(&self) {
         *(self.i) = *(self.i) + 1;
     }
diff --git a/src/test/compile-fail/unreachable-code.rs b/src/test/compile-fail/unreachable-code.rs
index c91bfe91630..8ddd934f580 100644
--- a/src/test/compile-fail/unreachable-code.rs
+++ b/src/test/compile-fail/unreachable-code.rs
@@ -13,4 +13,4 @@ fn main() {
   loop{}
              // red herring to make sure compilation fails
   log(error, 42 == 'c');
-}
\ No newline at end of file
+}
diff --git a/src/test/compile-fail/vec-concat-bug.rs b/src/test/compile-fail/vec-concat-bug.rs
index 42db7b92838..f9ad20eaeb9 100644
--- a/src/test/compile-fail/vec-concat-bug.rs
+++ b/src/test/compile-fail/vec-concat-bug.rs
@@ -20,4 +20,4 @@ fn concat<T: Copy>(v: ~[const ~[const T]]) -> ~[T] {
     return r;
 }
 
-fn main() {}
\ No newline at end of file
+fn main() {}
diff --git a/src/test/compile-fail/vec-res-add.rs b/src/test/compile-fail/vec-res-add.rs
index feaceea3728..f21a202dcd8 100644
--- a/src/test/compile-fail/vec-res-add.rs
+++ b/src/test/compile-fail/vec-res-add.rs
@@ -16,7 +16,7 @@ struct r {
 
 fn r(i:int) -> r { r { i: i } }
 
-impl r : Drop {
+impl Drop for r {
     fn finalize(&self) {}
 }
 
diff --git a/src/test/compile-fail/vtable-res-trait-param.rs b/src/test/compile-fail/vtable-res-trait-param.rs
index d00e7fff076..7b48eca3dbe 100644
--- a/src/test/compile-fail/vtable-res-trait-param.rs
+++ b/src/test/compile-fail/vtable-res-trait-param.rs
@@ -16,7 +16,7 @@ trait TraitB {
     fn gimme_an_a<A: TraitA>(a: A) -> int;
 }
 
-impl int: TraitB {
+impl TraitB for int {
     fn gimme_an_a<A: TraitA>(a: A) -> int {
         a.method_a() + self
     }
diff --git a/src/test/compile-fail/warn-path-statement.rs b/src/test/compile-fail/warn-path-statement.rs
index 5e67afcc2b2..90515807ac6 100644
--- a/src/test/compile-fail/warn-path-statement.rs
+++ b/src/test/compile-fail/warn-path-statement.rs
@@ -13,4 +13,4 @@ fn main() {
 
     let x = 10;
     x; //~ ERROR path statement with no effect
-}
\ No newline at end of file
+}
diff --git a/src/test/run-fail/die-macro-expr.rs b/src/test/run-fail/die-macro-expr.rs
index 26d5ea4349d..06365ed989a 100644
--- a/src/test/run-fail/die-macro-expr.rs
+++ b/src/test/run-fail/die-macro-expr.rs
@@ -2,4 +2,4 @@
 
 fn main() {
     let i: int = fail!(~"test");
-}
\ No newline at end of file
+}
diff --git a/src/test/run-fail/die-macro-pure.rs b/src/test/run-fail/die-macro-pure.rs
index 74de57a8a25..4479c2ecbeb 100644
--- a/src/test/run-fail/die-macro-pure.rs
+++ b/src/test/run-fail/die-macro-pure.rs
@@ -6,4 +6,4 @@ pure fn f() {
 
 fn main() {
     f();
-}
\ No newline at end of file
+}
diff --git a/src/test/run-fail/die-macro.rs b/src/test/run-fail/die-macro.rs
index 6eb56a5be4e..3fa3d69441a 100644
--- a/src/test/run-fail/die-macro.rs
+++ b/src/test/run-fail/die-macro.rs
@@ -2,4 +2,4 @@
 
 fn main() {
     fail!(~"test");
-}
\ No newline at end of file
+}
diff --git a/src/test/run-fail/issue-2061.rs b/src/test/run-fail/issue-2061.rs
index e4355c7e02f..cee3546acfa 100644
--- a/src/test/run-fail/issue-2061.rs
+++ b/src/test/run-fail/issue-2061.rs
@@ -14,7 +14,7 @@ struct R {
     b: int,
 }
 
-impl R : Drop {
+impl Drop for R {
     fn finalize(&self) {
         let _y = R { b: self.b };
     }
diff --git a/src/test/run-fail/linked-failure4.rs b/src/test/run-fail/linked-failure4.rs
index 23ddc757319..18d6b3c369b 100644
--- a/src/test/run-fail/linked-failure4.rs
+++ b/src/test/run-fail/linked-failure4.rs
@@ -29,4 +29,4 @@ fn sleeper() {
 fn main() {
     task::spawn(|| sleeper() );
     task::spawn(|| parent() );
-}
\ No newline at end of file
+}
diff --git a/src/test/run-fail/morestack2.rs b/src/test/run-fail/morestack2.rs
index d5f43838598..acd4fbad6e4 100644
--- a/src/test/run-fail/morestack2.rs
+++ b/src/test/run-fail/morestack2.rs
@@ -36,7 +36,7 @@ struct and_then_get_big_again {
   x:int,
 }
 
-impl and_then_get_big_again : Drop {
+impl Drop for and_then_get_big_again {
     fn finalize(&self) {
         fn getbig(i: int) {
             if i != 0 {
diff --git a/src/test/run-fail/morestack3.rs b/src/test/run-fail/morestack3.rs
index e97e56ea0f9..14fc40a43cc 100644
--- a/src/test/run-fail/morestack3.rs
+++ b/src/test/run-fail/morestack3.rs
@@ -27,7 +27,7 @@ struct and_then_get_big_again {
   x:int,
 }
 
-impl and_then_get_big_again : Drop {
+impl Drop for and_then_get_big_again {
     fn finalize(&self) {
         fn getbig(i: int) {
             if i != 0 {
diff --git a/src/test/run-fail/morestack4.rs b/src/test/run-fail/morestack4.rs
index 30e9147cff7..e4585393703 100644
--- a/src/test/run-fail/morestack4.rs
+++ b/src/test/run-fail/morestack4.rs
@@ -27,7 +27,7 @@ struct and_then_get_big_again {
   x:int,
 }
 
-impl and_then_get_big_again : Drop {
+impl Drop for and_then_get_big_again {
     fn finalize(&self) {}
 }
 
diff --git a/src/test/run-fail/rt-set-exit-status-fail2.rs b/src/test/run-fail/rt-set-exit-status-fail2.rs
index e936270d4b8..78de5c3b847 100644
--- a/src/test/run-fail/rt-set-exit-status-fail2.rs
+++ b/src/test/run-fail/rt-set-exit-status-fail2.rs
@@ -17,7 +17,7 @@ struct r {
 // Setting the exit status after the runtime has already
 // failed has no effect and the process exits with the
 // runtime's exit code
-impl r : Drop {
+impl Drop for r {
     fn finalize(&self) {
         os::set_exit_status(50);
     }
diff --git a/src/test/run-fail/rt-set-exit-status.rs b/src/test/run-fail/rt-set-exit-status.rs
index 76d311cf055..b20eb222025 100644
--- a/src/test/run-fail/rt-set-exit-status.rs
+++ b/src/test/run-fail/rt-set-exit-status.rs
@@ -15,4 +15,4 @@ fn main() {
     // 101 is the code the runtime uses on task failure and the value
     // compiletest expects run-fail tests to return.
     os::set_exit_status(101);
-}
\ No newline at end of file
+}
diff --git a/src/test/run-fail/too-much-recursion.rs b/src/test/run-fail/too-much-recursion.rs
index 0af0cdf4a20..009dee8cb7c 100644
--- a/src/test/run-fail/too-much-recursion.rs
+++ b/src/test/run-fail/too-much-recursion.rs
@@ -15,4 +15,4 @@
 fn main() {
     log(debug, ~"don't optimize me out");
     main();
-}
\ No newline at end of file
+}
diff --git a/src/test/run-fail/unwind-assert.rs b/src/test/run-fail/unwind-assert.rs
index 8e0fb37561e..1efff172d7c 100644
--- a/src/test/run-fail/unwind-assert.rs
+++ b/src/test/run-fail/unwind-assert.rs
@@ -13,4 +13,4 @@
 fn main() {
     let a = @0;
     assert false;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-fail/unwind-box-res.rs b/src/test/run-fail/unwind-box-res.rs
index 920ddbb5bf2..f544438a7ca 100644
--- a/src/test/run-fail/unwind-box-res.rs
+++ b/src/test/run-fail/unwind-box-res.rs
@@ -18,7 +18,7 @@ struct r {
   v: *int,
 }
 
-impl r : Drop {
+impl Drop for r {
     fn finalize(&self) {
         unsafe {
             let _v2: ~int = cast::reinterpret_cast(&self.v);
diff --git a/src/test/run-fail/unwind-box-trait.rs b/src/test/run-fail/unwind-box-trait.rs
index 1602964b481..b17fc467f0b 100644
--- a/src/test/run-fail/unwind-box-trait.rs
+++ b/src/test/run-fail/unwind-box-trait.rs
@@ -18,7 +18,7 @@ trait i {
     fn foo();
 }
 
-impl ~int: i {
+impl i for ~int {
     fn foo() { }
 }
 
diff --git a/src/test/run-fail/unwind-resource-fail3.rs b/src/test/run-fail/unwind-resource-fail3.rs
index 514c780da09..27e0ebe7761 100644
--- a/src/test/run-fail/unwind-resource-fail3.rs
+++ b/src/test/run-fail/unwind-resource-fail3.rs
@@ -17,7 +17,7 @@ struct faily_box {
  
 fn faily_box(i: @int) -> faily_box { faily_box { i: i } }
 
-impl faily_box : Drop {
+impl Drop for faily_box {
     fn finalize(&self) {
         fail!(~"quux");
     }
diff --git a/src/test/run-pass-fulldeps/qquote.rs b/src/test/run-pass-fulldeps/qquote.rs
index 5a82d010438..57b45575b3e 100644
--- a/src/test/run-pass-fulldeps/qquote.rs
+++ b/src/test/run-pass-fulldeps/qquote.rs
@@ -34,7 +34,7 @@ trait fake_ext_ctxt {
 
 type fake_session = parse::parse_sess;
 
-impl fake_session: fake_ext_ctxt {
+impl fake_ext_ctxt for fake_session {
     fn cfg() -> ast::crate_cfg { ~[] }
     fn parse_sess() -> parse::parse_sess { self }
     fn call_site() -> span {
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 64cc58c2af5..350132c15b8 100644
--- a/src/test/run-pass/alignment-gep-tup-like-1.rs
+++ b/src/test/run-pass/alignment-gep-tup-like-1.rs
@@ -21,4 +21,4 @@ pub fn main() {
     debug!("a=%? b=%?", a, b);
     assert a == 22u64;
     assert b == 44u16;
-}
\ No newline at end of file
+}
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 01dcd6a3647..e16fae776f7 100644
--- a/src/test/run-pass/alignment-gep-tup-like-2.rs
+++ b/src/test/run-pass/alignment-gep-tup-like-2.rs
@@ -36,4 +36,4 @@ pub fn main() {
     debug!("a=%u b=%u", *a as uint, b as uint);
     assert *a == x;
     assert b == y;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/alt-value-binding-in-guard-3291.rs b/src/test/run-pass/alt-value-binding-in-guard-3291.rs
index 460e8873a17..5171d7d2a58 100644
--- a/src/test/run-pass/alt-value-binding-in-guard-3291.rs
+++ b/src/test/run-pass/alt-value-binding-in-guard-3291.rs
@@ -21,4 +21,4 @@ pub fn main() {
     foo(Some(~22), false);
     foo(None, true);
     foo(None, false);
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/assignability-trait.rs b/src/test/run-pass/assignability-trait.rs
index d0dc2638ee5..85efaa8aed2 100644
--- a/src/test/run-pass/assignability-trait.rs
+++ b/src/test/run-pass/assignability-trait.rs
@@ -16,7 +16,7 @@ trait iterable<A> {
     fn iterate(blk: fn(x: &A) -> bool);
 }
 
-impl<A> &[A]: iterable<A> {
+impl<A> iterable<A> for &[A] {
     fn iterate(f: fn(x: &A) -> bool) {
         for vec::each(self) |e| {
             if !f(e) { break; }
@@ -24,7 +24,7 @@ impl<A> &[A]: iterable<A> {
     }
 }
 
-impl<A> ~[A]: iterable<A> {
+impl<A> iterable<A> for ~[A] {
     fn iterate(f: fn(x: &A) -> bool) {
         for vec::each(self) |e| {
             if !f(e) { break; }
diff --git a/src/test/run-pass/auto-encode.rs b/src/test/run-pass/auto-encode.rs
index 316f5ed1950..53c572e75d0 100644
--- a/src/test/run-pass/auto-encode.rs
+++ b/src/test/run-pass/auto-encode.rs
@@ -59,7 +59,7 @@ enum Expr {
     Minus(@Expr, @Expr)
 }
 
-impl Expr : cmp::Eq {
+impl cmp::Eq for Expr {
     pure fn eq(&self, other: &Expr) -> bool {
         match *self {
             Val(e0a) => {
@@ -85,21 +85,21 @@ impl Expr : cmp::Eq {
     pure fn ne(&self, other: &Expr) -> bool { !(*self).eq(other) }
 }
 
-impl AnEnum : cmp::Eq {
+impl cmp::Eq for AnEnum {
     pure fn eq(&self, other: &AnEnum) -> bool {
         (*self).v == other.v
     }
     pure fn ne(&self, other: &AnEnum) -> bool { !(*self).eq(other) }
 }
 
-impl Point : cmp::Eq {
+impl cmp::Eq for Point {
     pure fn eq(&self, other: &Point) -> bool {
         self.x == other.x && self.y == other.y
     }
     pure fn ne(&self, other: &Point) -> bool { !(*self).eq(other) }
 }
 
-impl<T:cmp::Eq> Quark<T> : cmp::Eq {
+impl<T:cmp::Eq> cmp::Eq for Quark<T> {
     pure fn eq(&self, other: &Quark<T>) -> bool {
         match *self {
             Top(ref q) => {
@@ -119,7 +119,7 @@ impl<T:cmp::Eq> Quark<T> : cmp::Eq {
     pure fn ne(&self, other: &Quark<T>) -> bool { !(*self).eq(other) }
 }
 
-impl CLike : cmp::Eq {
+impl cmp::Eq for CLike {
     pure fn eq(&self, other: &CLike) -> bool {
         (*self) as int == *other as int
     }
diff --git a/src/test/run-pass/auto-ref-bounded-ty-param.rs b/src/test/run-pass/auto-ref-bounded-ty-param.rs
index 4b943e62fd2..08c936f2bb6 100644
--- a/src/test/run-pass/auto-ref-bounded-ty-param.rs
+++ b/src/test/run-pass/auto-ref-bounded-ty-param.rs
@@ -20,13 +20,13 @@ trait Baz {
     fn g(&self);
 }
 
-impl<T:Baz> T : Foo {
+impl<T:Baz> Foo for T {
     fn f(&self) {
         self.g();
     }
 }
 
-impl Bar : Baz {
+impl Baz for Bar {
     fn g(&self) {
         io::println(self.x.to_str());
     }
diff --git a/src/test/run-pass/auto-ref-slice-plus-ref.rs b/src/test/run-pass/auto-ref-slice-plus-ref.rs
index 7c284bd8202..e7929308897 100644
--- a/src/test/run-pass/auto-ref-slice-plus-ref.rs
+++ b/src/test/run-pass/auto-ref-slice-plus-ref.rs
@@ -16,12 +16,12 @@ trait MyIter {
     pure fn test_const(&const self);
 }
 
-impl &[int]: MyIter {
+impl MyIter for &[int] {
     pure fn test_imm(&self) { assert self[0] == 1 }
     pure fn test_const(&const self) { assert self[0] == 1 }
 }
 
-impl &str: MyIter {
+impl MyIter for &str {
     pure fn test_imm(&self) { assert *self == "test" }
     pure fn test_const(&const self) { assert *self == "test" }
 }
diff --git a/src/test/run-pass/auto-ref-sliceable.rs b/src/test/run-pass/auto-ref-sliceable.rs
index 8423ea8c2d8..23165d026e8 100644
--- a/src/test/run-pass/auto-ref-sliceable.rs
+++ b/src/test/run-pass/auto-ref-sliceable.rs
@@ -12,7 +12,7 @@ trait Pushable<T> {
     fn push_val(&mut self, +t: T);
 }
 
-impl<T> ~[T]: Pushable<T> {
+impl<T> Pushable<T> for ~[T] {
     fn push_val(&mut self, +t: T) {
         self.push(move t);
     }
@@ -23,4 +23,4 @@ pub fn main() {
     v.push_val(2);
     v.push_val(3);
     assert v == ~[1, 2, 3];
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/auto-ref.rs b/src/test/run-pass/auto-ref.rs
index f3a1c824f80..ec5a17ffc54 100644
--- a/src/test/run-pass/auto-ref.rs
+++ b/src/test/run-pass/auto-ref.rs
@@ -16,7 +16,7 @@ trait Stuff {
     fn printme();
 }
 
-impl &Foo : Stuff {
+impl Stuff for &Foo {
     fn printme() {
         io::println(fmt!("%d", self.x));
     }
diff --git a/src/test/run-pass/autoderef-method-newtype.rs b/src/test/run-pass/autoderef-method-newtype.rs
index cc45c75968c..5eb4d6dcaf3 100644
--- a/src/test/run-pass/autoderef-method-newtype.rs
+++ b/src/test/run-pass/autoderef-method-newtype.rs
@@ -12,7 +12,7 @@ trait double {
     fn double() -> uint;
 }
 
-impl uint: double {
+impl double for uint {
     fn double() -> uint { self * 2u }
 }
 
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 d3377d196a4..53dd6f942e8 100644
--- a/src/test/run-pass/autoderef-method-on-trait-monomorphized.rs
+++ b/src/test/run-pass/autoderef-method-on-trait-monomorphized.rs
@@ -12,7 +12,7 @@ trait double {
     fn double() -> uint;
 }
 
-impl uint: double {
+impl double for uint {
     fn double() -> uint { self * 2u }
 }
 
diff --git a/src/test/run-pass/autoderef-method-on-trait.rs b/src/test/run-pass/autoderef-method-on-trait.rs
index 0071cc5923a..3653c0eb9c9 100644
--- a/src/test/run-pass/autoderef-method-on-trait.rs
+++ b/src/test/run-pass/autoderef-method-on-trait.rs
@@ -12,7 +12,7 @@ trait double {
     fn double() -> uint;
 }
 
-impl uint: double {
+impl double for uint {
     fn double() -> uint { self * 2u }
 }
 
diff --git a/src/test/run-pass/autoderef-method-priority.rs b/src/test/run-pass/autoderef-method-priority.rs
index aa487a52966..be028a789c9 100644
--- a/src/test/run-pass/autoderef-method-priority.rs
+++ b/src/test/run-pass/autoderef-method-priority.rs
@@ -12,11 +12,11 @@ trait double {
     fn double() -> uint;
 }
 
-impl uint: double {
+impl double for uint {
     fn double() -> uint { self }
 }
 
-impl @uint: double {
+impl double for @uint {
     fn double() -> uint { *self * 2u }
 }
 
diff --git a/src/test/run-pass/autoderef-method-twice-but-not-thrice.rs b/src/test/run-pass/autoderef-method-twice-but-not-thrice.rs
index cab69a243d4..52f7a0ba72e 100644
--- a/src/test/run-pass/autoderef-method-twice-but-not-thrice.rs
+++ b/src/test/run-pass/autoderef-method-twice-but-not-thrice.rs
@@ -12,7 +12,7 @@ trait double {
     fn double() -> uint;
 }
 
-impl @@uint: double {
+impl double for @@uint {
     fn double() -> uint { **self * 2u }
 }
 
diff --git a/src/test/run-pass/autoderef-method-twice.rs b/src/test/run-pass/autoderef-method-twice.rs
index 5b307478887..1a8d550e9e7 100644
--- a/src/test/run-pass/autoderef-method-twice.rs
+++ b/src/test/run-pass/autoderef-method-twice.rs
@@ -12,7 +12,7 @@ trait double {
     fn double() -> uint;
 }
 
-impl uint: double {
+impl double for uint {
     fn double() -> uint { self * 2u }
 }
 
diff --git a/src/test/run-pass/autoderef-method.rs b/src/test/run-pass/autoderef-method.rs
index 66372654701..1e61f194354 100644
--- a/src/test/run-pass/autoderef-method.rs
+++ b/src/test/run-pass/autoderef-method.rs
@@ -12,7 +12,7 @@ trait double {
     fn double() -> uint;
 }
 
-impl uint: double {
+impl double for uint {
     fn double() -> uint { self * 2u }
 }
 
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 1d7aa862a2a..60f19b4db0a 100644
--- a/src/test/run-pass/autoref-intermediate-types-issue-3585.rs
+++ b/src/test/run-pass/autoref-intermediate-types-issue-3585.rs
@@ -12,13 +12,13 @@ trait Foo {
     fn foo(&self) -> ~str;
 }
 
-impl<T: Foo> @T: Foo {
+impl<T: Foo> Foo for @T {
     fn foo(&self) -> ~str {
         fmt!("@%s", (**self).foo())
     }
 }
 
-impl uint: Foo {
+impl Foo for uint {
     fn foo(&self) -> ~str {
         fmt!("%u", *self)
     }
@@ -27,4 +27,4 @@ impl uint: Foo {
 pub fn main() {
     let x = @3u;
     assert x.foo() == ~"@3";
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/big-literals.rs b/src/test/run-pass/big-literals.rs
index 338c264b65b..4a4f6c9bce7 100644
--- a/src/test/run-pass/big-literals.rs
+++ b/src/test/run-pass/big-literals.rs
@@ -16,4 +16,4 @@ pub fn main() {
 
     assert -2147483648i32 - 1i32 == 2147483647i32;
     assert -9223372036854775808i64 - 1i64 == 9223372036854775807i64;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/binops.rs b/src/test/run-pass/binops.rs
index d27ca86c26a..99379813840 100644
--- a/src/test/run-pass/binops.rs
+++ b/src/test/run-pass/binops.rs
@@ -98,7 +98,7 @@ fn p(x: int, y: int) -> p {
     }
 }
 
-impl p : cmp::Eq {
+impl cmp::Eq for p {
     pure fn eq(&self, other: &p) -> bool {
         (*self).x == (*other).x && (*self).y == (*other).y
     }
diff --git a/src/test/run-pass/borrow-by-val-method-receiver.rs b/src/test/run-pass/borrow-by-val-method-receiver.rs
index daed89033fc..c2b19d2ce35 100644
--- a/src/test/run-pass/borrow-by-val-method-receiver.rs
+++ b/src/test/run-pass/borrow-by-val-method-receiver.rs
@@ -12,7 +12,7 @@ trait Foo {
     fn foo(self);
 }
 
-impl &[int]: Foo {
+impl Foo for &[int] {
     fn foo(self) {}
 }
 
diff --git a/src/test/run-pass/borrowck-borrow-from-at-vec.rs b/src/test/run-pass/borrowck-borrow-from-at-vec.rs
index 88c06476243..0b15adb82bf 100644
--- a/src/test/run-pass/borrowck-borrow-from-at-vec.rs
+++ b/src/test/run-pass/borrowck-borrow-from-at-vec.rs
@@ -17,4 +17,4 @@ fn sum_slice(x: &[int]) -> int {
 pub fn main() {
     let x = @[1, 2, 3];
     assert sum_slice(x) == 6;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/borrowck-move-from-unsafe-ptr-ok.rs b/src/test/run-pass/borrowck-move-from-unsafe-ptr-ok.rs
index 8db3bdd5e64..b54791328a0 100644
--- a/src/test/run-pass/borrowck-move-from-unsafe-ptr-ok.rs
+++ b/src/test/run-pass/borrowck-move-from-unsafe-ptr-ok.rs
@@ -18,4 +18,4 @@ fn bar(x: *~int) -> ~int {
 }
 
 pub fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/borrowck-mut-vec-as-imm-slice.rs b/src/test/run-pass/borrowck-mut-vec-as-imm-slice.rs
index 9126a327d86..62e58412a73 100644
--- a/src/test/run-pass/borrowck-mut-vec-as-imm-slice.rs
+++ b/src/test/run-pass/borrowck-mut-vec-as-imm-slice.rs
@@ -20,4 +20,4 @@ fn has_mut_vec(+v: ~[int]) -> int {
 
 pub fn main() {
     assert has_mut_vec(~[1, 2, 3]) == 6;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/borrowck-newtype-issue-2573.rs b/src/test/run-pass/borrowck-newtype-issue-2573.rs
index 88ddf4e081a..5dc373aa50f 100644
--- a/src/test/run-pass/borrowck-newtype-issue-2573.rs
+++ b/src/test/run-pass/borrowck-newtype-issue-2573.rs
@@ -16,7 +16,7 @@ trait frob {
     fn frob();
 }
 
-impl foo: frob {
+impl frob for foo {
     fn frob() {
         really_impure(self.bar);
     }
diff --git a/src/test/run-pass/borrowck-preserve-box-in-field.rs b/src/test/run-pass/borrowck-preserve-box-in-field.rs
index 482673f9184..5cea4129857 100644
--- a/src/test/run-pass/borrowck-preserve-box-in-field.rs
+++ b/src/test/run-pass/borrowck-preserve-box-in-field.rs
@@ -30,4 +30,4 @@ pub fn main() {
         assert *b_x == 3;
         assert ptr::addr_of(&(*x.f)) != ptr::addr_of(&(*b_x));
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/borrowck-preserve-box-in-uniq.rs b/src/test/run-pass/borrowck-preserve-box-in-uniq.rs
index 3f5708a8930..9724717f2d5 100644
--- a/src/test/run-pass/borrowck-preserve-box-in-uniq.rs
+++ b/src/test/run-pass/borrowck-preserve-box-in-uniq.rs
@@ -30,4 +30,4 @@ pub fn main() {
         assert *b_x == 3;
         assert ptr::addr_of(&(*x.f)) != ptr::addr_of(&(*b_x));
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/borrowck-preserve-box-sometimes-needed.rs b/src/test/run-pass/borrowck-preserve-box-sometimes-needed.rs
index b4b5a622408..a0f1801ce29 100644
--- a/src/test/run-pass/borrowck-preserve-box-sometimes-needed.rs
+++ b/src/test/run-pass/borrowck-preserve-box-sometimes-needed.rs
@@ -21,4 +21,4 @@ fn switcher(x: Option<@int>) {
 pub fn main() {
     switcher(None);
     switcher(Some(@3));
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/borrowck-preserve-box.rs b/src/test/run-pass/borrowck-preserve-box.rs
index 37c598f01a7..70f26d12dcd 100644
--- a/src/test/run-pass/borrowck-preserve-box.rs
+++ b/src/test/run-pass/borrowck-preserve-box.rs
@@ -28,4 +28,4 @@ pub fn main() {
         assert *b_x == 3;
         assert ptr::addr_of(&(*x)) != ptr::addr_of(&(*b_x));
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/borrowck-preserve-cond-box.rs b/src/test/run-pass/borrowck-preserve-cond-box.rs
index 490db9c47f7..ca785558be3 100644
--- a/src/test/run-pass/borrowck-preserve-cond-box.rs
+++ b/src/test/run-pass/borrowck-preserve-cond-box.rs
@@ -37,4 +37,4 @@ fn testfn(cond: bool) {
 pub fn main() {
     testfn(true);
     testfn(false);
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/borrowck-univariant-enum.rs b/src/test/run-pass/borrowck-univariant-enum.rs
index 531c49b82d7..530870191f5 100644
--- a/src/test/run-pass/borrowck-univariant-enum.rs
+++ b/src/test/run-pass/borrowck-univariant-enum.rs
@@ -26,4 +26,4 @@ pub fn main() {
       }
     };
     assert z == 18;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/borrowed-ptr-pattern-option.rs b/src/test/run-pass/borrowed-ptr-pattern-option.rs
index f709448d431..5fcc2ca6b47 100644
--- a/src/test/run-pass/borrowed-ptr-pattern-option.rs
+++ b/src/test/run-pass/borrowed-ptr-pattern-option.rs
@@ -20,4 +20,4 @@ pub fn main() {
     let x = None;
     let y = Some(3);
     assert select(&x, &y).get() == 3;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/boxed-trait-with-vstore.rs b/src/test/run-pass/boxed-trait-with-vstore.rs
index 1347430e4a0..50e137d6fd5 100644
--- a/src/test/run-pass/boxed-trait-with-vstore.rs
+++ b/src/test/run-pass/boxed-trait-with-vstore.rs
@@ -12,7 +12,7 @@ trait Foo {
     fn foo();
 }
 
-impl int : Foo {
+impl Foo for int {
     fn foo() {
         io::println("Hello world!");
     }
diff --git a/src/test/run-pass/cast-region-to-uint.rs b/src/test/run-pass/cast-region-to-uint.rs
index bd099f45e49..81fa3d6538c 100644
--- a/src/test/run-pass/cast-region-to-uint.rs
+++ b/src/test/run-pass/cast-region-to-uint.rs
@@ -11,4 +11,4 @@
 pub fn main() {
     let x = 3;
     debug!("&x=%x", ptr::to_uint(&x));
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/cfg-family.rs b/src/test/run-pass/cfg-family.rs
index d3a8dd53014..24120b69c7f 100644
--- a/src/test/run-pass/cfg-family.rs
+++ b/src/test/run-pass/cfg-family.rs
@@ -14,4 +14,4 @@ pub fn main() {
 
 #[cfg(unix)]
 pub fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/cfg-target-family.rs b/src/test/run-pass/cfg-target-family.rs
index ddf58d310cf..784c9326a01 100644
--- a/src/test/run-pass/cfg-target-family.rs
+++ b/src/test/run-pass/cfg-target-family.rs
@@ -14,4 +14,4 @@ pub fn main() {
 
 #[cfg(target_family = "unix")]
 pub fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/class-attributes-2.rs b/src/test/run-pass/class-attributes-2.rs
index 471f830c3e2..8636699c482 100644
--- a/src/test/run-pass/class-attributes-2.rs
+++ b/src/test/run-pass/class-attributes-2.rs
@@ -12,7 +12,7 @@ struct cat {
   name: ~str,
 }
 
-impl cat : Drop {
+impl Drop for cat {
     #[cat_dropper]
     /**
        Actually, cats don't always land on their feet when you drop them.
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 2f7ede7e59e..b72a8e5da27 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
@@ -33,7 +33,7 @@ impl dog {
     }
 }
 
-impl dog : noisy {
+impl noisy for dog {
   fn speak() -> int { self.bark() }
 }
 
@@ -51,7 +51,7 @@ struct cat {
   name : ~str,
 }
 
-impl cat : noisy {
+impl noisy for cat {
   fn speak() -> int { self.meow() as int }
 }
 
diff --git a/src/test/run-pass/class-cast-to-trait.rs b/src/test/run-pass/class-cast-to-trait.rs
index 014b5441cc2..cb2e56d7f6e 100644
--- a/src/test/run-pass/class-cast-to-trait.rs
+++ b/src/test/run-pass/class-cast-to-trait.rs
@@ -18,7 +18,7 @@ struct cat {
   name : ~str,
 }
 
-impl cat : noisy {
+impl noisy for cat {
   fn speak() { self.meow(); }
 }
 
@@ -58,4 +58,4 @@ fn cat(in_x : uint, in_y : int, in_name: ~str) -> cat {
 pub fn main() {
   let nyan : noisy  = cat(0u, 2, ~"nyan") as noisy;
   nyan.speak();
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/class-dtor.rs b/src/test/run-pass/class-dtor.rs
index 07193400c6a..229c683706d 100644
--- a/src/test/run-pass/class-dtor.rs
+++ b/src/test/run-pass/class-dtor.rs
@@ -13,7 +13,7 @@ struct cat {
   meows : uint,
 }
 
-impl cat : Drop {
+impl Drop for cat {
     fn finalize(&self) {
         (self.done)(self.meows);
     }
diff --git a/src/test/run-pass/class-impl-very-parameterized-trait.rs b/src/test/run-pass/class-impl-very-parameterized-trait.rs
index 347f44b2afa..01b72c9d995 100644
--- a/src/test/run-pass/class-impl-very-parameterized-trait.rs
+++ b/src/test/run-pass/class-impl-very-parameterized-trait.rs
@@ -15,7 +15,7 @@ use core::iter::BaseIter;
 
 enum cat_type { tuxedo, tabby, tortoiseshell }
 
-impl cat_type : cmp::Eq {
+impl cmp::Eq for cat_type {
     pure fn eq(&self, other: &cat_type) -> bool {
         ((*self) as uint) == ((*other) as uint)
     }
@@ -49,7 +49,7 @@ impl<T> cat<T> {
     }
 }
 
-impl<T> cat<T>: BaseIter<(int, &T)> {
+impl<T> BaseIter<(int, &T)> for cat<T> {
     pure fn each(&self, f: fn(&(int, &self/T)) -> bool) {
         let mut n = int::abs(self.meows);
         while n > 0 {
@@ -61,16 +61,16 @@ impl<T> cat<T>: BaseIter<(int, &T)> {
     pure fn size_hint(&self) -> Option<uint> { Some(self.len()) }
 }
 
-impl<T> cat<T>: Container {
+impl<T> Container for cat<T> {
     pure fn len(&self) -> uint { self.meows as uint }
     pure fn is_empty(&self) -> bool { self.meows == 0 }
 }
 
-impl<T> cat<T>: Mutable {
+impl<T> Mutable for cat<T> {
     fn clear(&mut self) {}
 }
 
-impl<T> cat<T>: Map<int, T> {
+impl<T> Map<int, T> for cat<T> {
     pure fn contains_key(&self, k: &int) -> bool { *k <= self.meows }
 
     pure fn each_key(&self, f: fn(v: &int) -> bool) {
diff --git a/src/test/run-pass/class-implement-trait-cross-crate.rs b/src/test/run-pass/class-implement-trait-cross-crate.rs
index ff052259a76..155090b44df 100644
--- a/src/test/run-pass/class-implement-trait-cross-crate.rs
+++ b/src/test/run-pass/class-implement-trait-cross-crate.rs
@@ -34,7 +34,7 @@ impl cat {
   }
 }
 
-impl cat : noisy {
+impl noisy for cat {
 
   fn speak() { self.meow(); }
 
@@ -65,4 +65,4 @@ pub fn main() {
   assert(!nyan.eat());
   for uint::range(1u, 10u) |_i| { nyan.speak(); };
   assert(nyan.eat());
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/class-implement-traits.rs b/src/test/run-pass/class-implement-traits.rs
index 4679abe21d7..06a2dbeb9a4 100644
--- a/src/test/run-pass/class-implement-traits.rs
+++ b/src/test/run-pass/class-implement-traits.rs
@@ -46,7 +46,7 @@ impl cat {
   }
 }
 
-impl cat : noisy {
+impl noisy for cat {
   fn speak() { self.meow(); }
 }
 
diff --git a/src/test/run-pass/class-separate-impl.rs b/src/test/run-pass/class-separate-impl.rs
index 7e59b5d7a87..919fb058a95 100644
--- a/src/test/run-pass/class-separate-impl.rs
+++ b/src/test/run-pass/class-separate-impl.rs
@@ -53,7 +53,7 @@ fn cat(in_x : uint, in_y : int, in_name: ~str) -> cat {
     }
 }
 
-impl cat: ToStr {
+impl ToStr for cat {
   pure fn to_str(&self) -> ~str { copy self.name }
 }
 
diff --git a/src/test/run-pass/class-str-field.rs b/src/test/run-pass/class-str-field.rs
index 060ad2b4beb..db70d6e3b36 100644
--- a/src/test/run-pass/class-str-field.rs
+++ b/src/test/run-pass/class-str-field.rs
@@ -22,4 +22,4 @@ fn cat(in_name: ~str) -> cat {
 
 pub fn main() {
   let nyan = cat(~"nyan");
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/classes-cross-crate.rs b/src/test/run-pass/classes-cross-crate.rs
index 1b68e6c519a..d40f948431e 100644
--- a/src/test/run-pass/classes-cross-crate.rs
+++ b/src/test/run-pass/classes-cross-crate.rs
@@ -19,4 +19,4 @@ pub fn main() {
   assert(!nyan.eat());
   for uint::range(1u, 10u) |_i| { nyan.speak(); };
   assert(nyan.eat());
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/classes.rs b/src/test/run-pass/classes.rs
index c3bc2f096ba..808b7cac501 100644
--- a/src/test/run-pass/classes.rs
+++ b/src/test/run-pass/classes.rs
@@ -56,4 +56,4 @@ pub fn main() {
   assert(!nyan.eat());
   for uint::range(1u, 10u) |_i| { nyan.speak(); };
   assert(nyan.eat());
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/clone-with-exterior.rs b/src/test/run-pass/clone-with-exterior.rs
index 09b57ebd617..9c8ca729a23 100644
--- a/src/test/run-pass/clone-with-exterior.rs
+++ b/src/test/run-pass/clone-with-exterior.rs
@@ -21,4 +21,4 @@ pub fn main() {
     let z : @{a:int, b:int} = @{ a : 10, b : 12};
     let p = task::_spawn(bind f(z));
     task::join_id(p);
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/coerce-reborrow-mut-vec-rcvr.rs b/src/test/run-pass/coerce-reborrow-mut-vec-rcvr.rs
index 0820af24c49..7797af14364 100644
--- a/src/test/run-pass/coerce-reborrow-mut-vec-rcvr.rs
+++ b/src/test/run-pass/coerce-reborrow-mut-vec-rcvr.rs
@@ -2,7 +2,7 @@ trait Reverser {
     fn reverse(&self);
 }
 
-impl &mut [uint] : Reverser {
+impl Reverser for &mut [uint] {
     fn reverse(&self) {
         vec::reverse(*self);
     }
diff --git a/src/test/run-pass/coherence-copy-bound.rs b/src/test/run-pass/coherence-copy-bound.rs
index 7435096c275..9921389da66 100644
--- a/src/test/run-pass/coherence-copy-bound.rs
+++ b/src/test/run-pass/coherence-copy-bound.rs
@@ -1,13 +1,13 @@
 trait X {}
 
-impl<A:Copy> A : X {}
+impl<A:Copy> X for A {}
 
 struct S {
     x: int,
     drop {}
 }
 
-impl S : X {}
+impl X for S {}
 
 pub fn main(){}
 
diff --git a/src/test/run-pass/coherence-impl-in-fn.rs b/src/test/run-pass/coherence-impl-in-fn.rs
index 561187d1934..4fb43092500 100644
--- a/src/test/run-pass/coherence-impl-in-fn.rs
+++ b/src/test/run-pass/coherence-impl-in-fn.rs
@@ -10,7 +10,7 @@
 
 pub fn main() {
     enum x { foo }
-    impl x : ::core::cmp::Eq {
+    impl ::core::cmp::Eq for x {
         pure fn eq(&self, other: &x) -> bool {
             (*self) as int == (*other) as int
         }
diff --git a/src/test/run-pass/compare-generic-enums.rs b/src/test/run-pass/compare-generic-enums.rs
index e73e1e97555..591d2666e25 100644
--- a/src/test/run-pass/compare-generic-enums.rs
+++ b/src/test/run-pass/compare-generic-enums.rs
@@ -19,4 +19,4 @@ pub fn main() {
     assert !cmp(Some(3), Some(4));
     assert cmp(Some(3), Some(3));
     assert cmp(None, None);
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/conditional-compile.rs b/src/test/run-pass/conditional-compile.rs
index 1c2da8ff3ec..883acf817a0 100644
--- a/src/test/run-pass/conditional-compile.rs
+++ b/src/test/run-pass/conditional-compile.rs
@@ -129,7 +129,7 @@ mod test_methods {
         bar: uint
     }
 
-    impl Foo: Fooable {
+    impl Fooable for Foo {
         #[cfg(bogus)]
         static fn what() { }
 
diff --git a/src/test/run-pass/const-const.rs b/src/test/run-pass/const-const.rs
index b3498b4dc58..c07b2e2671e 100644
--- a/src/test/run-pass/const-const.rs
+++ b/src/test/run-pass/const-const.rs
@@ -13,4 +13,4 @@ const b: int = a + 2;
 
 pub fn main() {
     assert b == 3;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/const-extern-function.rs b/src/test/run-pass/const-extern-function.rs
index 4d7dc6bac9d..1fd2ebab83f 100644
--- a/src/test/run-pass/const-extern-function.rs
+++ b/src/test/run-pass/const-extern-function.rs
@@ -20,4 +20,4 @@ struct S {
 pub fn main() {
     assert foopy == f;
     assert f == s.f;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/const-fn-val.rs b/src/test/run-pass/const-fn-val.rs
index 17c66b354a1..4d4247ed5b9 100644
--- a/src/test/run-pass/const-fn-val.rs
+++ b/src/test/run-pass/const-fn-val.rs
@@ -18,4 +18,4 @@ const b : Bar = Bar { f: foo };
 
 pub fn main() {
     assert (b.f)() == 0xca7f000d;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/const-negative.rs b/src/test/run-pass/const-negative.rs
index 44917e23293..2b6817d4a08 100644
--- a/src/test/run-pass/const-negative.rs
+++ b/src/test/run-pass/const-negative.rs
@@ -14,4 +14,4 @@ const toplevel_mod: int = -1;
 
 pub fn main() {
     assert toplevel_mod == -1;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/const-struct.rs b/src/test/run-pass/const-struct.rs
index 58c09ccce92..24243601e09 100644
--- a/src/test/run-pass/const-struct.rs
+++ b/src/test/run-pass/const-struct.rs
@@ -11,7 +11,7 @@
 
 struct foo { a: int, b: int, c: int }
 
-impl foo : cmp::Eq {
+impl cmp::Eq for foo {
     pure fn eq(&self, other: &foo) -> bool {
         (*self).a == (*other).a &&
         (*self).b == (*other).b &&
diff --git a/src/test/run-pass/cycle-collection2.rs b/src/test/run-pass/cycle-collection2.rs
index 8eaad5c08b2..127a1c97038 100644
--- a/src/test/run-pass/cycle-collection2.rs
+++ b/src/test/run-pass/cycle-collection2.rs
@@ -17,4 +17,4 @@ pub fn main() {
     let w = @foo{ mut z: || nop() };
     let x : fn@() = || nop_foo(w);
     w.z = x;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/cycle-collection4.rs b/src/test/run-pass/cycle-collection4.rs
index b34ff10b531..4be43fc1296 100644
--- a/src/test/run-pass/cycle-collection4.rs
+++ b/src/test/run-pass/cycle-collection4.rs
@@ -17,4 +17,4 @@ pub fn main() {
     let w = @foo{ z: || nop() };
     let x : fn@() = || nop_foo(~[], w);
     w.z = x;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/cycle-collection5.rs b/src/test/run-pass/cycle-collection5.rs
index 9a5d776bacc..6f3297c6602 100644
--- a/src/test/run-pass/cycle-collection5.rs
+++ b/src/test/run-pass/cycle-collection5.rs
@@ -19,4 +19,4 @@ pub fn main() {
     let w = @foo { mut z: || nop() };
     let x : fn@() = || nop_foo(o(), w);
     w.z = x;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/deep-vector.rs b/src/test/run-pass/deep-vector.rs
index d2d8181e114..e6ae892093c 100644
--- a/src/test/run-pass/deep-vector.rs
+++ b/src/test/run-pass/deep-vector.rs
@@ -2009,4 +2009,4 @@ pub fn main() {
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
     ];
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/deep-vector2.rs b/src/test/run-pass/deep-vector2.rs
index e66cf1bbea6..ab08a538723 100644
--- a/src/test/run-pass/deep-vector2.rs
+++ b/src/test/run-pass/deep-vector2.rs
@@ -8009,4 +8009,4 @@ pub fn main() {
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
     ];
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/default-method-simple.rs b/src/test/run-pass/default-method-simple.rs
index 41ab5b1d3c8..4e17506d6ea 100644
--- a/src/test/run-pass/default-method-simple.rs
+++ b/src/test/run-pass/default-method-simple.rs
@@ -22,7 +22,7 @@ struct A {
     x: int
 }
 
-impl A : Foo {
+impl Foo for A {
     fn g() {
         io::println("Goodbye!");
     }
diff --git a/src/test/run-pass/do-for-no-args.rs b/src/test/run-pass/do-for-no-args.rs
index 5c5cec1fac1..745d941182e 100644
--- a/src/test/run-pass/do-for-no-args.rs
+++ b/src/test/run-pass/do-for-no-args.rs
@@ -17,4 +17,4 @@ fn d(f: fn@()) { }
 pub fn main() {
     for f { }
     do d { }
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/do-pure.rs b/src/test/run-pass/do-pure.rs
index 5cad9235af8..b422f5819f0 100644
--- a/src/test/run-pass/do-pure.rs
+++ b/src/test/run-pass/do-pure.rs
@@ -17,4 +17,4 @@ pure fn g() {
 }
 
 pub fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/drop-trait-generic.rs b/src/test/run-pass/drop-trait-generic.rs
index 256461b61bd..270137c2fd2 100644
--- a/src/test/run-pass/drop-trait-generic.rs
+++ b/src/test/run-pass/drop-trait-generic.rs
@@ -12,7 +12,7 @@ struct S<T> {
     x: T
 }
 
-impl<T> S<T> : ::core::ops::Drop {
+impl<T> ::core::ops::Drop for S<T> {
     fn finalize(&self) {
         io::println("bye");
     }
diff --git a/src/test/run-pass/drop-trait.rs b/src/test/run-pass/drop-trait.rs
index 084bff63743..3eddda376a8 100644
--- a/src/test/run-pass/drop-trait.rs
+++ b/src/test/run-pass/drop-trait.rs
@@ -12,7 +12,7 @@ struct Foo {
     x: int
 }
 
-impl Foo : Drop {
+impl Drop for Foo {
     fn finalize(&self) {
         io::println("bye");
     }
diff --git a/src/test/run-pass/early-vtbl-resolution.rs b/src/test/run-pass/early-vtbl-resolution.rs
index d71edb66098..0191934d608 100644
--- a/src/test/run-pass/early-vtbl-resolution.rs
+++ b/src/test/run-pass/early-vtbl-resolution.rs
@@ -12,7 +12,7 @@
 trait thing<A> {
     fn foo() -> Option<A>;
 }
-impl<A> int: thing<A> {
+impl<A> thing<A> for int {
     fn foo() -> Option<A> { None }
 }
 fn foo_func<A, B: thing<A>>(x: B) -> Option<A> { x.foo() }
diff --git a/src/test/run-pass/empty-tag.rs b/src/test/run-pass/empty-tag.rs
index 0dd6c2773ce..4c71e10c8e3 100644
--- a/src/test/run-pass/empty-tag.rs
+++ b/src/test/run-pass/empty-tag.rs
@@ -10,7 +10,7 @@
 
 enum chan { chan_t, }
 
-impl chan : cmp::Eq {
+impl cmp::Eq for chan {
     pure fn eq(&self, other: &chan) -> bool {
         ((*self) as uint) == ((*other) as uint)
     }
diff --git a/src/test/run-pass/explicit-self-objects-box.rs b/src/test/run-pass/explicit-self-objects-box.rs
index 8d081c16830..c18e263245a 100644
--- a/src/test/run-pass/explicit-self-objects-box.rs
+++ b/src/test/run-pass/explicit-self-objects-box.rs
@@ -16,7 +16,7 @@ struct S {
     x: int
 }
 
-impl S : Foo {
+impl Foo for S {
     fn f(@self) {
         assert self.x == 3;
     }
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 f6a6ae5ed49..80c18ca0974 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> T : ReaderUtil {
+impl<T: Reader> ReaderUtil for T {
 
     fn read_bytes(&self, len: uint) {
         let mut count = self.read(&mut [0], len);
@@ -26,7 +26,7 @@ struct S {
     y: int
 }
 
-impl S: Reader {
+impl Reader for S {
     fn read(&self, bytes: &mut [u8], len: uint) -> uint {
         0
     }
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 f6a6ae5ed49..80c18ca0974 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> T : ReaderUtil {
+impl<T: Reader> ReaderUtil for T {
 
     fn read_bytes(&self, len: uint) {
         let mut count = self.read(&mut [0], len);
@@ -26,7 +26,7 @@ struct S {
     y: int
 }
 
-impl S: Reader {
+impl Reader for S {
     fn read(&self, bytes: &mut [u8], len: uint) -> uint {
         0
     }
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 1804c24708b..a32ac955b94 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> T : ReaderUtil {
+impl<T: Reader> ReaderUtil for T {
 
     fn read_bytes(len: uint) {
         let mut count = self.read(&mut [0], len);
@@ -26,7 +26,7 @@ struct S {
     y: int
 }
 
-impl S: Reader {
+impl Reader for S {
     fn read(&self, bytes: &mut [u8], len: uint) -> uint {
         0
     }
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 b4601314612..ca7764f96f4 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> T : ReaderUtil {
+impl<T: Reader> ReaderUtil for T {
 
     fn read_bytes(len: uint) {
         let mut count = self.read(&mut [0], len);
@@ -26,7 +26,7 @@ struct S {
     y: int
 }
 
-impl S: Reader {
+impl Reader for S {
     fn read(bytes: &mut [u8], len: uint) -> uint {
         0
     }
diff --git a/src/test/run-pass/explicit-self-objects-simple.rs b/src/test/run-pass/explicit-self-objects-simple.rs
index 79d5d7791f4..3b5c02672d6 100644
--- a/src/test/run-pass/explicit-self-objects-simple.rs
+++ b/src/test/run-pass/explicit-self-objects-simple.rs
@@ -16,7 +16,7 @@ struct S {
     x: int
 }
 
-impl S : Foo {
+impl Foo for S {
     fn f(&self) {
         assert self.x == 3;
     }
diff --git a/src/test/run-pass/explicit-self-objects-uniq.rs b/src/test/run-pass/explicit-self-objects-uniq.rs
index 6e789b7ff1e..44f39e3ef0c 100644
--- a/src/test/run-pass/explicit-self-objects-uniq.rs
+++ b/src/test/run-pass/explicit-self-objects-uniq.rs
@@ -16,7 +16,7 @@ struct S {
     x: int
 }
 
-impl S : Foo {
+impl Foo for S {
     fn f(~self) {
         assert self.x == 3;
     }
diff --git a/src/test/run-pass/explicit-self.rs b/src/test/run-pass/explicit-self.rs
index ebffa131fb6..f162a1bc48a 100644
--- a/src/test/run-pass/explicit-self.rs
+++ b/src/test/run-pass/explicit-self.rs
@@ -63,7 +63,7 @@ impl thing {
 }
 
 trait Nus { fn f(&self); }
-impl thing: Nus { fn f(&self) {} }
+impl Nus for thing { fn f(&self) {} }
 
 pub fn main() {
 
diff --git a/src/test/run-pass/export-unexported-dep.rs b/src/test/run-pass/export-unexported-dep.rs
index 16f24674226..1b33df0b328 100644
--- a/src/test/run-pass/export-unexported-dep.rs
+++ b/src/test/run-pass/export-unexported-dep.rs
@@ -15,7 +15,7 @@ mod foo {
     // not exported
     enum t { t1, t2, }
 
-    impl t : cmp::Eq {
+    impl cmp::Eq for t {
         pure fn eq(&self, other: &t) -> bool {
             ((*self) as uint) == ((*other) as uint)
         }
diff --git a/src/test/run-pass/expr-alt-struct.rs b/src/test/run-pass/expr-alt-struct.rs
index 620881d30e3..ed362edde40 100644
--- a/src/test/run-pass/expr-alt-struct.rs
+++ b/src/test/run-pass/expr-alt-struct.rs
@@ -23,7 +23,7 @@ fn test_rec() {
 
 enum mood { happy, sad, }
 
-impl mood : cmp::Eq {
+impl cmp::Eq for mood {
     pure fn eq(&self, other: &mood) -> bool {
         ((*self) as uint) == ((*other) as uint)
     }
diff --git a/src/test/run-pass/expr-if-struct.rs b/src/test/run-pass/expr-if-struct.rs
index 2f222c2d08e..ea0bd768438 100644
--- a/src/test/run-pass/expr-if-struct.rs
+++ b/src/test/run-pass/expr-if-struct.rs
@@ -24,7 +24,7 @@ fn test_rec() {
 
 enum mood { happy, sad, }
 
-impl mood : cmp::Eq {
+impl cmp::Eq for mood {
     pure fn eq(&self, other: &mood) -> bool {
         ((*self) as uint) == ((*other) as uint)
     }
diff --git a/src/test/run-pass/extern-1.rs b/src/test/run-pass/extern-1.rs
index 3aaa514eea2..e4b9b9dfa16 100644
--- a/src/test/run-pass/extern-1.rs
+++ b/src/test/run-pass/extern-1.rs
@@ -12,4 +12,4 @@ extern fn f() {
 }
 
 pub fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/fn-assign-managed-to-bare-1.rs b/src/test/run-pass/fn-assign-managed-to-bare-1.rs
index 6561708192b..c08d8f61033 100644
--- a/src/test/run-pass/fn-assign-managed-to-bare-1.rs
+++ b/src/test/run-pass/fn-assign-managed-to-bare-1.rs
@@ -17,4 +17,4 @@ pub fn main()
       assert add(3)(4) == 7;
       let add3 : fn(int)->int = add(3);
       assert add3(4) == 7;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/fn-bare-assign.rs b/src/test/run-pass/fn-bare-assign.rs
index 1d523e180ff..ded30c6c7d6 100644
--- a/src/test/run-pass/fn-bare-assign.rs
+++ b/src/test/run-pass/fn-bare-assign.rs
@@ -22,4 +22,4 @@ pub fn main() {
     let h = f;
     g(h, &mut called);
     assert called == true;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/fn-bare-coerce-to-block.rs b/src/test/run-pass/fn-bare-coerce-to-block.rs
index b243ce63e18..a1ccb8b37ef 100644
--- a/src/test/run-pass/fn-bare-coerce-to-block.rs
+++ b/src/test/run-pass/fn-bare-coerce-to-block.rs
@@ -14,4 +14,4 @@ fn likes_block(f: fn()) { f() }
 
 pub fn main() {
     likes_block(bare);
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/fn-bare-coerce-to-shared.rs b/src/test/run-pass/fn-bare-coerce-to-shared.rs
index 91b0abbb3ec..5f69af31134 100644
--- a/src/test/run-pass/fn-bare-coerce-to-shared.rs
+++ b/src/test/run-pass/fn-bare-coerce-to-shared.rs
@@ -14,4 +14,4 @@ fn likes_shared(f: fn@()) { f() }
 
 pub fn main() {
     likes_shared(bare);
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/fn-bare-item.rs b/src/test/run-pass/fn-bare-item.rs
index c224f48cbc3..85203c18544 100644
--- a/src/test/run-pass/fn-bare-item.rs
+++ b/src/test/run-pass/fn-bare-item.rs
@@ -14,4 +14,4 @@ fn f() {
 
 pub fn main() {
     f();
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/fn-bare-size.rs b/src/test/run-pass/fn-bare-size.rs
index 499dc6a4a2b..e727dd6e8ab 100644
--- a/src/test/run-pass/fn-bare-size.rs
+++ b/src/test/run-pass/fn-bare-size.rs
@@ -16,4 +16,4 @@ pub fn main() {
     // Bare functions should just be a pointer
     assert sys::rustrt::size_of::<fn()>() ==
         sys::rustrt::size_of::<int>();
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/fn-coerce-field.rs b/src/test/run-pass/fn-coerce-field.rs
index 028fb0f4440..d1c903411af 100644
--- a/src/test/run-pass/fn-coerce-field.rs
+++ b/src/test/run-pass/fn-coerce-field.rs
@@ -15,4 +15,4 @@ struct r {
 pub fn main() {
     fn f() {}
     let i: r = r {field: f};
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/foreign-call-no-runtime.rs b/src/test/run-pass/foreign-call-no-runtime.rs
index 865aa775362..5d400e98d41 100644
--- a/src/test/run-pass/foreign-call-no-runtime.rs
+++ b/src/test/run-pass/foreign-call-no-runtime.rs
@@ -21,4 +21,4 @@ extern fn callback(data: libc::uintptr_t) {
         let data: *int = cast::transmute(data);
         assert *data == 100;
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/generic-object.rs b/src/test/run-pass/generic-object.rs
index 497739471d8..5279ef043f5 100644
--- a/src/test/run-pass/generic-object.rs
+++ b/src/test/run-pass/generic-object.rs
@@ -16,7 +16,7 @@ struct S {
     x: int
 }
 
-impl S : Foo<int> {
+impl Foo<int> for S {
     fn get() -> int {
         self.x
     }
diff --git a/src/test/run-pass/impl-implicit-trait.rs b/src/test/run-pass/impl-implicit-trait.rs
index 8afa762c0a3..511529bbc8f 100644
--- a/src/test/run-pass/impl-implicit-trait.rs
+++ b/src/test/run-pass/impl-implicit-trait.rs
@@ -27,4 +27,4 @@ impl option__ {
 }
 
 pub fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/impl-variance.rs b/src/test/run-pass/impl-variance.rs
index 972bd959a1d..59e248dfc1b 100644
--- a/src/test/run-pass/impl-variance.rs
+++ b/src/test/run-pass/impl-variance.rs
@@ -12,7 +12,7 @@ trait foo {
     fn foo() -> uint;
 }
 
-impl<T> ~[const T]: foo {
+impl<T> foo for ~[const T] {
     fn foo() -> uint { vec::len(self) }
 }
 
diff --git a/src/test/run-pass/infinite-loops.rs b/src/test/run-pass/infinite-loops.rs
index 70a4cecf47a..62644fc678e 100644
--- a/src/test/run-pass/infinite-loops.rs
+++ b/src/test/run-pass/infinite-loops.rs
@@ -27,4 +27,4 @@ fn loop(n: int) {
     loop { }
 }
 
-pub fn main() { let t: task = spawn loop(5); join(t); }
\ No newline at end of file
+pub fn main() { let t: task = spawn loop(5); join(t); }
diff --git a/src/test/run-pass/init-res-into-things.rs b/src/test/run-pass/init-res-into-things.rs
index 965c14f7315..0605fac3677 100644
--- a/src/test/run-pass/init-res-into-things.rs
+++ b/src/test/run-pass/init-res-into-things.rs
@@ -17,7 +17,7 @@ struct r {
 
 struct Box { x: r }
 
-impl r : Drop {
+impl Drop for r {
     fn finalize(&self) {
         *(self.i) = *(self.i) + 1;
     }
diff --git a/src/test/run-pass/issue-1701.rs b/src/test/run-pass/issue-1701.rs
index 33caaf1b53f..305bd69a57e 100644
--- a/src/test/run-pass/issue-1701.rs
+++ b/src/test/run-pass/issue-1701.rs
@@ -28,4 +28,4 @@ pub fn main() {
     assert noise(dog(pug)) == Some(~"woof");
     assert noise(rabbit(~"Hilbert", upright)) == None;
     assert noise(tiger) == Some(~"roar");
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/issue-1821.rs b/src/test/run-pass/issue-1821.rs
index 092d2b05cb7..92f0beaeb9c 100644
--- a/src/test/run-pass/issue-1821.rs
+++ b/src/test/run-pass/issue-1821.rs
@@ -12,4 +12,4 @@
 enum t {
     foo(~[t])
 }
-pub fn main() {}
\ No newline at end of file
+pub fn main() {}
diff --git a/src/test/run-pass/issue-1974.rs b/src/test/run-pass/issue-1974.rs
index a28d5a205e9..90646b0750a 100644
--- a/src/test/run-pass/issue-1974.rs
+++ b/src/test/run-pass/issue-1974.rs
@@ -15,4 +15,4 @@ pub fn main() {
     while s != ~"" {
         return;
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/issue-2185.rs b/src/test/run-pass/issue-2185.rs
index e24defbf40c..ff35b81aad1 100644
--- a/src/test/run-pass/issue-2185.rs
+++ b/src/test/run-pass/issue-2185.rs
@@ -20,11 +20,11 @@ trait iterable<A> {
     fn iter(blk: fn(A));
 }
 
-impl<A> fn@(fn(A)): iterable<A> {
+impl<A> iterable<A> for fn@(fn(A)) {
     fn iter(blk: fn(A)) { self(blk); }
 }
 
-impl fn@(fn(uint)): iterable<uint> {
+impl iterable<uint> for fn@(fn(uint)) {
     fn iter(blk: fn(&&v: uint)) { self( |i| blk(i) ) }
 }
 
diff --git a/src/test/run-pass/issue-2190-2.rs b/src/test/run-pass/issue-2190-2.rs
index b28055eca27..245864cc339 100644
--- a/src/test/run-pass/issue-2190-2.rs
+++ b/src/test/run-pass/issue-2190-2.rs
@@ -28,4 +28,4 @@ pub fn main() { foo(Some(||bar())); }
 }
 
 pub fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/issue-2216.rs b/src/test/run-pass/issue-2216.rs
index 730646e4075..ada3852812c 100644
--- a/src/test/run-pass/issue-2216.rs
+++ b/src/test/run-pass/issue-2216.rs
@@ -29,4 +29,4 @@ pub fn main() {
 
     error!("%?", x);
     assert(x == 42);
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/issue-2284.rs b/src/test/run-pass/issue-2284.rs
index e2484433448..1c4f21c6288 100644
--- a/src/test/run-pass/issue-2284.rs
+++ b/src/test/run-pass/issue-2284.rs
@@ -17,4 +17,4 @@ fn f<T: Send>(t: T) {
 }
 
 pub fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/issue-2288.rs b/src/test/run-pass/issue-2288.rs
index a77bbe150ab..99c9828bfea 100644
--- a/src/test/run-pass/issue-2288.rs
+++ b/src/test/run-pass/issue-2288.rs
@@ -15,7 +15,7 @@ struct foo<A> {
   x: A,
 }
 
-impl<A: Copy> foo<A> : clam<A> {
+impl<A: Copy> clam<A> for foo<A> {
   fn chowder(y: A) {
   }
 }
diff --git a/src/test/run-pass/issue-2316-c.rs b/src/test/run-pass/issue-2316-c.rs
index 4a12440040c..c9dc6a58c12 100644
--- a/src/test/run-pass/issue-2316-c.rs
+++ b/src/test/run-pass/issue-2316-c.rs
@@ -17,4 +17,4 @@ use issue_2316_b::cloth;
 
 pub fn main() {
   let _c: cloth::fabric = cloth::calico;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/issue-2487-a.rs b/src/test/run-pass/issue-2487-a.rs
index 62fef8202aa..198a8c900d7 100644
--- a/src/test/run-pass/issue-2487-a.rs
+++ b/src/test/run-pass/issue-2487-a.rs
@@ -13,7 +13,7 @@ struct socket {
 
 }
 
-impl socket : Drop {
+impl Drop for socket {
     fn finalize(&self) {}
 }
 
diff --git a/src/test/run-pass/issue-2611.rs b/src/test/run-pass/issue-2611.rs
index de03e3382a6..b70a9670df1 100644
--- a/src/test/run-pass/issue-2611.rs
+++ b/src/test/run-pass/issue-2611.rs
@@ -14,7 +14,7 @@ trait FlatMapToVec<A> {
   fn flat_map_to_vec<B, IB:BaseIter<B>>(op: fn(&A) -> IB) -> ~[B];
 }
 
-impl<A:Copy> BaseIter<A>: FlatMapToVec<A> {
+impl<A:Copy> FlatMapToVec<A> for BaseIter<A> {
    fn flat_map_to_vec<B, IB:BaseIter<B>>(op: fn(&A) -> IB) -> ~[B] {
      iter::flat_map_to_vec(&self, op)
    }
diff --git a/src/test/run-pass/issue-2708.rs b/src/test/run-pass/issue-2708.rs
index f16a65c9309..9e8438efad5 100644
--- a/src/test/run-pass/issue-2708.rs
+++ b/src/test/run-pass/issue-2708.rs
@@ -15,7 +15,7 @@ struct Font {
 
 }
 
-impl Font : Drop {
+impl Drop for Font {
     fn finalize(&self) {}
 }
 
diff --git a/src/test/run-pass/issue-2734.rs b/src/test/run-pass/issue-2734.rs
index d389ff34abe..ed7b032e713 100644
--- a/src/test/run-pass/issue-2734.rs
+++ b/src/test/run-pass/issue-2734.rs
@@ -9,7 +9,7 @@
 // except according to those terms.
 
 trait hax { } 
-impl <A> A: hax { } 
+impl<A> hax for A { } 
 
 fn perform_hax<T: &static>(x: @T) -> hax {
     x as hax 
diff --git a/src/test/run-pass/issue-2735-2.rs b/src/test/run-pass/issue-2735-2.rs
index 21bd5e2ebc1..a1619c69b3c 100644
--- a/src/test/run-pass/issue-2735-2.rs
+++ b/src/test/run-pass/issue-2735-2.rs
@@ -13,7 +13,7 @@ struct defer {
     b: &mut bool,
 }
 
-impl defer : Drop {
+impl Drop for defer {
     fn finalize(&self) {
         *(self.b) = true;
     }
diff --git a/src/test/run-pass/issue-2735-3.rs b/src/test/run-pass/issue-2735-3.rs
index 6a706404e33..c39b8a6c6d7 100644
--- a/src/test/run-pass/issue-2735-3.rs
+++ b/src/test/run-pass/issue-2735-3.rs
@@ -13,7 +13,7 @@ struct defer {
     b: &mut bool,
 }
 
-impl defer : Drop {
+impl Drop for defer {
     fn finalize(&self) {
         *(self.b) = true;
     }
diff --git a/src/test/run-pass/issue-2735.rs b/src/test/run-pass/issue-2735.rs
index 709227c83e3..8a6f2a0b461 100644
--- a/src/test/run-pass/issue-2735.rs
+++ b/src/test/run-pass/issue-2735.rs
@@ -9,7 +9,7 @@
 // except according to those terms.
 
 trait hax { } 
-impl <A> A: hax { } 
+impl<A> hax for A { } 
 
 fn perform_hax<T: &static>(x: @T) -> hax {
     x as hax 
diff --git a/src/test/run-pass/issue-2895.rs b/src/test/run-pass/issue-2895.rs
index be1cb3bef8f..d97c3c3de5e 100644
--- a/src/test/run-pass/issue-2895.rs
+++ b/src/test/run-pass/issue-2895.rs
@@ -16,7 +16,7 @@ struct Kitty {
     x: int,
 }
 
-impl Kitty : Drop {
+impl Drop for Kitty {
     fn finalize(&self) {}
 }
 
diff --git a/src/test/run-pass/issue-2904.rs b/src/test/run-pass/issue-2904.rs
index d6804d83d72..eadfa82619a 100644
--- a/src/test/run-pass/issue-2904.rs
+++ b/src/test/run-pass/issue-2904.rs
@@ -27,7 +27,7 @@ enum square {
     empty
 }
 
-impl square: to_str::ToStr {
+impl to_str::ToStr for square {
     pure fn to_str(&self) -> ~str {
         match *self {
           bot => { ~"R" }
diff --git a/src/test/run-pass/issue-2935.rs b/src/test/run-pass/issue-2935.rs
index e30d8997b3b..82089dd3bed 100644
--- a/src/test/run-pass/issue-2935.rs
+++ b/src/test/run-pass/issue-2935.rs
@@ -16,7 +16,7 @@ trait it {
     fn f();
 }
 
-impl t: it {
+impl it for t {
     fn f() { }
 }
 
diff --git a/src/test/run-pass/issue-2936.rs b/src/test/run-pass/issue-2936.rs
index 3a024c73791..52f1678fd02 100644
--- a/src/test/run-pass/issue-2936.rs
+++ b/src/test/run-pass/issue-2936.rs
@@ -20,7 +20,7 @@ struct cbar {
     x: int,
 }
 
-impl cbar : bar<int> {
+impl bar<int> for cbar {
     fn get_bar() -> int {
         self.x
     }
diff --git a/src/test/run-pass/issue-2989.rs b/src/test/run-pass/issue-2989.rs
index 40a78d7114a..0ad88e350a6 100644
--- a/src/test/run-pass/issue-2989.rs
+++ b/src/test/run-pass/issue-2989.rs
@@ -14,7 +14,7 @@ trait methods {
     fn to_bytes() -> ~[u8];
 }
 
-impl (): methods {
+impl methods for () {
     fn to_bytes() -> ~[u8] {
         vec::from_elem(0, 0)
     }
diff --git a/src/test/run-pass/issue-3211.rs b/src/test/run-pass/issue-3211.rs
index 2bb57d6c95a..435ac8e7bfe 100644
--- a/src/test/run-pass/issue-3211.rs
+++ b/src/test/run-pass/issue-3211.rs
@@ -5,4 +5,4 @@ pub fn main() {
     }
     assert x == 4096;
     io::println(fmt!("x = %u", x));
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/issue-3220.rs b/src/test/run-pass/issue-3220.rs
index 561a1925a97..71c83e02617 100644
--- a/src/test/run-pass/issue-3220.rs
+++ b/src/test/run-pass/issue-3220.rs
@@ -10,7 +10,7 @@
 
 struct thing { x: int, }
 
-impl thing : Drop {
+impl Drop for thing {
     fn finalize(&self) {}
 }
 
diff --git a/src/test/run-pass/issue-3305.rs b/src/test/run-pass/issue-3305.rs
index d3377d196a4..53dd6f942e8 100644
--- a/src/test/run-pass/issue-3305.rs
+++ b/src/test/run-pass/issue-3305.rs
@@ -12,7 +12,7 @@ trait double {
     fn double() -> uint;
 }
 
-impl uint: double {
+impl double for uint {
     fn double() -> uint { self * 2u }
 }
 
diff --git a/src/test/run-pass/issue-3461.rs b/src/test/run-pass/issue-3461.rs
index f285479df20..4c4144f28e8 100644
--- a/src/test/run-pass/issue-3461.rs
+++ b/src/test/run-pass/issue-3461.rs
@@ -14,4 +14,4 @@ pub fn main() {
     fn foo() { }
     
     let bar: ~fn() = ~foo;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/issue-3480.rs b/src/test/run-pass/issue-3480.rs
index 8e4f3446953..252ebb86685 100644
--- a/src/test/run-pass/issue-3480.rs
+++ b/src/test/run-pass/issue-3480.rs
@@ -24,4 +24,4 @@ impl<K: Copy, V: Copy> IMap<K, V> : ImmutableMap<K, V>
     }
 }
 
-pub fn main() {}
\ No newline at end of file
+pub fn main() {}
diff --git a/src/test/run-pass/issue-3683.rs b/src/test/run-pass/issue-3683.rs
index 729f91760b1..e254ac809a4 100644
--- a/src/test/run-pass/issue-3683.rs
+++ b/src/test/run-pass/issue-3683.rs
@@ -17,7 +17,7 @@ trait Foo {
     }
 }
 
-impl int: Foo {
+impl Foo for int {
     fn a() -> int {
         3
     }
diff --git a/src/test/run-pass/issue-3753.rs b/src/test/run-pass/issue-3753.rs
index 39d3e20ae2f..920736a976e 100644
--- a/src/test/run-pass/issue-3753.rs
+++ b/src/test/run-pass/issue-3753.rs
@@ -34,4 +34,4 @@ pub impl Shape {
 pub fn main(){
     let s = Circle(Point { x: 1f, y: 2f }, 3f);
     io::println(fmt!("%f", s.area(s)));
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/issue-3794.rs b/src/test/run-pass/issue-3794.rs
index 47373e5490a..1c1eb75c220 100644
--- a/src/test/run-pass/issue-3794.rs
+++ b/src/test/run-pass/issue-3794.rs
@@ -17,7 +17,7 @@ struct S {
     s: int,
 }
 
-impl S: T {
+impl T for S {
     fn print(&self) {
         io::println(fmt!("%?", self));
     }
diff --git a/src/test/run-pass/issue-3860.rs b/src/test/run-pass/issue-3860.rs
index ba519fe5812..fdc50220014 100644
--- a/src/test/run-pass/issue-3860.rs
+++ b/src/test/run-pass/issue-3860.rs
@@ -21,4 +21,4 @@ pub fn main() {
     // Neither of the next two lines should cause an error
     let _ = x.stuff(); 
     x.stuff();
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/issue-3979-generics.rs b/src/test/run-pass/issue-3979-generics.rs
index 0f349473096..ab042922df9 100644
--- a/src/test/run-pass/issue-3979-generics.rs
+++ b/src/test/run-pass/issue-3979-generics.rs
@@ -23,7 +23,7 @@ trait Movable<S, T>: Positioned<T> {
 
 struct Point { mut x: int, mut y: int }
 
-impl Point: Positioned<int> {
+impl Positioned<int> for Point {
     fn SetX(&self, x: int) {
         self.x = x;
     }
diff --git a/src/test/run-pass/issue-3979-xcrate.rs b/src/test/run-pass/issue-3979-xcrate.rs
index 888fee6317d..07cf9d68d16 100644
--- a/src/test/run-pass/issue-3979-xcrate.rs
+++ b/src/test/run-pass/issue-3979-xcrate.rs
@@ -15,7 +15,7 @@ use issue_3979_traits::*;
 
 struct Point { mut x: int, mut y: int }
 
-impl Point: Positioned {
+impl Positioned for Point {
     fn SetX(&self, x: int) {
         self.x = x;
     }
diff --git a/src/test/run-pass/issue-3979.rs b/src/test/run-pass/issue-3979.rs
index 3a112de5503..3ea2ef83296 100644
--- a/src/test/run-pass/issue-3979.rs
+++ b/src/test/run-pass/issue-3979.rs
@@ -22,7 +22,7 @@ trait Movable: Positioned {
 
 struct Point { mut x: int, mut y: int }
 
-impl Point: Positioned {
+impl Positioned for Point {
     fn SetX(&self, x: int) {
         self.x = x;
     }
diff --git a/src/test/run-pass/issue-4401.rs b/src/test/run-pass/issue-4401.rs
index 2af0246fb37..d89e0e7d95e 100644
--- a/src/test/run-pass/issue-4401.rs
+++ b/src/test/run-pass/issue-4401.rs
@@ -5,4 +5,4 @@ pub fn main() {
     }
     assert count == 999_999;
     io::println(fmt!("%u", count));
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/issue-4542.rs b/src/test/run-pass/issue-4542.rs
index 329e3647fae..f708b099c37 100644
--- a/src/test/run-pass/issue-4542.rs
+++ b/src/test/run-pass/issue-4542.rs
@@ -15,4 +15,4 @@ pub fn main() {
             s => { }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/issue-979.rs b/src/test/run-pass/issue-979.rs
index 38fbc44e851..119739f7fdb 100644
--- a/src/test/run-pass/issue-979.rs
+++ b/src/test/run-pass/issue-979.rs
@@ -12,7 +12,7 @@ struct r {
   b: @mut int,
 }
 
-impl r : Drop {
+impl Drop for r {
     fn finalize(&self) {
         *(self.b) += 1;
     }
diff --git a/src/test/run-pass/kindck-owned-trait-contains-1.rs b/src/test/run-pass/kindck-owned-trait-contains-1.rs
index f87e55173ab..351f68ab37c 100644
--- a/src/test/run-pass/kindck-owned-trait-contains-1.rs
+++ b/src/test/run-pass/kindck-owned-trait-contains-1.rs
@@ -10,7 +10,7 @@
 
 trait repeat<A> { fn get() -> A; }
 
-impl<A:Copy> @A: repeat<A> {
+impl<A:Copy> repeat<A> for @A {
     fn get() -> A { *self }
 }
 
@@ -23,4 +23,4 @@ pub fn main() {
     let x = &3;
     let y = repeater(@x);
     assert *x == *(y.get());
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/lint-structural-records.rs b/src/test/run-pass/lint-structural-records.rs
index 9a812b77cb8..e5107ba187c 100644
--- a/src/test/run-pass/lint-structural-records.rs
+++ b/src/test/run-pass/lint-structural-records.rs
@@ -11,4 +11,4 @@
 #[warn(structural_records)];
 pub fn main() {
     let _foo = {x:5};
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/loop-break-cont-1.rs b/src/test/run-pass/loop-break-cont-1.rs
index 1634f36df53..b91770b3e39 100644
--- a/src/test/run-pass/loop-break-cont-1.rs
+++ b/src/test/run-pass/loop-break-cont-1.rs
@@ -14,4 +14,4 @@ pub fn main() {
     break;
   }
   assert true;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/loop-break-cont.rs b/src/test/run-pass/loop-break-cont.rs
index 3be3d5f7585..05a1764ed5a 100644
--- a/src/test/run-pass/loop-break-cont.rs
+++ b/src/test/run-pass/loop-break-cont.rs
@@ -45,4 +45,4 @@ pub fn main() {
     is_even = true;
   }
   assert is_even;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/loop-diverges.rs b/src/test/run-pass/loop-diverges.rs
index 27838fe642a..9c46ba2cb9b 100644
--- a/src/test/run-pass/loop-diverges.rs
+++ b/src/test/run-pass/loop-diverges.rs
@@ -17,4 +17,4 @@ fn forever() -> ! {
 
 pub fn main() {
   if (1 == 2) { forever(); }
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/max-min-classes.rs b/src/test/run-pass/max-min-classes.rs
index 7247afeacd6..762b89f5101 100644
--- a/src/test/run-pass/max-min-classes.rs
+++ b/src/test/run-pass/max-min-classes.rs
@@ -23,7 +23,7 @@ impl Foo {
     }
 }
 
-impl Foo : Product {
+impl Product for Foo {
     fn product() -> int {
         self.x * self.y
     }
diff --git a/src/test/run-pass/mlist-cycle.rs b/src/test/run-pass/mlist-cycle.rs
index 537ce1bb218..8e544c09216 100644
--- a/src/test/run-pass/mlist-cycle.rs
+++ b/src/test/run-pass/mlist-cycle.rs
@@ -22,4 +22,4 @@ pub fn main() {
     first._0 = @link(second);
     sys.rustrt.gc();
     let third: @cell = @{mut c: @nil()};
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/mod-merge-hack.rs b/src/test/run-pass/mod-merge-hack.rs
index 20df4978508..cd904681013 100644
--- a/src/test/run-pass/mod-merge-hack.rs
+++ b/src/test/run-pass/mod-merge-hack.rs
@@ -16,4 +16,4 @@ mod myint32;
 pub fn main() {
     assert myint32::bits == 32;
     assert myint32::min(10, 20) == 10;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/mod_file.rs b/src/test/run-pass/mod_file.rs
index 1fedf0c7874..f041aa9672d 100644
--- a/src/test/run-pass/mod_file.rs
+++ b/src/test/run-pass/mod_file.rs
@@ -16,4 +16,4 @@ mod mod_file_aux;
 
 pub fn main() {
     assert mod_file_aux::foo() == 10;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/mod_file_with_path_attr.rs b/src/test/run-pass/mod_file_with_path_attr.rs
index b7172a3d50c..463132919c7 100644
--- a/src/test/run-pass/mod_file_with_path_attr.rs
+++ b/src/test/run-pass/mod_file_with_path_attr.rs
@@ -17,4 +17,4 @@ mod m;
 
 pub fn main() {
     assert m::foo() == 10;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/module-polymorphism3-files/float-template/inst_f32.rs b/src/test/run-pass/module-polymorphism3-files/float-template/inst_f32.rs
index 66201efc77b..2242daa2d80 100644
--- a/src/test/run-pass/module-polymorphism3-files/float-template/inst_f32.rs
+++ b/src/test/run-pass/module-polymorphism3-files/float-template/inst_f32.rs
@@ -8,4 +8,4 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-pub type T = f32;
\ No newline at end of file
+pub type T = f32;
diff --git a/src/test/run-pass/module-polymorphism3-files/float-template/inst_f64.rs b/src/test/run-pass/module-polymorphism3-files/float-template/inst_f64.rs
index e6222cabae6..543d672b0ab 100644
--- a/src/test/run-pass/module-polymorphism3-files/float-template/inst_f64.rs
+++ b/src/test/run-pass/module-polymorphism3-files/float-template/inst_f64.rs
@@ -8,4 +8,4 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-pub type T = f64;
\ No newline at end of file
+pub type T = f64;
diff --git a/src/test/run-pass/module-polymorphism3-files/float-template/inst_float.rs b/src/test/run-pass/module-polymorphism3-files/float-template/inst_float.rs
index ad504f79863..7151796c8ec 100644
--- a/src/test/run-pass/module-polymorphism3-files/float-template/inst_float.rs
+++ b/src/test/run-pass/module-polymorphism3-files/float-template/inst_float.rs
@@ -8,4 +8,4 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-pub type T = float;
\ No newline at end of file
+pub type T = float;
diff --git a/src/test/run-pass/monad.rs b/src/test/run-pass/monad.rs
index b5c6d835374..9447330fe07 100644
--- a/src/test/run-pass/monad.rs
+++ b/src/test/run-pass/monad.rs
@@ -15,7 +15,7 @@ trait vec_monad<A> {
     fn bind<B: Copy>(f: fn(A) -> ~[B]) -> ~[B];
 }
 
-impl<A> ~[A]: vec_monad<A> {
+impl<A> vec_monad<A> for ~[A] {
     fn bind<B: Copy>(f: fn(A) -> ~[B]) -> ~[B] {
         let mut r = ~[];
         for self.each |elt| { r += f(*elt); }
@@ -27,7 +27,7 @@ trait option_monad<A> {
     fn bind<B>(f: fn(A) -> Option<B>) -> Option<B>;
 }
 
-impl<A> Option<A>: option_monad<A> {
+impl<A> option_monad<A> for Option<A> {
     fn bind<B>(f: fn(A) -> Option<B>) -> Option<B> {
         match self {
           Some(ref a) => { f(*a) }
diff --git a/src/test/run-pass/monomorphize-trait-in-fn-at.rs b/src/test/run-pass/monomorphize-trait-in-fn-at.rs
index bce5bb9cade..3c491a7f695 100644
--- a/src/test/run-pass/monomorphize-trait-in-fn-at.rs
+++ b/src/test/run-pass/monomorphize-trait-in-fn-at.rs
@@ -20,7 +20,7 @@ trait ty_ops {
     fn mk() -> uint;
 }
 
-impl (): ty_ops {
+impl ty_ops for () {
     fn mk() -> uint { 22u }
 }
 
@@ -29,4 +29,4 @@ pub fn main() {
         mk_nil(())
     };
     assert fn_env() == 22u;
-}
\ No newline at end of file
+}
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 72933f18d6f..57f7a3f24db 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
@@ -17,19 +17,19 @@ trait Serializable {
     fn serialize<S: Serializer>(s: S);
 }
 
-impl int: Serializable {
+impl Serializable for int {
     fn serialize<S: Serializer>(_s: S) { }
 }
 
 struct F<A> { a: A }
 
-impl<A: Copy Serializable> F<A>: Serializable {
+impl<A: Copy Serializable> Serializable for F<A> {
     fn serialize<S: Serializer>(s: S) {
         self.a.serialize(move s);
     }
 }
 
-impl io::Writer: Serializer {
+impl Serializer for io::Writer {
 }
 
 pub fn main() {
diff --git a/src/test/run-pass/morestack1.rs b/src/test/run-pass/morestack1.rs
index c31dae404c6..775bbc883f6 100644
--- a/src/test/run-pass/morestack1.rs
+++ b/src/test/run-pass/morestack1.rs
@@ -16,4 +16,4 @@ fn getbig(i: int) {
 
 pub fn main() {
     getbig(100000);
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/morestack2.rs b/src/test/run-pass/morestack2.rs
index 5b2c016d44b..e3e2a788230 100644
--- a/src/test/run-pass/morestack2.rs
+++ b/src/test/run-pass/morestack2.rs
@@ -21,4 +21,4 @@ fn getbig(i: int) -> int {
 
 pub fn main() {
     getbig(10000);
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/morestack3.rs b/src/test/run-pass/morestack3.rs
index 717536a2fbc..748d765f2c3 100644
--- a/src/test/run-pass/morestack3.rs
+++ b/src/test/run-pass/morestack3.rs
@@ -49,4 +49,4 @@ fn getbig(a0: int,
 pub fn main() {
     let a = 10000;
     getbig(a, a+1, a+2, a+3, a+4, a+5, a+6, a+7, a+8, a+9);
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/morestack4.rs b/src/test/run-pass/morestack4.rs
index 8f9a2575412..82d4279ed2b 100644
--- a/src/test/run-pass/morestack4.rs
+++ b/src/test/run-pass/morestack4.rs
@@ -104,4 +104,4 @@ pub fn main() {
         a38: 10000u64,
         a39: 10000u64,
     });
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/morestack5.rs b/src/test/run-pass/morestack5.rs
index c0407b6e786..1d232cc5cbd 100644
--- a/src/test/run-pass/morestack5.rs
+++ b/src/test/run-pass/morestack5.rs
@@ -24,4 +24,4 @@ pub fn main() {
         task::try(|| getbig(200) );
         sz += 1u;
     }
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/move-nullary-fn.rs b/src/test/run-pass/move-nullary-fn.rs
index 77d4d2ccb36..0aac8857c59 100644
--- a/src/test/run-pass/move-nullary-fn.rs
+++ b/src/test/run-pass/move-nullary-fn.rs
@@ -17,4 +17,4 @@ fn f(-thing: fn@()) {
 
 pub fn main() {
     f(fn@() {});
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/mut-function-arguments.rs b/src/test/run-pass/mut-function-arguments.rs
index ffa18e040e7..8d3f28fb3dc 100644
--- a/src/test/run-pass/mut-function-arguments.rs
+++ b/src/test/run-pass/mut-function-arguments.rs
@@ -24,4 +24,4 @@ pub fn main() {
     let z = ~17;
     f(z);
     g();
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/operator-overloading.rs b/src/test/run-pass/operator-overloading.rs
index 1ffdc6a21ca..3c6a3471377 100644
--- a/src/test/run-pass/operator-overloading.rs
+++ b/src/test/run-pass/operator-overloading.rs
@@ -16,37 +16,37 @@ struct Point {
     y: int
 }
 
-impl Point : ops::Add<Point,Point> {
+impl ops::Add<Point,Point> for Point {
     pure fn add(&self, other: &Point) -> Point {
         Point {x: self.x + (*other).x, y: self.y + (*other).y}
     }
 }
 
-impl Point : ops::Sub<Point,Point> {
+impl ops::Sub<Point,Point> for Point {
     pure fn sub(&self, other: &Point) -> Point {
         Point {x: self.x - (*other).x, y: self.y - (*other).y}
     }
 }
 
-impl Point : ops::Neg<Point> {
+impl ops::Neg<Point> for Point {
     pure fn neg(&self) -> Point {
         Point {x: -self.x, y: -self.y}
     }
 }
 
-impl Point : ops::Not<Point> {
+impl ops::Not<Point> for Point {
     pure fn not(&self) -> Point {
         Point {x: !self.x, y: !self.y }
     }
 }
 
-impl Point : ops::Index<bool,int> {
+impl ops::Index<bool,int> for Point {
     pure fn index(&self, +x: bool) -> int {
         if x { self.x } else { self.y }
     }
 }
 
-impl Point : cmp::Eq {
+impl cmp::Eq for Point {
     pure fn eq(&self, other: &Point) -> bool {
         (*self).x == (*other).x && (*self).y == (*other).y
     }
diff --git a/src/test/run-pass/option-unwrap.rs b/src/test/run-pass/option-unwrap.rs
index c0095b52965..9f787c915e5 100644
--- a/src/test/run-pass/option-unwrap.rs
+++ b/src/test/run-pass/option-unwrap.rs
@@ -13,7 +13,7 @@ struct dtor {
 
 }
 
-impl dtor : Drop {
+impl Drop for dtor {
     fn finalize(&self) {
         // abuse access to shared mutable state to write this code
         *self.x -= 1;
diff --git a/src/test/run-pass/propagate-expected-type-through-block.rs b/src/test/run-pass/propagate-expected-type-through-block.rs
index 525535dd139..d41e629b5da 100644
--- a/src/test/run-pass/propagate-expected-type-through-block.rs
+++ b/src/test/run-pass/propagate-expected-type-through-block.rs
@@ -9,4 +9,4 @@ pub fn main() {
         |x| *x + *y
     };
     assert foo(@22) == 25;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/pure-sum.rs b/src/test/run-pass/pure-sum.rs
index 19957a67c04..f4c92c869e4 100644
--- a/src/test/run-pass/pure-sum.rs
+++ b/src/test/run-pass/pure-sum.rs
@@ -49,4 +49,4 @@ pure fn sums_to_using_uniq_rec(v: ~[int], sum: int) -> bool {
 }
 
 pub fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/rcvr-borrowed-to-region.rs b/src/test/run-pass/rcvr-borrowed-to-region.rs
index 7f8e9cfdd69..61cb473bf8f 100644
--- a/src/test/run-pass/rcvr-borrowed-to-region.rs
+++ b/src/test/run-pass/rcvr-borrowed-to-region.rs
@@ -13,7 +13,7 @@ trait get {
 }
 
 // Note: impl on a slice
-impl &int: get {
+impl get for &int {
     fn get() -> int {
         return *self;
     }
diff --git a/src/test/run-pass/rcvr-borrowed-to-slice.rs b/src/test/run-pass/rcvr-borrowed-to-slice.rs
index 51f4b4c953d..60732953360 100644
--- a/src/test/run-pass/rcvr-borrowed-to-slice.rs
+++ b/src/test/run-pass/rcvr-borrowed-to-slice.rs
@@ -13,7 +13,7 @@ trait sum {
 }
 
 // Note: impl on a slice
-impl &[int]: sum {
+impl sum for &[int] {
     fn sum() -> int {
         let mut sum = 0;
         for vec::each(self) |e| { sum += *e; }
diff --git a/src/test/run-pass/recursion.rs b/src/test/run-pass/recursion.rs
index 77c0872b7c4..092cd3d8ed5 100644
--- a/src/test/run-pass/recursion.rs
+++ b/src/test/run-pass/recursion.rs
@@ -12,10 +12,10 @@
 enum Nil {Nil}
 struct Cons<T> {head:int, tail:T}
 trait Dot {fn dot(other:self) -> int;}
-impl Nil:Dot {
+impl Dot for Nil {
   fn dot(_:Nil) -> int {0}
 }
-impl<T:Dot> Cons<T>:Dot {
+impl<T:Dot> Dot for Cons<T> {
   fn dot(other:Cons<T>) -> int {
     self.head * other.head + self.tail.dot(other.tail)
   }
diff --git a/src/test/run-pass/reflect-visit-data.rs b/src/test/run-pass/reflect-visit-data.rs
index 96bddf7099b..d6470ad72b0 100644
--- a/src/test/run-pass/reflect-visit-data.rs
+++ b/src/test/run-pass/reflect-visit-data.rs
@@ -59,7 +59,7 @@ impl<V: TyVisitor movable_ptr> ptr_visit_adaptor<V> {
 
 }
 
-impl<V: TyVisitor movable_ptr> ptr_visit_adaptor<V>: TyVisitor {
+impl<V: TyVisitor movable_ptr> TyVisitor for ptr_visit_adaptor<V> {
 
     fn visit_bot(&self) -> bool {
         self.align_to::<()>();
@@ -498,14 +498,14 @@ impl my_visitor {
 
 struct Inner<V> { inner: V }
 
-impl my_visitor: movable_ptr {
+impl movable_ptr for my_visitor {
     fn move_ptr(adjustment: fn(*c_void) -> *c_void) {
         self.ptr1 = adjustment(self.ptr1);
         self.ptr2 = adjustment(self.ptr2);
     }
 }
 
-impl my_visitor: TyVisitor {
+impl TyVisitor for my_visitor {
 
     fn visit_bot(&self) -> bool { true }
     fn visit_nil(&self) -> bool { true }
diff --git a/src/test/run-pass/reflect-visit-type.rs b/src/test/run-pass/reflect-visit-type.rs
index 9c8c65698b3..6b57c73d0f2 100644
--- a/src/test/run-pass/reflect-visit-type.rs
+++ b/src/test/run-pass/reflect-visit-type.rs
@@ -12,7 +12,7 @@
 use intrinsic::{TyDesc, get_tydesc, visit_tydesc, TyVisitor};
 enum my_visitor = @{ mut types: ~[str] };
 
-impl my_visitor: TyVisitor {
+impl TyVisitor for my_visitor {
     fn visit_bot() -> bool {
         self.types += ~["bot"];
         error!("visited bot type");
diff --git a/src/test/run-pass/regions-creating-enums2.rs b/src/test/run-pass/regions-creating-enums2.rs
index 2245bd72f88..9daec577cfa 100644
--- a/src/test/run-pass/regions-creating-enums2.rs
+++ b/src/test/run-pass/regions-creating-enums2.rs
@@ -18,4 +18,4 @@ fn mk_add_ok(x: &r/ast, y: &r/ast) -> ast/&r {
 }
 
 pub fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/regions-creating-enums5.rs b/src/test/run-pass/regions-creating-enums5.rs
index 959a40055fd..943ec3f9cb7 100644
--- a/src/test/run-pass/regions-creating-enums5.rs
+++ b/src/test/run-pass/regions-creating-enums5.rs
@@ -18,4 +18,4 @@ fn mk_add_ok(x: &a/ast, y: &a/ast, z: &ast) -> ast/&a {
 }
 
 pub fn main() {
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/regions-infer-call-2.rs b/src/test/run-pass/regions-infer-call-2.rs
index 940c087ea62..b84de89feb8 100644
--- a/src/test/run-pass/regions-infer-call-2.rs
+++ b/src/test/run-pass/regions-infer-call-2.rs
@@ -20,4 +20,4 @@ fn has_one(x: &a/int) -> int {
 
 pub fn main() {
     assert has_one(&2) == 22;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/regions-infer-call.rs b/src/test/run-pass/regions-infer-call.rs
index d546bed4fde..12f631755a9 100644
--- a/src/test/run-pass/regions-infer-call.rs
+++ b/src/test/run-pass/regions-infer-call.rs
@@ -16,4 +16,4 @@ fn has_two(x: &a/int, y: &b/int) -> int {
 
 pub fn main() {
     assert has_two(&20, &2) == 22;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/regions-infer-contravariance-due-to-ret.rs b/src/test/run-pass/regions-infer-contravariance-due-to-ret.rs
index 414f12bf3da..d2a91db6bb8 100644
--- a/src/test/run-pass/regions-infer-contravariance-due-to-ret.rs
+++ b/src/test/run-pass/regions-infer-contravariance-due-to-ret.rs
@@ -25,4 +25,4 @@ pub fn main() {
     let g = 21;
     let foo = boxed_int { f: &g };
     assert with(&foo) == 22;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/regions-infer-contravariance.rs b/src/test/run-pass/regions-infer-contravariance.rs
index eccc75ed11f..11a24fdc962 100644
--- a/src/test/run-pass/regions-infer-contravariance.rs
+++ b/src/test/run-pass/regions-infer-contravariance.rs
@@ -28,4 +28,4 @@ pub fn main() {
     let g = 22;
     let foo = boxed_int { f: &g };
     with(&foo);
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/regions-nullary-variant.rs b/src/test/run-pass/regions-nullary-variant.rs
index ac416dd4468..27dc2dea40d 100644
--- a/src/test/run-pass/regions-nullary-variant.rs
+++ b/src/test/run-pass/regions-nullary-variant.rs
@@ -16,4 +16,4 @@ fn mk(cond: bool, ptr: &r/uint) -> roption/&r {
     if cond {a} else {b(ptr)}
 }
 
-pub fn main() {}
\ No newline at end of file
+pub fn main() {}
diff --git a/src/test/run-pass/regions-self-impls.rs b/src/test/run-pass/regions-self-impls.rs
index 40c83a17089..7b07a8cf1af 100644
--- a/src/test/run-pass/regions-self-impls.rs
+++ b/src/test/run-pass/regions-self-impls.rs
@@ -14,7 +14,7 @@ trait get_chowder {
     fn get_chowder() -> &self/int;
 }
 
-impl Clam: get_chowder {
+impl get_chowder for Clam {
     fn get_chowder() -> &self/int { return self.chowder; }
 }
 
diff --git a/src/test/run-pass/regions-trait.rs b/src/test/run-pass/regions-trait.rs
index 86da7c722ff..e45a0d252c6 100644
--- a/src/test/run-pass/regions-trait.rs
+++ b/src/test/run-pass/regions-trait.rs
@@ -16,7 +16,7 @@ trait get_ctxt {
 
 struct HasCtxt { c: &Ctxt }
 
-impl HasCtxt: get_ctxt {
+impl get_ctxt for HasCtxt {
     fn get_ctxt() -> &self/Ctxt {
         self.c
     }
diff --git a/src/test/run-pass/resource-assign-is-not-copy.rs b/src/test/run-pass/resource-assign-is-not-copy.rs
index 9de6fbebf85..ee28c96defc 100644
--- a/src/test/run-pass/resource-assign-is-not-copy.rs
+++ b/src/test/run-pass/resource-assign-is-not-copy.rs
@@ -12,7 +12,7 @@ struct r {
   i: @mut int,
 }
 
-impl r : Drop {
+impl Drop for r {
     fn finalize(&self) {
         *(self.i) += 1;
     }
diff --git a/src/test/run-pass/resource-cycle.rs b/src/test/run-pass/resource-cycle.rs
index fa9832125b3..fb9a1e8117a 100644
--- a/src/test/run-pass/resource-cycle.rs
+++ b/src/test/run-pass/resource-cycle.rs
@@ -14,7 +14,7 @@ struct r {
   v: *int,
 }
 
-impl r : Drop {
+impl Drop for r {
     fn finalize(&self) {
         unsafe {
             debug!("r's dtor: self = %x, self.v = %x, self.v's value = %x",
diff --git a/src/test/run-pass/resource-cycle2.rs b/src/test/run-pass/resource-cycle2.rs
index 0b7179cc819..eea5c43bb99 100644
--- a/src/test/run-pass/resource-cycle2.rs
+++ b/src/test/run-pass/resource-cycle2.rs
@@ -20,7 +20,7 @@ struct r {
   v: U,
 }
 
-impl r : Drop {
+impl Drop for r {
     fn finalize(&self) {
         unsafe {
             let v2: ~int = cast::reinterpret_cast(&self.v.c);
diff --git a/src/test/run-pass/resource-cycle3.rs b/src/test/run-pass/resource-cycle3.rs
index 4bec2f10f98..544d82e7995 100644
--- a/src/test/run-pass/resource-cycle3.rs
+++ b/src/test/run-pass/resource-cycle3.rs
@@ -24,7 +24,7 @@ struct R {
   x: *int,
 }
 
-impl R : Drop {
+impl Drop for R {
     fn finalize(&self) {
         unsafe {
             let _v2: ~int = cast::reinterpret_cast(&self.v.c);
diff --git a/src/test/run-pass/resource-destruct.rs b/src/test/run-pass/resource-destruct.rs
index 6d4ddd13041..7b5456e2189 100644
--- a/src/test/run-pass/resource-destruct.rs
+++ b/src/test/run-pass/resource-destruct.rs
@@ -12,7 +12,7 @@ struct shrinky_pointer {
   i: @@mut int,
 }
 
-impl shrinky_pointer : Drop {
+impl Drop for shrinky_pointer {
     fn finalize(&self) {
         log(error, ~"Hello!"); **(self.i) -= 1;
     }
diff --git a/src/test/run-pass/resource-generic.rs b/src/test/run-pass/resource-generic.rs
index 86e023c4e8a..17ce27fa60a 100644
--- a/src/test/run-pass/resource-generic.rs
+++ b/src/test/run-pass/resource-generic.rs
@@ -17,7 +17,7 @@ struct finish<T> {
   arg: Arg<T>
 }
 
-impl<T: Copy> finish<T> : Drop {
+impl<T: Copy> Drop for finish<T> {
     fn finalize(&self) {
         (self.arg.fin)(self.arg.val);
     }
diff --git a/src/test/run-pass/resource-in-struct.rs b/src/test/run-pass/resource-in-struct.rs
index 50e60cb0f37..54b543c7c3f 100644
--- a/src/test/run-pass/resource-in-struct.rs
+++ b/src/test/run-pass/resource-in-struct.rs
@@ -18,7 +18,7 @@ struct close_res {
 
 }
 
-impl close_res : Drop {
+impl Drop for close_res {
     fn finalize(&self) {
         *(self.i) = false;
     }
diff --git a/src/test/run-pass/self-type-param.rs b/src/test/run-pass/self-type-param.rs
index d0d20d096b4..0af19796804 100644
--- a/src/test/run-pass/self-type-param.rs
+++ b/src/test/run-pass/self-type-param.rs
@@ -6,7 +6,7 @@ struct S {
     x: int
 }
 
-impl S : MyTrait {
+impl MyTrait for S {
     fn f(&self) -> S {
         S { x: 3 }
     }
diff --git a/src/test/run-pass/send-resource.rs b/src/test/run-pass/send-resource.rs
index 11d1af2b399..ac910232c16 100644
--- a/src/test/run-pass/send-resource.rs
+++ b/src/test/run-pass/send-resource.rs
@@ -14,7 +14,7 @@ struct test {
   f: int,
 }
 
-impl test : Drop {
+impl Drop for test {
     fn finalize(&self) {}
 }
 
diff --git a/src/test/run-pass/sendable-class.rs b/src/test/run-pass/sendable-class.rs
index a5691e289d7..19169c168c2 100644
--- a/src/test/run-pass/sendable-class.rs
+++ b/src/test/run-pass/sendable-class.rs
@@ -25,4 +25,4 @@ fn foo(i:int, j: char) -> foo {
 pub fn main() {
     let (_po, ch) = pipes::stream();
     ch.send(foo(42, 'c'));
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/static-impl.rs b/src/test/run-pass/static-impl.rs
index 2aeabcf4872..870059d1edc 100644
--- a/src/test/run-pass/static-impl.rs
+++ b/src/test/run-pass/static-impl.rs
@@ -30,7 +30,7 @@ trait uint_utils {
     fn multi(f: fn(uint));
 }
 
-impl uint: uint_utils {
+impl uint_utils for uint {
     fn str() -> ~str { uint::str(self) }
     fn multi(f: fn(uint)) {
         let mut c = 0u;
@@ -44,7 +44,7 @@ trait vec_utils<T> {
     fn map_<U: Copy>(f: fn(T) -> U) -> ~[U];
 }
 
-impl<T> ~[T]: vec_utils<T> {
+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] {
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 bf70b86a4c6..328a937b441 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
@@ -16,7 +16,7 @@ trait Deserializable<D: Deserializer> {
     static fn deserialize(d: &D) -> Self;
 }
 
-impl<D: Deserializer> int: Deserializable<D> {
+impl<D: Deserializer> Deserializable<D> for int {
     static fn deserialize(d: &D) -> int {
         return d.read_int();
     }
@@ -24,7 +24,7 @@ impl<D: Deserializer> int: Deserializable<D> {
 
 struct FromThinAir { dummy: () }
 
-impl FromThinAir: Deserializer {
+impl Deserializer for FromThinAir {
     fn read_int() -> int { 22 }
 }
 
diff --git a/src/test/run-pass/static-method-test.rs b/src/test/run-pass/static-method-test.rs
index 28bdcddb3ad..3402da6c55c 100644
--- a/src/test/run-pass/static-method-test.rs
+++ b/src/test/run-pass/static-method-test.rs
@@ -21,13 +21,13 @@ fn andand<T: bool_like Copy>(x1: T, x2: T) -> T {
     bool_like::select(x1, x2, x1)
 }
 
-impl bool: bool_like {
+impl bool_like for bool {
     static fn select<A>(&&b: bool, +x1: A, +x2: A) -> A {
         if b { move x1 } else { move x2 }
     }
 }
 
-impl int: bool_like {
+impl bool_like for int {
     static fn select<A>(&&b: int, +x1: A, +x2: A) -> A {
         if b != 0 { move x1 } else { move x2 }
     }
@@ -40,14 +40,14 @@ trait buildable<A> {
 }
 
 
-impl<A> @[A]: buildable<A> {
+impl<A> buildable<A> for @[A] {
     #[inline(always)]
      static pure fn build_sized(size: uint,
                                 builder: fn(push: pure fn(+v: A))) -> @[A] {
          at_vec::build_sized(size, builder)
      }
 }
-impl<A> ~[A]: buildable<A> {
+impl<A> buildable<A> for ~[A] {
     #[inline(always)]
      static pure fn build_sized(size: uint,
                                 builder: fn(push: pure fn(+v: A))) -> ~[A] {
diff --git a/src/test/run-pass/static-methods-in-traits.rs b/src/test/run-pass/static-methods-in-traits.rs
index d144181984f..63d25240df8 100644
--- a/src/test/run-pass/static-methods-in-traits.rs
+++ b/src/test/run-pass/static-methods-in-traits.rs
@@ -13,13 +13,13 @@ mod a {
 		static pub fn foo() -> Self;
 	}
 
-	impl int : Foo {
+	impl Foo for int {
 		static pub fn foo() -> int {
 			3
 		}
 	}
 	
-	impl uint : Foo {
+	impl Foo for uint {
 		static pub fn foo() -> uint {
 			5u
 		}
diff --git a/src/test/run-pass/struct-literal-dtor.rs b/src/test/run-pass/struct-literal-dtor.rs
index 668e7a80b35..9f5b8cf27dd 100644
--- a/src/test/run-pass/struct-literal-dtor.rs
+++ b/src/test/run-pass/struct-literal-dtor.rs
@@ -12,7 +12,7 @@ struct foo {
     x: ~str,
 }
 
-impl foo : Drop {
+impl Drop for foo {
     fn finalize(&self) {
         error!("%s", self.x);
     }
diff --git a/src/test/run-pass/structured-compare.rs b/src/test/run-pass/structured-compare.rs
index 17a4c904470..a11608bc52e 100644
--- a/src/test/run-pass/structured-compare.rs
+++ b/src/test/run-pass/structured-compare.rs
@@ -12,7 +12,7 @@
 
 enum foo { large, small, }
 
-impl foo : cmp::Eq {
+impl cmp::Eq for foo {
     pure fn eq(&self, other: &foo) -> bool {
         ((*self) as uint) == ((*other) as uint)
     }
diff --git a/src/test/run-pass/tag-variant-disr-val.rs b/src/test/run-pass/tag-variant-disr-val.rs
index c573ee376c7..d7571b3a47b 100644
--- a/src/test/run-pass/tag-variant-disr-val.rs
+++ b/src/test/run-pass/tag-variant-disr-val.rs
@@ -19,7 +19,7 @@ enum color {
     orange = 8 >> 1
 }
 
-impl color : cmp::Eq {
+impl cmp::Eq for color {
     pure fn eq(&self, other: &color) -> bool {
         ((*self) as uint) == ((*other) as uint)
     }
diff --git a/src/test/run-pass/tag.rs b/src/test/run-pass/tag.rs
index e74237c7494..e9e7fdeaddf 100644
--- a/src/test/run-pass/tag.rs
+++ b/src/test/run-pass/tag.rs
@@ -14,7 +14,7 @@
 // -*- rust -*-
 enum colour { red(int, int), green, }
 
-impl colour : cmp::Eq {
+impl cmp::Eq for colour {
     pure fn eq(&self, other: &colour) -> bool {
         match *self {
             red(a0, b0) => {
diff --git a/src/test/run-pass/task-comm-16.rs b/src/test/run-pass/task-comm-16.rs
index 91925fc1917..afc9290b62d 100644
--- a/src/test/run-pass/task-comm-16.rs
+++ b/src/test/run-pass/task-comm-16.rs
@@ -56,7 +56,7 @@ enum t {
     tag3(int, u8, char)
 }
 
-impl t : cmp::Eq {
+impl cmp::Eq for t {
     pure fn eq(&self, other: &t) -> bool {
         match *self {
             tag1 => {
diff --git a/src/test/run-pass/task-comm-17.rs b/src/test/run-pass/task-comm-17.rs
index e146afa3a0f..58fa65b7fe7 100644
--- a/src/test/run-pass/task-comm-17.rs
+++ b/src/test/run-pass/task-comm-17.rs
@@ -19,4 +19,4 @@ fn f() {
 
 pub fn main() {
     task::spawn(|| f() );
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/task-killjoin-rsrc.rs b/src/test/run-pass/task-killjoin-rsrc.rs
index 3af59a09ad0..ca60dfd3de0 100644
--- a/src/test/run-pass/task-killjoin-rsrc.rs
+++ b/src/test/run-pass/task-killjoin-rsrc.rs
@@ -19,7 +19,7 @@ struct notify {
     ch: Chan<bool>, v: @mut bool,
 }
 
-impl notify : Drop {
+impl Drop for notify {
     fn finalize(&self) {
         error!("notify: task=%? v=%x unwinding=%b b=%b",
                task::get_task(),
diff --git a/src/test/run-pass/test-ignore-cfg.rs b/src/test/run-pass/test-ignore-cfg.rs
index 6028d8c71d3..b045dc3074d 100644
--- a/src/test/run-pass/test-ignore-cfg.rs
+++ b/src/test/run-pass/test-ignore-cfg.rs
@@ -35,4 +35,4 @@ fn checktests() {
     assert vec::any(
         tests,
         |t| t.desc.name.to_str() == ~"shouldnotignore" && !t.desc.ignore);
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/trait-bounds.rs b/src/test/run-pass/trait-bounds.rs
index 8c737428ba9..2e093d6d631 100644
--- a/src/test/run-pass/trait-bounds.rs
+++ b/src/test/run-pass/trait-bounds.rs
@@ -19,11 +19,11 @@ trait connection_factory<C: connection> {
 type my_connection = ();
 type my_connection_factory = ();
 
-impl (): connection {
+impl connection for () {
     fn read() -> int { 43 }
 }
 
-impl my_connection_factory: connection_factory<my_connection> {
+impl connection_factory<my_connection> for my_connection_factory {
     fn create() -> my_connection { () }
 }
 
diff --git a/src/test/run-pass/trait-cast.rs b/src/test/run-pass/trait-cast.rs
index cfb0096f97f..62d1c00eea9 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> Option<T>: to_str {
+impl<T: to_str> to_str for Option<T> {
     fn to_str() -> ~str {
         match self {
           None => { ~"none" }
@@ -30,11 +30,11 @@ impl <T: to_str> Option<T>: to_str {
     }
 }
 
-impl int: to_str {
+impl to_str for int {
     fn to_str() -> ~str { int::str(self) }
 }
 
-impl Tree: to_str {
+impl to_str for Tree {
     fn to_str() -> ~str {
         let l = self.left, r = self.right;
         fmt!("[%s, %s, %s]", self.val.to_str(),
diff --git a/src/test/run-pass/trait-default-method-bound-subst.rs b/src/test/run-pass/trait-default-method-bound-subst.rs
index 18b328d5368..3f69a2e5d90 100644
--- a/src/test/run-pass/trait-default-method-bound-subst.rs
+++ b/src/test/run-pass/trait-default-method-bound-subst.rs
@@ -14,7 +14,7 @@ trait A<T> {
     fn g<U>(x: T, y: U) -> (T, U) { (move x, move y) }
 }
 
-impl int: A<int> { }
+impl A<int> for int { }
 
 fn f<T, U, V: A<T>>(i: V, j: T, k: U) -> (T, U) {
     i.g(move j, move k)
diff --git a/src/test/run-pass/trait-default-method-bound-subst2.rs b/src/test/run-pass/trait-default-method-bound-subst2.rs
index 34d210b06ac..fcb9f60d762 100644
--- a/src/test/run-pass/trait-default-method-bound-subst2.rs
+++ b/src/test/run-pass/trait-default-method-bound-subst2.rs
@@ -14,7 +14,7 @@ trait A<T> {
     fn g(x: T) -> T { move x }
 }
 
-impl int: A<int> { }
+impl A<int> for int { }
 
 fn f<T, V: A<T>>(i: V, j: T) -> T {
     i.g(move j)
diff --git a/src/test/run-pass/trait-default-method-bound-subst3.rs b/src/test/run-pass/trait-default-method-bound-subst3.rs
index adf07818e0c..c89d4abe3da 100644
--- a/src/test/run-pass/trait-default-method-bound-subst3.rs
+++ b/src/test/run-pass/trait-default-method-bound-subst3.rs
@@ -14,7 +14,7 @@ trait A {
     fn g<T>(x: T, y: T) -> (T, T) { (move x, move y) }
 }
 
-impl int: A { }
+impl A for int { }
 
 fn f<T, V: A>(i: V, j: T, k: T) -> (T, T) {
     i.g(move j, move k)
diff --git a/src/test/run-pass/trait-default-method-bound-subst4.rs b/src/test/run-pass/trait-default-method-bound-subst4.rs
index 0b34691ff6e..7a6dfa33a1a 100644
--- a/src/test/run-pass/trait-default-method-bound-subst4.rs
+++ b/src/test/run-pass/trait-default-method-bound-subst4.rs
@@ -14,7 +14,7 @@ trait A<T> {
     fn g(x: uint) -> uint { move x }
 }
 
-impl<T> int: A<T> { }
+impl<T> A<T> for int { }
 
 fn f<T, V: A<T>>(i: V, j: uint) -> uint {
     i.g(move j)
diff --git a/src/test/run-pass/trait-default-method-bound.rs b/src/test/run-pass/trait-default-method-bound.rs
index 28e15e09496..b28884e5fbc 100644
--- a/src/test/run-pass/trait-default-method-bound.rs
+++ b/src/test/run-pass/trait-default-method-bound.rs
@@ -14,7 +14,7 @@ trait A {
     fn g() -> int { 10 }
 }
 
-impl int: A { }
+impl A for int { }
 
 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 8a8efb4b991..80b1b1eba39 100644
--- a/src/test/run-pass/trait-generic.rs
+++ b/src/test/run-pass/trait-generic.rs
@@ -14,20 +14,20 @@
 trait to_str {
     fn to_str() -> ~str;
 }
-impl int: to_str {
+impl to_str for int {
     fn to_str() -> ~str { int::str(self) }
 }
-impl ~str: to_str {
+impl to_str for ~str {
     fn to_str() -> ~str { copy self }
 }
-impl (): to_str {
+impl to_str for () {
     fn to_str() -> ~str { ~"()" }
 }
 
 trait map<T> {
     fn map<U: Copy>(f: fn(T) -> U) -> ~[U];
 }
-impl<T> ~[T]: map<T> {
+impl<T> map<T> for ~[T] {
     fn map<U: Copy>(f: fn(T) -> U) -> ~[U] {
         let mut r = ~[];
         for self.each |x| { r += ~[f(*x)]; }
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 105cf9ba2ab..b8e060ee914 100644
--- a/src/test/run-pass/trait-inheritance-auto-xc-2.rs
+++ b/src/test/run-pass/trait-inheritance-auto-xc-2.rs
@@ -18,7 +18,7 @@ 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> T: Quux { }
+impl<T: Foo Bar Baz> Quux for T { }
 
 fn f<T: Quux>(a: &T) {
     assert a.f() == 10;
diff --git a/src/test/run-pass/trait-inheritance-auto-xc.rs b/src/test/run-pass/trait-inheritance-auto-xc.rs
index 5856d48aec4..f0fa291f00c 100644
--- a/src/test/run-pass/trait-inheritance-auto-xc.rs
+++ b/src/test/run-pass/trait-inheritance-auto-xc.rs
@@ -17,9 +17,9 @@ use aux::{Foo, Bar, Baz, Quux};
 
 struct A { x: int }
 
-impl A : Foo { fn f() -> int { 10 } }
-impl A : Bar { fn g() -> int { 20 } }
-impl A : Baz { fn h() -> int { 30 } }
+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) {
     assert a.f() == 10;
diff --git a/src/test/run-pass/trait-inheritance-auto.rs b/src/test/run-pass/trait-inheritance-auto.rs
index c07c03c108d..84e498c8ffd 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> T: Quux { }
+impl<T: Foo Bar Baz> Quux for T { }
 
 trait Foo { fn f() -> int; }
 trait Bar { fn g() -> int; }
@@ -20,9 +20,9 @@ trait Quux: Foo Bar Baz { }
 
 struct A { x: int }
 
-impl A : Foo { fn f() -> int { 10 } }
-impl A : Bar { fn g() -> int { 20 } }
-impl A : Baz { fn h() -> int { 30 } }
+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) {
     assert a.f() == 10;
diff --git a/src/test/run-pass/trait-inheritance-call-bound-inherited.rs b/src/test/run-pass/trait-inheritance-call-bound-inherited.rs
index 8a3e81c3fdb..f02145896be 100644
--- a/src/test/run-pass/trait-inheritance-call-bound-inherited.rs
+++ b/src/test/run-pass/trait-inheritance-call-bound-inherited.rs
@@ -13,8 +13,8 @@ trait Bar : Foo { fn g() -> int; }
 
 struct A { x: int }
 
-impl A : Foo { fn f() -> int { 10 } }
-impl A : Bar { fn g() -> int { 20 } }
+impl Foo for A { fn f() -> int { 10 } }
+impl Bar for A { fn g() -> int { 20 } }
 
 // Call a function on Foo, given a T: Bar
 fn gg<T:Bar>(a: &T) -> int {
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 a6bac1a0583..45498996ba5 100644
--- a/src/test/run-pass/trait-inheritance-call-bound-inherited2.rs
+++ b/src/test/run-pass/trait-inheritance-call-bound-inherited2.rs
@@ -14,9 +14,9 @@ trait Baz : Bar { fn h() -> int; }
 
 struct A { x: int }
 
-impl A : Foo { fn f() -> int { 10 } }
-impl A : Bar { fn g() -> int { 20 } }
-impl A : Baz { fn h() -> int { 30 } }
+impl Foo for A { fn f() -> int { 10 } }
+impl Bar for A { fn g() -> int { 20 } }
+impl Baz for A { fn h() -> int { 30 } }
 
 // Call a function on Foo, given a T: Baz,
 // which is inherited via Bar
diff --git a/src/test/run-pass/trait-inheritance-cast-without-call-to-supertrait.rs b/src/test/run-pass/trait-inheritance-cast-without-call-to-supertrait.rs
index 1ef250f215c..caa69382e13 100644
--- a/src/test/run-pass/trait-inheritance-cast-without-call-to-supertrait.rs
+++ b/src/test/run-pass/trait-inheritance-cast-without-call-to-supertrait.rs
@@ -23,11 +23,11 @@ struct A {
     x: int
 }
 
-impl A : Foo {
+impl Foo for A {
     fn f() -> int { 10 }
 }
 
-impl A : Bar {
+impl Bar for A {
     fn g() -> int { 20 }
 }
 
diff --git a/src/test/run-pass/trait-inheritance-cast.rs b/src/test/run-pass/trait-inheritance-cast.rs
index 2fbfaf483e9..1cfc091c249 100644
--- a/src/test/run-pass/trait-inheritance-cast.rs
+++ b/src/test/run-pass/trait-inheritance-cast.rs
@@ -24,11 +24,11 @@ struct A {
     x: int
 }
 
-impl A : Foo {
+impl Foo for A {
     fn f() -> int { 10 }
 }
 
-impl A : Bar {
+impl Bar for A {
     fn g() -> int { 20 }
 }
 
diff --git a/src/test/run-pass/trait-inheritance-cross-trait-call-xc.rs b/src/test/run-pass/trait-inheritance-cross-trait-call-xc.rs
index ce0a5fe5465..f537357d3ce 100644
--- a/src/test/run-pass/trait-inheritance-cross-trait-call-xc.rs
+++ b/src/test/run-pass/trait-inheritance-cross-trait-call-xc.rs
@@ -17,7 +17,7 @@ trait Bar : aux::Foo {
     fn g() -> int;
 }
 
-impl aux::A : Bar {
+impl Bar for aux::A {
     fn g() -> int { self.f() }
 }
 
diff --git a/src/test/run-pass/trait-inheritance-cross-trait-call.rs b/src/test/run-pass/trait-inheritance-cross-trait-call.rs
index 78e258bac48..5a1f109ac32 100644
--- a/src/test/run-pass/trait-inheritance-cross-trait-call.rs
+++ b/src/test/run-pass/trait-inheritance-cross-trait-call.rs
@@ -13,9 +13,9 @@ trait Bar : Foo { fn g() -> int; }
 
 struct A { x: int }
 
-impl A : Foo { fn f() -> int { 10 } }
+impl Foo for A { fn f() -> int { 10 } }
 
-impl A : Bar {
+impl Bar for A {
     // Testing that this impl can call the impl of Foo
     fn g() -> int { self.f() }
 }
diff --git a/src/test/run-pass/trait-inheritance-diamond.rs b/src/test/run-pass/trait-inheritance-diamond.rs
index 42042641357..1c914ebabc0 100644
--- a/src/test/run-pass/trait-inheritance-diamond.rs
+++ b/src/test/run-pass/trait-inheritance-diamond.rs
@@ -17,10 +17,10 @@ trait D: B C { fn d(&self) -> int; }
 
 struct S { bogus: () }
 
-impl S: A { fn a(&self) -> int { 10 } }
-impl S: B { fn b(&self) -> int { 20 } }
-impl S: C { fn c(&self) -> int { 30 } }
-impl S: D { fn d(&self) -> int { 40 } }
+impl A for S { fn a(&self) -> int { 10 } }
+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) {
     assert x.a() == 10;
@@ -32,4 +32,4 @@ fn f<T: D>(x: &T) {
 pub fn main() {
     let value = &S { bogus: () };
     f(value);
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/trait-inheritance-multiple-inheritors.rs b/src/test/run-pass/trait-inheritance-multiple-inheritors.rs
index a293051d360..afcf5c87832 100644
--- a/src/test/run-pass/trait-inheritance-multiple-inheritors.rs
+++ b/src/test/run-pass/trait-inheritance-multiple-inheritors.rs
@@ -14,9 +14,9 @@ trait C: A { fn c(&self) -> int; }
 
 struct S { bogus: () }
 
-impl S: A { fn a(&self) -> int { 10 } }
-impl S: B { fn b(&self) -> int { 20 } }
-impl S: C { fn c(&self) -> int { 30 } }
+impl A for S { fn a(&self) -> int { 10 } }
+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) {
@@ -27,4 +27,4 @@ fn f<T: B C>(x: &T) {
 
 pub fn main() {
     f(&S { bogus: () })
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/trait-inheritance-multiple-params.rs b/src/test/run-pass/trait-inheritance-multiple-params.rs
index 7008b098d8a..a91a40ce221 100644
--- a/src/test/run-pass/trait-inheritance-multiple-params.rs
+++ b/src/test/run-pass/trait-inheritance-multiple-params.rs
@@ -14,9 +14,9 @@ trait C: A { fn c(&self) -> int; }
 
 struct S { bogus: () }
 
-impl S: A { fn a(&self) -> int { 10 } }
-impl S: B { fn b(&self) -> int { 20 } }
-impl S: C { fn c(&self) -> int { 30 } }
+impl A for S { fn a(&self) -> int { 10 } }
+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) {
@@ -30,4 +30,4 @@ fn f<X: A, Y: B, Z: C>(x: &X, y: &Y, z: &Z) {
 pub fn main() {
     let s = &S { bogus: () };
     f(s, s, s);
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/trait-inheritance-overloading-simple.rs b/src/test/run-pass/trait-inheritance-overloading-simple.rs
index 70c8981fd3c..c41579e3603 100644
--- a/src/test/run-pass/trait-inheritance-overloading-simple.rs
+++ b/src/test/run-pass/trait-inheritance-overloading-simple.rs
@@ -14,7 +14,7 @@ trait MyNum : Eq { }
 
 struct MyInt { val: int }
 
-impl MyInt : Eq {
+impl Eq for MyInt {
     pure fn eq(&self, other: &MyInt) -> bool { self.val == other.val }
     pure fn ne(&self, other: &MyInt) -> bool { !self.eq(other) }
 }
diff --git a/src/test/run-pass/trait-inheritance-overloading.rs b/src/test/run-pass/trait-inheritance-overloading.rs
index 6794e8130e5..56cdb5d3118 100644
--- a/src/test/run-pass/trait-inheritance-overloading.rs
+++ b/src/test/run-pass/trait-inheritance-overloading.rs
@@ -14,19 +14,19 @@ trait MyNum : Add<Self,Self> Sub<Self,Self> Mul<Self,Self> Eq { }
 
 struct MyInt { val: int }
 
-impl MyInt : Add<MyInt, MyInt> {
+impl Add<MyInt, MyInt> for MyInt {
     pure fn add(&self, other: &MyInt) -> MyInt { mi(self.val + other.val) }
 }
 
-impl MyInt : Sub<MyInt, MyInt> {
+impl Sub<MyInt, MyInt> for MyInt {
     pure fn sub(&self, other: &MyInt) -> MyInt { mi(self.val - other.val) }
 }
 
-impl MyInt : Mul<MyInt, MyInt> {
+impl Mul<MyInt, MyInt> for MyInt {
     pure fn mul(&self, other: &MyInt) -> MyInt { mi(self.val * other.val) }
 }
 
-impl MyInt : Eq {
+impl Eq for MyInt {
     pure fn eq(&self, other: &MyInt) -> bool { self.val == other.val }
     pure fn ne(&self, other: &MyInt) -> bool { !self.eq(other) }
 }
diff --git a/src/test/run-pass/trait-inheritance-self.rs b/src/test/run-pass/trait-inheritance-self.rs
index 3f157f31283..02ed518ff65 100644
--- a/src/test/run-pass/trait-inheritance-self.rs
+++ b/src/test/run-pass/trait-inheritance-self.rs
@@ -10,13 +10,13 @@ struct S {
     x: int
 }
 
-impl S : Foo<S> {
+impl Foo<S> for S {
     fn f(&self, x: &S) {
         io::println(x.x.to_str());
     }
 }
 
-impl S : Bar {
+impl Bar for S {
     fn g(&self) {
         self.f(self);
     }
diff --git a/src/test/run-pass/trait-inheritance-simple.rs b/src/test/run-pass/trait-inheritance-simple.rs
index b119438240a..29e2cb2f173 100644
--- a/src/test/run-pass/trait-inheritance-simple.rs
+++ b/src/test/run-pass/trait-inheritance-simple.rs
@@ -13,8 +13,8 @@ trait Bar : Foo { fn g() -> int; }
 
 struct A { x: int }
 
-impl A : Foo { fn f() -> int { 10 } }
-impl A : Bar { fn g() -> int { 20 } }
+impl Foo for A { fn f() -> int { 10 } }
+impl Bar for A { fn g() -> int { 20 } }
 
 fn ff<T:Foo>(a: &T) -> int {
     a.f()
diff --git a/src/test/run-pass/trait-inheritance-static.rs b/src/test/run-pass/trait-inheritance-static.rs
index 4b40d759609..2659d30c2b9 100644
--- a/src/test/run-pass/trait-inheritance-static.rs
+++ b/src/test/run-pass/trait-inheritance-static.rs
@@ -16,7 +16,7 @@ pub trait NumExt: MyNum { }
 
 struct S { v: int }
 
-impl S: MyNum {
+impl MyNum for S {
     static fn from_int(i: int) -> S {
         S {
             v: i
@@ -24,7 +24,7 @@ impl S: MyNum {
     }
 }
 
-impl S: NumExt { }
+impl NumExt for S { }
 
 fn greater_than_one<T:NumExt>() -> T { MyNum::from_int(1) }
 
diff --git a/src/test/run-pass/trait-inheritance-static2.rs b/src/test/run-pass/trait-inheritance-static2.rs
index 8967bd91b8b..6f706ad0be7 100644
--- a/src/test/run-pass/trait-inheritance-static2.rs
+++ b/src/test/run-pass/trait-inheritance-static2.rs
@@ -18,9 +18,9 @@ pub trait NumExt: MyEq MyNum { }
 
 struct S { v: int }
 
-impl S: MyEq { }
+impl MyEq for S { }
 
-impl S: MyNum {
+impl MyNum for S {
     static fn from_int(i: int) -> S {
         S {
             v: i
@@ -28,7 +28,7 @@ impl S: MyNum {
     }
 }
 
-impl S: NumExt { }
+impl NumExt for S { }
 
 fn greater_than_one<T:NumExt>() -> T { MyNum::from_int(1) }
 
diff --git a/src/test/run-pass/trait-inheritance-subst.rs b/src/test/run-pass/trait-inheritance-subst.rs
index c8b270cad76..03b7e37a7ad 100644
--- a/src/test/run-pass/trait-inheritance-subst.rs
+++ b/src/test/run-pass/trait-inheritance-subst.rs
@@ -16,7 +16,7 @@ trait MyNum : Add<Self,Self> { }
 
 struct MyInt { val: int }
 
-impl MyInt : Add<MyInt, MyInt> {
+impl Add<MyInt, MyInt> for MyInt {
     pure fn add(other: &MyInt) -> MyInt { mi(self.val + other.val) }
 }
 
diff --git a/src/test/run-pass/trait-inheritance-subst2.rs b/src/test/run-pass/trait-inheritance-subst2.rs
index 5659fed9c9b..378c78cfd92 100644
--- a/src/test/run-pass/trait-inheritance-subst2.rs
+++ b/src/test/run-pass/trait-inheritance-subst2.rs
@@ -20,13 +20,13 @@ trait MyNum : Add<Self,Self> { }
 
 struct MyInt { val: int }
 
-impl MyInt : Panda<MyInt> {
+impl Panda<MyInt> for MyInt {
     fn chomp(bamboo: &MyInt) -> MyInt {
         mi(self.val + bamboo.val)
     }
 }
 
-impl MyInt : Add<MyInt, MyInt> {
+impl Add<MyInt, MyInt> for MyInt {
     fn add(other: &MyInt) -> MyInt { self.chomp(other) }
 }
 
diff --git a/src/test/run-pass/trait-inheritance-visibility.rs b/src/test/run-pass/trait-inheritance-visibility.rs
index 70b0302de8c..6015eff8abe 100644
--- a/src/test/run-pass/trait-inheritance-visibility.rs
+++ b/src/test/run-pass/trait-inheritance-visibility.rs
@@ -11,11 +11,11 @@
 mod traits {
     pub trait Foo { fn f() -> int; }
 
-    impl int: Foo { fn f() -> int { 10 } }
+    impl Foo for int { fn f() -> int { 10 } }
 }
 
 trait Quux: traits::Foo { }
-impl<T: traits::Foo> T: Quux { }
+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
@@ -25,4 +25,4 @@ fn f<T: Quux>(x: &T) {
 
 pub fn main() {
     f(&0)
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/trait-inheritance2.rs b/src/test/run-pass/trait-inheritance2.rs
index 951c03fd016..3dee07194dd 100644
--- a/src/test/run-pass/trait-inheritance2.rs
+++ b/src/test/run-pass/trait-inheritance2.rs
@@ -16,9 +16,9 @@ trait Quux: Foo Bar Baz { }
 
 struct A { x: int }
 
-impl A : Foo { fn f() -> int { 10 } }
-impl A : Bar { fn g() -> int { 20 } }
-impl A : Baz { fn h() -> int { 30 } }
+impl Foo for A { fn f() -> int { 10 } }
+impl Bar for A { fn g() -> int { 20 } }
+impl Baz for A { fn h() -> int { 30 } }
 impl A : Quux;
 
 fn f<T: Quux Foo Bar Baz>(a: &T) {
diff --git a/src/test/run-pass/trait-region-pointer-simple.rs b/src/test/run-pass/trait-region-pointer-simple.rs
index 1cd34e264e8..a00ca615685 100644
--- a/src/test/run-pass/trait-region-pointer-simple.rs
+++ b/src/test/run-pass/trait-region-pointer-simple.rs
@@ -16,7 +16,7 @@ struct A {
     x: int
 }
 
-impl A : Foo {
+impl Foo for A {
     fn f() -> int {
         io::println(~"Today's number is " + self.x.to_str());
         return self.x;
diff --git a/src/test/run-pass/trait-to-str.rs b/src/test/run-pass/trait-to-str.rs
index 8b6f61117e8..62f4ef89d69 100644
--- a/src/test/run-pass/trait-to-str.rs
+++ b/src/test/run-pass/trait-to-str.rs
@@ -20,11 +20,11 @@ trait to_str {
     fn to_str() -> ~str;
 }
 
-impl int: to_str {
+impl to_str for int {
     fn to_str() -> ~str { int::str(self) }
 }
 
-impl<T: to_str> ~[T]: to_str {
+impl<T: to_str> to_str for ~[T] {
     fn to_str() -> ~str {
         ~"[" + str::connect(vec::map(self, |e| e.to_str() ), ~", ") + ~"]"
     }
diff --git a/src/test/run-pass/trait-typedef-cc.rs b/src/test/run-pass/trait-typedef-cc.rs
index 9e75a6625a5..294b8a573f1 100644
--- a/src/test/run-pass/trait-typedef-cc.rs
+++ b/src/test/run-pass/trait-typedef-cc.rs
@@ -18,7 +18,7 @@ struct S {
     name: int
 }
 
-impl S: Foo {
+impl Foo for S {
     fn bar() { }
 }
 
@@ -27,4 +27,4 @@ pub fn main() {
         name: 0
     };
     s.bar();
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/traits-default-method-macro.rs b/src/test/run-pass/traits-default-method-macro.rs
index 66f4c431141..43d8121c0b4 100644
--- a/src/test/run-pass/traits-default-method-macro.rs
+++ b/src/test/run-pass/traits-default-method-macro.rs
@@ -20,7 +20,7 @@ enum Baz {
     Quux
 }
 
-impl Baz: Foo {
+impl Foo for Baz {
 }
 
 pub fn main() {
diff --git a/src/test/run-pass/traits-default-method-self.rs b/src/test/run-pass/traits-default-method-self.rs
index b0742255ba3..5a62d36f3e8 100644
--- a/src/test/run-pass/traits-default-method-self.rs
+++ b/src/test/run-pass/traits-default-method-self.rs
@@ -18,7 +18,7 @@ trait Cat {
     fn purr() -> bool { true }
 }
 
-impl int : Cat {
+impl Cat for int {
     fn meow() -> bool {
         self.scratch()
     }
diff --git a/src/test/run-pass/traits-default-method-trivial.rs b/src/test/run-pass/traits-default-method-trivial.rs
index e9850588e9e..639741a55f3 100644
--- a/src/test/run-pass/traits-default-method-trivial.rs
+++ b/src/test/run-pass/traits-default-method-trivial.rs
@@ -16,7 +16,7 @@ trait Cat {
     fn purr() -> bool { true }
 }
 
-impl int : Cat {
+impl Cat for int {
     fn meow() -> bool {
         self.scratch()
     }
diff --git a/src/test/run-pass/traits.rs b/src/test/run-pass/traits.rs
index 182e47aa817..c4ec15ff273 100644
--- a/src/test/run-pass/traits.rs
+++ b/src/test/run-pass/traits.rs
@@ -43,7 +43,7 @@ trait Ord < Eq {
 }
 
 // pronounced "impl of Ord for int" -- not sold on this yet
-impl int : Ord {
+impl Ord for int {
     fn lt(a: &int) -> bool {
         self < (*a)
     }
diff --git a/src/test/run-pass/type-param-constraints.rs b/src/test/run-pass/type-param-constraints.rs
index d5749155456..95920bcc967 100644
--- a/src/test/run-pass/type-param-constraints.rs
+++ b/src/test/run-pass/type-param-constraints.rs
@@ -19,7 +19,7 @@ struct r {
   i: int,
 }
 
-impl r : Drop {
+impl Drop for r {
     fn finalize(&self) {}
 }
 
diff --git a/src/test/run-pass/typeclasses-eq-example-static.rs b/src/test/run-pass/typeclasses-eq-example-static.rs
index 13afc62baeb..07f1306e406 100644
--- a/src/test/run-pass/typeclasses-eq-example-static.rs
+++ b/src/test/run-pass/typeclasses-eq-example-static.rs
@@ -17,7 +17,7 @@ trait Equal {
 
 enum Color { cyan, magenta, yellow, black }
 
-impl Color : Equal {
+impl Equal for Color {
     static fn isEq(a: Color, b: Color) -> bool {
         match (a, b) {
           (cyan, cyan)       => { true  }
@@ -34,7 +34,7 @@ enum ColorTree {
     branch(@ColorTree, @ColorTree)
 }
 
-impl ColorTree : Equal {
+impl Equal for ColorTree {
     static fn isEq(a: ColorTree, b: ColorTree) -> bool {
         match (a, b) {
           (leaf(x), leaf(y)) => { Equal::isEq(x, y) }
diff --git a/src/test/run-pass/typeclasses-eq-example.rs b/src/test/run-pass/typeclasses-eq-example.rs
index cf2c2e27fa5..a586457519b 100644
--- a/src/test/run-pass/typeclasses-eq-example.rs
+++ b/src/test/run-pass/typeclasses-eq-example.rs
@@ -16,7 +16,7 @@ trait Equal {
 
 enum Color { cyan, magenta, yellow, black }
 
-impl Color : Equal {
+impl Equal for Color {
     fn isEq(a: Color) -> bool {
         match (self, a) {
           (cyan, cyan)       => { true  }
@@ -33,7 +33,7 @@ enum ColorTree {
     branch(@ColorTree, @ColorTree)
 }
 
-impl ColorTree : Equal {
+impl Equal for ColorTree {
     fn isEq(a: ColorTree) -> bool {
         match (self, a) {
           (leaf(x), leaf(y)) => { x.isEq(y) }
diff --git a/src/test/run-pass/unique-alt-discrim.rs b/src/test/run-pass/unique-alt-discrim.rs
index 60c5bf068f0..1f0b13dfd01 100644
--- a/src/test/run-pass/unique-alt-discrim.rs
+++ b/src/test/run-pass/unique-alt-discrim.rs
@@ -15,4 +15,4 @@ fn altsimple() {
       _ => { }
     }
 }
-pub fn main() { }
\ No newline at end of file
+pub fn main() { }
diff --git a/src/test/run-pass/unique-assign-drop.rs b/src/test/run-pass/unique-assign-drop.rs
index 07c1d522157..9a49fefdef0 100644
--- a/src/test/run-pass/unique-assign-drop.rs
+++ b/src/test/run-pass/unique-assign-drop.rs
@@ -14,4 +14,4 @@ pub fn main() {
     // Should drop the previous value of j
     j = i;
     assert *j == 1;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unique-assign.rs b/src/test/run-pass/unique-assign.rs
index 9089ac9a327..c1a2c33cc45 100644
--- a/src/test/run-pass/unique-assign.rs
+++ b/src/test/run-pass/unique-assign.rs
@@ -12,4 +12,4 @@ pub fn main() {
     let mut i;
     i = ~1;
     assert *i == 1;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unique-autoderef-field.rs b/src/test/run-pass/unique-autoderef-field.rs
index eac67c65b8f..4bbdc9b4cd4 100644
--- a/src/test/run-pass/unique-autoderef-field.rs
+++ b/src/test/run-pass/unique-autoderef-field.rs
@@ -15,4 +15,4 @@ pub fn main() {
         j: 100
     };
     assert i.j == 100;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unique-cmp.rs b/src/test/run-pass/unique-cmp.rs
index 5a565d4b81c..9d6ed4933bc 100644
--- a/src/test/run-pass/unique-cmp.rs
+++ b/src/test/run-pass/unique-cmp.rs
@@ -15,4 +15,4 @@ pub fn main() {
     assert i <= ~100;
     assert i > ~99;
     assert i >= ~99;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unique-create.rs b/src/test/run-pass/unique-create.rs
index 989ee58a793..9570c17c865 100644
--- a/src/test/run-pass/unique-create.rs
+++ b/src/test/run-pass/unique-create.rs
@@ -14,4 +14,4 @@ pub fn main() {
 
 fn vec() {
     ~[0];
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unique-decl-init.rs b/src/test/run-pass/unique-decl-init.rs
index 8c6420a4df7..a856d37d4fc 100644
--- a/src/test/run-pass/unique-decl-init.rs
+++ b/src/test/run-pass/unique-decl-init.rs
@@ -12,4 +12,4 @@ pub fn main() {
     let i = ~1;
     let j = i;
     assert *j == 1;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unique-decl-move-temp.rs b/src/test/run-pass/unique-decl-move-temp.rs
index 56cbc044c01..fd4f428bd9d 100644
--- a/src/test/run-pass/unique-decl-move-temp.rs
+++ b/src/test/run-pass/unique-decl-move-temp.rs
@@ -11,4 +11,4 @@
 pub fn main() {
     let i = move ~100;
     assert *i == 100;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unique-decl-move.rs b/src/test/run-pass/unique-decl-move.rs
index d41e6f99ec5..27600c04e22 100644
--- a/src/test/run-pass/unique-decl-move.rs
+++ b/src/test/run-pass/unique-decl-move.rs
@@ -12,4 +12,4 @@ pub fn main() {
     let i = ~100;
     let j = move i;
     assert *j == 100;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unique-deref.rs b/src/test/run-pass/unique-deref.rs
index 625a8f8982e..96e91093d37 100644
--- a/src/test/run-pass/unique-deref.rs
+++ b/src/test/run-pass/unique-deref.rs
@@ -11,4 +11,4 @@
 pub fn main() {
     let i = ~100;
     assert *i == 100;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unique-destructure.rs b/src/test/run-pass/unique-destructure.rs
index 4c4f46607d2..513e3c01757 100644
--- a/src/test/run-pass/unique-destructure.rs
+++ b/src/test/run-pass/unique-destructure.rs
@@ -13,4 +13,4 @@ struct Foo { a: int, b: int }
 pub fn main() {
     let ~Foo{a, b} = ~Foo{a: 100, b: 200};
     assert a + b == 300;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unique-fn-arg-move.rs b/src/test/run-pass/unique-fn-arg-move.rs
index 2246fa2270a..61cee457b0c 100644
--- a/src/test/run-pass/unique-fn-arg-move.rs
+++ b/src/test/run-pass/unique-fn-arg-move.rs
@@ -15,4 +15,4 @@ fn f(-i: ~int) {
 pub fn main() {
     let i = ~100;
     f(move i);
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unique-fn-arg-mut.rs b/src/test/run-pass/unique-fn-arg-mut.rs
index 82462c0c11c..ddf87707e36 100644
--- a/src/test/run-pass/unique-fn-arg-mut.rs
+++ b/src/test/run-pass/unique-fn-arg-mut.rs
@@ -16,4 +16,4 @@ pub fn main() {
     let mut i = ~100;
     f(&mut i);
     assert *i == 200;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unique-fn-arg.rs b/src/test/run-pass/unique-fn-arg.rs
index 2dbd924a6ad..c35b40991df 100644
--- a/src/test/run-pass/unique-fn-arg.rs
+++ b/src/test/run-pass/unique-fn-arg.rs
@@ -16,4 +16,4 @@ pub fn main() {
     f(~100);
     let i = ~100;
     f(i);
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unique-fn-ret.rs b/src/test/run-pass/unique-fn-ret.rs
index b5127571a21..427bd8966b8 100644
--- a/src/test/run-pass/unique-fn-ret.rs
+++ b/src/test/run-pass/unique-fn-ret.rs
@@ -14,4 +14,4 @@ fn f() -> ~int {
 
 pub fn main() {
     assert f() == ~100;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unique-init.rs b/src/test/run-pass/unique-init.rs
index 0d58e2fcd2e..55145255840 100644
--- a/src/test/run-pass/unique-init.rs
+++ b/src/test/run-pass/unique-init.rs
@@ -10,4 +10,4 @@
 
 pub fn main() {
     let i = ~100;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unique-log.rs b/src/test/run-pass/unique-log.rs
index 27a4cbf8d4b..b619140d509 100644
--- a/src/test/run-pass/unique-log.rs
+++ b/src/test/run-pass/unique-log.rs
@@ -11,4 +11,4 @@
 pub fn main() {
     let i = ~100;
     log(error, i);
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unique-move-drop.rs b/src/test/run-pass/unique-move-drop.rs
index 6aac2ac3963..fd86d5aa6fe 100644
--- a/src/test/run-pass/unique-move-drop.rs
+++ b/src/test/run-pass/unique-move-drop.rs
@@ -13,4 +13,4 @@ pub fn main() {
     let j = ~200;
     let j = move i;
     assert *j == 100;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unique-move-temp.rs b/src/test/run-pass/unique-move-temp.rs
index df6ed48fa60..eaa8a1cf7bd 100644
--- a/src/test/run-pass/unique-move-temp.rs
+++ b/src/test/run-pass/unique-move-temp.rs
@@ -12,4 +12,4 @@ pub fn main() {
     let mut i;
     i = move ~100;
     assert *i == 100;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unique-move.rs b/src/test/run-pass/unique-move.rs
index 771e8652876..be0426edbe2 100644
--- a/src/test/run-pass/unique-move.rs
+++ b/src/test/run-pass/unique-move.rs
@@ -13,4 +13,4 @@ pub fn main() {
     let mut j;
     j = move i;
     assert *j == 100;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unique-mutable.rs b/src/test/run-pass/unique-mutable.rs
index 95ef19600e6..c52d3b563ac 100644
--- a/src/test/run-pass/unique-mutable.rs
+++ b/src/test/run-pass/unique-mutable.rs
@@ -12,4 +12,4 @@ pub fn main() {
     let i = ~mut 0;
     *i = 1;
     assert *i == 1;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unique-object.rs b/src/test/run-pass/unique-object.rs
index 4ad8ab38e4b..031b17ceb8f 100644
--- a/src/test/run-pass/unique-object.rs
+++ b/src/test/run-pass/unique-object.rs
@@ -16,7 +16,7 @@ struct Bar {
     x: int
 }
 
-impl Bar : Foo {
+impl Foo for Bar {
     fn f(&self) -> int {
         self.x
     }
diff --git a/src/test/run-pass/unique-pinned-nocopy-2.rs b/src/test/run-pass/unique-pinned-nocopy-2.rs
index 089deeb20ac..7da21b1081e 100644
--- a/src/test/run-pass/unique-pinned-nocopy-2.rs
+++ b/src/test/run-pass/unique-pinned-nocopy-2.rs
@@ -12,7 +12,7 @@ struct r {
   i: @mut int,
 }
 
-impl r : Drop {
+impl Drop for r {
     fn finalize(&self) {
         *(self.i) = *(self.i) + 1;
     }
diff --git a/src/test/run-pass/unique-send-2.rs b/src/test/run-pass/unique-send-2.rs
index a79c7bd6d5b..a5398e7407b 100644
--- a/src/test/run-pass/unique-send-2.rs
+++ b/src/test/run-pass/unique-send-2.rs
@@ -32,4 +32,4 @@ pub fn main() {
     }
 
     assert expected == actual;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unique-send.rs b/src/test/run-pass/unique-send.rs
index b6c5b2948a0..57b345c2d25 100644
--- a/src/test/run-pass/unique-send.rs
+++ b/src/test/run-pass/unique-send.rs
@@ -15,4 +15,4 @@ pub fn main() {
     c.send(~100);
     let v = p.recv();
     assert v == ~100;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unique-swap.rs b/src/test/run-pass/unique-swap.rs
index d0e8c463f00..a024cda75c3 100644
--- a/src/test/run-pass/unique-swap.rs
+++ b/src/test/run-pass/unique-swap.rs
@@ -14,4 +14,4 @@ pub fn main() {
     i <-> j;
     assert i == ~200;
     assert j == ~100;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unused-move.rs b/src/test/run-pass/unused-move.rs
index 95b224fa2b7..785eb691459 100644
--- a/src/test/run-pass/unused-move.rs
+++ b/src/test/run-pass/unused-move.rs
@@ -16,4 +16,4 @@ pub fn main()
 {
     let y = ~1;
     move y;
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/unwind-resource.rs b/src/test/run-pass/unwind-resource.rs
index fbe0e4711e1..62673fc134d 100644
--- a/src/test/run-pass/unwind-resource.rs
+++ b/src/test/run-pass/unwind-resource.rs
@@ -17,7 +17,7 @@ struct complainer {
   c: SharedChan<bool>,
 }
 
-impl complainer : Drop {
+impl Drop for complainer {
     fn finalize(&self) {
         error!("About to send!");
         self.c.send(true);
diff --git a/src/test/run-pass/unwind-resource2.rs b/src/test/run-pass/unwind-resource2.rs
index 55b286aee7e..967ed727aa5 100644
--- a/src/test/run-pass/unwind-resource2.rs
+++ b/src/test/run-pass/unwind-resource2.rs
@@ -15,7 +15,7 @@ struct complainer {
   c: @int,
 }
 
-impl complainer : Drop {
+impl Drop for complainer {
     fn finalize(&self) {}
 }
 
diff --git a/src/test/run-pass/use-trait-before-def.rs b/src/test/run-pass/use-trait-before-def.rs
index 30646c4a356..1bd68bfa4b6 100644
--- a/src/test/run-pass/use-trait-before-def.rs
+++ b/src/test/run-pass/use-trait-before-def.rs
@@ -10,6 +10,6 @@
 
 // Issue #1761
 
-impl int: foo { fn foo() -> int { 10 } }
+impl foo for int { fn foo() -> int { 10 } }
 trait foo { fn foo() -> int; }
-pub fn main() {}
\ No newline at end of file
+pub fn main() {}
diff --git a/src/test/run-pass/vec-slice-drop.rs b/src/test/run-pass/vec-slice-drop.rs
index a73b12bef94..3fcd69ce40a 100644
--- a/src/test/run-pass/vec-slice-drop.rs
+++ b/src/test/run-pass/vec-slice-drop.rs
@@ -13,7 +13,7 @@ struct foo {
     x: @mut int,
 }
 
-impl foo : Drop {
+impl Drop for foo {
     fn finalize(&self) {
         *self.x += 1;
     }