about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/test/auxiliary/cci_capture_clause.rs1
-rw-r--r--src/test/auxiliary/cci_class_5.rs3
-rw-r--r--src/test/auxiliary/cci_class_cast.rs2
-rw-r--r--src/test/auxiliary/crate-method-reexport-grrrrrrr2.rs2
-rw-r--r--src/test/auxiliary/crateresolve5-1.rs2
-rw-r--r--src/test/auxiliary/crateresolve5-2.rs2
-rw-r--r--src/test/auxiliary/issue-2526.rs4
-rw-r--r--src/test/auxiliary/issue2378a.rs2
-rw-r--r--src/test/auxiliary/issue_2316_b.rs2
-rw-r--r--src/test/auxiliary/moves_based_on_type_lib.rs2
-rw-r--r--src/test/auxiliary/trait_default_method_xc_aux.rs2
-rw-r--r--src/test/bench/core-std.rs3
-rw-r--r--src/test/bench/msgsend-ring-mutex-arcs.rs1
-rw-r--r--src/test/bench/msgsend-ring-rw-arcs.rs1
-rw-r--r--src/test/bench/noise.rs1
-rw-r--r--src/test/bench/rt-messaging-ping-pong.rs1
-rw-r--r--src/test/bench/rt-parfib.rs1
-rw-r--r--src/test/bench/shootout-ackermann.rs1
-rw-r--r--src/test/bench/shootout-fasta.rs2
-rw-r--r--src/test/bench/shootout-fibo.rs1
-rw-r--r--src/test/bench/shootout-k-nucleotide-pipes.rs1
-rw-r--r--src/test/bench/sudoku.rs1
-rw-r--r--src/test/codegen/scalar-function-call.rs2
-rw-r--r--src/test/debug-info/basic-types.rs2
-rw-r--r--src/test/debug-info/borrowed-basic.rs4
-rw-r--r--src/test/debug-info/borrowed-c-style-enum.rs4
-rw-r--r--src/test/debug-info/borrowed-enum.rs4
-rw-r--r--src/test/debug-info/borrowed-managed-basic.rs3
-rw-r--r--src/test/debug-info/borrowed-struct.rs4
-rw-r--r--src/test/debug-info/borrowed-tuple.rs4
-rw-r--r--src/test/debug-info/borrowed-unique-basic.rs4
-rw-r--r--src/test/debug-info/box.rs2
-rw-r--r--src/test/debug-info/boxed-struct.rs4
-rw-r--r--src/test/debug-info/boxed-vec.rs4
-rw-r--r--src/test/debug-info/c-style-enum-in-composite.rs4
-rw-r--r--src/test/debug-info/c-style-enum.rs4
-rw-r--r--src/test/debug-info/destructured-fn-argument.rs3
-rw-r--r--src/test/debug-info/destructured-local.rs3
-rw-r--r--src/test/debug-info/evec-in-struct.rs4
-rw-r--r--src/test/debug-info/managed-enum.rs4
-rw-r--r--src/test/debug-info/managed-pointer-within-unique-vec.rs4
-rw-r--r--src/test/debug-info/managed-pointer-within-unique.rs4
-rw-r--r--src/test/debug-info/multiple-functions-equal-var-names.rs2
-rw-r--r--src/test/debug-info/multiple-functions.rs2
-rw-r--r--src/test/debug-info/nil-enum.rs4
-rw-r--r--src/test/debug-info/packed-struct-with-destructor.rs4
-rw-r--r--src/test/debug-info/packed-struct.rs4
-rw-r--r--src/test/debug-info/simple-struct.rs3
-rw-r--r--src/test/debug-info/simple-tuple.rs3
-rw-r--r--src/test/debug-info/struct-in-enum.rs2
-rw-r--r--src/test/debug-info/struct-in-struct.rs3
-rw-r--r--src/test/debug-info/struct-style-enum.rs4
-rw-r--r--src/test/debug-info/struct-with-destructor.rs2
-rw-r--r--src/test/debug-info/tuple-in-struct.rs4
-rw-r--r--src/test/debug-info/tuple-in-tuple.rs4
-rw-r--r--src/test/debug-info/tuple-style-enum.rs4
-rw-r--r--src/test/debug-info/unique-enum.rs4
-rw-r--r--src/test/debug-info/vec-slices.rs2
-rw-r--r--src/test/debug-info/vec.rs2
-rw-r--r--src/test/pretty/block-arg-disambig.rs2
-rw-r--r--src/test/pretty/disamb-stmt-expr.rs2
-rw-r--r--src/test/pretty/fn-types.rs8
-rw-r--r--src/test/pretty/for-comment.rs4
-rw-r--r--src/test/pretty/match-naked-expr-long.rs6
-rw-r--r--src/test/pretty/match-naked-expr.rs2
-rw-r--r--src/test/pretty/struct-tuple.rs4
-rw-r--r--src/test/pretty/vec-comments.pp8
-rw-r--r--src/test/pretty/vec-comments.rs8
-rw-r--r--src/test/pretty/vec-type.pp2
-rw-r--r--src/test/pretty/vec-type.rs2
-rw-r--r--src/test/run-fail/args-fail.rs2
-rw-r--r--src/test/run-fail/borrowck-wg-autoderef-and-autoborrowvec-combined-fail-issue-6272.rs2
-rw-r--r--src/test/run-fail/borrowck-wg-fail-2.rs2
-rw-r--r--src/test/run-fail/borrowck-wg-fail-3.rs2
-rw-r--r--src/test/run-fail/borrowck-wg-fail-object-arg.rs2
-rw-r--r--src/test/run-fail/borrowck-wg-imm-then-mut.rs2
-rw-r--r--src/test/run-fail/borrowck-wg-mut-then-imm.rs2
-rw-r--r--src/test/run-fail/bug-811.rs2
-rw-r--r--src/test/run-fail/die-macro-expr.rs2
-rw-r--r--src/test/run-fail/divide-by-zero.rs2
-rw-r--r--src/test/run-fail/doublefail.rs2
-rw-r--r--src/test/run-fail/explicit-fail-msg.rs7
-rw-r--r--src/test/run-fail/expr-if-fail.rs2
-rw-r--r--src/test/run-fail/expr-match-fail.rs2
-rw-r--r--src/test/run-fail/issue-2156.rs2
-rw-r--r--src/test/run-fail/issue-2444.rs2
-rw-r--r--src/test/run-fail/issue-3029.rs4
-rw-r--r--src/test/run-fail/issue-948.rs2
-rw-r--r--src/test/run-fail/match-bot-fail.rs3
-rw-r--r--src/test/run-fail/mod-zero.rs2
-rw-r--r--src/test/run-fail/rhs-type.rs8
-rw-r--r--src/test/run-fail/rt-set-exit-status-fail2.rs2
-rw-r--r--src/test/run-fail/task-spawn-barefn.rs1
-rw-r--r--src/test/run-fail/unwind-assert.rs2
-rw-r--r--src/test/run-fail/unwind-closure.rs2
-rw-r--r--src/test/run-fail/unwind-initializer-indirect.rs2
-rw-r--r--src/test/run-fail/unwind-initializer.rs2
-rw-r--r--src/test/run-fail/unwind-interleaved.rs4
-rw-r--r--src/test/run-fail/unwind-iter.rs3
-rw-r--r--src/test/run-fail/unwind-iter2.rs2
-rw-r--r--src/test/run-fail/unwind-lambda.rs2
-rw-r--r--src/test/run-fail/unwind-misc-1.rs4
-rw-r--r--src/test/run-fail/unwind-nested.rs4
-rw-r--r--src/test/run-fail/unwind-partial-box.rs2
-rw-r--r--src/test/run-fail/unwind-partial-unique.rs2
-rw-r--r--src/test/run-fail/unwind-partial-vec.rs2
-rw-r--r--src/test/run-fail/unwind-rec.rs2
-rw-r--r--src/test/run-fail/unwind-rec2.rs2
-rw-r--r--src/test/run-fail/unwind-resource-fail.rs2
-rw-r--r--src/test/run-fail/unwind-stacked.rs6
-rw-r--r--src/test/run-fail/unwind-tup.rs2
-rw-r--r--src/test/run-fail/unwind-tup2.rs2
-rw-r--r--src/test/run-fail/unwind-uninitialized.rs2
-rw-r--r--src/test/run-fail/while-body-fails.rs4
-rw-r--r--src/test/run-fail/while-fail.rs2
-rw-r--r--src/test/run-pass/argument-passing.rs4
-rw-r--r--src/test/run-pass/arith-unsigned.rs3
-rw-r--r--src/test/run-pass/assign-assign.rs10
-rw-r--r--src/test/run-pass/attr-start.rs2
-rw-r--r--src/test/run-pass/bind-by-move.rs2
-rw-r--r--src/test/run-pass/binops.rs4
-rw-r--r--src/test/run-pass/block-arg-in-parentheses.rs2
-rw-r--r--src/test/run-pass/block-arg.rs2
-rw-r--r--src/test/run-pass/borrowck-mut-uniq.rs1
-rw-r--r--src/test/run-pass/borrowck-pat-reassign-no-binding.rs1
-rw-r--r--src/test/run-pass/borrowck-preserve-box-in-arm-not-taken.rs4
-rw-r--r--src/test/run-pass/borrowck-preserve-box-in-pat.rs2
-rw-r--r--src/test/run-pass/borrowck-preserve-box-sometimes-needed.rs5
-rw-r--r--src/test/run-pass/borrowck-preserve-cond-box.rs6
-rw-r--r--src/test/run-pass/box-in-tup.rs5
-rw-r--r--src/test/run-pass/box-inside-if.rs6
-rw-r--r--src/test/run-pass/box-inside-if2.rs6
-rw-r--r--src/test/run-pass/break.rs2
-rw-r--r--src/test/run-pass/c-stack-as-value.rs6
-rw-r--r--src/test/run-pass/c-stack-returning-int64.rs19
-rw-r--r--src/test/run-pass/capture_nil.rs1
-rw-r--r--src/test/run-pass/cci_iter_exe.rs2
-rw-r--r--src/test/run-pass/child-outlives-parent.rs4
-rw-r--r--src/test/run-pass/class-cast-to-trait-multiple-types.rs4
-rw-r--r--src/test/run-pass/class-impl-very-parameterized-trait.rs2
-rw-r--r--src/test/run-pass/class-implement-trait-cross-crate.rs2
-rw-r--r--src/test/run-pass/class-implement-traits.rs2
-rw-r--r--src/test/run-pass/class-methods-cross-crate.rs2
-rw-r--r--src/test/run-pass/class-methods.rs2
-rw-r--r--src/test/run-pass/class-separate-impl.rs7
-rw-r--r--src/test/run-pass/class-str-field.rs2
-rw-r--r--src/test/run-pass/class-typarams.rs2
-rw-r--r--src/test/run-pass/classes-cross-crate.rs2
-rw-r--r--src/test/run-pass/classes-simple-method.rs2
-rw-r--r--src/test/run-pass/classes-simple.rs4
-rw-r--r--src/test/run-pass/cleanup-copy-mode.rs1
-rw-r--r--src/test/run-pass/coerce-reborrow-imm-ptr-rcvr.rs2
-rw-r--r--src/test/run-pass/comm.rs3
-rw-r--r--src/test/run-pass/complex.rs4
-rw-r--r--src/test/run-pass/conditional-compile.rs4
-rw-r--r--src/test/run-pass/const-fields-and-indexing.rs2
-rw-r--r--src/test/run-pass/const-region-ptrs.rs2
-rw-r--r--src/test/run-pass/const-struct.rs1
-rw-r--r--src/test/run-pass/const-vecs-and-slices.rs2
-rw-r--r--src/test/run-pass/core-run-destroy.rs1
-rw-r--r--src/test/run-pass/deep-vector2.rs2
-rw-r--r--src/test/run-pass/deref.rs5
-rw-r--r--src/test/run-pass/deriving-meta-multiple.rs2
-rw-r--r--src/test/run-pass/deriving-meta.rs2
-rw-r--r--src/test/run-pass/die-macro.rs4
-rw-r--r--src/test/run-pass/do-empty-args.rs2
-rw-r--r--src/test/run-pass/do-no-args.rs4
-rw-r--r--src/test/run-pass/do-pure.rs2
-rw-r--r--src/test/run-pass/double-unbox.rs2
-rw-r--r--src/test/run-pass/drop-on-empty-block-exit.rs5
-rw-r--r--src/test/run-pass/drop-on-ret.rs8
-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/empty-mutable-vec.rs4
-rw-r--r--src/test/run-pass/enum-alignment.rs2
-rw-r--r--src/test/run-pass/enum-disr-val-pretty.rs2
-rw-r--r--src/test/run-pass/enum-export-inheritance.rs2
-rw-r--r--src/test/run-pass/enum-variants.rs5
-rw-r--r--src/test/run-pass/enum-vec-initializer.rs10
-rw-r--r--src/test/run-pass/estr-slice.rs2
-rw-r--r--src/test/run-pass/estr-uniq.rs2
-rw-r--r--src/test/run-pass/evec-internal-boxes.rs2
-rw-r--r--src/test/run-pass/evec-slice.rs2
-rw-r--r--src/test/run-pass/exec-env.rs2
-rw-r--r--src/test/run-pass/export-abstract-tag.rs2
-rw-r--r--src/test/run-pass/export-glob-imports-target.rs2
-rw-r--r--src/test/run-pass/export-tag-variant.rs2
-rw-r--r--src/test/run-pass/expr-block-fn.rs2
-rw-r--r--src/test/run-pass/expr-block-ref.rs2
-rw-r--r--src/test/run-pass/expr-elseif-ref.rs2
-rw-r--r--src/test/run-pass/expr-elseif-ref2.rs10
-rw-r--r--src/test/run-pass/expr-empty-ret.rs7
-rw-r--r--src/test/run-pass/expr-if-fail-all.rs8
-rw-r--r--src/test/run-pass/expr-match-fail-all.rs2
-rw-r--r--src/test/run-pass/expr-match.rs2
-rw-r--r--src/test/run-pass/extern-mod-syntax.rs2
-rw-r--r--src/test/run-pass/fn-coerce-field.rs2
-rw-r--r--src/test/run-pass/fn-lval.rs2
-rw-r--r--src/test/run-pass/fn-type-infer.rs4
-rw-r--r--src/test/run-pass/foreign-call-no-runtime.rs6
-rw-r--r--src/test/run-pass/foreign-fn-linkname.rs16
-rw-r--r--src/test/run-pass/foreign-mod-unused-const.rs4
-rw-r--r--src/test/run-pass/foreign2.rs5
-rw-r--r--src/test/run-pass/generic-drop-glue.rs2
-rw-r--r--src/test/run-pass/generic-fn.rs3
-rw-r--r--src/test/run-pass/generic-ivec-leak.rs2
-rw-r--r--src/test/run-pass/generic-ivec.rs2
-rw-r--r--src/test/run-pass/generic-recursive-tag.rs2
-rw-r--r--src/test/run-pass/generic-tag-corruption.rs2
-rw-r--r--src/test/run-pass/generic-tag-local.rs2
-rw-r--r--src/test/run-pass/generic-tag-match.rs4
-rw-r--r--src/test/run-pass/generic-tag.rs8
-rw-r--r--src/test/run-pass/generic-type-synonym.rs2
-rw-r--r--src/test/run-pass/getopts_ref.rs2
-rw-r--r--src/test/run-pass/guards.rs2
-rw-r--r--src/test/run-pass/html-literals.rs2
-rw-r--r--src/test/run-pass/import-glob-crate.rs3
-rw-r--r--src/test/run-pass/import3.rs1
-rw-r--r--src/test/run-pass/import4.rs2
-rw-r--r--src/test/run-pass/import6.rs3
-rw-r--r--src/test/run-pass/import7.rs3
-rw-r--r--src/test/run-pass/init-res-into-things.rs16
-rw-r--r--src/test/run-pass/instantiable.rs2
-rw-r--r--src/test/run-pass/int.rs2
-rw-r--r--src/test/run-pass/intrinsic-atomics-cc.rs8
-rw-r--r--src/test/run-pass/intrinsic-move-val.rs2
-rw-r--r--src/test/run-pass/intrinsics-math.rs2
-rw-r--r--src/test/run-pass/invoke-external-foreign.rs2
-rw-r--r--src/test/run-pass/issue-1696.rs1
-rw-r--r--src/test/run-pass/issue-2214.rs1
-rw-r--r--src/test/run-pass/issue-2288.rs2
-rw-r--r--src/test/run-pass/issue-2311-2.rs2
-rw-r--r--src/test/run-pass/issue-2312.rs2
-rw-r--r--src/test/run-pass/issue-2428.rs2
-rw-r--r--src/test/run-pass/issue-2445-b.rs4
-rw-r--r--src/test/run-pass/issue-2445.rs4
-rw-r--r--src/test/run-pass/issue-2463.rs4
-rw-r--r--src/test/run-pass/issue-2526-a.rs2
-rw-r--r--src/test/run-pass/issue-2633.rs2
-rw-r--r--src/test/run-pass/issue-2718.rs19
-rw-r--r--src/test/run-pass/issue-2804.rs2
-rw-r--r--src/test/run-pass/issue-2904.rs1
-rw-r--r--src/test/run-pass/issue-2989.rs1
-rw-r--r--src/test/run-pass/issue-3012-2.rs2
-rw-r--r--src/test/run-pass/issue-3429.rs2
-rw-r--r--src/test/run-pass/issue-3563-3.rs3
-rw-r--r--src/test/run-pass/issue-3574.rs3
-rw-r--r--src/test/run-pass/issue-3743.rs2
-rw-r--r--src/test/run-pass/issue-3860.rs2
-rw-r--r--src/test/run-pass/issue-3878.rs5
-rw-r--r--src/test/run-pass/issue-4107.rs2
-rw-r--r--src/test/run-pass/issue-4387.rs2
-rw-r--r--src/test/run-pass/issue-4542.rs2
-rw-r--r--src/test/run-pass/issue-4735.rs4
-rw-r--r--src/test/run-pass/issue-5192.rs2
-rw-r--r--src/test/run-pass/issue-5550.rs2
-rw-r--r--src/test/run-pass/issue-5572.rs2
-rw-r--r--src/test/run-pass/issue-5741.rs2
-rw-r--r--src/test/run-pass/issue-5884.rs2
-rw-r--r--src/test/run-pass/issue-5926.rs2
-rw-r--r--src/test/run-pass/issue-6318.rs2
-rw-r--r--src/test/run-pass/issue-6557.rs2
-rw-r--r--src/test/run-pass/issue-979.rs6
-rw-r--r--src/test/run-pass/istr.rs16
-rw-r--r--src/test/run-pass/item-attributes.rs2
-rw-r--r--src/test/run-pass/ivec-pass-by-value.rs2
-rw-r--r--src/test/run-pass/ivec-tag.rs5
-rw-r--r--src/test/run-pass/lambda-infer-unresolved.rs2
-rw-r--r--src/test/run-pass/large-records.rs2
-rw-r--r--src/test/run-pass/leak-box-as-tydesc.rs2
-rw-r--r--src/test/run-pass/leak-tag-copy.rs3
-rw-r--r--src/test/run-pass/leak-unique-as-tydesc.rs2
-rw-r--r--src/test/run-pass/let-destruct-fresh-mem.rs2
-rw-r--r--src/test/run-pass/liveness-assign-imm-local-after-loop.rs6
-rw-r--r--src/test/run-pass/liveness-assign-imm-local-after-ret.rs2
-rw-r--r--src/test/run-pass/log-err-phi.rs2
-rw-r--r--src/test/run-pass/log-knows-the-names-of-variants-in-std.rs2
-rw-r--r--src/test/run-pass/log-linearized.rs4
-rw-r--r--src/test/run-pass/long-while.rs10
-rw-r--r--src/test/run-pass/loop-break-cont-1.rs2
-rw-r--r--src/test/run-pass/match-borrowed_str.rs2
-rw-r--r--src/test/run-pass/match-implicit-copy-unique.rs2
-rw-r--r--src/test/run-pass/match-naked-record-expr.rs2
-rw-r--r--src/test/run-pass/match-naked-record.rs2
-rw-r--r--src/test/run-pass/match-pattern-no-type-params.rs5
-rw-r--r--src/test/run-pass/match-pattern-simple.rs2
-rw-r--r--src/test/run-pass/match-phi.rs3
-rw-r--r--src/test/run-pass/match-with-ret-arm.rs2
-rw-r--r--src/test/run-pass/mod-view-items.rs2
-rw-r--r--src/test/run-pass/module-qualified-struct-destructure.rs2
-rw-r--r--src/test/run-pass/monad.rs4
-rw-r--r--src/test/run-pass/move-3.rs2
-rw-r--r--src/test/run-pass/move-nullary-fn.rs2
-rw-r--r--src/test/run-pass/move-out-of-field.rs4
-rw-r--r--src/test/run-pass/mut-vstore-expr.rs2
-rw-r--r--src/test/run-pass/mutable-alias-vec.rs2
-rw-r--r--src/test/run-pass/mutable-vec-drop.rs3
-rw-r--r--src/test/run-pass/nested-matchs.rs2
-rw-r--r--src/test/run-pass/nested-pattern.rs4
-rw-r--r--src/test/run-pass/nested-patterns.rs2
-rw-r--r--src/test/run-pass/new-vstore-mut-box-syntax.rs2
-rw-r--r--src/test/run-pass/newlambdas.rs2
-rw-r--r--src/test/run-pass/newtype-struct-drop-run.rs2
-rw-r--r--src/test/run-pass/option-ext.rs6
-rw-r--r--src/test/run-pass/option-unwrap.rs6
-rw-r--r--src/test/run-pass/output-slot-variants.rs3
-rw-r--r--src/test/run-pass/parse-fail.rs3
-rw-r--r--src/test/run-pass/path.rs2
-rw-r--r--src/test/run-pass/pattern-bound-var-in-for-each.rs2
-rw-r--r--src/test/run-pass/pattern-in-closure.rs2
-rw-r--r--src/test/run-pass/pred-not-bool.rs2
-rw-r--r--src/test/run-pass/pub-use-xcrate.rs2
-rw-r--r--src/test/run-pass/pub_use_mods_xcrate_exe.rs2
-rw-r--r--src/test/run-pass/rcvr-borrowed-to-slice.rs4
-rw-r--r--src/test/run-pass/region-dependent-addr-of.rs12
-rw-r--r--src/test/run-pass/regions-appearance-constraint.rs2
-rw-r--r--src/test/run-pass/regions-bot.rs2
-rw-r--r--src/test/run-pass/regions-creating-enums5.rs2
-rw-r--r--src/test/run-pass/regions-fn-subtyping.rs3
-rw-r--r--src/test/run-pass/resource-assign-is-not-copy.rs4
-rw-r--r--src/test/run-pass/resource-cycle2.rs2
-rw-r--r--src/test/run-pass/resource-destruct.rs4
-rw-r--r--src/test/run-pass/resource-in-struct.rs6
-rw-r--r--src/test/run-pass/return-nil.rs2
-rw-r--r--src/test/run-pass/send-resource.rs1
-rw-r--r--src/test/run-pass/send-type-inference.rs4
-rw-r--r--src/test/run-pass/shadow.rs2
-rw-r--r--src/test/run-pass/size-and-align.rs2
-rw-r--r--src/test/run-pass/spawn-types.rs5
-rw-r--r--src/test/run-pass/stat.rs1
-rw-r--r--src/test/run-pass/static-impl.rs1
-rw-r--r--src/test/run-pass/str-append.rs4
-rw-r--r--src/test/run-pass/string-self-append.rs2
-rw-r--r--src/test/run-pass/struct-like-variant-construct.rs2
-rw-r--r--src/test/run-pass/struct-order-of-eval-1.rs2
-rw-r--r--src/test/run-pass/struct-order-of-eval-2.rs2
-rw-r--r--src/test/run-pass/swap-overlapping.rs1
-rw-r--r--src/test/run-pass/syntax-extension-fmt.rs22
-rw-r--r--src/test/run-pass/syntax-extension-minor.rs2
-rw-r--r--src/test/run-pass/syntax-extension-source-utils.rs6
-rw-r--r--src/test/run-pass/tag-in-block.rs2
-rw-r--r--src/test/run-pass/task-comm-0.rs1
-rw-r--r--src/test/run-pass/task-comm-10.rs2
-rw-r--r--src/test/run-pass/task-comm-11.rs6
-rw-r--r--src/test/run-pass/task-comm-12.rs2
-rw-r--r--src/test/run-pass/task-comm-13.rs2
-rw-r--r--src/test/run-pass/task-comm-3.rs2
-rw-r--r--src/test/run-pass/task-comm-4.rs2
-rw-r--r--src/test/run-pass/task-comm-5.rs2
-rw-r--r--src/test/run-pass/task-comm-6.rs2
-rw-r--r--src/test/run-pass/task-comm-7.rs2
-rw-r--r--src/test/run-pass/task-life-0.rs2
-rw-r--r--src/test/run-pass/task-spawn-move-and-copy.rs1
-rw-r--r--src/test/run-pass/terminate-in-initializer.rs10
-rw-r--r--src/test/run-pass/trait-default-method-xc.rs2
-rw-r--r--src/test/run-pass/trait-inheritance-num5.rs2
-rw-r--r--src/test/run-pass/trait-static-method-overwriting.rs8
-rw-r--r--src/test/run-pass/trait-to-str.rs2
-rw-r--r--src/test/run-pass/traits-default-method-mut.rs2
-rw-r--r--src/test/run-pass/type-in-nested-module.rs2
-rw-r--r--src/test/run-pass/type-param-constraints.rs6
-rw-r--r--src/test/run-pass/type-params-in-for-each.rs6
-rw-r--r--src/test/run-pass/typestate-cfg-nesting.rs3
-rw-r--r--src/test/run-pass/uint.rs2
-rw-r--r--src/test/run-pass/unary-minus-suffix-inference.rs6
-rw-r--r--src/test/run-pass/unique-assign-drop.rs2
-rw-r--r--src/test/run-pass/unique-containing-tag.rs2
-rw-r--r--src/test/run-pass/unique-copy-box.rs18
-rw-r--r--src/test/run-pass/unique-decl.rs2
-rw-r--r--src/test/run-pass/unique-drop-complex.rs2
-rw-r--r--src/test/run-pass/unique-init.rs2
-rw-r--r--src/test/run-pass/unique-move-drop.rs2
-rw-r--r--src/test/run-pass/unique-object-move.rs4
-rw-r--r--src/test/run-pass/unique-pinned-nocopy-2.rs6
-rw-r--r--src/test/run-pass/unique-send.rs2
-rw-r--r--src/test/run-pass/unit.rs4
-rw-r--r--src/test/run-pass/unnamed_argument_mode.rs6
-rw-r--r--src/test/run-pass/unreachable-code-1.rs2
-rw-r--r--src/test/run-pass/unreachable-code.rs3
-rw-r--r--src/test/run-pass/unused-move-capture.rs2
-rw-r--r--src/test/run-pass/unused-move.rs2
-rw-r--r--src/test/run-pass/unwind-box.rs2
-rw-r--r--src/test/run-pass/unwind-resource2.rs2
-rw-r--r--src/test/run-pass/unwind-unique.rs2
-rw-r--r--src/test/run-pass/use-uninit-match.rs5
-rw-r--r--src/test/run-pass/use-uninit-match2.rs5
-rw-r--r--src/test/run-pass/use.rs2
-rw-r--r--src/test/run-pass/utf8_chars.rs21
-rw-r--r--src/test/run-pass/vec-drop.rs2
-rw-r--r--src/test/run-pass/vec-ivec-deadlock.rs2
-rw-r--r--src/test/run-pass/vec-matching-autoslice.rs2
-rw-r--r--src/test/run-pass/vec-slice-drop.rs4
-rw-r--r--src/test/run-pass/vec-tail-matching.rs2
-rw-r--r--src/test/run-pass/vector-no-ann-2.rs2
-rw-r--r--src/test/run-pass/weird-exprs.rs2
-rw-r--r--src/test/run-pass/while-flow-graph.rs2
-rw-r--r--src/test/run-pass/while-loop-constraints-2.rs4
-rw-r--r--src/test/run-pass/while-with-break.rs2
-rw-r--r--src/test/run-pass/x86stdcall2.rs2
-rw-r--r--src/test/run-pass/xcrate-unit-struct.rs2
400 files changed, 701 insertions, 581 deletions
diff --git a/src/test/auxiliary/cci_capture_clause.rs b/src/test/auxiliary/cci_capture_clause.rs
index 61a3ca1559c..a9c3e1d2b0f 100644
--- a/src/test/auxiliary/cci_capture_clause.rs
+++ b/src/test/auxiliary/cci_capture_clause.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::comm::*;
 use std::task;
 
 pub fn foo<T:Send + Clone>(x: T) -> Port<T> {
diff --git a/src/test/auxiliary/cci_class_5.rs b/src/test/auxiliary/cci_class_5.rs
index 5b8bebda924..63a7392fc70 100644
--- a/src/test/auxiliary/cci_class_5.rs
+++ b/src/test/auxiliary/cci_class_5.rs
@@ -9,8 +9,6 @@
 // except according to those terms.
 
 pub mod kitties {
-    use std::uint;
-
     pub struct cat {
         priv meows : uint,
         how_hungry : int,
@@ -26,5 +24,4 @@ pub mod kitties {
             how_hungry: in_y
         }
     }
-
 }
diff --git a/src/test/auxiliary/cci_class_cast.rs b/src/test/auxiliary/cci_class_cast.rs
index c1e23f1f5c8..8fac4a3f322 100644
--- a/src/test/auxiliary/cci_class_cast.rs
+++ b/src/test/auxiliary/cci_class_cast.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::to_str::*;
-
 pub mod kitty {
     pub struct cat {
       priv meows : uint,
diff --git a/src/test/auxiliary/crate-method-reexport-grrrrrrr2.rs b/src/test/auxiliary/crate-method-reexport-grrrrrrr2.rs
index ea42a51ff11..d8e3c2a9054 100644
--- a/src/test/auxiliary/crate-method-reexport-grrrrrrr2.rs
+++ b/src/test/auxiliary/crate-method-reexport-grrrrrrr2.rs
@@ -20,7 +20,7 @@ pub mod name_pool {
     }
 
     impl add for name_pool {
-        fn add(&self, s: ~str) {
+        fn add(&self, _s: ~str) {
         }
     }
 }
diff --git a/src/test/auxiliary/crateresolve5-1.rs b/src/test/auxiliary/crateresolve5-1.rs
index c120a971c6b..f20a143b658 100644
--- a/src/test/auxiliary/crateresolve5-1.rs
+++ b/src/test/auxiliary/crateresolve5-1.rs
@@ -25,7 +25,7 @@ pub enum e {
 
 pub fn nominal() -> e { e_val }
 
-pub fn nominal_eq(e1: e, e2: e) -> bool { true }
+pub fn nominal_eq(_e1: e, _e2: e) -> bool { true }
 
 impl Eq for e {
     fn eq(&self, other: &e) -> bool { nominal_eq(*self, *other) }
diff --git a/src/test/auxiliary/crateresolve5-2.rs b/src/test/auxiliary/crateresolve5-2.rs
index 230fdad0468..10adc338159 100644
--- a/src/test/auxiliary/crateresolve5-2.rs
+++ b/src/test/auxiliary/crateresolve5-2.rs
@@ -29,6 +29,6 @@ impl Eq for e {
 
 pub fn nominal() -> e { e_val }
 
-pub fn nominal_neq(e1: e, e2: e) -> bool { false }
+pub fn nominal_neq(_e1: e, _e2: e) -> bool { false }
 
 pub fn f() -> int { 20 }
diff --git a/src/test/auxiliary/issue-2526.rs b/src/test/auxiliary/issue-2526.rs
index 8c491a4dfc8..cbdd6b56b7d 100644
--- a/src/test/auxiliary/issue-2526.rs
+++ b/src/test/auxiliary/issue-2526.rs
@@ -35,9 +35,7 @@ fn arc<T:Freeze>(_data: T) -> arc_destruct<T> {
 }
 
 fn init() -> arc_destruct<context_res> {
-    unsafe {
-        arc(context_res())
-    }
+    arc(context_res())
 }
 
 struct context_res {
diff --git a/src/test/auxiliary/issue2378a.rs b/src/test/auxiliary/issue2378a.rs
index eed271c5499..88439e32b0d 100644
--- a/src/test/auxiliary/issue2378a.rs
+++ b/src/test/auxiliary/issue2378a.rs
@@ -14,7 +14,7 @@
 enum maybe<T> { just(T), nothing }
 
 impl <T:Clone> Index<uint,T> for maybe<T> {
-    fn index(&self, idx: &uint) -> T {
+    fn index(&self, _idx: &uint) -> T {
         match self {
             &just(ref t) => (*t).clone(),
             &nothing => { fail!(); }
diff --git a/src/test/auxiliary/issue_2316_b.rs b/src/test/auxiliary/issue_2316_b.rs
index 32283e5373c..1c16e347b27 100644
--- a/src/test/auxiliary/issue_2316_b.rs
+++ b/src/test/auxiliary/issue_2316_b.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(unused_imports)];
+
 extern mod issue_2316_a;
 
 pub mod cloth {
diff --git a/src/test/auxiliary/moves_based_on_type_lib.rs b/src/test/auxiliary/moves_based_on_type_lib.rs
index cd72468511e..f45b8071595 100644
--- a/src/test/auxiliary/moves_based_on_type_lib.rs
+++ b/src/test/auxiliary/moves_based_on_type_lib.rs
@@ -23,5 +23,5 @@ impl Drop for S {
 pub fn f() {
     let x = S { x: 1 };
     let y = x;
-    let z = y;
+    let _z = y;
 }
diff --git a/src/test/auxiliary/trait_default_method_xc_aux.rs b/src/test/auxiliary/trait_default_method_xc_aux.rs
index 4d910385cd6..105d7f758f7 100644
--- a/src/test/auxiliary/trait_default_method_xc_aux.rs
+++ b/src/test/auxiliary/trait_default_method_xc_aux.rs
@@ -19,7 +19,7 @@ impl A for Something {
 
 trait B<T> {
     fn thing<U>(&self, x: T, y: U) -> (T, U) { (x, y) }
-    fn staticthing<U>(z: &Self, x: T, y: U) -> (T, U) { (x, y) }
+    fn staticthing<U>(_z: &Self, x: T, y: U) -> (T, U) { (x, y) }
 }
 
 impl<T> B<T> for int { }
diff --git a/src/test/bench/core-std.rs b/src/test/bench/core-std.rs
index a0ceb654b52..6735d623e6c 100644
--- a/src/test/bench/core-std.rs
+++ b/src/test/bench/core-std.rs
@@ -13,14 +13,11 @@
 extern mod extra;
 
 use extra::time::precise_time_s;
-use std::int;
 use std::io;
 use std::os;
 use std::rand::RngUtil;
 use std::rand;
-use std::result;
 use std::str;
-use std::uint;
 use std::util;
 use std::vec;
 
diff --git a/src/test/bench/msgsend-ring-mutex-arcs.rs b/src/test/bench/msgsend-ring-mutex-arcs.rs
index 7de95f4d822..a5311d5c831 100644
--- a/src/test/bench/msgsend-ring-mutex-arcs.rs
+++ b/src/test/bench/msgsend-ring-mutex-arcs.rs
@@ -21,7 +21,6 @@ use extra::arc;
 use extra::future;
 use extra::time;
 use std::cell::Cell;
-use std::io;
 use std::os;
 use std::uint;
 
diff --git a/src/test/bench/msgsend-ring-rw-arcs.rs b/src/test/bench/msgsend-ring-rw-arcs.rs
index 1299e863db6..e25490bcd9b 100644
--- a/src/test/bench/msgsend-ring-rw-arcs.rs
+++ b/src/test/bench/msgsend-ring-rw-arcs.rs
@@ -21,7 +21,6 @@ use extra::arc;
 use extra::future;
 use extra::time;
 use std::cell::Cell;
-use std::io;
 use std::os;
 use std::uint;
 
diff --git a/src/test/bench/noise.rs b/src/test/bench/noise.rs
index 8503b188b2f..e5fac512499 100644
--- a/src/test/bench/noise.rs
+++ b/src/test/bench/noise.rs
@@ -1,7 +1,6 @@
 // Perlin noise benchmark from https://gist.github.com/1170424
 
 use std::float;
-use std::int;
 use std::rand::{Rng, RngUtil};
 use std::rand;
 
diff --git a/src/test/bench/rt-messaging-ping-pong.rs b/src/test/bench/rt-messaging-ping-pong.rs
index 3d38d61bc2e..6c482c6d207 100644
--- a/src/test/bench/rt-messaging-ping-pong.rs
+++ b/src/test/bench/rt-messaging-ping-pong.rs
@@ -10,7 +10,6 @@
 
 extern mod extra;
 
-use std::task::spawn;
 use std::os;
 use std::uint;
 use std::rt::test::spawntask_later;
diff --git a/src/test/bench/rt-parfib.rs b/src/test/bench/rt-parfib.rs
index 6669342f511..32f0a592273 100644
--- a/src/test/bench/rt-parfib.rs
+++ b/src/test/bench/rt-parfib.rs
@@ -10,7 +10,6 @@
 
 extern mod extra;
 
-use std::task::spawn;
 use std::os;
 use std::uint;
 use std::rt::test::spawntask_later;
diff --git a/src/test/bench/shootout-ackermann.rs b/src/test/bench/shootout-ackermann.rs
index e8659ba26d4..3ecb580874c 100644
--- a/src/test/bench/shootout-ackermann.rs
+++ b/src/test/bench/shootout-ackermann.rs
@@ -11,7 +11,6 @@
 extern mod extra;
 
 use std::int;
-use std::io;
 use std::os;
 
 fn ack(m: int, n: int) -> int {
diff --git a/src/test/bench/shootout-fasta.rs b/src/test/bench/shootout-fasta.rs
index 4e2ab8b0a49..9d47e7fed23 100644
--- a/src/test/bench/shootout-fasta.rs
+++ b/src/test/bench/shootout-fasta.rs
@@ -22,9 +22,7 @@ use std::io;
 use std::os;
 use std::rand::Rng;
 use std::rand;
-use std::result;
 use std::str;
-use std::uint;
 
 static LINE_LENGTH: uint = 60u;
 
diff --git a/src/test/bench/shootout-fibo.rs b/src/test/bench/shootout-fibo.rs
index 9c07df36eb3..a367beface2 100644
--- a/src/test/bench/shootout-fibo.rs
+++ b/src/test/bench/shootout-fibo.rs
@@ -11,7 +11,6 @@
 extern mod extra;
 
 use std::int;
-use std::io;
 use std::os;
 
 fn fib(n: int) -> int {
diff --git a/src/test/bench/shootout-k-nucleotide-pipes.rs b/src/test/bench/shootout-k-nucleotide-pipes.rs
index 66b9bdc0a42..0a036696544 100644
--- a/src/test/bench/shootout-k-nucleotide-pipes.rs
+++ b/src/test/bench/shootout-k-nucleotide-pipes.rs
@@ -22,7 +22,6 @@ use std::io::ReaderUtil;
 use std::io;
 use std::option;
 use std::os;
-use std::result;
 use std::str;
 use std::task;
 use std::util;
diff --git a/src/test/bench/sudoku.rs b/src/test/bench/sudoku.rs
index 67573540895..17fe1135fd9 100644
--- a/src/test/bench/sudoku.rs
+++ b/src/test/bench/sudoku.rs
@@ -15,7 +15,6 @@ extern mod extra;
 use std::io::{ReaderUtil, WriterUtil};
 use std::io;
 use std::os;
-use std::u8;
 use std::uint;
 use std::unstable::intrinsics::cttz16;
 use std::vec;
diff --git a/src/test/codegen/scalar-function-call.rs b/src/test/codegen/scalar-function-call.rs
index e3631b73c02..ca30fc2bd7b 100644
--- a/src/test/codegen/scalar-function-call.rs
+++ b/src/test/codegen/scalar-function-call.rs
@@ -14,5 +14,5 @@ fn foo(x: int) -> int {
 
 #[no_mangle]
 fn test() {
-    let x = foo(10);
+    let _x = foo(10);
 }
diff --git a/src/test/debug-info/basic-types.rs b/src/test/debug-info/basic-types.rs
index 7125ebe8d56..4e8f7d0d4aa 100644
--- a/src/test/debug-info/basic-types.rs
+++ b/src/test/debug-info/basic-types.rs
@@ -51,6 +51,8 @@
 // debugger:print f64
 // check:$15 = 3.5
 
+#[allow(unused_variable)];
+
 fn main() {
     let b: bool = false;
     let i: int = -1;
diff --git a/src/test/debug-info/borrowed-basic.rs b/src/test/debug-info/borrowed-basic.rs
index 7610301f6f0..9de460163f0 100644
--- a/src/test/debug-info/borrowed-basic.rs
+++ b/src/test/debug-info/borrowed-basic.rs
@@ -62,6 +62,8 @@
 // debugger:print *f64_ref
 // check:$15 = 3.5
 
+#[allow(unused_variable)];
+
 fn main() {
     let bool_val: bool = true;
     let bool_ref: &bool = &bool_val;
@@ -110,4 +112,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/borrowed-c-style-enum.rs b/src/test/debug-info/borrowed-c-style-enum.rs
index 70c85258c79..3b398201726 100644
--- a/src/test/debug-info/borrowed-c-style-enum.rs
+++ b/src/test/debug-info/borrowed-c-style-enum.rs
@@ -24,6 +24,8 @@
 // debugger:print *the_c_ref
 // check:$3 = TheC
 
+#[allow(unused_variable)];
+
 enum ABC { TheA, TheB, TheC }
 
 fn main() {
@@ -39,4 +41,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/borrowed-enum.rs b/src/test/debug-info/borrowed-enum.rs
index 38aa9c38810..2052ce3c932 100644
--- a/src/test/debug-info/borrowed-enum.rs
+++ b/src/test/debug-info/borrowed-enum.rs
@@ -24,6 +24,8 @@
 // debugger:print *univariant_ref
 // check:$3 = {4820353753753434}
 
+#[allow(unused_variable)];
+
 // The first element is to ensure proper alignment, irrespective of the machines word size. Since
 // the size of the discriminant value is machine dependent, this has be taken into account when
 // datatype layout should be predictable as in this case.
@@ -59,4 +61,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/borrowed-managed-basic.rs b/src/test/debug-info/borrowed-managed-basic.rs
index 9087bb36fa5..bf0edef83a0 100644
--- a/src/test/debug-info/borrowed-managed-basic.rs
+++ b/src/test/debug-info/borrowed-managed-basic.rs
@@ -62,6 +62,7 @@
 // debugger:print *f64_ref
 // check:$15 = 3.5
 
+#[allow(unused_variable)];
 
 fn main() {
     let bool_box: @bool = @true;
@@ -111,4 +112,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/borrowed-struct.rs b/src/test/debug-info/borrowed-struct.rs
index 8b6eca3e37f..77f8bd21fb3 100644
--- a/src/test/debug-info/borrowed-struct.rs
+++ b/src/test/debug-info/borrowed-struct.rs
@@ -45,7 +45,7 @@
 // debugger:print *unique_val_interior_ref_2
 // check:$10 = 26.5
 
-
+#[allow(unused_variable)];
 
 struct SomeStruct {
     x: int,
@@ -72,4 +72,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/borrowed-tuple.rs b/src/test/debug-info/borrowed-tuple.rs
index da199941c84..8810c493aed 100644
--- a/src/test/debug-info/borrowed-tuple.rs
+++ b/src/test/debug-info/borrowed-tuple.rs
@@ -27,6 +27,8 @@
 // debugger:print *unique_val_ref
 // check:$4 = {-17, -22}
 
+#[allow(unused_variable)];
+
 fn main() {
     let stack_val: (i16, f32) = (-14, -19f32);
     let stack_val_ref: &(i16, f32) = &stack_val;
@@ -41,4 +43,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/borrowed-unique-basic.rs b/src/test/debug-info/borrowed-unique-basic.rs
index 52f5a2cba1e..c62b05d1358 100644
--- a/src/test/debug-info/borrowed-unique-basic.rs
+++ b/src/test/debug-info/borrowed-unique-basic.rs
@@ -62,6 +62,8 @@
 // debugger:print *f64_ref
 // check:$15 = 3.5
 
+#[allow(unused_variable)];
+
 
 fn main() {
     let bool_box: ~bool = ~true;
@@ -111,4 +113,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/box.rs b/src/test/debug-info/box.rs
index c63cffd7b74..cc41267e5c2 100644
--- a/src/test/debug-info/box.rs
+++ b/src/test/debug-info/box.rs
@@ -24,6 +24,8 @@
 // debugger:print d->val
 // check:$4 = false
 
+#[allow(unused_variable)];
+
 fn main() {
     let a = ~1;
     let b = ~(2, 3.5);
diff --git a/src/test/debug-info/boxed-struct.rs b/src/test/debug-info/boxed-struct.rs
index 86162f0fa04..0e22980025b 100644
--- a/src/test/debug-info/boxed-struct.rs
+++ b/src/test/debug-info/boxed-struct.rs
@@ -27,6 +27,8 @@
 // debugger:print managed_dtor->val
 // check:$4 = {x = 33, y = 333, z = 3333, w = 33333}
 
+#[allow(unused_variable)];
+
 struct StructWithSomePadding {
     x: i16,
     y: i32,
@@ -56,4 +58,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/boxed-vec.rs b/src/test/debug-info/boxed-vec.rs
index 8abead65196..84b1ad44ebc 100644
--- a/src/test/debug-info/boxed-vec.rs
+++ b/src/test/debug-info/boxed-vec.rs
@@ -25,6 +25,8 @@
 // debugger:print *((uint64_t[4]*)(unique->elements))
 // check:$4 = {10, 11, 12, 13}
 
+#[allow(unused_variable)];
+
 fn main() {
 
     let managed: @[i64] = @[7, 8, 9];
@@ -33,4 +35,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/c-style-enum-in-composite.rs b/src/test/debug-info/c-style-enum-in-composite.rs
index 47e433ea814..def0a8275c0 100644
--- a/src/test/debug-info/c-style-enum-in-composite.rs
+++ b/src/test/debug-info/c-style-enum-in-composite.rs
@@ -36,6 +36,8 @@
 // debugger:print struct_with_drop
 // check:$7 = {{a = OneHundred, b = Vienna}, 9}
 
+#[allow(unused_variable)];
+
 enum AnEnum {
     OneHundred = 100,
     OneThousand = 1000,
@@ -116,4 +118,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/c-style-enum.rs b/src/test/debug-info/c-style-enum.rs
index d7cce4e6f3f..1b57ab0d447 100644
--- a/src/test/debug-info/c-style-enum.rs
+++ b/src/test/debug-info/c-style-enum.rs
@@ -36,6 +36,8 @@
 // debugger:print single_variant
 // check:$7 = TheOnlyVariant
 
+#[allow(unused_variable)];
+
 enum AutoDiscriminant {
     One,
     Two,
@@ -67,4 +69,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/destructured-fn-argument.rs b/src/test/debug-info/destructured-fn-argument.rs
index 05718ab4890..0269d3f4155 100644
--- a/src/test/debug-info/destructured-fn-argument.rs
+++ b/src/test/debug-info/destructured-fn-argument.rs
@@ -181,6 +181,7 @@
 // check:$49 = 62
 // debugger:continue
 
+#[allow(unused_variable)];
 
 struct Struct {
     a: i64,
@@ -315,4 +316,4 @@ fn main() {
 }
 
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/destructured-local.rs b/src/test/debug-info/destructured-local.rs
index f8db7981c94..bc78b6cd35e 100644
--- a/src/test/debug-info/destructured-local.rs
+++ b/src/test/debug-info/destructured-local.rs
@@ -125,6 +125,7 @@
 // debugger:print *nn
 // check:$43 = 56
 
+#[allow(unused_variable)];
 
 struct Struct {
     a: i64,
@@ -206,4 +207,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/evec-in-struct.rs b/src/test/debug-info/evec-in-struct.rs
index 7e42690548e..1594de4f5c0 100644
--- a/src/test/debug-info/evec-in-struct.rs
+++ b/src/test/debug-info/evec-in-struct.rs
@@ -30,6 +30,8 @@
 // debugger:print struct_padded_at_end
 // check:$5 = {x = {22, 23}, y = {24, 25}}
 
+#[allow(unused_variable)];
+
 struct NoPadding1 {
     x: [u32, ..3],
     y: i32,
@@ -85,4 +87,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/managed-enum.rs b/src/test/debug-info/managed-enum.rs
index 1a3600a7d8c..f2d753fc88d 100644
--- a/src/test/debug-info/managed-enum.rs
+++ b/src/test/debug-info/managed-enum.rs
@@ -24,6 +24,8 @@
 // debugger:print univariant->val
 // check:$3 = {-9747455}
 
+#[allow(unused_variable)];
+
 // The first element is to ensure proper alignment, irrespective of the machines word size. Since
 // the size of the discriminant value is machine dependent, this has be taken into account when
 // datatype layout should be predictable as in this case.
@@ -60,4 +62,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/managed-pointer-within-unique-vec.rs b/src/test/debug-info/managed-pointer-within-unique-vec.rs
index e42631599a9..a0b6f0e2b4f 100644
--- a/src/test/debug-info/managed-pointer-within-unique-vec.rs
+++ b/src/test/debug-info/managed-pointer-within-unique-vec.rs
@@ -27,6 +27,8 @@
 // debugger:print unique->val.elements[3]->val
 // check:$4 = 13
 
+#[allow(unused_variable)];
+
 fn main() {
 
     let unique: ~[@i64] = ~[@10, @11, @12, @13];
@@ -34,4 +36,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/managed-pointer-within-unique.rs b/src/test/debug-info/managed-pointer-within-unique.rs
index 3eb1c2ef01e..4acf8d6efc7 100644
--- a/src/test/debug-info/managed-pointer-within-unique.rs
+++ b/src/test/debug-info/managed-pointer-within-unique.rs
@@ -25,6 +25,8 @@
 // debugger:print managed_within_unique.val->y->val
 // check:$3 = -4
 
+#[allow(unused_variable)];
+
 struct ContainsManaged
 {
 	x: int,
@@ -44,4 +46,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/multiple-functions-equal-var-names.rs b/src/test/debug-info/multiple-functions-equal-var-names.rs
index 5b690b9d067..3f9dd1a0748 100644
--- a/src/test/debug-info/multiple-functions-equal-var-names.rs
+++ b/src/test/debug-info/multiple-functions-equal-var-names.rs
@@ -28,6 +28,8 @@
 // debugger:print abc
 // check:$3 = 30303
 
+#[allow(unused_variable)];
+
 fn function_one() {
 	let abc = 10101;
 	zzz();
diff --git a/src/test/debug-info/multiple-functions.rs b/src/test/debug-info/multiple-functions.rs
index aaac723f161..4d709070763 100644
--- a/src/test/debug-info/multiple-functions.rs
+++ b/src/test/debug-info/multiple-functions.rs
@@ -28,6 +28,8 @@
 // debugger:print c
 // check:$3 = 30303
 
+#[allow(unused_variable)];
+
 fn function_one() {
 	let a = 10101;
 	zzz();
diff --git a/src/test/debug-info/nil-enum.rs b/src/test/debug-info/nil-enum.rs
index d3afd4b11f9..8622795ee90 100644
--- a/src/test/debug-info/nil-enum.rs
+++ b/src/test/debug-info/nil-enum.rs
@@ -21,6 +21,8 @@
 // debugger:print second
 // check:$2 = {<No data fields>}
 
+#[allow(unused_variable)];
+
 enum ANilEnum {}
 enum AnotherNilEnum {}
 
@@ -37,4 +39,4 @@ fn main() {
     }
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/packed-struct-with-destructor.rs b/src/test/debug-info/packed-struct-with-destructor.rs
index 9ff91aa00d1..f36e8454da9 100644
--- a/src/test/debug-info/packed-struct-with-destructor.rs
+++ b/src/test/debug-info/packed-struct-with-destructor.rs
@@ -41,6 +41,8 @@
 // debugger:print deeplyNested
 // check:$8 = {a = {a = 1, b = {x = 2, y = 3, z = 4}, c = 5, d = {x = 6, y = 7, z = 8}}, b = {a = 9, b = {x = 10, y = 11, z = 12}, c = {x = 13, y = 14, z = 15}, d = 16}, c = {a = 17, b = {x = 18, y = 19, z = 20}, c = 21, d = {x = 22, y = 23, z = 24}}, d = {a = 25, b = {x = 26, y = 27, z = 28}, c = 29, d = {x = 30, y = 31, z = 32}}, e = {a = 33, b = {x = 34, y = 35, z = 36}, c = {x = 37, y = 38, z = 39}, d = 40}, f = {a = 41, b = {x = 42, y = 43, z = 44}, c = 45, d = {x = 46, y = 47, z = 48}}}
 
+#[allow(unused_variable)];
+
 #[packed]
 struct Packed {
     x: i16,
@@ -216,4 +218,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/packed-struct.rs b/src/test/debug-info/packed-struct.rs
index 859166cb023..93d3a9f2f11 100644
--- a/src/test/debug-info/packed-struct.rs
+++ b/src/test/debug-info/packed-struct.rs
@@ -34,6 +34,8 @@
 // debugger:print sizeof(packedInPacked)
 // check:$6 = 40
 
+#[allow(unused_variable)];
+
 #[packed]
 struct Packed {
     x: i16,
@@ -101,4 +103,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/simple-struct.rs b/src/test/debug-info/simple-struct.rs
index 49e7bc255c1..6532a3841e5 100644
--- a/src/test/debug-info/simple-struct.rs
+++ b/src/test/debug-info/simple-struct.rs
@@ -34,6 +34,7 @@
 // debugger:print padding_at_end
 // check:$6 = {x = -10014, y = 10015}
 
+#[allow(unused_variable)];
 
 struct NoPadding16 {
     x: u16,
@@ -81,4 +82,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/simple-tuple.rs b/src/test/debug-info/simple-tuple.rs
index f45294221af..81a6c4a3ee5 100644
--- a/src/test/debug-info/simple-tuple.rs
+++ b/src/test/debug-info/simple-tuple.rs
@@ -33,6 +33,7 @@
 // debugger:print paddingAtEnd
 // check:$7 = {15, 16}
 
+#[allow(unused_variable)];
 
 fn main() {
     let noPadding8: (i8, u8) = (-100, 100);
@@ -48,4 +49,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/struct-in-enum.rs b/src/test/debug-info/struct-in-enum.rs
index 1002266a1a9..c7879ac4720 100644
--- a/src/test/debug-info/struct-in-enum.rs
+++ b/src/test/debug-info/struct-in-enum.rs
@@ -25,6 +25,8 @@
 // debugger:print univariant
 // check:$3 = {{x = 123, y = 456, z = 789}}
 
+#[allow(unused_variable)];
+
 struct Struct {
 	x: u32,
 	y: i32,
diff --git a/src/test/debug-info/struct-in-struct.rs b/src/test/debug-info/struct-in-struct.rs
index 04c5eec610b..ca02283de37 100644
--- a/src/test/debug-info/struct-in-struct.rs
+++ b/src/test/debug-info/struct-in-struct.rs
@@ -25,6 +25,7 @@
 // debugger:print padding_at_end_parent
 // check:$3 = {x = {x = 10, y = 11}, y = {x = 12, y = 13}, z = {x = 14, y = 15}}
 
+#[allow(unused_variable)];
 
 struct Simple {
     x: i32
@@ -142,4 +143,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/struct-style-enum.rs b/src/test/debug-info/struct-style-enum.rs
index 61bbd2e215f..30be3b84563 100644
--- a/src/test/debug-info/struct-style-enum.rs
+++ b/src/test/debug-info/struct-style-enum.rs
@@ -28,6 +28,8 @@
 // debugger:print univariant
 // check:$4 = {a = -1}
 
+#[allow(unused_variable)];
+
 // The first element is to ensure proper alignment, irrespective of the machines word size. Since
 // the size of the discriminant value is machine dependent, this has be taken into account when
 // datatype layout should be predictable as in this case.
@@ -70,4 +72,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/struct-with-destructor.rs b/src/test/debug-info/struct-with-destructor.rs
index 0719f64b256..09bb690988c 100644
--- a/src/test/debug-info/struct-with-destructor.rs
+++ b/src/test/debug-info/struct-with-destructor.rs
@@ -26,6 +26,8 @@
 // debugger:print nested
 // check:$4 = {a = {a = {x = 7890, y = 9870}}}
 
+#[allow(unused_variable)];
+
 struct NoDestructor {
     x: i32,
     y: i64
diff --git a/src/test/debug-info/tuple-in-struct.rs b/src/test/debug-info/tuple-in-struct.rs
index 369c9fd28cc..b2611b3077d 100644
--- a/src/test/debug-info/tuple-in-struct.rs
+++ b/src/test/debug-info/tuple-in-struct.rs
@@ -41,6 +41,8 @@
 // debugger:print mixed_padding
 // check:$10 = {x = {{40, 41, 42}, {43, 44}}, y = {45, 46, 47, 48}}
 
+#[allow(unused_variable)];
+
 struct NoPadding1 {
     x: (i32, i32),
     y: i32,
@@ -148,4 +150,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/tuple-in-tuple.rs b/src/test/debug-info/tuple-in-tuple.rs
index 9c6805dae67..940edd08975 100644
--- a/src/test/debug-info/tuple-in-tuple.rs
+++ b/src/test/debug-info/tuple-in-tuple.rs
@@ -33,6 +33,8 @@
 // debugger:print padding_at_end2
 // check:$7 = {{21, 22}, 23}
 
+#[allow(unused_variable)];
+
 fn main() {
     let no_padding1: ((u32, u32), u32, u32) = ((0, 1), 2, 3);
     let no_padding2: (u32, (u32, u32), u32) = (4, (5, 6), 7);
@@ -47,4 +49,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/tuple-style-enum.rs b/src/test/debug-info/tuple-style-enum.rs
index ba1d02bb62a..5dadfa84ba9 100644
--- a/src/test/debug-info/tuple-style-enum.rs
+++ b/src/test/debug-info/tuple-style-enum.rs
@@ -28,6 +28,8 @@
 // debugger:print univariant
 // check:$4 = {-1}
 
+#[allow(unused_variable)];
+
 // The first element is to ensure proper alignment, irrespective of the machines word size. Since
 // the size of the discriminant value is machine dependent, this has be taken into account when
 // datatype layout should be predictable as in this case.
@@ -70,4 +72,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/unique-enum.rs b/src/test/debug-info/unique-enum.rs
index 443f641a858..84f7e817d24 100644
--- a/src/test/debug-info/unique-enum.rs
+++ b/src/test/debug-info/unique-enum.rs
@@ -24,6 +24,8 @@
 // debugger:print *univariant
 // check:$3 = {123234}
 
+#[allow(unused_variable)];
+
 // The first element is to ensure proper alignment, irrespective of the machines word size. Since
 // the size of the discriminant value is machine dependent, this has be taken into account when
 // datatype layout should be predictable as in this case.
@@ -60,4 +62,4 @@ fn main() {
     zzz();
 }
 
-fn zzz() {()}
\ No newline at end of file
+fn zzz() {()}
diff --git a/src/test/debug-info/vec-slices.rs b/src/test/debug-info/vec-slices.rs
index 4691de04917..14ff159769d 100644
--- a/src/test/debug-info/vec-slices.rs
+++ b/src/test/debug-info/vec-slices.rs
@@ -47,6 +47,8 @@
 // debugger:print padded_struct.data_ptr[1]
 // check:$13 = {x = 13, y = 14, z = 15}
 
+#[allow(unused_variable)];
+
 struct AStruct {
     x: i16,
     y: i32,
diff --git a/src/test/debug-info/vec.rs b/src/test/debug-info/vec.rs
index 57130b45eae..8387214b3bc 100644
--- a/src/test/debug-info/vec.rs
+++ b/src/test/debug-info/vec.rs
@@ -18,6 +18,8 @@
 // debugger:print a
 // check:$1 = {1, 2, 3}
 
+#[allow(unused_variable)];
+
 fn main() {
     let a = [1, 2, 3];
 
diff --git a/src/test/pretty/block-arg-disambig.rs b/src/test/pretty/block-arg-disambig.rs
index 9e6f053e4c2..c0f173a1a0d 100644
--- a/src/test/pretty/block-arg-disambig.rs
+++ b/src/test/pretty/block-arg-disambig.rs
@@ -8,5 +8,5 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-fn blk1(b: &fn()) -> @fn() { return || { }; }
+fn blk1(_b: &fn()) -> @fn() { return || { }; }
 fn test1() { (do blk1 { info!("hi"); })(); }
diff --git a/src/test/pretty/disamb-stmt-expr.rs b/src/test/pretty/disamb-stmt-expr.rs
index a6266c6a5dd..f6787fa9c3d 100644
--- a/src/test/pretty/disamb-stmt-expr.rs
+++ b/src/test/pretty/disamb-stmt-expr.rs
@@ -16,5 +16,5 @@
 
 fn id(f: &fn() -> int) -> int { f() }
 
-fn wsucc(n: int) -> int { (do id || { 1 }) - 0 }
+fn wsucc(_n: int) -> int { (do id || { 1 }) - 0 }
 fn main() { }
diff --git a/src/test/pretty/fn-types.rs b/src/test/pretty/fn-types.rs
index b1f7828a2f4..0545e9ed166 100644
--- a/src/test/pretty/fn-types.rs
+++ b/src/test/pretty/fn-types.rs
@@ -10,8 +10,8 @@
 
 // pp-exact
 
-fn from_foreign_fn(x: extern "Rust" fn()) { }
-fn from_stack_closure(x: &fn()) { }
-fn from_box_closure(x: @fn()) { }
-fn from_unique_closure(x: ~fn()) { }
+fn from_foreign_fn(_x: extern "Rust" fn()) { }
+fn from_stack_closure(_x: &fn()) { }
+fn from_box_closure(_x: @fn()) { }
+fn from_unique_closure(_x: ~fn()) { }
 fn main() { }
diff --git a/src/test/pretty/for-comment.rs b/src/test/pretty/for-comment.rs
index 6b4e6a30d87..2318e783b69 100644
--- a/src/test/pretty/for-comment.rs
+++ b/src/test/pretty/for-comment.rs
@@ -10,9 +10,11 @@
 
 // pp-exact
 
-fn f(v: &[int]) {
+fn f(v: &[int]) -> int {
     let mut n = 0;
     for e in v.iter() {
         n = *e; // This comment once triggered pretty printer bug
     }
+
+    n
 }
diff --git a/src/test/pretty/match-naked-expr-long.rs b/src/test/pretty/match-naked-expr-long.rs
index 66ad3d55820..75b42e8e590 100644
--- a/src/test/pretty/match-naked-expr-long.rs
+++ b/src/test/pretty/match-naked-expr-long.rs
@@ -15,11 +15,11 @@
 
 fn main() {
     let x = Some(3);
-    let y =
+    let _y =
         match x {
             Some(_) =>
-            ~"some" + ~"very" + ~"very" + ~"very" + ~"very" + ~"very" +
-                ~"very" + ~"very" + ~"very" + ~"long" + ~"string",
+            ~"some" + "very" + "very" + "very" + "very" + "very" + "very" +
+                "very" + "very" + "long" + "string",
             None => ~"none"
         };
 }
diff --git a/src/test/pretty/match-naked-expr.rs b/src/test/pretty/match-naked-expr.rs
index 15c49cd4115..ac5ef5fcf53 100644
--- a/src/test/pretty/match-naked-expr.rs
+++ b/src/test/pretty/match-naked-expr.rs
@@ -12,5 +12,5 @@
 
 fn main() {
     let x = Some(3);
-    let y = match x { Some(_) => ~"some(_)", None => ~"none" };
+    let _y = match x { Some(_) => ~"some(_)", None => ~"none" };
 }
diff --git a/src/test/pretty/struct-tuple.rs b/src/test/pretty/struct-tuple.rs
index 0d54848a4a9..20d1678ee41 100644
--- a/src/test/pretty/struct-tuple.rs
+++ b/src/test/pretty/struct-tuple.rs
@@ -5,6 +5,6 @@ struct Bar(int, int);
 fn main() {
     struct Foo2;
     struct Bar2(int, int, int);
-    let a = Bar(5, 5);
-    let b = Foo;
+    let _a = Bar(5, 5);
+    let _b = Foo;
 }
diff --git a/src/test/pretty/vec-comments.pp b/src/test/pretty/vec-comments.pp
index c41a4fd8e1d..a09e341a940 100644
--- a/src/test/pretty/vec-comments.pp
+++ b/src/test/pretty/vec-comments.pp
@@ -12,7 +12,7 @@
 // Testing that comments are correctly interleaved
 // pp-exact:vec-comments.pp
 fn main() {
-    let v1 =
+    let _v1 =
         ~[
           // Comment
           0,
@@ -20,11 +20,11 @@ fn main() {
           1,
           // Comment
           2];
-    let v2 =
+    let _v2 =
         ~[0, // Comment
           1, // Comment
           2]; // Comment
-    let v3 =
+    let _v3 =
         ~[
           /* Comment */
           0,
@@ -32,7 +32,7 @@ fn main() {
           1,
           /* Comment */
           2];
-    let v4 =
+    let _v4 =
         ~[0, /* Comment */
           1, /* Comment */
           2]; /* Comment */
diff --git a/src/test/pretty/vec-comments.rs b/src/test/pretty/vec-comments.rs
index c41a4fd8e1d..a09e341a940 100644
--- a/src/test/pretty/vec-comments.rs
+++ b/src/test/pretty/vec-comments.rs
@@ -12,7 +12,7 @@
 // Testing that comments are correctly interleaved
 // pp-exact:vec-comments.pp
 fn main() {
-    let v1 =
+    let _v1 =
         ~[
           // Comment
           0,
@@ -20,11 +20,11 @@ fn main() {
           1,
           // Comment
           2];
-    let v2 =
+    let _v2 =
         ~[0, // Comment
           1, // Comment
           2]; // Comment
-    let v3 =
+    let _v3 =
         ~[
           /* Comment */
           0,
@@ -32,7 +32,7 @@ fn main() {
           1,
           /* Comment */
           2];
-    let v4 =
+    let _v4 =
         ~[0, /* Comment */
           1, /* Comment */
           2]; /* Comment */
diff --git a/src/test/pretty/vec-type.pp b/src/test/pretty/vec-type.pp
index c0183bd9f2a..d84f43d7005 100644
--- a/src/test/pretty/vec-type.pp
+++ b/src/test/pretty/vec-type.pp
@@ -10,6 +10,6 @@
 
 // pp-exact:vec-type.pp
 
-fn f1(x: ~[int]) { }
+fn f1(_x: ~[int]) { }
 
 fn g1() { f1(~[1, 2, 3]); }
diff --git a/src/test/pretty/vec-type.rs b/src/test/pretty/vec-type.rs
index c0183bd9f2a..d84f43d7005 100644
--- a/src/test/pretty/vec-type.rs
+++ b/src/test/pretty/vec-type.rs
@@ -10,6 +10,6 @@
 
 // pp-exact:vec-type.pp
 
-fn f1(x: ~[int]) { }
+fn f1(_x: ~[int]) { }
 
 fn g1() { f1(~[1, 2, 3]); }
diff --git a/src/test/run-fail/args-fail.rs b/src/test/run-fail/args-fail.rs
index 911409b6898..b803d7488b0 100644
--- a/src/test/run-fail/args-fail.rs
+++ b/src/test/run-fail/args-fail.rs
@@ -9,6 +9,6 @@
 // except according to those terms.
 
 // error-pattern:meep
-fn f(a: int, b: int, c: @int) { fail!("moop"); }
+fn f(_a: int, _b: int, _c: @int) { fail!("moop"); }
 
 fn main() { f(1, fail!("meep"), @42); }
diff --git a/src/test/run-fail/borrowck-wg-autoderef-and-autoborrowvec-combined-fail-issue-6272.rs b/src/test/run-fail/borrowck-wg-autoderef-and-autoborrowvec-combined-fail-issue-6272.rs
index 2d3e7dd616d..6e15f6edddc 100644
--- a/src/test/run-fail/borrowck-wg-autoderef-and-autoborrowvec-combined-fail-issue-6272.rs
+++ b/src/test/run-fail/borrowck-wg-autoderef-and-autoborrowvec-combined-fail-issue-6272.rs
@@ -14,7 +14,7 @@ fn main() {
     let c = @mut b;
 
     // this should freeze `a` only
-    let x: &mut [int] = c[0];
+    let _x: &mut [int] = c[0];
 
     // hence this should fail
     a[0] = a[0];
diff --git a/src/test/run-fail/borrowck-wg-fail-2.rs b/src/test/run-fail/borrowck-wg-fail-2.rs
index 59a5fecd340..24b928920c2 100644
--- a/src/test/run-fail/borrowck-wg-fail-2.rs
+++ b/src/test/run-fail/borrowck-wg-fail-2.rs
@@ -9,7 +9,7 @@ struct S {
 
 fn main() {
     let x = @mut S { x: 3 };
-    let y: &S = x;
+    let _y: &S = x;
     let z = x;
     z.x = 5;
 }
diff --git a/src/test/run-fail/borrowck-wg-fail-3.rs b/src/test/run-fail/borrowck-wg-fail-3.rs
index a40faa1ac6f..8a72d2680d9 100644
--- a/src/test/run-fail/borrowck-wg-fail-3.rs
+++ b/src/test/run-fail/borrowck-wg-fail-3.rs
@@ -5,7 +5,7 @@
 
 fn main() {
     let x = @mut 3;
-    let y: &mut int = x;
+    let _y: &mut int = x;
     let z = x;
     *z = 5;
 }
diff --git a/src/test/run-fail/borrowck-wg-fail-object-arg.rs b/src/test/run-fail/borrowck-wg-fail-object-arg.rs
index c70d752ef30..1456f137338 100644
--- a/src/test/run-fail/borrowck-wg-fail-object-arg.rs
+++ b/src/test/run-fail/borrowck-wg-fail-object-arg.rs
@@ -10,7 +10,7 @@ impl Foo for int {
     }
 }
 
-fn it_takes_two(f: &Foo, g: &mut Foo) {
+fn it_takes_two(_f: &Foo, _g: &mut Foo) {
 }
 
 fn main() {
diff --git a/src/test/run-fail/borrowck-wg-imm-then-mut.rs b/src/test/run-fail/borrowck-wg-imm-then-mut.rs
index e2c8a0b549c..fa82029855d 100644
--- a/src/test/run-fail/borrowck-wg-imm-then-mut.rs
+++ b/src/test/run-fail/borrowck-wg-imm-then-mut.rs
@@ -14,6 +14,6 @@ fn add2(_:&mut int)
 pub fn main()
 {
     let a = @mut 3;
-    let b = &*a; // freezes a
+    let _b = &*a; // freezes a
     add1(a);
 }
diff --git a/src/test/run-fail/borrowck-wg-mut-then-imm.rs b/src/test/run-fail/borrowck-wg-mut-then-imm.rs
index 58b2a1d87be..9d6b9587113 100644
--- a/src/test/run-fail/borrowck-wg-mut-then-imm.rs
+++ b/src/test/run-fail/borrowck-wg-mut-then-imm.rs
@@ -14,6 +14,6 @@ fn add2(_:&int)
 pub fn main()
 {
     let a = @mut 3;
-    let b = &mut *a; // freezes a
+    let _b = &mut *a; // freezes a
     add1(a);
 }
diff --git a/src/test/run-fail/bug-811.rs b/src/test/run-fail/bug-811.rs
index 992747187f6..2a256b9a4e3 100644
--- a/src/test/run-fail/bug-811.rs
+++ b/src/test/run-fail/bug-811.rs
@@ -19,6 +19,6 @@ struct chan_t<T> {
     port: port_id,
 }
 
-fn send<T:Send>(ch: chan_t<T>, data: T) { fail!(); }
+fn send<T:Send>(_ch: chan_t<T>, _data: T) { fail!(); }
 
 fn main() { fail!("quux"); }
diff --git a/src/test/run-fail/die-macro-expr.rs b/src/test/run-fail/die-macro-expr.rs
index cf6f5a009d5..8ff62d5a43d 100644
--- a/src/test/run-fail/die-macro-expr.rs
+++ b/src/test/run-fail/die-macro-expr.rs
@@ -1,5 +1,5 @@
 // error-pattern:test
 
 fn main() {
-    let i: int = fail!("test");
+    let _i: int = fail!("test");
 }
diff --git a/src/test/run-fail/divide-by-zero.rs b/src/test/run-fail/divide-by-zero.rs
index 9c996807ad8..de69b7b9fa6 100644
--- a/src/test/run-fail/divide-by-zero.rs
+++ b/src/test/run-fail/divide-by-zero.rs
@@ -11,5 +11,5 @@
 // error-pattern:attempted to divide by zero
 fn main() {
     let y = 0;
-    let z = 1 / y;
+    let _z = 1 / y;
 }
diff --git a/src/test/run-fail/doublefail.rs b/src/test/run-fail/doublefail.rs
index ccf7aa57019..1ceeee1b6ed 100644
--- a/src/test/run-fail/doublefail.rs
+++ b/src/test/run-fail/doublefail.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(unreachable_code)];
+
 //error-pattern:One
 fn main() {
     fail!("One");
diff --git a/src/test/run-fail/explicit-fail-msg.rs b/src/test/run-fail/explicit-fail-msg.rs
index 28fd9aff009..ab8cea0a305 100644
--- a/src/test/run-fail/explicit-fail-msg.rs
+++ b/src/test/run-fail/explicit-fail-msg.rs
@@ -8,7 +8,12 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(dead_assignment)];
+#[allow(unused_variable)];
+
 // error-pattern:wooooo
 fn main() {
-    let mut a = 1; if 1 == 1 { a = 2; } fail!(~"woooo" + "o");
+    let mut a = 1;
+    if 1 == 1 { a = 2; }
+    fail!(~"woooo" + "o");
 }
diff --git a/src/test/run-fail/expr-if-fail.rs b/src/test/run-fail/expr-if-fail.rs
index c1663866519..73259e6e140 100644
--- a/src/test/run-fail/expr-if-fail.rs
+++ b/src/test/run-fail/expr-if-fail.rs
@@ -12,4 +12,4 @@
 
 
 // error-pattern:explicit failure
-fn main() { let x = if false { 0 } else if true { fail!() } else { 10 }; }
+fn main() { let _x = if false { 0 } else if true { fail!() } else { 10 }; }
diff --git a/src/test/run-fail/expr-match-fail.rs b/src/test/run-fail/expr-match-fail.rs
index e2bf6052a10..075f6f5b4b1 100644
--- a/src/test/run-fail/expr-match-fail.rs
+++ b/src/test/run-fail/expr-match-fail.rs
@@ -12,4 +12,4 @@
 
 
 // error-pattern:explicit failure
-fn main() { let x = match true { false => { 0 } true => { fail!() } }; }
+fn main() { let _x = match true { false => { 0 } true => { fail!() } }; }
diff --git a/src/test/run-fail/issue-2156.rs b/src/test/run-fail/issue-2156.rs
index 0e0bd81d659..863663334f8 100644
--- a/src/test/run-fail/issue-2156.rs
+++ b/src/test/run-fail/issue-2156.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(unnecessary_allocation)];
+
 // error-pattern:explicit failure
 // Don't double free the string
 extern mod extra;
diff --git a/src/test/run-fail/issue-2444.rs b/src/test/run-fail/issue-2444.rs
index 5e7c7cf519b..c1357988f7d 100644
--- a/src/test/run-fail/issue-2444.rs
+++ b/src/test/run-fail/issue-2444.rs
@@ -18,5 +18,5 @@ enum e<T> { e(arc::Arc<T>) }
 fn foo() -> e<int> {fail!();}
 
 fn main() {
-   let f = foo();
+   let _f = foo();
 }
diff --git a/src/test/run-fail/issue-3029.rs b/src/test/run-fail/issue-3029.rs
index caee0002788..44364007c06 100644
--- a/src/test/run-fail/issue-3029.rs
+++ b/src/test/run-fail/issue-3029.rs
@@ -8,6 +8,10 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(unnecessary_allocation)];
+#[allow(unreachable_code)];
+#[allow(unused_variable)];
+
 // error-pattern:so long
 fn main() {
     let mut x = ~[];
diff --git a/src/test/run-fail/issue-948.rs b/src/test/run-fail/issue-948.rs
index 1ad4422e1a9..db954bc5946 100644
--- a/src/test/run-fail/issue-948.rs
+++ b/src/test/run-fail/issue-948.rs
@@ -10,6 +10,8 @@
 
 // error-pattern:beep boop
 
+#[allow(unused_variable)];
+
 struct Point { x: int, y: int }
 
 fn main() {
diff --git a/src/test/run-fail/match-bot-fail.rs b/src/test/run-fail/match-bot-fail.rs
index 2ba78e21374..a54422ef8f5 100644
--- a/src/test/run-fail/match-bot-fail.rs
+++ b/src/test/run-fail/match-bot-fail.rs
@@ -10,6 +10,9 @@
 
 // error-pattern:explicit failure
 
+#[allow(unreachable_code)];
+#[allow(unused_variable)];
+
 fn foo(s: ~str) { }
 
 fn main() {
diff --git a/src/test/run-fail/mod-zero.rs b/src/test/run-fail/mod-zero.rs
index b3e083c77fb..76d4de7ecb0 100644
--- a/src/test/run-fail/mod-zero.rs
+++ b/src/test/run-fail/mod-zero.rs
@@ -11,5 +11,5 @@
 // error-pattern:attempted remainder with a divisor of zero
 fn main() {
     let y = 0;
-    let z = 1 % y;
+    let _z = 1 % y;
 }
diff --git a/src/test/run-fail/rhs-type.rs b/src/test/run-fail/rhs-type.rs
index 444c899188f..ca267608025 100644
--- a/src/test/run-fail/rhs-type.rs
+++ b/src/test/run-fail/rhs-type.rs
@@ -12,6 +12,12 @@
 // as a _|_-typed thing, not a str-typed thing
 // error-pattern:bye
 
+#[allow(unreachable_code)];
+#[allow(unused_variable)];
+
 struct T { t: ~str }
 
-fn main() { let pth = fail!("bye"); let rs: T = T {t: pth}; }
+fn main() {
+    let pth = fail!("bye");
+    let _rs: T = T {t: pth};
+}
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 ee268f409a5..d78dedfa39d 100644
--- a/src/test/run-fail/rt-set-exit-status-fail2.rs
+++ b/src/test/run-fail/rt-set-exit-status-fail2.rs
@@ -35,7 +35,7 @@ fn r(x:int) -> r {
 fn main() {
     error!(~"whatever");
     do task::spawn {
-      let i = r(5);
+      let _i = r(5);
     };
     fail!();
 }
diff --git a/src/test/run-fail/task-spawn-barefn.rs b/src/test/run-fail/task-spawn-barefn.rs
index 6e1af6ff7e0..75b50c4f6ed 100644
--- a/src/test/run-fail/task-spawn-barefn.rs
+++ b/src/test/run-fail/task-spawn-barefn.rs
@@ -10,7 +10,6 @@
 
 // error-pattern:Ensure that the child task runs by failing
 
-use std::str;
 use std::task;
 
 fn main() {
diff --git a/src/test/run-fail/unwind-assert.rs b/src/test/run-fail/unwind-assert.rs
index 0e685a7a469..36954d2bad6 100644
--- a/src/test/run-fail/unwind-assert.rs
+++ b/src/test/run-fail/unwind-assert.rs
@@ -11,6 +11,6 @@
 // error-pattern:fail
 
 fn main() {
-    let a = @0;
+    let _a = @0;
     assert!(false);
 }
diff --git a/src/test/run-fail/unwind-closure.rs b/src/test/run-fail/unwind-closure.rs
index b84ae2e94fc..5ea71c94e14 100644
--- a/src/test/run-fail/unwind-closure.rs
+++ b/src/test/run-fail/unwind-closure.rs
@@ -10,7 +10,7 @@
 
 // error-pattern:fail
 
-fn f(a: @int) {
+fn f(_a: @int) {
     fail!();
 }
 
diff --git a/src/test/run-fail/unwind-initializer-indirect.rs b/src/test/run-fail/unwind-initializer-indirect.rs
index e7f8a866543..fd1ab88ff96 100644
--- a/src/test/run-fail/unwind-initializer-indirect.rs
+++ b/src/test/run-fail/unwind-initializer-indirect.rs
@@ -13,5 +13,5 @@
 fn f() -> @int { fail!(); }
 
 fn main() {
-    let a: @int = f();
+    let _a: @int = f();
 }
diff --git a/src/test/run-fail/unwind-initializer.rs b/src/test/run-fail/unwind-initializer.rs
index 0293e5ba07e..0d1584f3dc8 100644
--- a/src/test/run-fail/unwind-initializer.rs
+++ b/src/test/run-fail/unwind-initializer.rs
@@ -11,7 +11,7 @@
 // error-pattern:fail
 
 fn main() {
-    let a: @int = {
+    let _a: @int = {
         fail!();
     };
 }
diff --git a/src/test/run-fail/unwind-interleaved.rs b/src/test/run-fail/unwind-interleaved.rs
index 142813bcc30..365204d5c9e 100644
--- a/src/test/run-fail/unwind-interleaved.rs
+++ b/src/test/run-fail/unwind-interleaved.rs
@@ -15,8 +15,8 @@ fn a() { }
 fn b() { fail!(); }
 
 fn main() {
-    let x = ~[0];
+    let _x = ~[0];
     a();
-    let y = ~[0];
+    let _y = ~[0];
     b();
 }
diff --git a/src/test/run-fail/unwind-iter.rs b/src/test/run-fail/unwind-iter.rs
index 1b28d2f6c6d..51c6cb3adf3 100644
--- a/src/test/run-fail/unwind-iter.rs
+++ b/src/test/run-fail/unwind-iter.rs
@@ -10,6 +10,9 @@
 
 // error-pattern:fail
 
+#[allow(unreachable_code)];
+#[allow(unused_variable)];
+
 fn x(it: &fn(int)) {
     fail!();
     it(0);
diff --git a/src/test/run-fail/unwind-iter2.rs b/src/test/run-fail/unwind-iter2.rs
index 286e5f49764..17936df6959 100644
--- a/src/test/run-fail/unwind-iter2.rs
+++ b/src/test/run-fail/unwind-iter2.rs
@@ -11,7 +11,7 @@
 // error-pattern:fail
 
 fn x(it: &fn(int)) {
-    let a = @0;
+    let _a = @0;
     it(1);
 }
 
diff --git a/src/test/run-fail/unwind-lambda.rs b/src/test/run-fail/unwind-lambda.rs
index 640be6635ee..74d6ab00802 100644
--- a/src/test/run-fail/unwind-lambda.rs
+++ b/src/test/run-fail/unwind-lambda.rs
@@ -21,7 +21,7 @@ fn main() {
         let mush = food + cheese;
         let cheese = cheese.clone();
         let f: &fn() = || {
-            let chew = mush + cheese;
+            let _chew = mush + cheese;
             fail!("so yummy")
         };
         f();
diff --git a/src/test/run-fail/unwind-misc-1.rs b/src/test/run-fail/unwind-misc-1.rs
index 336c2d3c8ea..d215927c7d0 100644
--- a/src/test/run-fail/unwind-misc-1.rs
+++ b/src/test/run-fail/unwind-misc-1.rs
@@ -12,10 +12,10 @@
 // error-pattern:fail
 
 fn main() {
-    let count = @mut 0u;
+    let _count = @mut 0u;
     let mut map = std::hashmap::HashMap::new();
     let mut arr = ~[];
-    for i in range(0u, 10u) {
+    for _i in range(0u, 10u) {
         arr.push(@~"key stuff");
         map.insert(arr.clone(), arr + &[@~"value stuff"]);
         if arr.len() == 5 {
diff --git a/src/test/run-fail/unwind-nested.rs b/src/test/run-fail/unwind-nested.rs
index ca9a761cfa1..f8a63be2e9a 100644
--- a/src/test/run-fail/unwind-nested.rs
+++ b/src/test/run-fail/unwind-nested.rs
@@ -11,9 +11,9 @@
 // error-pattern:fail
 
 fn main() {
-    let a = @0;
+    let _a = @0;
     {
-        let b = @0;
+        let _b = @0;
         {
             fail!();
         }
diff --git a/src/test/run-fail/unwind-partial-box.rs b/src/test/run-fail/unwind-partial-box.rs
index d1e3b63698b..88f71a5ed7c 100644
--- a/src/test/run-fail/unwind-partial-box.rs
+++ b/src/test/run-fail/unwind-partial-box.rs
@@ -19,7 +19,7 @@ fn prime() {
 }
 
 fn partial() {
-    let x = @f();
+    let _x = @f();
 }
 
 fn main() {
diff --git a/src/test/run-fail/unwind-partial-unique.rs b/src/test/run-fail/unwind-partial-unique.rs
index 5976add8800..e9bbbd46c03 100644
--- a/src/test/run-fail/unwind-partial-unique.rs
+++ b/src/test/run-fail/unwind-partial-unique.rs
@@ -19,7 +19,7 @@ fn prime() {
 }
 
 fn partial() {
-    let x = ~f();
+    let _x = ~f();
 }
 
 fn main() {
diff --git a/src/test/run-fail/unwind-partial-vec.rs b/src/test/run-fail/unwind-partial-vec.rs
index d51c83a06d9..3d6d26937db 100644
--- a/src/test/run-fail/unwind-partial-vec.rs
+++ b/src/test/run-fail/unwind-partial-vec.rs
@@ -19,7 +19,7 @@ fn prime() {
 }
 
 fn partial() {
-    let x = ~[~[0], f(), ~[0]];
+    let _x = ~[~[0], f(), ~[0]];
 }
 
 fn main() {
diff --git a/src/test/run-fail/unwind-rec.rs b/src/test/run-fail/unwind-rec.rs
index 378816476e4..016654500b4 100644
--- a/src/test/run-fail/unwind-rec.rs
+++ b/src/test/run-fail/unwind-rec.rs
@@ -17,7 +17,7 @@ fn build() -> ~[int] {
 struct Blk { node: ~[int] }
 
 fn main() {
-    let blk = Blk {
+    let _blk = Blk {
         node: build()
     };
 }
diff --git a/src/test/run-fail/unwind-rec2.rs b/src/test/run-fail/unwind-rec2.rs
index 1abf6d53600..49a35181a8b 100644
--- a/src/test/run-fail/unwind-rec2.rs
+++ b/src/test/run-fail/unwind-rec2.rs
@@ -21,7 +21,7 @@ fn build2() -> ~[int] {
 struct Blk { node: ~[int], span: ~[int] }
 
 fn main() {
-    let blk = Blk {
+    let _blk = Blk {
         node: build1(),
         span: build2()
     };
diff --git a/src/test/run-fail/unwind-resource-fail.rs b/src/test/run-fail/unwind-resource-fail.rs
index b4b0150013a..d695caf7b5f 100644
--- a/src/test/run-fail/unwind-resource-fail.rs
+++ b/src/test/run-fail/unwind-resource-fail.rs
@@ -22,5 +22,5 @@ fn r(i: int) -> r { r { i: i } }
 
 fn main() {
     @0;
-    let r = r(0);
+    let _r = r(0);
 }
diff --git a/src/test/run-fail/unwind-stacked.rs b/src/test/run-fail/unwind-stacked.rs
index a8faa550c8f..8249807af74 100644
--- a/src/test/run-fail/unwind-stacked.rs
+++ b/src/test/run-fail/unwind-stacked.rs
@@ -11,16 +11,16 @@
 // error-pattern:fail
 
 fn f() {
-    let a = @0;
+    let _a = @0;
     fail!();
 }
 
 fn g() {
-    let b = @0;
+    let _b = @0;
     f();
 }
 
 fn main() {
-    let a = @0;
+    let _a = @0;
     g();
 }
diff --git a/src/test/run-fail/unwind-tup.rs b/src/test/run-fail/unwind-tup.rs
index b135b9f609b..15fa3ceed53 100644
--- a/src/test/run-fail/unwind-tup.rs
+++ b/src/test/run-fail/unwind-tup.rs
@@ -15,5 +15,5 @@ fn fold_local() -> @~[int]{
 }
 
 fn main() {
-    let lss = (fold_local(), 0);
+    let _lss = (fold_local(), 0);
 }
diff --git a/src/test/run-fail/unwind-tup2.rs b/src/test/run-fail/unwind-tup2.rs
index 5e299c52a29..236ff817220 100644
--- a/src/test/run-fail/unwind-tup2.rs
+++ b/src/test/run-fail/unwind-tup2.rs
@@ -19,5 +19,5 @@ fn fold_remote() -> @~[int]{
 }
 
 fn main() {
-    let lss = (fold_local(), fold_remote());
+    let _lss = (fold_local(), fold_remote());
 }
diff --git a/src/test/run-fail/unwind-uninitialized.rs b/src/test/run-fail/unwind-uninitialized.rs
index e45c5c94ed4..d5a06ffb903 100644
--- a/src/test/run-fail/unwind-uninitialized.rs
+++ b/src/test/run-fail/unwind-uninitialized.rs
@@ -16,5 +16,5 @@ fn f() {
 
 fn main() {
     f();
-    let a = @0;
+    let _a = @0;
 }
diff --git a/src/test/run-fail/while-body-fails.rs b/src/test/run-fail/while-body-fails.rs
index 836ed9c0155..32e1425b28c 100644
--- a/src/test/run-fail/while-body-fails.rs
+++ b/src/test/run-fail/while-body-fails.rs
@@ -8,5 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(while_true)];
+
 // error-pattern:quux
-fn main() { let x: int = { while true { fail!("quux"); } ; 8 } ; }
+fn main() { let _x: int = { while true { fail!("quux"); } ; 8 } ; }
diff --git a/src/test/run-fail/while-fail.rs b/src/test/run-fail/while-fail.rs
index db04026ed97..a0b437814fd 100644
--- a/src/test/run-fail/while-fail.rs
+++ b/src/test/run-fail/while-fail.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(while_true)];
+
 // error-pattern:giraffe
 fn main() {
     fail!({ while true { fail!("giraffe") }; "clandestine" });
diff --git a/src/test/run-pass/argument-passing.rs b/src/test/run-pass/argument-passing.rs
index 90a17625195..6d6ae3da62f 100644
--- a/src/test/run-pass/argument-passing.rs
+++ b/src/test/run-pass/argument-passing.rs
@@ -26,10 +26,10 @@ fn f2(a: int, f: &fn(int)) -> int { f(1); return a; }
 pub fn main() {
     let mut a = X {x: 1};
     let mut b = 2;
-    let mut c = 3;
+    let c = 3;
     assert_eq!(f1(&mut a, &mut b, c), 6);
     assert_eq!(a.x, 0);
     assert_eq!(b, 10);
-    assert_eq!(f2(a.x, |x| a.x = 50), 0);
+    assert_eq!(f2(a.x, |_| a.x = 50), 0);
     assert_eq!(a.x, 50);
 }
diff --git a/src/test/run-pass/arith-unsigned.rs b/src/test/run-pass/arith-unsigned.rs
index 0eb4e7ad92e..ae94ad379d0 100644
--- a/src/test/run-pass/arith-unsigned.rs
+++ b/src/test/run-pass/arith-unsigned.rs
@@ -8,8 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
-
+#[allow(type_limits)];
 
 // Unsigned integer operations
 pub fn main() {
diff --git a/src/test/run-pass/assign-assign.rs b/src/test/run-pass/assign-assign.rs
index 5fe2aa6cc7c..0f5d27015fb 100644
--- a/src/test/run-pass/assign-assign.rs
+++ b/src/test/run-pass/assign-assign.rs
@@ -11,22 +11,28 @@
 // Issue 483 - Assignment expressions result in nil
 fn test_assign() {
     let mut x: int;
-    let mut y: () = x = 10;
+    let y: () = x = 10;
     assert_eq!(x, 10);
+    assert_eq!(y, ());
     let mut z = x = 11;
     assert_eq!(x, 11);
+    assert_eq!(z, ());
     z = x = 12;
     assert_eq!(x, 12);
+    assert_eq!(z, ());
 }
 
 fn test_assign_op() {
     let mut x: int = 0;
-    let mut y: () = x += 10;
+    let y: () = x += 10;
     assert_eq!(x, 10);
+    assert_eq!(y, ());
     let mut z = x += 11;
     assert_eq!(x, 21);
+    assert_eq!(z, ());
     z = x += 12;
     assert_eq!(x, 33);
+    assert_eq!(z, ());
 }
 
 pub fn main() { test_assign(); test_assign_op(); }
diff --git a/src/test/run-pass/attr-start.rs b/src/test/run-pass/attr-start.rs
index 933405bfc44..ba54e92ef99 100644
--- a/src/test/run-pass/attr-start.rs
+++ b/src/test/run-pass/attr-start.rs
@@ -11,6 +11,6 @@
 //xfail-fast
 
 #[start]
-fn start(argc:int, argv: **u8, crate_map: *u8) -> int {
+fn start(_argc: int, _argv: **u8, _crate_map: *u8) -> int {
     return 0;
 }
diff --git a/src/test/run-pass/bind-by-move.rs b/src/test/run-pass/bind-by-move.rs
index 9d808d19af2..a7a4aa9885e 100644
--- a/src/test/run-pass/bind-by-move.rs
+++ b/src/test/run-pass/bind-by-move.rs
@@ -11,7 +11,7 @@
 // xfail-fast
 extern mod extra;
 use extra::arc;
-fn dispose(_x: arc::Arc<bool>) { unsafe { } }
+fn dispose(_x: arc::Arc<bool>) { }
 
 pub fn main() {
     let p = arc::Arc::new(true);
diff --git a/src/test/run-pass/binops.rs b/src/test/run-pass/binops.rs
index 4bfdb20d9f2..eb0f04b8b7d 100644
--- a/src/test/run-pass/binops.rs
+++ b/src/test/run-pass/binops.rs
@@ -10,8 +10,6 @@
 
 // Binop corner cases
 
-use std::libc;
-
 fn test_nil() {
     assert_eq!((), ());
     assert!((!(() != ())));
@@ -95,7 +93,7 @@ fn p(x: int, y: int) -> p {
 }
 
 fn test_class() {
-  let mut q = p(1, 2);
+  let q = p(1, 2);
   let mut r = p(1, 2);
 
   unsafe {
diff --git a/src/test/run-pass/block-arg-in-parentheses.rs b/src/test/run-pass/block-arg-in-parentheses.rs
index 4bff3c6bb64..fcd6a8d7c85 100644
--- a/src/test/run-pass/block-arg-in-parentheses.rs
+++ b/src/test/run-pass/block-arg-in-parentheses.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::vec;
-
 fn w_semi(v: ~[int]) -> int {
     // the semicolon causes compiler not to
     // complain about the ignored return value:
diff --git a/src/test/run-pass/block-arg.rs b/src/test/run-pass/block-arg.rs
index aabc005c57f..717093e9de7 100644
--- a/src/test/run-pass/block-arg.rs
+++ b/src/test/run-pass/block-arg.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::vec;
-
 // Check usage and precedence of block arguments in expressions:
 pub fn main() {
     let v = ~[-1f, 0f, 1f, 2f, 3f];
diff --git a/src/test/run-pass/borrowck-mut-uniq.rs b/src/test/run-pass/borrowck-mut-uniq.rs
index 20c9032fbd2..633e0f71b9e 100644
--- a/src/test/run-pass/borrowck-mut-uniq.rs
+++ b/src/test/run-pass/borrowck-mut-uniq.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::uint;
 use std::util;
 
 struct Ints {sum: ~int, values: ~[int]}
diff --git a/src/test/run-pass/borrowck-pat-reassign-no-binding.rs b/src/test/run-pass/borrowck-pat-reassign-no-binding.rs
index d7551f792f3..4ccbf6b5b0f 100644
--- a/src/test/run-pass/borrowck-pat-reassign-no-binding.rs
+++ b/src/test/run-pass/borrowck-pat-reassign-no-binding.rs
@@ -18,4 +18,5 @@ pub fn main() {
       }
       Some(_) => { }
     }
+    assert_eq!(x, Some(0));
 }
diff --git a/src/test/run-pass/borrowck-preserve-box-in-arm-not-taken.rs b/src/test/run-pass/borrowck-preserve-box-in-arm-not-taken.rs
index 47bc6344bc2..a8e14b5297f 100644
--- a/src/test/run-pass/borrowck-preserve-box-in-arm-not-taken.rs
+++ b/src/test/run-pass/borrowck-preserve-box-in-arm-not-taken.rs
@@ -13,9 +13,9 @@
 pub fn main() {
     let x: @mut @Option<~int> = @mut @None;
     match x {
-      @@Some(ref y) => {
+      @@Some(ref _y) => {
         // here, the refcount of `*x` is bumped so
-        // `y` remains valid even if `*x` is modified.
+        // `_y` remains valid even if `*x` is modified.
         *x = @None;
       }
       @@None => {
diff --git a/src/test/run-pass/borrowck-preserve-box-in-pat.rs b/src/test/run-pass/borrowck-preserve-box-in-pat.rs
index 8fad9332811..c53b4b4e747 100644
--- a/src/test/run-pass/borrowck-preserve-box-in-pat.rs
+++ b/src/test/run-pass/borrowck-preserve-box-in-pat.rs
@@ -15,7 +15,7 @@ use std::ptr;
 struct F { f: ~int }
 
 pub fn main() {
-    let mut x = @mut @F {f: ~3};
+    let x = @mut @F {f: ~3};
     match x {
       @@F{f: ref b_x} => {
         assert_eq!(**b_x, 3);
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 e3f8f98f4b6..3f3534ca43e 100644
--- a/src/test/run-pass/borrowck-preserve-box-sometimes-needed.rs
+++ b/src/test/run-pass/borrowck-preserve-box-sometimes-needed.rs
@@ -13,9 +13,10 @@
 fn switcher(x: Option<@int>) {
     let mut x = x;
     match x {
-      Some(@y) => { y.clone(); x = None; }
-      None => { }
+        Some(@y) => { y.clone(); x = None; }
+        None => { }
     }
+    assert_eq!(x, None);
 }
 
 pub fn main() {
diff --git a/src/test/run-pass/borrowck-preserve-cond-box.rs b/src/test/run-pass/borrowck-preserve-cond-box.rs
index e5cef1dbc05..dc3718275fc 100644
--- a/src/test/run-pass/borrowck-preserve-cond-box.rs
+++ b/src/test/run-pass/borrowck-preserve-cond-box.rs
@@ -15,8 +15,8 @@ fn testfn(cond: bool) {
     let mut y = @4;
 
     // borrow x and y
-    let mut r_x = &*x;
-    let mut r_y = &*y;
+    let r_x = &*x;
+    let r_y = &*y;
     let mut r = r_x;
     let mut exp = 3;
 
@@ -33,6 +33,8 @@ fn testfn(cond: bool) {
 
     info!("*r = %d, exp = %d", *r, exp);
     assert_eq!(*r, exp);
+    assert_eq!(x, @5);
+    assert_eq!(y, @6);
 }
 
 pub fn main() {
diff --git a/src/test/run-pass/box-in-tup.rs b/src/test/run-pass/box-in-tup.rs
index 22857aaefec..315b69f3f27 100644
--- a/src/test/run-pass/box-in-tup.rs
+++ b/src/test/run-pass/box-in-tup.rs
@@ -8,4 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-pub fn main() { let i: (@int, int) = (@10, 10); let (a, _) = i; }
+pub fn main() {
+    let i: (@int, int) = (@10, 10);
+    let (_a, _) = i;
+}
diff --git a/src/test/run-pass/box-inside-if.rs b/src/test/run-pass/box-inside-if.rs
index e9838ec17ae..ea2b7d58a11 100644
--- a/src/test/run-pass/box-inside-if.rs
+++ b/src/test/run-pass/box-inside-if.rs
@@ -14,11 +14,11 @@
 
 fn some_box(x: int) -> @int { return @x; }
 
-fn is_odd(n: int) -> bool { return true; }
+fn is_odd(_n: int) -> bool { return true; }
 
-fn length_is_even(vs: @int) -> bool { return true; }
+fn length_is_even(_vs: @int) -> bool { return true; }
 
-fn foo(acc: int, n: int) {
+fn foo(_acc: int, n: int) {
     if is_odd(n) && length_is_even(some_box(1)) { error!("bloop"); }
 }
 
diff --git a/src/test/run-pass/box-inside-if2.rs b/src/test/run-pass/box-inside-if2.rs
index bcadc69bb0a..53b46847060 100644
--- a/src/test/run-pass/box-inside-if2.rs
+++ b/src/test/run-pass/box-inside-if2.rs
@@ -14,11 +14,11 @@
 
 fn some_box(x: int) -> @int { return @x; }
 
-fn is_odd(n: int) -> bool { return true; }
+fn is_odd(_n: int) -> bool { return true; }
 
-fn length_is_even(vs: @int) -> bool { return true; }
+fn length_is_even(_vs: @int) -> bool { return true; }
 
-fn foo(acc: int, n: int) {
+fn foo(_acc: int, n: int) {
     if is_odd(n) || length_is_even(some_box(1)) { error!("bloop"); }
 }
 
diff --git a/src/test/run-pass/break.rs b/src/test/run-pass/break.rs
index aff4b7bd26e..5903e421465 100644
--- a/src/test/run-pass/break.rs
+++ b/src/test/run-pass/break.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::vec;
-
 pub fn main() {
     let mut i = 0;
     while i < 20 { i += 1; if i == 10 { break; } }
diff --git a/src/test/run-pass/c-stack-as-value.rs b/src/test/run-pass/c-stack-as-value.rs
index 85e22cfecb4..ac7b221cff8 100644
--- a/src/test/run-pass/c-stack-as-value.rs
+++ b/src/test/run-pass/c-stack-as-value.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::libc;
-
 mod rustrt {
     use std::libc;
 
@@ -20,7 +18,5 @@ mod rustrt {
 }
 
 pub fn main() {
-    unsafe {
-        let _foo = rustrt::rust_get_test_int;
-    }
+    let _foo = rustrt::rust_get_test_int;
 }
diff --git a/src/test/run-pass/c-stack-returning-int64.rs b/src/test/run-pass/c-stack-returning-int64.rs
index 22c5e9dad25..a0276e7e564 100644
--- a/src/test/run-pass/c-stack-returning-int64.rs
+++ b/src/test/run-pass/c-stack-returning-int64.rs
@@ -8,29 +8,26 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::str;
-
 mod libc {
+    use std::libc::{c_char, c_long, c_longlong};
+
     #[abi = "cdecl"]
     #[nolink]
     extern {
-        pub fn atol(x: *u8) -> int;
-        pub fn atoll(x: *u8) -> i64;
+        pub fn atol(x: *c_char) -> c_long;
+        pub fn atoll(x: *c_char) -> c_longlong;
     }
 }
 
 fn atol(s: ~str) -> int {
-    s.with_c_str(|x| unsafe { libc::atol(x as *u8) })
+    s.with_c_str(|x| unsafe { libc::atol(x) as int })
 }
 
 fn atoll(s: ~str) -> i64 {
-    s.with_c_str(|x| unsafe { libc::atoll(x as *u8) })
+    s.with_c_str(|x| unsafe { libc::atoll(x) as i64 })
 }
 
 pub fn main() {
-    unsafe {
-        assert_eq!(atol(~"1024") * 10, atol(~"10240"));
-        assert!((atoll(~"11111111111111111") * 10i64)
-            == atoll(~"111111111111111110"));
-    }
+    assert_eq!(atol(~"1024") * 10, atol(~"10240"));
+    assert!((atoll(~"11111111111111111") * 10) == atoll(~"111111111111111110"));
 }
diff --git a/src/test/run-pass/capture_nil.rs b/src/test/run-pass/capture_nil.rs
index 6182ec79a3b..edd1a9cce65 100644
--- a/src/test/run-pass/capture_nil.rs
+++ b/src/test/run-pass/capture_nil.rs
@@ -24,7 +24,6 @@
 // course preferable, as the value itself is
 // irrelevant).
 
-use std::comm::*;
 use std::task;
 
 fn foo(x: ()) -> Port<()> {
diff --git a/src/test/run-pass/cci_iter_exe.rs b/src/test/run-pass/cci_iter_exe.rs
index 4db0b1871d0..50afcac4e3a 100644
--- a/src/test/run-pass/cci_iter_exe.rs
+++ b/src/test/run-pass/cci_iter_exe.rs
@@ -16,7 +16,7 @@ extern mod cci_iter_lib;
 pub fn main() {
     //let bt0 = sys::rusti::frame_address(1u32);
     //info!("%?", bt0);
-    do cci_iter_lib::iter(~[1, 2, 3]) |i| {
+    do cci_iter_lib::iter([1, 2, 3]) |i| {
         printf!("%d", *i);
         //assert!(bt0 == sys::rusti::frame_address(2u32));
     }
diff --git a/src/test/run-pass/child-outlives-parent.rs b/src/test/run-pass/child-outlives-parent.rs
index 9232547dd8b..233a4318846 100644
--- a/src/test/run-pass/child-outlives-parent.rs
+++ b/src/test/run-pass/child-outlives-parent.rs
@@ -12,8 +12,8 @@
 
 use std::task;
 
-fn child2(s: ~str) { }
+fn child2(_s: ~str) { }
 
 pub fn main() {
-    let x = task::spawn(|| child2(~"hi"));
+    let _x = task::spawn(|| child2(~"hi"));
 }
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 a134ffe49fd..dd63d969077 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
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::uint;
-
 trait noisy {
   fn speak(&self) -> int;
 }
@@ -83,7 +81,7 @@ fn cat(in_x : uint, in_y : int, in_name: ~str) -> cat {
 
 
 fn annoy_neighbors(critter: @noisy) {
-    for i in range(0u, 10) { critter.speak(); }
+    for _i in range(0u, 10) { critter.speak(); }
 }
 
 pub fn main() {
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 d42c57c3b81..01907da38ad 100644
--- a/src/test/run-pass/class-impl-very-parameterized-trait.rs
+++ b/src/test/run-pass/class-impl-very-parameterized-trait.rs
@@ -11,8 +11,6 @@
 // xfail-fast
 
 use std::cmp;
-use std::int;
-use std::uint;
 
 enum cat_type { tuxedo, tabby, tortoiseshell }
 
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 d4e1d438c94..9443904b46d 100644
--- a/src/test/run-pass/class-implement-trait-cross-crate.rs
+++ b/src/test/run-pass/class-implement-trait-cross-crate.rs
@@ -13,8 +13,6 @@
 extern mod cci_class_trait;
 use cci_class_trait::animals::*;
 
-use std::uint;
-
 struct cat {
   priv meows: uint,
 
diff --git a/src/test/run-pass/class-implement-traits.rs b/src/test/run-pass/class-implement-traits.rs
index a064ce6769b..433d7f7a22f 100644
--- a/src/test/run-pass/class-implement-traits.rs
+++ b/src/test/run-pass/class-implement-traits.rs
@@ -10,8 +10,6 @@
 
 // xfail-fast
 
-use std::uint;
-
 trait noisy {
     fn speak(&mut self);
 }
diff --git a/src/test/run-pass/class-methods-cross-crate.rs b/src/test/run-pass/class-methods-cross-crate.rs
index c5e37cab2b8..159a100e61a 100644
--- a/src/test/run-pass/class-methods-cross-crate.rs
+++ b/src/test/run-pass/class-methods-cross-crate.rs
@@ -15,7 +15,7 @@ use cci_class_3::kitties::*;
 
 pub fn main() {
     let mut nyan : cat = cat(52u, 99);
-    let mut kitty = cat(1000u, 2);
+    let kitty = cat(1000u, 2);
     assert_eq!(nyan.how_hungry, 99);
     assert_eq!(kitty.how_hungry, 2);
     nyan.speak();
diff --git a/src/test/run-pass/class-methods.rs b/src/test/run-pass/class-methods.rs
index fca128b9a97..f5fa72e4ce5 100644
--- a/src/test/run-pass/class-methods.rs
+++ b/src/test/run-pass/class-methods.rs
@@ -28,7 +28,7 @@ fn cat(in_x: uint, in_y: int) -> cat {
 
 pub fn main() {
   let mut nyan: cat = cat(52u, 99);
-  let mut kitty = cat(1000u, 2);
+  let kitty = cat(1000u, 2);
   assert_eq!(nyan.how_hungry, 99);
   assert_eq!(kitty.how_hungry, 2);
   nyan.speak();
diff --git a/src/test/run-pass/class-separate-impl.rs b/src/test/run-pass/class-separate-impl.rs
index fcce5a73cf8..5555125a03b 100644
--- a/src/test/run-pass/class-separate-impl.rs
+++ b/src/test/run-pass/class-separate-impl.rs
@@ -52,10 +52,7 @@ fn cat(in_x : uint, in_y : int, in_name: ~str) -> cat {
 
 impl ToStr for cat {
     fn to_str(&self) -> ~str {
-        // FIXME #5384: this unsafe block is to work around purity
-        unsafe {
-            self.name.clone()
-        }
+        self.name.clone()
     }
 }
 
@@ -66,6 +63,6 @@ fn print_out(thing: @ToStr, expected: ~str) {
 }
 
 pub fn main() {
-  let mut nyan : @ToStr = @cat(0u, 2, ~"nyan") as @ToStr;
+  let nyan : @ToStr = @cat(0u, 2, ~"nyan") as @ToStr;
   print_out(nyan, ~"nyan");
 }
diff --git a/src/test/run-pass/class-str-field.rs b/src/test/run-pass/class-str-field.rs
index db70d6e3b36..452242dd082 100644
--- a/src/test/run-pass/class-str-field.rs
+++ b/src/test/run-pass/class-str-field.rs
@@ -21,5 +21,5 @@ fn cat(in_name: ~str) -> cat {
 }
 
 pub fn main() {
-  let nyan = cat(~"nyan");
+  let _nyan = cat(~"nyan");
 }
diff --git a/src/test/run-pass/class-typarams.rs b/src/test/run-pass/class-typarams.rs
index 8533add4119..ab6a8b1597b 100644
--- a/src/test/run-pass/class-typarams.rs
+++ b/src/test/run-pass/class-typarams.rs
@@ -28,6 +28,6 @@ fn cat<U>(in_x : uint, in_y : int) -> cat<U> {
 
 
 pub fn main() {
-  let mut _nyan : cat<int> = cat::<int>(52u, 99);
+  let _nyan : cat<int> = cat::<int>(52u, 99);
   //  let mut kitty = cat(1000u, 2);
 }
diff --git a/src/test/run-pass/classes-cross-crate.rs b/src/test/run-pass/classes-cross-crate.rs
index e7848f3b960..4c7823b4107 100644
--- a/src/test/run-pass/classes-cross-crate.rs
+++ b/src/test/run-pass/classes-cross-crate.rs
@@ -13,8 +13,6 @@
 extern mod cci_class_4;
 use cci_class_4::kitties::*;
 
-use std::uint;
-
 pub fn main() {
     let mut nyan = cat(0u, 2, ~"nyan");
     nyan.eat();
diff --git a/src/test/run-pass/classes-simple-method.rs b/src/test/run-pass/classes-simple-method.rs
index f27738cf421..6e08a4db14e 100644
--- a/src/test/run-pass/classes-simple-method.rs
+++ b/src/test/run-pass/classes-simple-method.rs
@@ -27,7 +27,7 @@ fn cat(in_x : uint, in_y : int) -> cat {
 
 pub fn main() {
   let mut nyan : cat = cat(52u, 99);
-  let mut kitty = cat(1000u, 2);
+  let kitty = cat(1000u, 2);
   assert_eq!(nyan.how_hungry, 99);
   assert_eq!(kitty.how_hungry, 2);
   nyan.speak();
diff --git a/src/test/run-pass/classes-simple.rs b/src/test/run-pass/classes-simple.rs
index 3d2b08d7a85..49e8f5c04e3 100644
--- a/src/test/run-pass/classes-simple.rs
+++ b/src/test/run-pass/classes-simple.rs
@@ -22,8 +22,8 @@ fn cat(in_x : uint, in_y : int) -> cat {
 }
 
 pub fn main() {
-  let mut nyan : cat = cat(52u, 99);
-  let mut kitty = cat(1000u, 2);
+  let nyan : cat = cat(52u, 99);
+  let kitty = cat(1000u, 2);
   assert_eq!(nyan.how_hungry, 99);
   assert_eq!(kitty.how_hungry, 2);
 }
diff --git a/src/test/run-pass/cleanup-copy-mode.rs b/src/test/run-pass/cleanup-copy-mode.rs
index 45375efe9d6..d3b3c0c0591 100644
--- a/src/test/run-pass/cleanup-copy-mode.rs
+++ b/src/test/run-pass/cleanup-copy-mode.rs
@@ -10,7 +10,6 @@
 
 // xfail-win32
 
-use std::result;
 use std::task;
 
 fn adder(x: @int, y: @int) -> int { return *x + *y; }
diff --git a/src/test/run-pass/coerce-reborrow-imm-ptr-rcvr.rs b/src/test/run-pass/coerce-reborrow-imm-ptr-rcvr.rs
index 438c70c6583..5525062581c 100644
--- a/src/test/run-pass/coerce-reborrow-imm-ptr-rcvr.rs
+++ b/src/test/run-pass/coerce-reborrow-imm-ptr-rcvr.rs
@@ -11,6 +11,6 @@ fn foo(speaker: &const SpeechMaker) -> uint {
 }
 
 pub fn main() {
-    let mut lincoln = SpeechMaker {speeches: 22};
+    let lincoln = SpeechMaker {speeches: 22};
     assert_eq!(foo(&const lincoln), 55);
 }
diff --git a/src/test/run-pass/comm.rs b/src/test/run-pass/comm.rs
index b0bdfd598fb..ac9501a7110 100644
--- a/src/test/run-pass/comm.rs
+++ b/src/test/run-pass/comm.rs
@@ -9,12 +9,11 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::comm::*;
 use std::task;
 
 pub fn main() {
     let (p, ch) = stream();
-    let t = task::spawn(|| child(&ch) );
+    let _t = task::spawn(|| child(&ch) );
     let y = p.recv();
     error!("received");
     error!(y);
diff --git a/src/test/run-pass/complex.rs b/src/test/run-pass/complex.rs
index e01c7d32f85..7a085c5d3e2 100644
--- a/src/test/run-pass/complex.rs
+++ b/src/test/run-pass/complex.rs
@@ -16,9 +16,9 @@ type t = int;
 
 fn nothing() { }
 
-fn putstr(s: ~str) { }
+fn putstr(_s: ~str) { }
 
-fn putint(i: int) {
+fn putint(_i: int) {
     let mut i: int = 33;
     while i < 36 { putstr(~"hi"); i = i + 1; }
 }
diff --git a/src/test/run-pass/conditional-compile.rs b/src/test/run-pass/conditional-compile.rs
index fdf8edc5861..00be4cd26f4 100644
--- a/src/test/run-pass/conditional-compile.rs
+++ b/src/test/run-pass/conditional-compile.rs
@@ -89,8 +89,8 @@ pub fn main() {
     // Exercise some of the configured items in ways that wouldn't be possible
     // if they had the bogus definition
     assert!((b));
-    let x: t = true;
-    let y: tg = bar;
+    let _x: t = true;
+    let _y: tg = bar;
 
     test_in_fn_ctxt();
 }
diff --git a/src/test/run-pass/const-fields-and-indexing.rs b/src/test/run-pass/const-fields-and-indexing.rs
index 6dca5d60f11..b31dcc83428 100644
--- a/src/test/run-pass/const-fields-and-indexing.rs
+++ b/src/test/run-pass/const-fields-and-indexing.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::io;
-
 static x : [int, ..4] = [1,2,3,4];
 static p : int = x[2];
 static y : &'static [int] = &[1,2,3,4];
diff --git a/src/test/run-pass/const-region-ptrs.rs b/src/test/run-pass/const-region-ptrs.rs
index c2103a40bfe..3e79fad542e 100644
--- a/src/test/run-pass/const-region-ptrs.rs
+++ b/src/test/run-pass/const-region-ptrs.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::io;
-
 struct Pair<'self> { a: int, b: &'self int }
 
 static x: &'static int = &10;
diff --git a/src/test/run-pass/const-struct.rs b/src/test/run-pass/const-struct.rs
index 684111c4917..111fe3870ba 100644
--- a/src/test/run-pass/const-struct.rs
+++ b/src/test/run-pass/const-struct.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 use std::cmp;
-use std::io;
 
 struct foo { a: int, b: int, c: int }
 
diff --git a/src/test/run-pass/const-vecs-and-slices.rs b/src/test/run-pass/const-vecs-and-slices.rs
index 01ef3284e32..8a1db762b44 100644
--- a/src/test/run-pass/const-vecs-and-slices.rs
+++ b/src/test/run-pass/const-vecs-and-slices.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::io;
-
 static x : [int, ..4] = [1,2,3,4];
 static y : &'static [int] = &[1,2,3,4];
 
diff --git a/src/test/run-pass/core-run-destroy.rs b/src/test/run-pass/core-run-destroy.rs
index 64f9ecc9de2..2551d1a5cfc 100644
--- a/src/test/run-pass/core-run-destroy.rs
+++ b/src/test/run-pass/core-run-destroy.rs
@@ -16,7 +16,6 @@
 // instead of in std.
 
 use std::libc;
-use std::os;
 use std::run::*;
 use std::run;
 use std::str;
diff --git a/src/test/run-pass/deep-vector2.rs b/src/test/run-pass/deep-vector2.rs
index ab08a538723..b644d1a8b1f 100644
--- a/src/test/run-pass/deep-vector2.rs
+++ b/src/test/run-pass/deep-vector2.rs
@@ -9,7 +9,7 @@
 // except according to those terms.
 
 pub fn main() {
-    let x = ~[
+    let _x = ~[
         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,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
diff --git a/src/test/run-pass/deref.rs b/src/test/run-pass/deref.rs
index 01a7792ce88..9951531d2d1 100644
--- a/src/test/run-pass/deref.rs
+++ b/src/test/run-pass/deref.rs
@@ -10,4 +10,7 @@
 
 
 
-pub fn main() { let x: @int = @10; let y: int = *x; }
+pub fn main() {
+    let x: @int = @10;
+    let _y: int = *x;
+}
diff --git a/src/test/run-pass/deriving-meta-multiple.rs b/src/test/run-pass/deriving-meta-multiple.rs
index f0b2d2ec827..b17632e4ee7 100644
--- a/src/test/run-pass/deriving-meta-multiple.rs
+++ b/src/test/run-pass/deriving-meta-multiple.rs
@@ -19,7 +19,7 @@ struct Foo {
 }
 
 pub fn main() {
-    use std::hash::{Hash, HashUtil}; // necessary for IterBytes check
+    use std::hash::HashUtil; // necessary for IterBytes check
 
     let a = Foo {bar: 4, baz: -3};
 
diff --git a/src/test/run-pass/deriving-meta.rs b/src/test/run-pass/deriving-meta.rs
index aef671ba757..2fa77ee1635 100644
--- a/src/test/run-pass/deriving-meta.rs
+++ b/src/test/run-pass/deriving-meta.rs
@@ -17,7 +17,7 @@ struct Foo {
 }
 
 pub fn main() {
-    use std::hash::{Hash, HashUtil}; // necessary for IterBytes check
+    use std::hash::HashUtil; // necessary for IterBytes check
 
     let a = Foo {bar: 4, baz: -3};
 
diff --git a/src/test/run-pass/die-macro.rs b/src/test/run-pass/die-macro.rs
index c4f5e2640ee..f08e5f054a9 100644
--- a/src/test/run-pass/die-macro.rs
+++ b/src/test/run-pass/die-macro.rs
@@ -1,9 +1,11 @@
 // Just testing that fail!() type checks in statement or expr
 
+#[allow(unreachable_code)];
+
 fn f() {
     fail!();
 
-    let x: int = fail!();
+    let _x: int = fail!();
 }
 
 pub fn main() {
diff --git a/src/test/run-pass/do-empty-args.rs b/src/test/run-pass/do-empty-args.rs
index b7c97392ec1..485d59da7d4 100644
--- a/src/test/run-pass/do-empty-args.rs
+++ b/src/test/run-pass/do-empty-args.rs
@@ -11,7 +11,7 @@
 // no-reformat
 // Testing various forms of `do` with empty arg lists
 
-fn f(f: &fn() -> bool) -> bool {
+fn f(_f: &fn() -> bool) -> bool {
     true
 }
 
diff --git a/src/test/run-pass/do-no-args.rs b/src/test/run-pass/do-no-args.rs
index 2af44199322..6aef1f5f9e5 100644
--- a/src/test/run-pass/do-no-args.rs
+++ b/src/test/run-pass/do-no-args.rs
@@ -10,9 +10,9 @@
 
 // Testing that we can drop the || in do exprs
 
-fn f(f: @fn() -> bool) -> bool { true }
+fn f(_f: @fn() -> bool) -> bool { true }
 
-fn d(f: @fn()) { }
+fn d(_f: @fn()) { }
 
 pub fn main() {
     do d { }
diff --git a/src/test/run-pass/do-pure.rs b/src/test/run-pass/do-pure.rs
index 08056f59acd..8a0509c1774 100644
--- a/src/test/run-pass/do-pure.rs
+++ b/src/test/run-pass/do-pure.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-fn f(f: &fn()) {
+fn f(_f: &fn()) {
 }
 
 fn g() {
diff --git a/src/test/run-pass/double-unbox.rs b/src/test/run-pass/double-unbox.rs
index 9f4c354b2bf..c6ea32ba290 100644
--- a/src/test/run-pass/double-unbox.rs
+++ b/src/test/run-pass/double-unbox.rs
@@ -12,7 +12,7 @@ struct Quux {
     bar: int
 }
 
-fn g(i: int) { }
+fn g(_i: int) { }
 fn f(foo: @@Quux) { g(foo.bar); }
 
 pub fn main() { }
diff --git a/src/test/run-pass/drop-on-empty-block-exit.rs b/src/test/run-pass/drop-on-empty-block-exit.rs
index 246306e4c47..07a73e0d8a9 100644
--- a/src/test/run-pass/drop-on-empty-block-exit.rs
+++ b/src/test/run-pass/drop-on-empty-block-exit.rs
@@ -12,4 +12,7 @@
 
 enum t { foo(@int), }
 
-pub fn main() { let tt = foo(@10); match tt { foo(z) => { } } }
+pub fn main() {
+    let tt = foo(@10);
+    match tt { foo(_z) => { } }
+}
diff --git a/src/test/run-pass/drop-on-ret.rs b/src/test/run-pass/drop-on-ret.rs
index 932da027b70..afc9e532ad8 100644
--- a/src/test/run-pass/drop-on-ret.rs
+++ b/src/test/run-pass/drop-on-ret.rs
@@ -12,6 +12,12 @@
 
 
 // -*- rust -*-
-fn f() -> int { if true { let s: ~str = ~"should not leak"; return 1; } return 0; }
+fn f() -> int {
+    if true {
+        let _s: ~str = ~"should not leak";
+        return 1;
+    }
+    return 0;
+}
 
 pub fn main() { f(); }
diff --git a/src/test/run-pass/drop-trait-generic.rs b/src/test/run-pass/drop-trait-generic.rs
index 557a153bce2..cb5a5294acf 100644
--- a/src/test/run-pass/drop-trait-generic.rs
+++ b/src/test/run-pass/drop-trait-generic.rs
@@ -20,5 +20,5 @@ impl<T> ::std::ops::Drop for S<T> {
 }
 
 pub fn main() {
-    let x = S { x: 1 };
+    let _x = S { x: 1 };
 }
diff --git a/src/test/run-pass/drop-trait.rs b/src/test/run-pass/drop-trait.rs
index 0ed5a27eb19..35d59770d12 100644
--- a/src/test/run-pass/drop-trait.rs
+++ b/src/test/run-pass/drop-trait.rs
@@ -19,5 +19,5 @@ impl Drop for Foo {
 }
 
 pub fn main() {
-    let x: Foo = Foo { x: 3 };
+    let _x: Foo = Foo { x: 3 };
 }
diff --git a/src/test/run-pass/empty-mutable-vec.rs b/src/test/run-pass/empty-mutable-vec.rs
index d7e649a8fb6..6c90e011218 100644
--- a/src/test/run-pass/empty-mutable-vec.rs
+++ b/src/test/run-pass/empty-mutable-vec.rs
@@ -8,6 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(unused_mut)];
 
-
-pub fn main() { let mut v: ~[int] = ~[]; }
+pub fn main() { let mut _v: ~[int] = ~[]; }
diff --git a/src/test/run-pass/enum-alignment.rs b/src/test/run-pass/enum-alignment.rs
index c23f02e1bed..58a91d4dbce 100644
--- a/src/test/run-pass/enum-alignment.rs
+++ b/src/test/run-pass/enum-alignment.rs
@@ -14,7 +14,7 @@ use std::sys;
 
 fn addr_of<T>(ptr: &T) -> uint {
     let ptr = ptr::to_unsafe_ptr(ptr);
-    unsafe { ptr as uint }
+    ptr as uint
 }
 
 fn is_aligned<T>(ptr: &T) -> bool {
diff --git a/src/test/run-pass/enum-disr-val-pretty.rs b/src/test/run-pass/enum-disr-val-pretty.rs
index 2c61351cf44..083e851f965 100644
--- a/src/test/run-pass/enum-disr-val-pretty.rs
+++ b/src/test/run-pass/enum-disr-val-pretty.rs
@@ -19,7 +19,7 @@ pub fn main() {
     test_color(imaginary, -1, ~"imaginary");
 }
 
-fn test_color(color: color, val: int, name: ~str) {
+fn test_color(color: color, val: int, _name: ~str) {
     assert!(color as int == val);
     assert!(color as float == val as float);
 }
diff --git a/src/test/run-pass/enum-export-inheritance.rs b/src/test/run-pass/enum-export-inheritance.rs
index 49823155043..09834269d0b 100644
--- a/src/test/run-pass/enum-export-inheritance.rs
+++ b/src/test/run-pass/enum-export-inheritance.rs
@@ -17,5 +17,5 @@ mod a {
 }
 
 pub fn main() {
-    let x = a::Bar;
+    let _x = a::Bar;
 }
diff --git a/src/test/run-pass/enum-variants.rs b/src/test/run-pass/enum-variants.rs
index a8a0a72dd3c..430823b2950 100644
--- a/src/test/run-pass/enum-variants.rs
+++ b/src/test/run-pass/enum-variants.rs
@@ -1,3 +1,6 @@
+#[allow(dead_assignment)];
+#[allow(unused_variable)];
+
 enum Animal {
     Dog (~str, float),
     Cat { name: ~str, weight: float }
@@ -7,5 +10,5 @@ pub fn main() {
     let mut a: Animal = Dog(~"Cocoa", 37.2);
     a = Cat{ name: ~"Spotty", weight: 2.7 };
     // permuting the fields should work too
-    let c = Cat { weight: 3.1, name: ~"Spreckles" };
+    let _c = Cat { weight: 3.1, name: ~"Spreckles" };
 }
diff --git a/src/test/run-pass/enum-vec-initializer.rs b/src/test/run-pass/enum-vec-initializer.rs
index ae590ad7d1f..d240e849ad0 100644
--- a/src/test/run-pass/enum-vec-initializer.rs
+++ b/src/test/run-pass/enum-vec-initializer.rs
@@ -16,9 +16,9 @@ static BAR:uint = Bunny as uint;
 static BAR2:uint = BAR;
 
 fn main() {
-    let v = [0, .. Bunny as uint];
-    let v = [0, .. BAR];
-    let v = [0, .. BAR2];
+    let _v = [0, .. Bunny as uint];
+    let _v = [0, .. BAR];
+    let _v = [0, .. BAR2];
     static BAR3:uint = BAR2;
-    let v = [0, .. BAR3];
-}
\ No newline at end of file
+    let _v = [0, .. BAR3];
+}
diff --git a/src/test/run-pass/estr-slice.rs b/src/test/run-pass/estr-slice.rs
index 268b6974d7f..ca2039feded 100644
--- a/src/test/run-pass/estr-slice.rs
+++ b/src/test/run-pass/estr-slice.rs
@@ -12,7 +12,7 @@
 pub fn main() {
     let x = &"hello";
     let v = &"hello";
-    let mut y : &str = &"there";
+    let y : &str = &"there";
 
     info!(x);
     info!(y);
diff --git a/src/test/run-pass/estr-uniq.rs b/src/test/run-pass/estr-uniq.rs
index a096a845673..7935886d39b 100644
--- a/src/test/run-pass/estr-uniq.rs
+++ b/src/test/run-pass/estr-uniq.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(dead_assignment)];
+
 pub fn main() {
     let x : ~str = ~"hello";
     let _y : ~str = ~"there";
diff --git a/src/test/run-pass/evec-internal-boxes.rs b/src/test/run-pass/evec-internal-boxes.rs
index 64c8a4caf80..c872ee5a9c5 100644
--- a/src/test/run-pass/evec-internal-boxes.rs
+++ b/src/test/run-pass/evec-internal-boxes.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(dead_assignment)];
+
 pub fn main() {
     let x : [@int, ..5] = [@1,@2,@3,@4,@5];
     let _y : [@int, ..5] = [@1,@2,@3,@4,@5];
diff --git a/src/test/run-pass/evec-slice.rs b/src/test/run-pass/evec-slice.rs
index 38891d35e8e..4a14faf1f84 100644
--- a/src/test/run-pass/evec-slice.rs
+++ b/src/test/run-pass/evec-slice.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(dead_assignment)];
+
 pub fn main() {
     let x : &[int] = &[1,2,3,4,5];
     let mut z = &[1,2,3,4,5];
diff --git a/src/test/run-pass/exec-env.rs b/src/test/run-pass/exec-env.rs
index 2437946a1f0..735891b25d4 100644
--- a/src/test/run-pass/exec-env.rs
+++ b/src/test/run-pass/exec-env.rs
@@ -14,5 +14,5 @@
 use std::os;
 
 pub fn main() {
-    assert_eq!(os::getenv(~"TEST_EXEC_ENV"), Some(~"22"));
+    assert_eq!(os::getenv("TEST_EXEC_ENV"), Some(~"22"));
 }
diff --git a/src/test/run-pass/export-abstract-tag.rs b/src/test/run-pass/export-abstract-tag.rs
index 209dbb3741a..adc4b553d09 100644
--- a/src/test/run-pass/export-abstract-tag.rs
+++ b/src/test/run-pass/export-abstract-tag.rs
@@ -17,4 +17,4 @@ mod foo {
     pub fn f() -> t { return t1; }
 }
 
-pub fn main() { let v: foo::t = foo::f(); }
+pub fn main() { let _v: foo::t = foo::f(); }
diff --git a/src/test/run-pass/export-glob-imports-target.rs b/src/test/run-pass/export-glob-imports-target.rs
index 6b97c9031f0..ab2750dc4af 100644
--- a/src/test/run-pass/export-glob-imports-target.rs
+++ b/src/test/run-pass/export-glob-imports-target.rs
@@ -21,7 +21,7 @@ mod foo {
         pub static a : int = 10;
     }
     pub fn zum() {
-        let b = a;
+        let _b = a;
     }
 }
 
diff --git a/src/test/run-pass/export-tag-variant.rs b/src/test/run-pass/export-tag-variant.rs
index 47ac4bd4a9a..d0aa23e81fa 100644
--- a/src/test/run-pass/export-tag-variant.rs
+++ b/src/test/run-pass/export-tag-variant.rs
@@ -12,4 +12,4 @@ mod foo {
     pub enum t { t1, }
 }
 
-pub fn main() { let v = foo::t1; }
+pub fn main() { let _v = foo::t1; }
diff --git a/src/test/run-pass/expr-block-fn.rs b/src/test/run-pass/expr-block-fn.rs
index a44afac80f4..dbb1ac1f649 100644
--- a/src/test/run-pass/expr-block-fn.rs
+++ b/src/test/run-pass/expr-block-fn.rs
@@ -14,7 +14,7 @@ fn test_fn() {
     type t = @fn() -> int;
     fn ten() -> int { return 10; }
     let rs: t = { ten };
-    //assert!((rs() == 10));
+    assert!((rs() == 10));
 }
 
 pub fn main() { test_fn(); }
diff --git a/src/test/run-pass/expr-block-ref.rs b/src/test/run-pass/expr-block-ref.rs
index 8b10bd7c51c..c77cad8858e 100644
--- a/src/test/run-pass/expr-block-ref.rs
+++ b/src/test/run-pass/expr-block-ref.rs
@@ -9,4 +9,4 @@
 // except according to those terms.
 
 // Regression test for issue #388
-pub fn main() { let x = { { @10 } }; }
+pub fn main() { let _x = { { @10 } }; }
diff --git a/src/test/run-pass/expr-elseif-ref.rs b/src/test/run-pass/expr-elseif-ref.rs
index b13f7ceba4b..669acf1feb4 100644
--- a/src/test/run-pass/expr-elseif-ref.rs
+++ b/src/test/run-pass/expr-elseif-ref.rs
@@ -12,6 +12,6 @@
 // values from the else if branch
 pub fn main() {
     let y: @uint = @10u;
-    let x = if false { y } else if true { y } else { y };
+    let _x = if false { y } else if true { y } else { y };
     assert_eq!(*y, 10u);
 }
diff --git a/src/test/run-pass/expr-elseif-ref2.rs b/src/test/run-pass/expr-elseif-ref2.rs
index 2832e4a760c..96acaf43e34 100644
--- a/src/test/run-pass/expr-elseif-ref2.rs
+++ b/src/test/run-pass/expr-elseif-ref2.rs
@@ -9,4 +9,12 @@
 // except according to those terms.
 
 // Regression test for issue #388
-pub fn main() { let x = if false { @0u } else if true { @10u } else { @0u }; }
+pub fn main() {
+    let _x = if false {
+        @0u
+    } else if true {
+        @10u
+    } else {
+        @0u
+    };
+}
diff --git a/src/test/run-pass/expr-empty-ret.rs b/src/test/run-pass/expr-empty-ret.rs
index fa84e81f775..afc7dfaf9b4 100644
--- a/src/test/run-pass/expr-empty-ret.rs
+++ b/src/test/run-pass/expr-empty-ret.rs
@@ -10,6 +10,11 @@
 
 // Issue #521
 
-fn f() { let x = match true { true => { 10 } false => { return } }; }
+fn f() {
+    let _x = match true {
+        true => { 10 }
+        false => { return }
+    };
+}
 
 pub fn main() { }
diff --git a/src/test/run-pass/expr-if-fail-all.rs b/src/test/run-pass/expr-if-fail-all.rs
index 19a046fd27e..a34620d2e1b 100644
--- a/src/test/run-pass/expr-if-fail-all.rs
+++ b/src/test/run-pass/expr-if-fail-all.rs
@@ -10,4 +10,10 @@
 
 // When all branches of an if expression result in fail, the entire if
 // expression results in fail.
-pub fn main() { let x = if true { 10 } else { if true { fail!() } else { fail!() } }; }
+pub fn main() {
+    let _x = if true {
+        10
+    } else {
+        if true { fail!() } else { fail!() }
+    };
+}
diff --git a/src/test/run-pass/expr-match-fail-all.rs b/src/test/run-pass/expr-match-fail-all.rs
index 5234f58578e..aef11a78e0d 100644
--- a/src/test/run-pass/expr-match-fail-all.rs
+++ b/src/test/run-pass/expr-match-fail-all.rs
@@ -14,7 +14,7 @@
 // When all branches of an match expression result in fail, the entire
 // match expression results in fail.
 pub fn main() {
-    let x =
+    let _x =
         match true {
           true => { 10 }
           false => { match true { true => { fail!() } false => { fail!() } } }
diff --git a/src/test/run-pass/expr-match.rs b/src/test/run-pass/expr-match.rs
index a6324b98ebc..1e9ad5283d1 100644
--- a/src/test/run-pass/expr-match.rs
+++ b/src/test/run-pass/expr-match.rs
@@ -22,7 +22,7 @@ fn test_basic() {
 }
 
 fn test_inferrence() {
-    let mut rs = match true { true => { true } false => { false } };
+    let rs = match true { true => { true } false => { false } };
     assert!((rs));
 }
 
diff --git a/src/test/run-pass/extern-mod-syntax.rs b/src/test/run-pass/extern-mod-syntax.rs
index b78f607792b..4643c809961 100644
--- a/src/test/run-pass/extern-mod-syntax.rs
+++ b/src/test/run-pass/extern-mod-syntax.rs
@@ -10,6 +10,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(unused_imports)];
+
 extern mod extra;
 use extra::json::Object;
 
diff --git a/src/test/run-pass/fn-coerce-field.rs b/src/test/run-pass/fn-coerce-field.rs
index 39e4f52873a..22aab1aa661 100644
--- a/src/test/run-pass/fn-coerce-field.rs
+++ b/src/test/run-pass/fn-coerce-field.rs
@@ -14,5 +14,5 @@ struct r {
 
 pub fn main() {
     fn f() {}
-    let i: r = r {field: f};
+    let _i: r = r {field: f};
 }
diff --git a/src/test/run-pass/fn-lval.rs b/src/test/run-pass/fn-lval.rs
index 2754fdea4d4..b19708a9712 100644
--- a/src/test/run-pass/fn-lval.rs
+++ b/src/test/run-pass/fn-lval.rs
@@ -12,7 +12,7 @@
 
 
 // -*- rust -*-
-fn foo(f: extern fn(int) -> int) { }
+fn foo(_f: extern fn(int) -> int) { }
 
 fn id(x: int) -> int { return x; }
 
diff --git a/src/test/run-pass/fn-type-infer.rs b/src/test/run-pass/fn-type-infer.rs
index a753005069f..bb9254589f7 100644
--- a/src/test/run-pass/fn-type-infer.rs
+++ b/src/test/run-pass/fn-type-infer.rs
@@ -8,9 +8,11 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(unused_variable)];
+
 pub fn main() {
     // We should be able to type infer inside of @fns.
-    let f = || {
+    let _f = || {
         let i = 10;
     };
 }
diff --git a/src/test/run-pass/foreign-call-no-runtime.rs b/src/test/run-pass/foreign-call-no-runtime.rs
index e9bf17a037a..1d17959645a 100644
--- a/src/test/run-pass/foreign-call-no-runtime.rs
+++ b/src/test/run-pass/foreign-call-no-runtime.rs
@@ -9,10 +9,8 @@ extern {
 pub fn main() {
     unsafe {
         do run_in_bare_thread() {
-            unsafe {
-                let i = &100;
-                rust_dbg_call(callback, cast::transmute(i));
-            }
+            let i = &100;
+            rust_dbg_call(callback, cast::transmute(i));
         }
     }
 }
diff --git a/src/test/run-pass/foreign-fn-linkname.rs b/src/test/run-pass/foreign-fn-linkname.rs
index 827f950dab2..9ba332fb822 100644
--- a/src/test/run-pass/foreign-fn-linkname.rs
+++ b/src/test/run-pass/foreign-fn-linkname.rs
@@ -10,24 +10,22 @@
 
 extern mod extra;
 
-use std::libc;
-use std::str;
-use std::vec;
-
 mod libc {
+    use std::libc::{c_char, size_t};
+
     #[nolink]
     #[abi = "cdecl"]
     extern {
         #[link_name = "strlen"]
-        pub fn my_strlen(str: *u8) -> uint;
+        pub fn my_strlen(str: *c_char) -> size_t;
     }
 }
 
 fn strlen(str: ~str) -> uint {
-    unsafe {
-        // C string is terminated with a zero
-        do str.with_c_str |buf| {
-            libc::my_strlen(buf as *u8)
+    // C string is terminated with a zero
+    do str.with_c_str |buf| {
+        unsafe {
+            libc::my_strlen(buf) as uint
         }
     }
 }
diff --git a/src/test/run-pass/foreign-mod-unused-const.rs b/src/test/run-pass/foreign-mod-unused-const.rs
index a1f6cf6988b..977488d4529 100644
--- a/src/test/run-pass/foreign-mod-unused-const.rs
+++ b/src/test/run-pass/foreign-mod-unused-const.rs
@@ -9,9 +9,11 @@
 // except according to those terms.
 
 mod foo {
+    use std::libc::c_int;
+
     #[nolink]
     extern {
-        pub static errno: int;
+        pub static errno: c_int;
     }
 }
 
diff --git a/src/test/run-pass/foreign2.rs b/src/test/run-pass/foreign2.rs
index 72bdd5e2946..2cc7e270772 100644
--- a/src/test/run-pass/foreign2.rs
+++ b/src/test/run-pass/foreign2.rs
@@ -21,11 +21,12 @@ mod zed {
 }
 
 mod libc {
+    use std::libc::{c_int, c_void, size_t, ssize_t};
+
     #[abi = "cdecl"]
     #[nolink]
     extern {
-        pub fn write(fd: int, buf: *u8, count: ::std::libc::size_t)
-                     -> ::std::libc::ssize_t;
+        pub fn write(fd: c_int, buf: *c_void, count: size_t) -> ssize_t;
     }
 }
 
diff --git a/src/test/run-pass/generic-drop-glue.rs b/src/test/run-pass/generic-drop-glue.rs
index 9592f9ff736..9e0dbfba0e7 100644
--- a/src/test/run-pass/generic-drop-glue.rs
+++ b/src/test/run-pass/generic-drop-glue.rs
@@ -11,6 +11,6 @@
 
 struct Pair { x: @int, y: @int }
 
-fn f<T>(t: T) { let t1: T = t; }
+fn f<T>(t: T) { let _t1: T = t; }
 
 pub fn main() { let x = Pair {x: @10, y: @12}; f(x); }
diff --git a/src/test/run-pass/generic-fn.rs b/src/test/run-pass/generic-fn.rs
index 34fb22ea0f4..d14ee82e45e 100644
--- a/src/test/run-pass/generic-fn.rs
+++ b/src/test/run-pass/generic-fn.rs
@@ -8,8 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
-
+#[allow(dead_assignment)];
 
 // -*- rust -*-
 fn id<T>(x: T) -> T { return x; }
diff --git a/src/test/run-pass/generic-ivec-leak.rs b/src/test/run-pass/generic-ivec-leak.rs
index ac6e3e1a69a..17de964dd86 100644
--- a/src/test/run-pass/generic-ivec-leak.rs
+++ b/src/test/run-pass/generic-ivec-leak.rs
@@ -10,4 +10,4 @@
 
 enum wrapper<T> { wrapped(T), }
 
-pub fn main() { let w = wrapped(~[1, 2, 3, 4, 5]); }
+pub fn main() { let _w = wrapped(~[1, 2, 3, 4, 5]); }
diff --git a/src/test/run-pass/generic-ivec.rs b/src/test/run-pass/generic-ivec.rs
index 2a288c8abbf..aac390dc6ec 100644
--- a/src/test/run-pass/generic-ivec.rs
+++ b/src/test/run-pass/generic-ivec.rs
@@ -8,5 +8,5 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-fn f<T>(v: @T) { }
+fn f<T>(_v: @T) { }
 pub fn main() { f(@~[1, 2, 3, 4, 5]); }
diff --git a/src/test/run-pass/generic-recursive-tag.rs b/src/test/run-pass/generic-recursive-tag.rs
index af92bb4c8d8..6111acfe42c 100644
--- a/src/test/run-pass/generic-recursive-tag.rs
+++ b/src/test/run-pass/generic-recursive-tag.rs
@@ -13,6 +13,6 @@
 enum list<T> { cons(@T, @list<T>), nil, }
 
 pub fn main() {
-    let a: list<int> =
+    let _a: list<int> =
         cons::<int>(@10, @cons::<int>(@12, @cons::<int>(@13, @nil::<int>)));
 }
diff --git a/src/test/run-pass/generic-tag-corruption.rs b/src/test/run-pass/generic-tag-corruption.rs
index 5cf56b8083d..4fd8b73c819 100644
--- a/src/test/run-pass/generic-tag-corruption.rs
+++ b/src/test/run-pass/generic-tag-corruption.rs
@@ -14,4 +14,4 @@
 // This causes memory corruption in stage0.
 enum thing<K> { some(K), }
 
-pub fn main() { let x = some(~"hi"); }
+pub fn main() { let _x = some(~"hi"); }
diff --git a/src/test/run-pass/generic-tag-local.rs b/src/test/run-pass/generic-tag-local.rs
index 21e113f40a5..fb8140790e3 100644
--- a/src/test/run-pass/generic-tag-local.rs
+++ b/src/test/run-pass/generic-tag-local.rs
@@ -12,4 +12,4 @@
 
 enum clam<T> { a(T), }
 
-pub fn main() { let c = a(3); }
+pub fn main() { let _c = a(3); }
diff --git a/src/test/run-pass/generic-tag-match.rs b/src/test/run-pass/generic-tag-match.rs
index 55b527989de..f740d8cb2d1 100644
--- a/src/test/run-pass/generic-tag-match.rs
+++ b/src/test/run-pass/generic-tag-match.rs
@@ -8,13 +8,13 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
+#[allow(dead_assignment)];
 
 enum foo<T> { arm(T), }
 
 fn altfoo<T>(f: foo<T>) {
     let mut hit = false;
-    match f { arm::<T>(x) => { info!("in arm"); hit = true; } }
+    match f { arm::<T>(_x) => { info!("in arm"); hit = true; } }
     assert!((hit));
 }
 
diff --git a/src/test/run-pass/generic-tag.rs b/src/test/run-pass/generic-tag.rs
index b38c494662f..16836b0d7b8 100644
--- a/src/test/run-pass/generic-tag.rs
+++ b/src/test/run-pass/generic-tag.rs
@@ -8,8 +8,12 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
+#[allow(dead_assignment)];
+#[allow(unused_variable)];
 
 enum option<T> { some(@T), none, }
 
-pub fn main() { let mut a: option<int> = some::<int>(@10); a = none::<int>; }
+pub fn main() {
+    let mut a: option<int> = some::<int>(@10);
+    a = none::<int>;
+}
diff --git a/src/test/run-pass/generic-type-synonym.rs b/src/test/run-pass/generic-type-synonym.rs
index f481797fb44..a1cf581fe4a 100644
--- a/src/test/run-pass/generic-type-synonym.rs
+++ b/src/test/run-pass/generic-type-synonym.rs
@@ -16,6 +16,6 @@ struct Foo<T> {
 
 type Bar<T> = Foo<T>;
 
-fn takebar<T>(b: Bar<T>) { }
+fn takebar<T>(_b: Bar<T>) { }
 
 pub fn main() { }
diff --git a/src/test/run-pass/getopts_ref.rs b/src/test/run-pass/getopts_ref.rs
index 161f37eb444..cebd2910070 100644
--- a/src/test/run-pass/getopts_ref.rs
+++ b/src/test/run-pass/getopts_ref.rs
@@ -16,7 +16,7 @@ use extra::getopts::*;
 
 pub fn main() {
     let args = ~[];
-    let opts = ~[optopt(~"b")];
+    let opts = ~[optopt("b")];
 
     match getopts(args, opts) {
         Ok(ref m)  =>
diff --git a/src/test/run-pass/guards.rs b/src/test/run-pass/guards.rs
index 86bff013eef..bf29fa603c7 100644
--- a/src/test/run-pass/guards.rs
+++ b/src/test/run-pass/guards.rs
@@ -19,7 +19,7 @@ pub fn main() {
         match Pair {x: 10, y: 20} {
           x if x.x < 5 && x.y < 5 => { 1 }
           Pair {x: x, y: y} if x == 10 && y == 20 => { 2 }
-          Pair {x: x, y: y} => { 3 }
+          Pair {x: _x, y: _y} => { 3 }
         };
     assert_eq!(b, 2);
 }
diff --git a/src/test/run-pass/html-literals.rs b/src/test/run-pass/html-literals.rs
index 42a4075d411..be0f9cd046b 100644
--- a/src/test/run-pass/html-literals.rs
+++ b/src/test/run-pass/html-literals.rs
@@ -85,7 +85,7 @@ macro_rules! parse_node (
 )
 
 pub fn main() {
-    let page = html! (
+    let _page = html! (
         <html>
             <head><title>This is the title.</title></head>
             <body>
diff --git a/src/test/run-pass/import-glob-crate.rs b/src/test/run-pass/import-glob-crate.rs
index d09ef3bc25c..2f863d3da62 100644
--- a/src/test/run-pass/import-glob-crate.rs
+++ b/src/test/run-pass/import-glob-crate.rs
@@ -10,12 +10,13 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(dead_assignment)];
 
 extern mod extra;
 use std::vec::*;
 
 pub fn main() {
     let mut v = from_elem(0u, 0);
-    v = append(v, ~[4, 2]);
+    v = append(v, [4, 2]);
     assert_eq!(from_fn(2, |i| 2*(i+1)), ~[2, 4]);
 }
diff --git a/src/test/run-pass/import3.rs b/src/test/run-pass/import3.rs
index 8e53affd2dd..64d47bf2219 100644
--- a/src/test/run-pass/import3.rs
+++ b/src/test/run-pass/import3.rs
@@ -10,6 +10,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(unused_imports)];
 
 use baz::zed;
 use baz::zed::bar;
diff --git a/src/test/run-pass/import4.rs b/src/test/run-pass/import4.rs
index d52877fa11d..d368ab2e993 100644
--- a/src/test/run-pass/import4.rs
+++ b/src/test/run-pass/import4.rs
@@ -17,4 +17,4 @@ mod zed {
     pub fn bar() { info!("bar"); }
 }
 
-pub fn main() { let zed = 42; bar(); }
+pub fn main() { let _zed = 42; bar(); }
diff --git a/src/test/run-pass/import6.rs b/src/test/run-pass/import6.rs
index 296b0c605d6..4f813247576 100644
--- a/src/test/run-pass/import6.rs
+++ b/src/test/run-pass/import6.rs
@@ -10,8 +10,11 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(unused_imports)];
+
 use foo::zed;
 use bar::baz;
+
 mod foo {
     pub mod zed {
         pub fn baz() { info!("baz"); }
diff --git a/src/test/run-pass/import7.rs b/src/test/run-pass/import7.rs
index 969d2b176cf..63a30ccee2c 100644
--- a/src/test/run-pass/import7.rs
+++ b/src/test/run-pass/import7.rs
@@ -10,8 +10,11 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(unused_imports)];
+
 use foo::zed;
 use bar::baz;
+
 mod foo {
     pub mod zed {
         pub fn baz() { info!("baz"); }
diff --git a/src/test/run-pass/init-res-into-things.rs b/src/test/run-pass/init-res-into-things.rs
index cad6661bbce..0b5e58526f6 100644
--- a/src/test/run-pass/init-res-into-things.rs
+++ b/src/test/run-pass/init-res-into-things.rs
@@ -20,9 +20,7 @@ struct Box { x: r }
 #[unsafe_destructor]
 impl Drop for r {
     fn drop(&self) {
-        unsafe {
-            *(self.i) = *(self.i) + 1;
-        }
+        *(self.i) = *(self.i) + 1;
     }
 }
 
@@ -35,7 +33,7 @@ fn r(i: @mut int) -> r {
 fn test_box() {
     let i = @mut 0;
     {
-        let a = @r(i);
+        let _a = @r(i);
     }
     assert_eq!(*i, 1);
 }
@@ -43,7 +41,7 @@ fn test_box() {
 fn test_rec() {
     let i = @mut 0;
     {
-        let a = Box {x: r(i)};
+        let _a = Box {x: r(i)};
     }
     assert_eq!(*i, 1);
 }
@@ -55,7 +53,7 @@ fn test_tag() {
 
     let i = @mut 0;
     {
-        let a = t0(r(i));
+        let _a = t0(r(i));
     }
     assert_eq!(*i, 1);
 }
@@ -63,7 +61,7 @@ fn test_tag() {
 fn test_tup() {
     let i = @mut 0;
     {
-        let a = (r(i), 0);
+        let _a = (r(i), 0);
     }
     assert_eq!(*i, 1);
 }
@@ -71,7 +69,7 @@ fn test_tup() {
 fn test_unique() {
     let i = @mut 0;
     {
-        let a = ~r(i);
+        let _a = ~r(i);
     }
     assert_eq!(*i, 1);
 }
@@ -79,7 +77,7 @@ fn test_unique() {
 fn test_box_rec() {
     let i = @mut 0;
     {
-        let a = @Box {
+        let _a = @Box {
             x: r(i)
         };
     }
diff --git a/src/test/run-pass/instantiable.rs b/src/test/run-pass/instantiable.rs
index 5415a6ad258..41ddce7a96e 100644
--- a/src/test/run-pass/instantiable.rs
+++ b/src/test/run-pass/instantiable.rs
@@ -17,5 +17,5 @@ struct foo(X);
 struct X { x: uint, nxt: *foo }
 
 pub fn main() {
-    let x = foo(X {x: 0, nxt: ptr::null()});
+    let _x = foo(X {x: 0, nxt: ptr::null()});
 }
diff --git a/src/test/run-pass/int.rs b/src/test/run-pass/int.rs
index 33239a1441c..c6632f8cd6c 100644
--- a/src/test/run-pass/int.rs
+++ b/src/test/run-pass/int.rs
@@ -12,4 +12,4 @@
 
 
 // -*- rust -*-
-pub fn main() { let x: int = 10; }
+pub fn main() { let _x: int = 10; }
diff --git a/src/test/run-pass/intrinsic-atomics-cc.rs b/src/test/run-pass/intrinsic-atomics-cc.rs
index ad285e9a85f..a55149b7d03 100644
--- a/src/test/run-pass/intrinsic-atomics-cc.rs
+++ b/src/test/run-pass/intrinsic-atomics-cc.rs
@@ -15,9 +15,7 @@ extern mod cci_intrinsic;
 use cci_intrinsic::atomic_xchg;
 
 pub fn main() {
-    unsafe {
-        let mut x = 1;
-        atomic_xchg(&mut x, 5);
-        assert_eq!(x, 5);
-    }
+    let mut x = 1;
+    atomic_xchg(&mut x, 5);
+    assert_eq!(x, 5);
 }
diff --git a/src/test/run-pass/intrinsic-move-val.rs b/src/test/run-pass/intrinsic-move-val.rs
index 18d63b32a1f..90f352c845b 100644
--- a/src/test/run-pass/intrinsic-move-val.rs
+++ b/src/test/run-pass/intrinsic-move-val.rs
@@ -18,7 +18,7 @@ mod rusti {
 
 pub fn main() {
     unsafe {
-        let mut x = @1;
+        let x = @1;
         let mut y = @2;
         rusti::move_val(&mut y, x);
         assert_eq!(*y, 1);
diff --git a/src/test/run-pass/intrinsics-math.rs b/src/test/run-pass/intrinsics-math.rs
index fb58d8681a5..62a01613c20 100644
--- a/src/test/run-pass/intrinsics-math.rs
+++ b/src/test/run-pass/intrinsics-math.rs
@@ -10,8 +10,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::f64;
-
 mod rusti {
     #[abi = "rust-intrinsic"]
     extern "rust-intrinsic" {
diff --git a/src/test/run-pass/invoke-external-foreign.rs b/src/test/run-pass/invoke-external-foreign.rs
index 4ccd5355987..7e79311c5ad 100644
--- a/src/test/run-pass/invoke-external-foreign.rs
+++ b/src/test/run-pass/invoke-external-foreign.rs
@@ -19,6 +19,6 @@ extern mod foreign_lib;
 
 pub fn main() {
     unsafe {
-        let foo = foreign_lib::rustrt::rust_get_test_int();
+        let _foo = foreign_lib::rustrt::rust_get_test_int();
     }
 }
diff --git a/src/test/run-pass/issue-1696.rs b/src/test/run-pass/issue-1696.rs
index 103679a13ef..d8023d2e716 100644
--- a/src/test/run-pass/issue-1696.rs
+++ b/src/test/run-pass/issue-1696.rs
@@ -11,7 +11,6 @@
 // except according to those terms.
 
 use std::hashmap::HashMap;
-use std::str;
 
 pub fn main() {
     let mut m = HashMap::new();
diff --git a/src/test/run-pass/issue-2214.rs b/src/test/run-pass/issue-2214.rs
index 19785a49cd0..5ca7a589c6c 100644
--- a/src/test/run-pass/issue-2214.rs
+++ b/src/test/run-pass/issue-2214.rs
@@ -12,7 +12,6 @@
 
 use std::cast;
 use std::libc::{c_double, c_int};
-use std::f64::*;
 
 fn to_c_int(v: &mut int) -> &mut c_int {
     unsafe {
diff --git a/src/test/run-pass/issue-2288.rs b/src/test/run-pass/issue-2288.rs
index e951eef3705..57d6fed041a 100644
--- a/src/test/run-pass/issue-2288.rs
+++ b/src/test/run-pass/issue-2288.rs
@@ -16,7 +16,7 @@ struct foo<A> {
 }
 
 impl<A> clam<A> for foo<A> {
-  fn chowder(&self, y: A) {
+  fn chowder(&self, _y: A) {
   }
 }
 
diff --git a/src/test/run-pass/issue-2311-2.rs b/src/test/run-pass/issue-2311-2.rs
index df7c3b6e7d9..b03bfb958af 100644
--- a/src/test/run-pass/issue-2311-2.rs
+++ b/src/test/run-pass/issue-2311-2.rs
@@ -14,7 +14,7 @@ struct foo<A> {
 }
 
 impl<A> foo<A> {
-   pub fn bar<B,C:clam<A>>(&self, c: C) -> B {
+   pub fn bar<B,C:clam<A>>(&self, _c: C) -> B {
      fail!();
    }
 }
diff --git a/src/test/run-pass/issue-2312.rs b/src/test/run-pass/issue-2312.rs
index 59ca02f50fc..14b5efe904d 100644
--- a/src/test/run-pass/issue-2312.rs
+++ b/src/test/run-pass/issue-2312.rs
@@ -15,7 +15,7 @@ trait clam<A> { }
 struct foo(int);
 
 impl foo {
-    pub fn bar<B,C:clam<B>>(&self, c: C) -> B { fail!(); }
+    pub fn bar<B,C:clam<B>>(&self, _c: C) -> B { fail!(); }
 }
 
 pub fn main() { }
diff --git a/src/test/run-pass/issue-2428.rs b/src/test/run-pass/issue-2428.rs
index 548f0689796..4e73be8d84e 100644
--- a/src/test/run-pass/issue-2428.rs
+++ b/src/test/run-pass/issue-2428.rs
@@ -9,7 +9,7 @@
 // except according to those terms.
 
 pub fn main() {
-    let foo = 100;
+    let _foo = 100;
     static quux: int = 5;
 
     enum Stuff {
diff --git a/src/test/run-pass/issue-2445-b.rs b/src/test/run-pass/issue-2445-b.rs
index 432e8c19d2a..91f76fc5ae0 100644
--- a/src/test/run-pass/issue-2445-b.rs
+++ b/src/test/run-pass/issue-2445-b.rs
@@ -13,7 +13,7 @@ struct c1<T> {
 }
 
 impl<T> c1<T> {
-    pub fn f1(&self, x: int) {
+    pub fn f1(&self, _x: int) {
     }
 }
 
@@ -24,7 +24,7 @@ fn c1<T>(x: T) -> c1<T> {
 }
 
 impl<T> c1<T> {
-    pub fn f2(&self, x: int) {
+    pub fn f2(&self, _x: int) {
     }
 }
 
diff --git a/src/test/run-pass/issue-2445.rs b/src/test/run-pass/issue-2445.rs
index 3c0a9355b58..6356c87bfc9 100644
--- a/src/test/run-pass/issue-2445.rs
+++ b/src/test/run-pass/issue-2445.rs
@@ -13,7 +13,7 @@ struct c1<T> {
 }
 
 impl<T> c1<T> {
-    pub fn f1(&self, x: T) {}
+    pub fn f1(&self, _x: T) {}
 }
 
 fn c1<T>(x: T) -> c1<T> {
@@ -23,7 +23,7 @@ fn c1<T>(x: T) -> c1<T> {
 }
 
 impl<T> c1<T> {
-    pub fn f2(&self, x: T) {}
+    pub fn f2(&self, _x: T) {}
 }
 
 
diff --git a/src/test/run-pass/issue-2463.rs b/src/test/run-pass/issue-2463.rs
index 9b774ed5243..051ebd1ec04 100644
--- a/src/test/run-pass/issue-2463.rs
+++ b/src/test/run-pass/issue-2463.rs
@@ -17,13 +17,13 @@ pub fn main() {
         g: 0,
     };
 
-    let y = Pair {
+    let _y = Pair {
         f: 1,
         g: 1,
         .. x
     };
 
-    let z = Pair {
+    let _z = Pair {
         f: 1,
         .. x
     };
diff --git a/src/test/run-pass/issue-2526-a.rs b/src/test/run-pass/issue-2526-a.rs
index 39ce74947e9..851c27deaa0 100644
--- a/src/test/run-pass/issue-2526-a.rs
+++ b/src/test/run-pass/issue-2526-a.rs
@@ -11,6 +11,8 @@
 // xfail-fast
 // aux-build:issue-2526.rs
 
+#[allow(unused_imports)];
+
 extern mod issue_2526;
 use issue_2526::*;
 
diff --git a/src/test/run-pass/issue-2633.rs b/src/test/run-pass/issue-2633.rs
index c86ce953de5..e7da1286137 100644
--- a/src/test/run-pass/issue-2633.rs
+++ b/src/test/run-pass/issue-2633.rs
@@ -26,6 +26,6 @@ fn nyan(kitty: cat, _kitty_info: KittyInfo) {
 }
 
 pub fn main() {
-    let mut kitty = cat();
+    let kitty = cat();
     nyan(kitty, KittyInfo {kitty: kitty});
 }
diff --git a/src/test/run-pass/issue-2718.rs b/src/test/run-pass/issue-2718.rs
index fbd06c5e9ce..226d9beb627 100644
--- a/src/test/run-pass/issue-2718.rs
+++ b/src/test/run-pass/issue-2718.rs
@@ -10,8 +10,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::util;
-
 pub type Task = int;
 
 // tjc: I don't know why
@@ -62,7 +60,7 @@ pub mod pipes {
     // We should consider moving this to ::std::unsafe, although I
     // suspect graydon would want us to use void pointers instead.
     pub unsafe fn uniquify<T>(x: *T) -> ~T {
-        unsafe { cast::transmute(x) }
+        cast::transmute(x)
     }
 
     pub fn swap_state_acq(dst: &mut state, src: state) -> state {
@@ -78,7 +76,7 @@ pub mod pipes {
     }
 
     pub fn send<T:Send>(mut p: send_packet<T>, payload: T) {
-        let mut p = p.unwrap();
+        let p = p.unwrap();
         let mut p = unsafe { uniquify(p) };
         assert!((*p).payload.is_none());
         (*p).payload = Some(payload);
@@ -104,7 +102,7 @@ pub mod pipes {
     }
 
     pub fn recv<T:Send>(mut p: recv_packet<T>) -> Option<T> {
-        let mut p = p.unwrap();
+        let p = p.unwrap();
         let mut p = unsafe { uniquify(p) };
         loop {
             let old_state = swap_state_acq(&mut (*p).state,
@@ -123,7 +121,7 @@ pub mod pipes {
         }
     }
 
-    pub fn sender_terminate<T:Send>(mut p: *packet<T>) {
+    pub fn sender_terminate<T:Send>(p: *packet<T>) {
         let mut p = unsafe { uniquify(p) };
         match swap_state_rel(&mut (*p).state, terminated) {
           empty | blocked => {
@@ -140,7 +138,7 @@ pub mod pipes {
         }
     }
 
-    pub fn receiver_terminate<T:Send>(mut p: *packet<T>) {
+    pub fn receiver_terminate<T:Send>(p: *packet<T>) {
         let mut p = unsafe { uniquify(p) };
         match swap_state_rel(&mut (*p).state, terminated) {
           empty => {
@@ -225,15 +223,13 @@ pub mod pipes {
 
 pub mod pingpong {
     use std::cast;
-    use std::ptr;
-    use std::util;
 
     pub struct ping(::pipes::send_packet<pong>);
     pub struct pong(::pipes::send_packet<ping>);
 
     pub fn liberate_ping(p: ping) -> ::pipes::send_packet<pong> {
         unsafe {
-            let addr : *::pipes::send_packet<pong> = match &p {
+            let _addr : *::pipes::send_packet<pong> = match &p {
               &ping(ref x) => { cast::transmute(x) }
             };
             fail!()
@@ -242,7 +238,7 @@ pub mod pingpong {
 
     pub fn liberate_pong(p: pong) -> ::pipes::send_packet<ping> {
         unsafe {
-            let addr : *::pipes::send_packet<ping> = match &p {
+            let _addr : *::pipes::send_packet<ping> = match &p {
               &pong(ref x) => { cast::transmute(x) }
             };
             fail!()
@@ -254,7 +250,6 @@ pub mod pingpong {
     }
 
     pub mod client {
-        use std::option;
         use pingpong;
 
         pub type ping = ::pipes::send_packet<pingpong::ping>;
diff --git a/src/test/run-pass/issue-2804.rs b/src/test/run-pass/issue-2804.rs
index aa9be2203c6..37cf2658ebc 100644
--- a/src/test/run-pass/issue-2804.rs
+++ b/src/test/run-pass/issue-2804.rs
@@ -37,7 +37,7 @@ fn lookup(table: ~json::Object, key: ~str, default: ~str) -> ~str
     }
 }
 
-fn add_interface(store: int, managed_ip: ~str, data: extra::json::Json) -> (~str, object)
+fn add_interface(_store: int, managed_ip: ~str, data: extra::json::Json) -> (~str, object)
 {
     match &data {
         &extra::json::Object(ref interface) => {
diff --git a/src/test/run-pass/issue-2904.rs b/src/test/run-pass/issue-2904.rs
index 3f861147963..978099be119 100644
--- a/src/test/run-pass/issue-2904.rs
+++ b/src/test/run-pass/issue-2904.rs
@@ -16,7 +16,6 @@ extern mod extra;
 
 use std::io::ReaderUtil;
 use std::io;
-use std::str;
 use std::to_str;
 
 enum square {
diff --git a/src/test/run-pass/issue-2989.rs b/src/test/run-pass/issue-2989.rs
index f2ecd0413bd..d4470dc34ff 100644
--- a/src/test/run-pass/issue-2989.rs
+++ b/src/test/run-pass/issue-2989.rs
@@ -10,7 +10,6 @@
 
 extern mod extra;
 
-use std::io;
 use std::vec;
 
 trait methods {
diff --git a/src/test/run-pass/issue-3012-2.rs b/src/test/run-pass/issue-3012-2.rs
index 7d478bbabeb..c57257502e4 100644
--- a/src/test/run-pass/issue-3012-2.rs
+++ b/src/test/run-pass/issue-3012-2.rs
@@ -17,5 +17,5 @@ use std::libc;
 
 pub fn main() {
     let fd: libc::c_int = 1 as libc::c_int;
-    let sock = @socket::socket_handle(fd);
+    let _sock = @socket::socket_handle(fd);
 }
diff --git a/src/test/run-pass/issue-3429.rs b/src/test/run-pass/issue-3429.rs
index 7bfb928e86d..abea01cefd3 100644
--- a/src/test/run-pass/issue-3429.rs
+++ b/src/test/run-pass/issue-3429.rs
@@ -11,5 +11,5 @@
 pub fn main() {
   let x = 1;
   let y: @fn() -> int = || x;
-  let z = y();
+  let _z = y();
 }
diff --git a/src/test/run-pass/issue-3563-3.rs b/src/test/run-pass/issue-3563-3.rs
index 69cc7851cd9..e6429aa5508 100644
--- a/src/test/run-pass/issue-3563-3.rs
+++ b/src/test/run-pass/issue-3563-3.rs
@@ -20,7 +20,6 @@ extern mod extra;
 
 // Extern mod controls linkage. Use controls the visibility of names to modules that are
 // already linked in. Using WriterUtil allows us to use the write_line method.
-use std::int;
 use std::io::WriterUtil;
 use std::io;
 use std::str;
@@ -67,7 +66,7 @@ impl Drop for AsciiArt {
 fn AsciiArt(width: uint, height: uint, fill: char) -> AsciiArt {
     // Use an anonymous function to build a vector of vectors containing
     // blank characters for each position in our canvas.
-    let mut lines = do vec::build_sized(height) |push| {
+    let lines = do vec::build_sized(height) |push| {
             do height.times {
                 push(vec::from_elem(width, '.'));
             }
diff --git a/src/test/run-pass/issue-3574.rs b/src/test/run-pass/issue-3574.rs
index dc1ce95cfae..eb59b3e12b6 100644
--- a/src/test/run-pass/issue-3574.rs
+++ b/src/test/run-pass/issue-3574.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(unnecessary_allocation)];
+
 // rustc --test match_borrowed_str.rs.rs && ./match_borrowed_str.rs
 extern mod extra;
 
@@ -23,5 +25,6 @@ fn compare(x: &str, y: &str) -> bool
 pub fn main()
 {
     assert!(compare("foo", "foo"));
+    assert!(compare(~"foo", ~"foo"));
     assert!(compare(@"foo", @"foo"));
 }
diff --git a/src/test/run-pass/issue-3743.rs b/src/test/run-pass/issue-3743.rs
index e42b70b5a5e..f666571c2ad 100644
--- a/src/test/run-pass/issue-3743.rs
+++ b/src/test/run-pass/issue-3743.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::io;
-
 struct Vec2 {
     x: float,
     y: float
diff --git a/src/test/run-pass/issue-3860.rs b/src/test/run-pass/issue-3860.rs
index 0a22e8bcfd0..ee9516e552e 100644
--- a/src/test/run-pass/issue-3860.rs
+++ b/src/test/run-pass/issue-3860.rs
@@ -17,7 +17,7 @@ impl Foo {
 }
 
 pub fn main() {
-    let mut x = @mut Foo { x: 3 };
+    let x = @mut Foo { x: 3 };
     // Neither of the next two lines should cause an error
     let _ = x.stuff();
     x.stuff();
diff --git a/src/test/run-pass/issue-3878.rs b/src/test/run-pass/issue-3878.rs
index a5791e38343..0db4e6eb244 100644
--- a/src/test/run-pass/issue-3878.rs
+++ b/src/test/run-pass/issue-3878.rs
@@ -8,8 +8,9 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-pub fn main()
-{
+#[allow(path_statement)];
+
+pub fn main() {
     let y = ~1;
     y;
 }
diff --git a/src/test/run-pass/issue-4107.rs b/src/test/run-pass/issue-4107.rs
index 549d9cb734c..f922857fb3f 100644
--- a/src/test/run-pass/issue-4107.rs
+++ b/src/test/run-pass/issue-4107.rs
@@ -9,7 +9,7 @@
 // except according to those terms.
 
 pub fn main() {
-    let id: &Mat2<float> = &Matrix::identity();
+    let _id: &Mat2<float> = &Matrix::identity();
 }
 
 pub trait Index<Index,Result> { }
diff --git a/src/test/run-pass/issue-4387.rs b/src/test/run-pass/issue-4387.rs
index f6ad444f94a..f2973256199 100644
--- a/src/test/run-pass/issue-4387.rs
+++ b/src/test/run-pass/issue-4387.rs
@@ -9,5 +9,5 @@
 // except according to those terms.
 
 pub fn main() {
-    let foo = [0, ..2*4];
+    let _foo = [0, ..2*4];
 }
diff --git a/src/test/run-pass/issue-4542.rs b/src/test/run-pass/issue-4542.rs
index f12aa6c3356..e6a3d2fa3b2 100644
--- a/src/test/run-pass/issue-4542.rs
+++ b/src/test/run-pass/issue-4542.rs
@@ -14,7 +14,7 @@ pub fn main() {
     let x = os::args();
     for arg in x.iter() {
         match arg.clone() {
-            s => { }
+            _s => { }
         }
     }
 }
diff --git a/src/test/run-pass/issue-4735.rs b/src/test/run-pass/issue-4735.rs
index 3da90ba1edc..c1ea98283b1 100644
--- a/src/test/run-pass/issue-4735.rs
+++ b/src/test/run-pass/issue-4735.rs
@@ -17,12 +17,12 @@ struct NonCopyable(*c_void);
 impl Drop for NonCopyable {
     fn drop(&self) {
         let p = **self;
-        let v = unsafe { transmute::<*c_void, ~int>(p) };
+        let _v = unsafe { transmute::<*c_void, ~int>(p) };
     }
 }
 
 fn main() {
     let t = ~0;
     let p = unsafe { transmute::<~int, *c_void>(t) };
-    let z = NonCopyable(p);
+    let _z = NonCopyable(p);
 }
diff --git a/src/test/run-pass/issue-5192.rs b/src/test/run-pass/issue-5192.rs
index d5a1a779d45..b9048257cfb 100644
--- a/src/test/run-pass/issue-5192.rs
+++ b/src/test/run-pass/issue-5192.rs
@@ -40,5 +40,5 @@ impl Scheduler {
 }
 
 fn main() {
-    let mut sched = Scheduler::new(~UvEventLoop::new() as ~EventLoop);
+    let _sched = Scheduler::new(~UvEventLoop::new() as ~EventLoop);
 }
diff --git a/src/test/run-pass/issue-5550.rs b/src/test/run-pass/issue-5550.rs
index 54abc850532..c1875988dc6 100644
--- a/src/test/run-pass/issue-5550.rs
+++ b/src/test/run-pass/issue-5550.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(dead_assignment)];
+
 fn main() {
     let s: ~str = ~"foobar";
     let mut t: &str = s;
diff --git a/src/test/run-pass/issue-5572.rs b/src/test/run-pass/issue-5572.rs
index 064413dd93c..daf5edd1d28 100644
--- a/src/test/run-pass/issue-5572.rs
+++ b/src/test/run-pass/issue-5572.rs
@@ -1,3 +1,3 @@
-fn foo<T: ::std::cmp::Eq>(t: T) { }
+fn foo<T: ::std::cmp::Eq>(_t: T) { }
 
 fn main() { }
diff --git a/src/test/run-pass/issue-5741.rs b/src/test/run-pass/issue-5741.rs
index d6d09cb0510..039d9bcd16e 100644
--- a/src/test/run-pass/issue-5741.rs
+++ b/src/test/run-pass/issue-5741.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(unreachable_code)];
+
 use std::io;
 
 fn main() {
diff --git a/src/test/run-pass/issue-5884.rs b/src/test/run-pass/issue-5884.rs
index ea0e40be866..519211bdaf2 100644
--- a/src/test/run-pass/issue-5884.rs
+++ b/src/test/run-pass/issue-5884.rs
@@ -18,7 +18,7 @@ struct Bar<'self> {
 }
 
 fn check(a: @Foo) {
-    let mut _ic = Bar{ b: a, a: ~None };
+    let _ic = Bar{ b: a, a: ~None };
 }
 
 pub fn main(){}
diff --git a/src/test/run-pass/issue-5926.rs b/src/test/run-pass/issue-5926.rs
index 7557df27f49..d941e632664 100644
--- a/src/test/run-pass/issue-5926.rs
+++ b/src/test/run-pass/issue-5926.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(unused_mut)];
+
 pub fn main() {
     let  mut your_favorite_numbers = @[1,2,3];
     let  mut my_favorite_numbers = @[4,5,6];
diff --git a/src/test/run-pass/issue-6318.rs b/src/test/run-pass/issue-6318.rs
index bf586eed700..00a94c0cc37 100644
--- a/src/test/run-pass/issue-6318.rs
+++ b/src/test/run-pass/issue-6318.rs
@@ -20,7 +20,7 @@ impl Foo for Struct {}
 
 pub fn main() {
     match A(~Struct as ~Foo) {
-        A(a) => 0,
+        A(_a) => 0,
     };
 }
 
diff --git a/src/test/run-pass/issue-6557.rs b/src/test/run-pass/issue-6557.rs
index 1ba50536978..57224612573 100644
--- a/src/test/run-pass/issue-6557.rs
+++ b/src/test/run-pass/issue-6557.rs
@@ -8,6 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-fn foo(~(x, y): ~(int, int)) {}
+fn foo(~(_x, _y): ~(int, int)) {}
 
 pub fn main() {}
diff --git a/src/test/run-pass/issue-979.rs b/src/test/run-pass/issue-979.rs
index 34a9055ae83..a68aaeb38a2 100644
--- a/src/test/run-pass/issue-979.rs
+++ b/src/test/run-pass/issue-979.rs
@@ -15,9 +15,7 @@ struct r {
 #[unsafe_destructor]
 impl Drop for r {
     fn drop(&self) {
-        unsafe {
-            *(self.b) += 1;
-        }
+        *(self.b) += 1;
     }
 }
 
@@ -30,7 +28,7 @@ fn r(b: @mut int) -> r {
 pub fn main() {
     let b = @mut 0;
     {
-        let p = Some(r(b));
+        let _p = Some(r(b));
     }
 
     assert_eq!(*b, 1);
diff --git a/src/test/run-pass/istr.rs b/src/test/run-pass/istr.rs
index 66ad233866a..254954fbde9 100644
--- a/src/test/run-pass/istr.rs
+++ b/src/test/run-pass/istr.rs
@@ -30,33 +30,33 @@ fn test_heap_assign() {
 fn test_heap_log() { let s = ~"a big ol' string"; info!(s); }
 
 fn test_stack_add() {
-    assert_eq!(~"a" + ~"b", ~"ab");
+    assert_eq!(~"a" + "b", ~"ab");
     let s: ~str = ~"a";
     assert_eq!(s + s, ~"aa");
-    assert_eq!(~"" + ~"", ~"");
+    assert_eq!(~"" + "", ~"");
 }
 
-fn test_stack_heap_add() { assert!((~"a" + ~"bracadabra" == ~"abracadabra")); }
+fn test_stack_heap_add() { assert!((~"a" + "bracadabra" == ~"abracadabra")); }
 
 fn test_heap_add() {
-    assert_eq!(~"this should" + ~" totally work", ~"this should totally work");
+    assert_eq!(~"this should" + " totally work", ~"this should totally work");
 }
 
 fn test_append() {
     let mut s = ~"";
-    s.push_str(~"a");
+    s.push_str("a");
     assert_eq!(s, ~"a");
 
     let mut s = ~"a";
-    s.push_str(~"b");
+    s.push_str("b");
     info!(s.clone());
     assert_eq!(s, ~"ab");
 
     let mut s = ~"c";
-    s.push_str(~"offee");
+    s.push_str("offee");
     assert!(s == ~"coffee");
 
-    s.push_str(~"&tea");
+    s.push_str("&tea");
     assert!(s == ~"coffee&tea");
 }
 
diff --git a/src/test/run-pass/item-attributes.rs b/src/test/run-pass/item-attributes.rs
index 2d2a82ddb1b..29c1c630660 100644
--- a/src/test/run-pass/item-attributes.rs
+++ b/src/test/run-pass/item-attributes.rs
@@ -151,7 +151,7 @@ mod test_distinguish_syntax_ext {
     extern mod extra;
 
     pub fn f() {
-        fmt!("test%s", ~"s");
+        fmt!("test%s", "s");
         #[attr = "val"]
         fn g() { }
     }
diff --git a/src/test/run-pass/ivec-pass-by-value.rs b/src/test/run-pass/ivec-pass-by-value.rs
index 3a3b5746b9d..4a82e6844b9 100644
--- a/src/test/run-pass/ivec-pass-by-value.rs
+++ b/src/test/run-pass/ivec-pass-by-value.rs
@@ -8,5 +8,5 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-fn f(a: ~[int]) { }
+fn f(_a: ~[int]) { }
 pub fn main() { f(~[1, 2, 3, 4, 5]); }
diff --git a/src/test/run-pass/ivec-tag.rs b/src/test/run-pass/ivec-tag.rs
index 8d87ff40061..4b76f2f3214 100644
--- a/src/test/run-pass/ivec-tag.rs
+++ b/src/test/run-pass/ivec-tag.rs
@@ -1,4 +1,3 @@
-use std::comm::*;
 use std::task;
 
 fn producer(c: &Chan<~[u8]>) {
@@ -9,7 +8,7 @@ fn producer(c: &Chan<~[u8]>) {
 
 pub fn main() {
     let (p, ch) = stream::<~[u8]>();
-    let prod = task::spawn(|| producer(&ch) );
+    let _prod = task::spawn(|| producer(&ch) );
 
-    let data: ~[u8] = p.recv();
+    let _data: ~[u8] = p.recv();
 }
diff --git a/src/test/run-pass/lambda-infer-unresolved.rs b/src/test/run-pass/lambda-infer-unresolved.rs
index 056e3a4ff49..9eecc788a69 100644
--- a/src/test/run-pass/lambda-infer-unresolved.rs
+++ b/src/test/run-pass/lambda-infer-unresolved.rs
@@ -16,6 +16,6 @@ struct Refs { refs: ~[int], n: int }
 
 pub fn main() {
     let e = @mut Refs{refs: ~[], n: 0};
-    let f: @fn() = || error!(e.n);
+    let _f: @fn() = || error!(e.n);
     e.refs.push(1);
 }
diff --git a/src/test/run-pass/large-records.rs b/src/test/run-pass/large-records.rs
index 1ba5b10e9b7..788d9cf03e0 100644
--- a/src/test/run-pass/large-records.rs
+++ b/src/test/run-pass/large-records.rs
@@ -26,7 +26,7 @@ struct Large {a: int,
              k: int,
              l: int}
 fn f() {
-    let foo: Large =
+    let _foo: Large =
         Large {a: 0,
          b: 0,
          c: 0,
diff --git a/src/test/run-pass/leak-box-as-tydesc.rs b/src/test/run-pass/leak-box-as-tydesc.rs
index 94bd54e5b7c..0e266c2818c 100644
--- a/src/test/run-pass/leak-box-as-tydesc.rs
+++ b/src/test/run-pass/leak-box-as-tydesc.rs
@@ -10,6 +10,6 @@
 
 
 
-fn leaky<T>(t: T) { }
+fn leaky<T>(_t: T) { }
 
 pub fn main() { let x = @10; leaky::<@int>(x); }
diff --git a/src/test/run-pass/leak-tag-copy.rs b/src/test/run-pass/leak-tag-copy.rs
index 05b8e361ae7..93e2fcd8249 100644
--- a/src/test/run-pass/leak-tag-copy.rs
+++ b/src/test/run-pass/leak-tag-copy.rs
@@ -8,7 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
+#[allow(dead_assignment)];
+#[allow(unused_variable)];
 
 enum t { a, b(@int), }
 
diff --git a/src/test/run-pass/leak-unique-as-tydesc.rs b/src/test/run-pass/leak-unique-as-tydesc.rs
index 98c092a68c9..ab186d935df 100644
--- a/src/test/run-pass/leak-unique-as-tydesc.rs
+++ b/src/test/run-pass/leak-unique-as-tydesc.rs
@@ -10,6 +10,6 @@
 
 
 
-fn leaky<T>(t: T) { }
+fn leaky<T>(_t: T) { }
 
 pub fn main() { let x = ~10; leaky::<~int>(x); }
diff --git a/src/test/run-pass/let-destruct-fresh-mem.rs b/src/test/run-pass/let-destruct-fresh-mem.rs
index 2615396653d..13c12a77fd9 100644
--- a/src/test/run-pass/let-destruct-fresh-mem.rs
+++ b/src/test/run-pass/let-destruct-fresh-mem.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(dead_assignment)];
+
 struct X { x: int, y: @A }
 struct A { a: int }
 
diff --git a/src/test/run-pass/liveness-assign-imm-local-after-loop.rs b/src/test/run-pass/liveness-assign-imm-local-after-loop.rs
index 5d59c4c1471..a2f0c81f116 100644
--- a/src/test/run-pass/liveness-assign-imm-local-after-loop.rs
+++ b/src/test/run-pass/liveness-assign-imm-local-after-loop.rs
@@ -8,7 +8,11 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-fn test(cond: bool) {
+#[allow(dead_assignment)];
+#[allow(unreachable_code)];
+#[allow(unused_variable)];
+
+fn test(_cond: bool) {
     let v: int;
     v = 1;
     loop { } // loop never terminates, so no error is reported
diff --git a/src/test/run-pass/liveness-assign-imm-local-after-ret.rs b/src/test/run-pass/liveness-assign-imm-local-after-ret.rs
index e9c12277286..fe70573744e 100644
--- a/src/test/run-pass/liveness-assign-imm-local-after-ret.rs
+++ b/src/test/run-pass/liveness-assign-imm-local-after-ret.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(unreachable_code)];
+
 fn test() {
     let _v: int;
     _v = 1;
diff --git a/src/test/run-pass/log-err-phi.rs b/src/test/run-pass/log-err-phi.rs
index 31c0c98fa96..586a1377177 100644
--- a/src/test/run-pass/log-err-phi.rs
+++ b/src/test/run-pass/log-err-phi.rs
@@ -10,4 +10,4 @@
 
 
 
-pub fn main() { if false { error!(~"foo" + ~"bar"); } }
+pub fn main() { if false { error!(~"foo" + "bar"); } }
diff --git a/src/test/run-pass/log-knows-the-names-of-variants-in-std.rs b/src/test/run-pass/log-knows-the-names-of-variants-in-std.rs
index d7897223d47..5318e5ca348 100644
--- a/src/test/run-pass/log-knows-the-names-of-variants-in-std.rs
+++ b/src/test/run-pass/log-knows-the-names-of-variants-in-std.rs
@@ -24,7 +24,7 @@ fn check_log<T>(exp: ~str, v: T) {
 }
 
 pub fn main() {
-    let x = list::from_vec(~[a(22u), b(~"hi")]);
+    let x = list::from_vec([a(22u), b(~"hi")]);
     let exp = ~"@Cons(a(22), @Cons(b(~\"hi\"), @Nil))";
     let act = fmt!("%?", x);
     assert!(act == exp);
diff --git a/src/test/run-pass/log-linearized.rs b/src/test/run-pass/log-linearized.rs
index 97b8c77c315..a67eb282a14 100644
--- a/src/test/run-pass/log-linearized.rs
+++ b/src/test/run-pass/log-linearized.rs
@@ -20,12 +20,12 @@ struct Smallintmap<T> {v: ~[option<T>]}
 struct V<T> { v: ~[option<T>] }
 
 fn mk<T:'static>() -> @mut Smallintmap<T> {
-    let mut v: ~[option<T>] = ~[];
+    let v: ~[option<T>] = ~[];
     return @mut Smallintmap {v: v};
 }
 
 fn f<T,U:'static>() {
-    let mut sim = mk::<U>();
+    let sim = mk::<U>();
     error!(sim);
 }
 
diff --git a/src/test/run-pass/long-while.rs b/src/test/run-pass/long-while.rs
index 3e4a33981d9..2b1fb3b779c 100644
--- a/src/test/run-pass/long-while.rs
+++ b/src/test/run-pass/long-while.rs
@@ -8,6 +8,12 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(unused_variable)];
 
-
-pub fn main() { let mut i: int = 0; while i < 1000000 { i += 1; let x = 3; } }
+pub fn main() {
+    let mut i: int = 0;
+    while i < 1000000 {
+        i += 1;
+        let x = 3;
+    }
+}
diff --git a/src/test/run-pass/loop-break-cont-1.rs b/src/test/run-pass/loop-break-cont-1.rs
index 7ed4a0ba5ce..3b7e03ae58d 100644
--- a/src/test/run-pass/loop-break-cont-1.rs
+++ b/src/test/run-pass/loop-break-cont-1.rs
@@ -9,7 +9,7 @@
 // except according to those terms.
 
 pub fn main() {
-  let i = 0u;
+  let _i = 0u;
   loop {
     break;
   }
diff --git a/src/test/run-pass/match-borrowed_str.rs b/src/test/run-pass/match-borrowed_str.rs
index 7a30f5152d0..a33c38d2428 100644
--- a/src/test/run-pass/match-borrowed_str.rs
+++ b/src/test/run-pass/match-borrowed_str.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(unnecessary_allocation)];
+
 fn f1(ref_string: &str) -> ~str {
     match ref_string {
         "a" => ~"found a",
diff --git a/src/test/run-pass/match-implicit-copy-unique.rs b/src/test/run-pass/match-implicit-copy-unique.rs
index 0497f11202f..23074894490 100644
--- a/src/test/run-pass/match-implicit-copy-unique.rs
+++ b/src/test/run-pass/match-implicit-copy-unique.rs
@@ -13,7 +13,7 @@ struct Pair { a: ~int, b: ~int }
 pub fn main() {
     let mut x = ~Pair {a: ~10, b: ~20};
     match x {
-      ~Pair {a: ref mut a, b: ref mut b} => {
+      ~Pair {a: ref mut a, b: ref mut _b} => {
         assert!(**a == 10); *a = ~30; assert!(**a == 30);
       }
     }
diff --git a/src/test/run-pass/match-naked-record-expr.rs b/src/test/run-pass/match-naked-record-expr.rs
index 649bdd202df..433cf23626b 100644
--- a/src/test/run-pass/match-naked-record-expr.rs
+++ b/src/test/run-pass/match-naked-record-expr.rs
@@ -11,7 +11,7 @@
 struct X { x: int }
 
 pub fn main() {
-    let x = match 0 {
+    let _x = match 0 {
       _ => X {
         x: 0
       }.x
diff --git a/src/test/run-pass/match-naked-record.rs b/src/test/run-pass/match-naked-record.rs
index 4d89fdc6910..fe12b7c1585 100644
--- a/src/test/run-pass/match-naked-record.rs
+++ b/src/test/run-pass/match-naked-record.rs
@@ -11,7 +11,7 @@
 struct X { x: int }
 
 pub fn main() {
-    let x = match 0 {
+    let _x = match 0 {
       _ => X {
         x: 0
       }
diff --git a/src/test/run-pass/match-pattern-no-type-params.rs b/src/test/run-pass/match-pattern-no-type-params.rs
index feabf7a8f4d..2076f46e8ab 100644
--- a/src/test/run-pass/match-pattern-no-type-params.rs
+++ b/src/test/run-pass/match-pattern-no-type-params.rs
@@ -11,7 +11,10 @@
 enum maybe<T> { nothing, just(T), }
 
 fn foo(x: maybe<int>) {
-    match x { nothing => { error!("A"); } just(a) => { error!("B"); } }
+    match x {
+        nothing => { error!("A"); }
+        just(_a) => { error!("B"); }
+    }
 }
 
 pub fn main() { }
diff --git a/src/test/run-pass/match-pattern-simple.rs b/src/test/run-pass/match-pattern-simple.rs
index f4056008103..92a75390222 100644
--- a/src/test/run-pass/match-pattern-simple.rs
+++ b/src/test/run-pass/match-pattern-simple.rs
@@ -10,6 +10,6 @@
 
 
 
-fn altsimple(f: int) { match f { x => () } }
+fn altsimple(f: int) { match f { _x => () } }
 
 pub fn main() { }
diff --git a/src/test/run-pass/match-phi.rs b/src/test/run-pass/match-phi.rs
index 40d21588350..c25f573e73b 100644
--- a/src/test/run-pass/match-phi.rs
+++ b/src/test/run-pass/match-phi.rs
@@ -8,7 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
+#[allow(dead_assignment)];
+#[allow(unused_variable)];
 
 enum thing { a, b, c, }
 
diff --git a/src/test/run-pass/match-with-ret-arm.rs b/src/test/run-pass/match-with-ret-arm.rs
index fb85064bfde..06d0b4a80ea 100644
--- a/src/test/run-pass/match-with-ret-arm.rs
+++ b/src/test/run-pass/match-with-ret-arm.rs
@@ -14,7 +14,7 @@ pub fn main() {
     // sometimes we have had trouble finding
     // the right type for f, as we unified
     // bot and u32 here
-    let f = match uint::from_str(~"1234") {
+    let f = match uint::from_str("1234") {
         None => return (),
         Some(num) => num as u32
     };
diff --git a/src/test/run-pass/mod-view-items.rs b/src/test/run-pass/mod-view-items.rs
index 2fc2d4b3716..21e841b1f60 100644
--- a/src/test/run-pass/mod-view-items.rs
+++ b/src/test/run-pass/mod-view-items.rs
@@ -21,4 +21,4 @@ mod m {
     pub fn f() -> ~[int] { vec::from_elem(1u, 0) }
 }
 
-pub fn main() { let x = m::f(); }
+pub fn main() { let _x = m::f(); }
diff --git a/src/test/run-pass/module-qualified-struct-destructure.rs b/src/test/run-pass/module-qualified-struct-destructure.rs
index 87c854d32be..5655ff8ff24 100644
--- a/src/test/run-pass/module-qualified-struct-destructure.rs
+++ b/src/test/run-pass/module-qualified-struct-destructure.rs
@@ -17,5 +17,5 @@ mod m {
 
 pub fn main() {
     let x = m::S { x: 1, y: 2 };
-    let m::S { x: a, y: b } = x;
+    let m::S { x: _a, y: _b } = x;
 }
diff --git a/src/test/run-pass/monad.rs b/src/test/run-pass/monad.rs
index eeac89f4966..4529ebf831f 100644
--- a/src/test/run-pass/monad.rs
+++ b/src/test/run-pass/monad.rs
@@ -47,7 +47,7 @@ pub fn main() {
     assert_eq!(transform(Some(10)), Some(~"11"));
     assert_eq!(transform(None), None);
     assert!((~[~"hi"])
-        .bind(|x| ~[x.clone(), *x + ~"!"] )
-        .bind(|x| ~[x.clone(), *x + ~"?"] ) ==
+        .bind(|x| ~[x.clone(), *x + "!"] )
+        .bind(|x| ~[x.clone(), *x + "?"] ) ==
         ~[~"hi", ~"hi?", ~"hi!", ~"hi!?"]);
 }
diff --git a/src/test/run-pass/move-3.rs b/src/test/run-pass/move-3.rs
index dbc7886adc9..c9e480d3d71 100644
--- a/src/test/run-pass/move-3.rs
+++ b/src/test/run-pass/move-3.rs
@@ -21,7 +21,7 @@ fn test(x: bool, foo: @Triple) -> int {
 
 pub fn main() {
     let x = @Triple{x: 1, y: 2, z: 3};
-    for i in range(0u, 10000u) {
+    for _i in range(0u, 10000u) {
         assert_eq!(test(true, x), 2);
     }
     assert_eq!(test(false, x), 5);
diff --git a/src/test/run-pass/move-nullary-fn.rs b/src/test/run-pass/move-nullary-fn.rs
index ab66bb93635..464d915b2c4 100644
--- a/src/test/run-pass/move-nullary-fn.rs
+++ b/src/test/run-pass/move-nullary-fn.rs
@@ -9,7 +9,7 @@
 // except according to those terms.
 
 // Issue #922
-fn f2(thing: @fn()) { }
+fn f2(_thing: @fn()) { }
 
 fn f(thing: @fn()) {
     f2(thing);
diff --git a/src/test/run-pass/move-out-of-field.rs b/src/test/run-pass/move-out-of-field.rs
index a3c2872803a..93ea35e2629 100644
--- a/src/test/run-pass/move-out-of-field.rs
+++ b/src/test/run-pass/move-out-of-field.rs
@@ -1,5 +1,3 @@
-use std::str;
-
 struct StringBuffer {
     s: ~str
 }
@@ -20,4 +18,4 @@ fn main() {
     sb.append("World!");
     let str = to_str(sb);
     assert_eq!(str, ~"Hello, World!");
-}
\ No newline at end of file
+}
diff --git a/src/test/run-pass/mut-vstore-expr.rs b/src/test/run-pass/mut-vstore-expr.rs
index fa6dde5b3ef..a276e902fbc 100644
--- a/src/test/run-pass/mut-vstore-expr.rs
+++ b/src/test/run-pass/mut-vstore-expr.rs
@@ -9,5 +9,5 @@
 // except according to those terms.
 
 pub fn main() {
-    let x: &mut [int] = &mut [ 1, 2, 3 ];
+    let _x: &mut [int] = &mut [ 1, 2, 3 ];
 }
diff --git a/src/test/run-pass/mutable-alias-vec.rs b/src/test/run-pass/mutable-alias-vec.rs
index da96e146952..d8ea95be658 100644
--- a/src/test/run-pass/mutable-alias-vec.rs
+++ b/src/test/run-pass/mutable-alias-vec.rs
@@ -11,8 +11,6 @@
 // -*- rust -*-
 extern mod extra;
 
-use std::vec;
-
 fn grow(v: &mut ~[int]) {
     v.push(1);
 }
diff --git a/src/test/run-pass/mutable-vec-drop.rs b/src/test/run-pass/mutable-vec-drop.rs
index d807791027f..5e05722053d 100644
--- a/src/test/run-pass/mutable-vec-drop.rs
+++ b/src/test/run-pass/mutable-vec-drop.rs
@@ -8,11 +8,12 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(unused_mut)];
 
 struct Pair { a: int, b: int}
 
 pub fn main() {
     // This just tests whether the vec leaks its members.
-    let mut pvec: ~[@Pair] =
+    let mut _pvec: ~[@Pair] =
         ~[@Pair{a: 1, b: 2}, @Pair{a: 3, b: 4}, @Pair{a: 5, b: 6}];
 }
diff --git a/src/test/run-pass/nested-matchs.rs b/src/test/run-pass/nested-matchs.rs
index 181ec238b0e..cddbf60c382 100644
--- a/src/test/run-pass/nested-matchs.rs
+++ b/src/test/run-pass/nested-matchs.rs
@@ -13,7 +13,7 @@ fn baz() -> ! { fail!(); }
 
 fn foo() {
     match Some::<int>(5) {
-      Some::<int>(x) => {
+      Some::<int>(_x) => {
         let mut bar;
         match None::<int> { None::<int> => { bar = 5; } _ => { baz(); } }
         info!(bar);
diff --git a/src/test/run-pass/nested-pattern.rs b/src/test/run-pass/nested-pattern.rs
index eee2d18be8e..0bc6280393c 100644
--- a/src/test/run-pass/nested-pattern.rs
+++ b/src/test/run-pass/nested-pattern.rs
@@ -16,8 +16,8 @@ enum t { foo(int, uint), bar(int, Option<int>), }
 
 fn nested(o: t) {
     match o {
-      bar(i, Some::<int>(_)) => { error!("wrong pattern matched"); fail!(); }
-      _ => { error!("succeeded"); }
+        bar(_i, Some::<int>(_)) => { error!("wrong pattern matched"); fail!(); }
+        _ => { error!("succeeded"); }
     }
 }
 
diff --git a/src/test/run-pass/nested-patterns.rs b/src/test/run-pass/nested-patterns.rs
index bd9e4bdfd87..d901a625e1d 100644
--- a/src/test/run-pass/nested-patterns.rs
+++ b/src/test/run-pass/nested-patterns.rs
@@ -16,7 +16,7 @@ struct C { c: int }
 pub fn main() {
     match A {a: 10, b: @20} {
         x@A {a, b: @20} => { assert!(x.a == 10); assert!(a == 10); }
-        A {b, _} => { fail!(); }
+        A {b: _b, _} => { fail!(); }
     }
     let mut x@B {b, _} = B {a: 10, b: C {c: 20}};
     x.b.c = 30;
diff --git a/src/test/run-pass/new-vstore-mut-box-syntax.rs b/src/test/run-pass/new-vstore-mut-box-syntax.rs
index 63569c71982..4792caf10c9 100644
--- a/src/test/run-pass/new-vstore-mut-box-syntax.rs
+++ b/src/test/run-pass/new-vstore-mut-box-syntax.rs
@@ -9,6 +9,6 @@
 // except according to those terms.
 
 pub fn main() {
-    let x: @mut [int] = @mut [ 1, 2, 3 ];
+    let _x: @mut [int] = @mut [ 1, 2, 3 ];
 
 }
diff --git a/src/test/run-pass/newlambdas.rs b/src/test/run-pass/newlambdas.rs
index c6536c68a83..9c2a223174c 100644
--- a/src/test/run-pass/newlambdas.rs
+++ b/src/test/run-pass/newlambdas.rs
@@ -12,7 +12,7 @@
 
 fn f(i: int, f: &fn(int) -> int) -> int { f(i) }
 
-fn g(g: &fn()) { }
+fn g(_g: &fn()) { }
 
 fn ff() -> @fn(int) -> int {
     return |x| x + 1;
diff --git a/src/test/run-pass/newtype-struct-drop-run.rs b/src/test/run-pass/newtype-struct-drop-run.rs
index b7fdfabff9a..b917bf0810b 100644
--- a/src/test/run-pass/newtype-struct-drop-run.rs
+++ b/src/test/run-pass/newtype-struct-drop-run.rs
@@ -22,7 +22,7 @@ impl Drop for Foo {
 fn main() {
     let y = @mut 32;
     {
-        let x = Foo(y);
+        let _x = Foo(y);
     }
     assert_eq!(*y, 23);
 }
diff --git a/src/test/run-pass/option-ext.rs b/src/test/run-pass/option-ext.rs
index f37f40935ab..343c4d77702 100644
--- a/src/test/run-pass/option-ext.rs
+++ b/src/test/run-pass/option-ext.rs
@@ -8,13 +8,11 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::str;
-
 pub fn main() {
     let thing = ~"{{ f }}";
-    let f = thing.find_str(~"{{");
+    let f = thing.find_str("{{");
 
     if f.is_none() {
-        println(~"None!");
+        println("None!");
     }
 }
diff --git a/src/test/run-pass/option-unwrap.rs b/src/test/run-pass/option-unwrap.rs
index 5c8cfd68240..a469e4b86eb 100644
--- a/src/test/run-pass/option-unwrap.rs
+++ b/src/test/run-pass/option-unwrap.rs
@@ -17,9 +17,7 @@ struct dtor {
 impl Drop for dtor {
     fn drop(&self) {
         // abuse access to shared mutable state to write this code
-        unsafe {
-            *self.x -= 1;
-        }
+        *self.x -= 1;
     }
 }
 
@@ -35,7 +33,7 @@ pub fn main() {
 
     {
         let b = Some(dtor { x:x });
-        let c = unwrap(b);
+        let _c = unwrap(b);
     }
 
     assert_eq!(*x, 0);
diff --git a/src/test/run-pass/output-slot-variants.rs b/src/test/run-pass/output-slot-variants.rs
index e45d2280bf0..6939a4ab7b7 100644
--- a/src/test/run-pass/output-slot-variants.rs
+++ b/src/test/run-pass/output-slot-variants.rs
@@ -8,6 +8,9 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(dead_assignment)];
+#[allow(unused_variable)];
+
 struct A { a: int, b: int }
 struct Abox { a: @int, b: @int }
 
diff --git a/src/test/run-pass/parse-fail.rs b/src/test/run-pass/parse-fail.rs
index 4a2ff74d064..cd5d089c361 100644
--- a/src/test/run-pass/parse-fail.rs
+++ b/src/test/run-pass/parse-fail.rs
@@ -8,8 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
-
+#[allow(unreachable_code)];
 
 // -*- rust -*-
 fn dont_call_me() { fail!(); info!(1); }
diff --git a/src/test/run-pass/path.rs b/src/test/run-pass/path.rs
index ee90cdc253a..44953c44da3 100644
--- a/src/test/run-pass/path.rs
+++ b/src/test/run-pass/path.rs
@@ -11,7 +11,7 @@
 
 
 mod foo {
-    pub fn bar(offset: uint) { }
+    pub fn bar(_offset: uint) { }
 }
 
 pub fn main() { foo::bar(0u); }
diff --git a/src/test/run-pass/pattern-bound-var-in-for-each.rs b/src/test/run-pass/pattern-bound-var-in-for-each.rs
index d3ae339acf2..fde1999e72d 100644
--- a/src/test/run-pass/pattern-bound-var-in-for-each.rs
+++ b/src/test/run-pass/pattern-bound-var-in-for-each.rs
@@ -16,7 +16,7 @@ fn foo(src: uint) {
 
     match Some(src) {
       Some(src_id) => {
-        for i in range(0u, 10u) {
+        for _i in range(0u, 10u) {
             let yyy = src_id;
             assert_eq!(yyy, 0u);
         }
diff --git a/src/test/run-pass/pattern-in-closure.rs b/src/test/run-pass/pattern-in-closure.rs
index bee3583c6a4..b6cb7f48c6d 100644
--- a/src/test/run-pass/pattern-in-closure.rs
+++ b/src/test/run-pass/pattern-in-closure.rs
@@ -15,7 +15,7 @@ struct Foo {
 
 pub fn main() {
     let f = |(x, _): (int, int)| println((x + 1).to_str());
-    let g = |Foo { x: x, y: y }: Foo| println((x + 1).to_str());
+    let g = |Foo { x: x, y: _y }: Foo| println((x + 1).to_str());
     f((2, 3));
     g(Foo { x: 1, y: 2 });
 }
diff --git a/src/test/run-pass/pred-not-bool.rs b/src/test/run-pass/pred-not-bool.rs
index 127b845ad4c..15bf05fc0cb 100644
--- a/src/test/run-pass/pred-not-bool.rs
+++ b/src/test/run-pass/pred-not-bool.rs
@@ -11,6 +11,6 @@
 // this checks that a pred with a non-bool return
 // type is rejected, even if the pred is never used
 
-fn bad(a: int) -> int { return 37; } //~ ERROR Non-boolean return type
+fn bad(_a: int) -> int { return 37; } //~ ERROR Non-boolean return type
 
 pub fn main() { }
diff --git a/src/test/run-pass/pub-use-xcrate.rs b/src/test/run-pass/pub-use-xcrate.rs
index 74ae81e63e2..ca1290d7f75 100644
--- a/src/test/run-pass/pub-use-xcrate.rs
+++ b/src/test/run-pass/pub-use-xcrate.rs
@@ -17,7 +17,7 @@ extern mod pub_use_xcrate2;
 use pub_use_xcrate2::Foo;
 
 pub fn main() {
-    let foo: Foo = Foo {
+    let _foo: Foo = Foo {
         name: 0
     };
 }
diff --git a/src/test/run-pass/pub_use_mods_xcrate_exe.rs b/src/test/run-pass/pub_use_mods_xcrate_exe.rs
index 953a99e1fd5..ada6cac2eb6 100644
--- a/src/test/run-pass/pub_use_mods_xcrate_exe.rs
+++ b/src/test/run-pass/pub_use_mods_xcrate_exe.rs
@@ -11,6 +11,8 @@
 // xfail-fast
 // aux-build:pub_use_mods_xcrate.rs
 
+#[allow(unused_imports)];
+
 extern mod pub_use_mods_xcrate;
 use pub_use_mods_xcrate::a::c;
 
diff --git a/src/test/run-pass/rcvr-borrowed-to-slice.rs b/src/test/run-pass/rcvr-borrowed-to-slice.rs
index 5ea94020a22..63fe744f253 100644
--- a/src/test/run-pass/rcvr-borrowed-to-slice.rs
+++ b/src/test/run-pass/rcvr-borrowed-to-slice.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::vec;
-
 trait sum {
     fn sum_(self) -> int;
 }
@@ -29,7 +27,7 @@ pub fn main() {
     info!("y==%d", y);
     assert_eq!(y, 6);
 
-    let mut x = ~[1, 2, 3];
+    let x = ~[1, 2, 3];
     let y = x.sum_();
     info!("y==%d", y);
     assert_eq!(y, 6);
diff --git a/src/test/run-pass/region-dependent-addr-of.rs b/src/test/run-pass/region-dependent-addr-of.rs
index f5eb04dd83b..d8076f543ec 100644
--- a/src/test/run-pass/region-dependent-addr-of.rs
+++ b/src/test/run-pass/region-dependent-addr-of.rs
@@ -44,38 +44,38 @@ fn get_v3<'v>(a: &'v A, i: uint) -> &'v int {
     &foo.v3[i]
 }
 
-fn get_v4<'v>(a: &'v A, i: uint) -> &'v int {
+fn get_v4<'v>(a: &'v A, _i: uint) -> &'v int {
     let foo = &a.value;
     &foo.v4.f
 }
 
-fn get_v5<'v>(a: &'v A, i: uint) -> &'v int {
+fn get_v5<'v>(a: &'v A, _i: uint) -> &'v int {
     let foo = &a.value;
     &foo.v5.f
 }
 
-fn get_v6_a<'v>(a: &'v A, i: uint) -> &'v int {
+fn get_v6_a<'v>(a: &'v A, _i: uint) -> &'v int {
     match a.value.v6 {
         Some(ref v) => &v.f,
         None => fail!()
     }
 }
 
-fn get_v6_b<'v>(a: &'v A, i: uint) -> &'v int {
+fn get_v6_b<'v>(a: &'v A, _i: uint) -> &'v int {
     match *a {
         A { value: B { v6: Some(ref v), _ } } => &v.f,
         _ => fail!()
     }
 }
 
-fn get_v6_c<'v>(a: &'v A, i: uint) -> &'v int {
+fn get_v6_c<'v>(a: &'v A, _i: uint) -> &'v int {
     match a {
         &A { value: B { v6: Some(ref v), _ } } => &v.f,
         _ => fail!()
     }
 }
 
-fn get_v5_ref<'v>(a: &'v A, i: uint) -> &'v int {
+fn get_v5_ref<'v>(a: &'v A, _i: uint) -> &'v int {
     match &a.value {
         &B {v5: ~C {f: ref v}, _} => v
     }
diff --git a/src/test/run-pass/regions-appearance-constraint.rs b/src/test/run-pass/regions-appearance-constraint.rs
index e587fa15f5c..2297277fdc0 100644
--- a/src/test/run-pass/regions-appearance-constraint.rs
+++ b/src/test/run-pass/regions-appearance-constraint.rs
@@ -26,6 +26,8 @@ fn testfn(cond: bool) {
     x = @5;
     y = @6;
     assert_eq!(*a, exp);
+    assert_eq!(x, @5);
+    assert_eq!(y, @6);
 }
 
 pub fn main() {
diff --git a/src/test/run-pass/regions-bot.rs b/src/test/run-pass/regions-bot.rs
index 96ae71f0ff3..dbc5bf6626a 100644
--- a/src/test/run-pass/regions-bot.rs
+++ b/src/test/run-pass/regions-bot.rs
@@ -12,7 +12,7 @@
 
 fn produce_static<T>() -> &'static T { fail!(); }
 
-fn foo<T>(x: &T) -> &uint { produce_static() }
+fn foo<T>(_x: &T) -> &uint { produce_static() }
 
 pub fn main() {
 }
diff --git a/src/test/run-pass/regions-creating-enums5.rs b/src/test/run-pass/regions-creating-enums5.rs
index 1c8ed8a3dcd..380e6800299 100644
--- a/src/test/run-pass/regions-creating-enums5.rs
+++ b/src/test/run-pass/regions-creating-enums5.rs
@@ -13,7 +13,7 @@ enum ast<'self> {
     add(&'self ast<'self>, &'self ast<'self>)
 }
 
-fn mk_add_ok<'a>(x: &'a ast<'a>, y: &'a ast<'a>, z: &ast) -> ast<'a> {
+fn mk_add_ok<'a>(x: &'a ast<'a>, y: &'a ast<'a>, _z: &ast) -> ast<'a> {
     add(x, y)
 }
 
diff --git a/src/test/run-pass/regions-fn-subtyping.rs b/src/test/run-pass/regions-fn-subtyping.rs
index 652a7a33396..a6b43df1f88 100644
--- a/src/test/run-pass/regions-fn-subtyping.rs
+++ b/src/test/run-pass/regions-fn-subtyping.rs
@@ -10,6 +10,9 @@
 
 // Issue #2263.
 
+#[allow(dead_assignment)];
+#[allow(unused_variable)];
+
 // Should pass region checking.
 fn ok(f: @fn(x: &uint)) {
     // Here, g is a function that can accept a uint pointer with
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 a9c4a114054..0f6aaeb3861 100644
--- a/src/test/run-pass/resource-assign-is-not-copy.rs
+++ b/src/test/run-pass/resource-assign-is-not-copy.rs
@@ -15,9 +15,7 @@ struct r {
 #[unsafe_destructor]
 impl Drop for r {
     fn drop(&self) {
-        unsafe {
-            *(self.i) += 1;
-        }
+        *(self.i) += 1;
     }
 }
 
diff --git a/src/test/run-pass/resource-cycle2.rs b/src/test/run-pass/resource-cycle2.rs
index 1a82e321bd7..0cfd3a93e53 100644
--- a/src/test/run-pass/resource-cycle2.rs
+++ b/src/test/run-pass/resource-cycle2.rs
@@ -25,7 +25,7 @@ struct r {
 impl Drop for r {
     fn drop(&self) {
         unsafe {
-            let v2: ~int = cast::transmute(self.v.c);
+            let _v2: ~int = cast::transmute(self.v.c);
         }
     }
 }
diff --git a/src/test/run-pass/resource-destruct.rs b/src/test/run-pass/resource-destruct.rs
index 7eac25535a8..08d56a930d2 100644
--- a/src/test/run-pass/resource-destruct.rs
+++ b/src/test/run-pass/resource-destruct.rs
@@ -15,9 +15,7 @@ struct shrinky_pointer {
 #[unsafe_destructor]
 impl Drop for shrinky_pointer {
     fn drop(&self) {
-        unsafe {
-            error!(~"Hello!"); **(self.i) -= 1;
-        }
+        error!(~"Hello!"); **(self.i) -= 1;
     }
 }
 
diff --git a/src/test/run-pass/resource-in-struct.rs b/src/test/run-pass/resource-in-struct.rs
index 836b49f9a15..5fdda9dc079 100644
--- a/src/test/run-pass/resource-in-struct.rs
+++ b/src/test/run-pass/resource-in-struct.rs
@@ -21,9 +21,7 @@ struct close_res {
 #[unsafe_destructor]
 impl Drop for close_res {
     fn drop(&self) {
-        unsafe {
-            *(self.i) = false;
-        }
+        *(self.i) = false;
     }
 }
 
@@ -35,7 +33,7 @@ fn close_res(i: closable) -> close_res {
 
 enum option<T> { none, some(T), }
 
-fn sink(res: option<close_res>) { }
+fn sink(_res: option<close_res>) { }
 
 pub fn main() {
     let c = @mut true;
diff --git a/src/test/run-pass/return-nil.rs b/src/test/run-pass/return-nil.rs
index c86c6394228..b5a81268a2d 100644
--- a/src/test/run-pass/return-nil.rs
+++ b/src/test/run-pass/return-nil.rs
@@ -12,4 +12,4 @@
 
 fn f() { let x: () = (); return x; }
 
-pub fn main() { let x = f(); }
+pub fn main() { let _x = f(); }
diff --git a/src/test/run-pass/send-resource.rs b/src/test/run-pass/send-resource.rs
index e450e1f48c0..e3435fd547b 100644
--- a/src/test/run-pass/send-resource.rs
+++ b/src/test/run-pass/send-resource.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::comm::*;
 use std::task;
 
 struct test {
diff --git a/src/test/run-pass/send-type-inference.rs b/src/test/run-pass/send-type-inference.rs
index 4fcbc789f57..79b05915b01 100644
--- a/src/test/run-pass/send-type-inference.rs
+++ b/src/test/run-pass/send-type-inference.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::comm::*;
-
 // tests that ctrl's type gets inferred properly
 struct Command<K, V> {
     key: K,
@@ -17,7 +15,7 @@ struct Command<K, V> {
 }
 
 fn cache_server<K:Send,V:Send>(c: Chan<Chan<Command<K, V>>>) {
-    let (ctrl_port, ctrl_chan) = stream();
+    let (_ctrl_port, ctrl_chan) = stream();
     c.send(ctrl_chan);
 }
 pub fn main() { }
diff --git a/src/test/run-pass/shadow.rs b/src/test/run-pass/shadow.rs
index 5109f3c92f1..2d3b505dfa6 100644
--- a/src/test/run-pass/shadow.rs
+++ b/src/test/run-pass/shadow.rs
@@ -16,7 +16,7 @@ fn foo(c: ~[int]) {
 
     match none::<int> {
         some::<int>(_) => {
-            for i in c.iter() {
+            for _i in c.iter() {
                 info!(a);
                 let a = 17;
                 b.push(a);
diff --git a/src/test/run-pass/size-and-align.rs b/src/test/run-pass/size-and-align.rs
index 973c3843894..7c9fef93943 100644
--- a/src/test/run-pass/size-and-align.rs
+++ b/src/test/run-pass/size-and-align.rs
@@ -16,7 +16,7 @@ enum clam<T> { a(T, int), b, }
 
 fn uhoh<T>(v: ~[clam<T>]) {
     match v[1] {
-      a::<T>(ref t, ref u) => { info!("incorrect"); info!(u); fail!(); }
+      a::<T>(ref _t, ref u) => { info!("incorrect"); info!(u); fail!(); }
       b::<T> => { info!("correct"); }
     }
 }
diff --git a/src/test/run-pass/spawn-types.rs b/src/test/run-pass/spawn-types.rs
index f448d74c4bd..111e0df1d6d 100644
--- a/src/test/run-pass/spawn-types.rs
+++ b/src/test/run-pass/spawn-types.rs
@@ -14,16 +14,15 @@
   Arnold.
  */
 
-use std::comm::*;
 use std::task;
 
 type ctx = Chan<int>;
 
-fn iotask(cx: &ctx, ip: ~str) {
+fn iotask(_cx: &ctx, ip: ~str) {
     assert_eq!(ip, ~"localhost");
 }
 
 pub fn main() {
-    let (p, ch) = stream::<int>();
+    let (_p, ch) = stream::<int>();
     task::spawn(|| iotask(&ch, ~"localhost") );
 }
diff --git a/src/test/run-pass/stat.rs b/src/test/run-pass/stat.rs
index 057bc57269d..d0dde4ad3c4 100644
--- a/src/test/run-pass/stat.rs
+++ b/src/test/run-pass/stat.rs
@@ -16,7 +16,6 @@ use extra::tempfile;
 use std::io::WriterUtil;
 use std::io;
 use std::os;
-use std::uint;
 
 pub fn main() {
     let dir = tempfile::mkdtemp(&Path("."), "").unwrap();
diff --git a/src/test/run-pass/static-impl.rs b/src/test/run-pass/static-impl.rs
index 457c5a3352d..e2bf525df1a 100644
--- a/src/test/run-pass/static-impl.rs
+++ b/src/test/run-pass/static-impl.rs
@@ -11,7 +11,6 @@
 // xfail-fast
 
 use std::uint;
-use std::vec;
 
 pub trait plus {
     fn plus(&self) -> int;
diff --git a/src/test/run-pass/str-append.rs b/src/test/run-pass/str-append.rs
index 5ac3c0530af..331701107a8 100644
--- a/src/test/run-pass/str-append.rs
+++ b/src/test/run-pass/str-append.rs
@@ -24,8 +24,8 @@ fn test2() {
     // This tests for issue #163
 
     let ff: ~str = ~"abc";
-    let a: ~str = ff + ~"ABC" + ff;
-    let b: ~str = ~"ABC" + ff + ~"ABC";
+    let a: ~str = ff + "ABC" + ff;
+    let b: ~str = ~"ABC" + ff + "ABC";
     info!(a.clone());
     info!(b.clone());
     assert_eq!(a, ~"abcABCabc");
diff --git a/src/test/run-pass/string-self-append.rs b/src/test/run-pass/string-self-append.rs
index e01b2a42f61..b1b90468e94 100644
--- a/src/test/run-pass/string-self-append.rs
+++ b/src/test/run-pass/string-self-append.rs
@@ -10,8 +10,6 @@
 
 extern mod extra;
 
-use std::str;
-
 pub fn main() {
     // Make sure we properly handle repeated self-appends.
     let mut a: ~str = ~"A";
diff --git a/src/test/run-pass/struct-like-variant-construct.rs b/src/test/run-pass/struct-like-variant-construct.rs
index bc2dce680c9..4e16b5cb4cc 100644
--- a/src/test/run-pass/struct-like-variant-construct.rs
+++ b/src/test/run-pass/struct-like-variant-construct.rs
@@ -20,5 +20,5 @@ enum Foo {
 }
 
 pub fn main() {
-    let x = Bar { a: 2, b: 3 };
+    let _x = Bar { a: 2, b: 3 };
 }
diff --git a/src/test/run-pass/struct-order-of-eval-1.rs b/src/test/run-pass/struct-order-of-eval-1.rs
index 42908a339d2..1b708942758 100644
--- a/src/test/run-pass/struct-order-of-eval-1.rs
+++ b/src/test/run-pass/struct-order-of-eval-1.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::str;
-
 struct S { f0: ~str, f1: int }
 
 pub fn main() {
diff --git a/src/test/run-pass/struct-order-of-eval-2.rs b/src/test/run-pass/struct-order-of-eval-2.rs
index b6851a72888..a576e295784 100644
--- a/src/test/run-pass/struct-order-of-eval-2.rs
+++ b/src/test/run-pass/struct-order-of-eval-2.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::str;
-
 struct S { f0: ~str, f1: ~str }
 
 pub fn main() {
diff --git a/src/test/run-pass/swap-overlapping.rs b/src/test/run-pass/swap-overlapping.rs
index 927ec699727..5349d0554b1 100644
--- a/src/test/run-pass/swap-overlapping.rs
+++ b/src/test/run-pass/swap-overlapping.rs
@@ -11,7 +11,6 @@
 // Issue #5041 - avoid overlapping memcpy when src and dest of a swap are the same
 
 use std::ptr;
-use std::util;
 
 pub fn main() {
     let mut test = TestDescAndFn {
diff --git a/src/test/run-pass/syntax-extension-fmt.rs b/src/test/run-pass/syntax-extension-fmt.rs
index 7c90b38bae1..8e5892b6db1 100644
--- a/src/test/run-pass/syntax-extension-fmt.rs
+++ b/src/test/run-pass/syntax-extension-fmt.rs
@@ -17,7 +17,7 @@ fn test(actual: ~str, expected: ~str) {
 }
 
 pub fn main() {
-    test(fmt!("hello %d friends and %s things", 10, ~"formatted"),
+    test(fmt!("hello %d friends and %s things", 10, "formatted"),
          ~"hello 10 friends and formatted things");
 
     test(fmt!("test"), ~"test");
@@ -42,7 +42,7 @@ fn part1() {
     test(fmt!("%i", 2), ~"2");
     test(fmt!("%i", -1), ~"-1");
     test(fmt!("%u", 10u), ~"10");
-    test(fmt!("%s", ~"test"), ~"test");
+    test(fmt!("%s", "test"), ~"test");
     test(fmt!("%b", true), ~"true");
     test(fmt!("%b", false), ~"false");
     test(fmt!("%c", 'A'), ~"A");
@@ -70,7 +70,7 @@ fn part2() {
     test(fmt!("%10d", 500), ~"       500");
     test(fmt!("%10d", -500), ~"      -500");
     test(fmt!("%10u", 500u), ~"       500");
-    test(fmt!("%10s", ~"test"), ~"      test");
+    test(fmt!("%10s", "test"), ~"      test");
     test(fmt!("%10b", true), ~"      true");
     test(fmt!("%10x", 0xff_u), ~"        ff");
     test(fmt!("%10X", 0xff_u), ~"        FF");
@@ -83,7 +83,7 @@ fn part2() {
     test(fmt!("%-10d", 500), ~"500       ");
     test(fmt!("%-10d", -500), ~"-500      ");
     test(fmt!("%-10u", 500u), ~"500       ");
-    test(fmt!("%-10s", ~"test"), ~"test      ");
+    test(fmt!("%-10s", "test"), ~"test      ");
     test(fmt!("%-10b", true), ~"true      ");
     test(fmt!("%-10x", 0xff_u), ~"ff        ");
     test(fmt!("%-10X", 0xff_u), ~"FF        ");
@@ -103,7 +103,7 @@ fn part3() {
     test(fmt!("%.d", 10), ~"10");
     test(fmt!("%.d", -10), ~"-10");
     test(fmt!("%.u", 10u), ~"10");
-    test(fmt!("%.s", ~"test"), ~"");
+    test(fmt!("%.s", "test"), ~"");
     test(fmt!("%.x", 127u), ~"7f");
     test(fmt!("%.o", 10u), ~"12");
     test(fmt!("%.t", 3u), ~"11");
@@ -116,7 +116,7 @@ fn part3() {
     test(fmt!("%.0d", 10), ~"10");
     test(fmt!("%.0d", -10), ~"-10");
     test(fmt!("%.0u", 10u), ~"10");
-    test(fmt!("%.0s", ~"test"), ~"");
+    test(fmt!("%.0s", "test"), ~"");
     test(fmt!("%.0x", 127u), ~"7f");
     test(fmt!("%.0o", 10u), ~"12");
     test(fmt!("%.0t", 3u), ~"11");
@@ -129,7 +129,7 @@ fn part3() {
     test(fmt!("%.1d", 10), ~"10");
     test(fmt!("%.1d", -10), ~"-10");
     test(fmt!("%.1u", 10u), ~"10");
-    test(fmt!("%.1s", ~"test"), ~"t");
+    test(fmt!("%.1s", "test"), ~"t");
     test(fmt!("%.1x", 127u), ~"7f");
     test(fmt!("%.1o", 10u), ~"12");
     test(fmt!("%.1t", 3u), ~"11");
@@ -144,7 +144,7 @@ fn part4() {
     test(fmt!("%.5d", 10), ~"00010");
     test(fmt!("%.5d", -10), ~"-00010");
     test(fmt!("%.5u", 10u), ~"00010");
-    test(fmt!("%.5s", ~"test"), ~"test");
+    test(fmt!("%.5s", "test"), ~"test");
     test(fmt!("%.5x", 127u), ~"0007f");
     test(fmt!("%.5o", 10u), ~"00012");
     test(fmt!("%.5t", 3u), ~"00011");
@@ -195,7 +195,7 @@ fn part5() {
     test(fmt!("%05f", 5.82), ~"05.82");
     // 0-padding a string is undefined but glibc does this:
 
-    test(fmt!("%05s", ~"test"), ~" test");
+    test(fmt!("%05s", "test"), ~" test");
     test(fmt!("%05c", 'A'), ~"    A");
     test(fmt!("%05b", true), ~" true");
     // Left-justify overrides 0-padding
@@ -208,7 +208,7 @@ fn part5() {
     test(fmt!("%-05X", 127u), ~"7F   ");
     test(fmt!("%-05o", 10u), ~"12   ");
     test(fmt!("%-05t", 3u), ~"11   ");
-    test(fmt!("%-05s", ~"test"), ~"test ");
+    test(fmt!("%-05s", "test"), ~"test ");
     test(fmt!("%-05c", 'A'), ~"A    ");
     test(fmt!("%-05b", true), ~"true ");
     test(fmt!("%-05f", 5.82), ~"5.82 ");
@@ -223,7 +223,7 @@ fn part6() {
     test(fmt!("%06.5d", 10), ~" 00010");
     test(fmt!("%06.5d", -10), ~"-00010");
     test(fmt!("%06.5u", 10u), ~" 00010");
-    test(fmt!("%06.5s", ~"test"), ~"  test");
+    test(fmt!("%06.5s", "test"), ~"  test");
     test(fmt!("%06.5c", 'A'), ~"     A");
     test(fmt!("%06.5x", 127u), ~" 0007f");
     test(fmt!("%06.5X", 127u), ~" 0007F");
diff --git a/src/test/run-pass/syntax-extension-minor.rs b/src/test/run-pass/syntax-extension-minor.rs
index 497a55b7c78..819bcbf53f5 100644
--- a/src/test/run-pass/syntax-extension-minor.rs
+++ b/src/test/run-pass/syntax-extension-minor.rs
@@ -14,5 +14,5 @@ pub fn main() {
     assert_eq!(concat_idents!(asd, f_f, dsa), ~"<.<");
 
     assert!(stringify!(use_mention_distinction) ==
-                ~"use_mention_distinction");
+                "use_mention_distinction");
 }
diff --git a/src/test/run-pass/syntax-extension-source-utils.rs b/src/test/run-pass/syntax-extension-source-utils.rs
index eceba6cf7b1..91d10adfbfb 100644
--- a/src/test/run-pass/syntax-extension-source-utils.rs
+++ b/src/test/run-pass/syntax-extension-source-utils.rs
@@ -23,17 +23,17 @@ pub fn main() {
     assert_eq!(line!(), 23);
     //assert!((col!() == 11));
     assert_eq!(indirect_line!(), 25);
-    assert!((file!().to_owned().ends_with(~"syntax-extension-source-utils.rs")));
+    assert!((file!().to_owned().ends_with("syntax-extension-source-utils.rs")));
     assert_eq!(stringify!((2*3) + 5).to_owned(), ~"( 2 * 3 ) + 5");
     assert!(include!("syntax-extension-source-utils-files/includeme.fragment").to_owned()
            == ~"victory robot 6");
 
     assert!(
         include_str!("syntax-extension-source-utils-files/includeme.fragment").to_owned()
-        .starts_with(~"/* this is for "));
+        .starts_with("/* this is for "));
     assert!(
         include_bin!("syntax-extension-source-utils-files/includeme.fragment")
         [1] == (42 as u8)); // '*'
     // The Windows tests are wrapped in an extra module for some reason
-    assert!((m1::m2::where_am_i().ends_with(~"m1::m2")));
+    assert!((m1::m2::where_am_i().ends_with("m1::m2")));
 }
diff --git a/src/test/run-pass/tag-in-block.rs b/src/test/run-pass/tag-in-block.rs
index b3f1d128843..99eacb54d17 100644
--- a/src/test/run-pass/tag-in-block.rs
+++ b/src/test/run-pass/tag-in-block.rs
@@ -11,7 +11,7 @@
 
 
 fn foo() {
-    fn zed(z: bar) { }
+    fn zed(_z: bar) { }
     enum bar { nil, }
     fn baz() { zed(nil); }
 }
diff --git a/src/test/run-pass/task-comm-0.rs b/src/test/run-pass/task-comm-0.rs
index 686cafb0119..7eb879782d1 100644
--- a/src/test/run-pass/task-comm-0.rs
+++ b/src/test/run-pass/task-comm-0.rs
@@ -13,7 +13,6 @@
 extern mod extra;
 
 use std::comm::Chan;
-use std::comm::Port;
 use std::comm;
 use std::task;
 
diff --git a/src/test/run-pass/task-comm-10.rs b/src/test/run-pass/task-comm-10.rs
index 15fbf8c07b8..749f4904ed1 100644
--- a/src/test/run-pass/task-comm-10.rs
+++ b/src/test/run-pass/task-comm-10.rs
@@ -31,7 +31,7 @@ fn start(c: &comm::Chan<comm::Chan<~str>>) {
 
 pub fn main() {
     let (p, ch) = comm::stream();
-    let child = task::spawn(|| start(&ch) );
+    let _child = task::spawn(|| start(&ch) );
 
     let c = p.recv();
     c.send(~"A");
diff --git a/src/test/run-pass/task-comm-11.rs b/src/test/run-pass/task-comm-11.rs
index 8931531d544..5d1a68e6cc7 100644
--- a/src/test/run-pass/task-comm-11.rs
+++ b/src/test/run-pass/task-comm-11.rs
@@ -16,12 +16,12 @@ use std::comm;
 use std::task;
 
 fn start(c: &comm::Chan<comm::Chan<int>>) {
-    let (p, ch) = comm::stream();
+    let (_p, ch) = comm::stream();
     c.send(ch);
 }
 
 pub fn main() {
     let (p, ch) = comm::stream();
-    let child = task::spawn(|| start(&ch) );
-    let c = p.recv();
+    let _child = task::spawn(|| start(&ch) );
+    let _c = p.recv();
 }
diff --git a/src/test/run-pass/task-comm-12.rs b/src/test/run-pass/task-comm-12.rs
index fd2e81d062e..66820bd2bc7 100644
--- a/src/test/run-pass/task-comm-12.rs
+++ b/src/test/run-pass/task-comm-12.rs
@@ -14,7 +14,7 @@ use std::task;
 
 pub fn main() { test00(); }
 
-fn start(task_number: int) { info!("Started / Finished task."); }
+fn start(_task_number: int) { info!("Started / Finished task."); }
 
 fn test00() {
     let i: int = 0;
diff --git a/src/test/run-pass/task-comm-13.rs b/src/test/run-pass/task-comm-13.rs
index 3caf3464563..b039f01bf0c 100644
--- a/src/test/run-pass/task-comm-13.rs
+++ b/src/test/run-pass/task-comm-13.rs
@@ -22,7 +22,7 @@ fn start(c: &comm::Chan<int>, start: int, number_of_messages: int) {
 
 pub fn main() {
     info!("Check that we don't deadlock.");
-    let (p, ch) = comm::stream();
+    let (_p, ch) = comm::stream();
     task::try(|| start(&ch, 0, 10) );
     info!("Joined task");
 }
diff --git a/src/test/run-pass/task-comm-3.rs b/src/test/run-pass/task-comm-3.rs
index b9083f28972..ae6eb6acee4 100644
--- a/src/test/run-pass/task-comm-3.rs
+++ b/src/test/run-pass/task-comm-3.rs
@@ -55,7 +55,7 @@ fn test00() {
 
     // Read from spawned tasks...
     let mut sum = 0;
-    for r in results.iter() {
+    for _r in results.iter() {
         i = 0;
         while i < number_of_messages {
             let value = po.recv();
diff --git a/src/test/run-pass/task-comm-4.rs b/src/test/run-pass/task-comm-4.rs
index 5b0ebb0fa25..ecc344e7ba6 100644
--- a/src/test/run-pass/task-comm-4.rs
+++ b/src/test/run-pass/task-comm-4.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(dead_assignment)];
+
 use std::comm;
 
 pub fn main() { test00(); }
diff --git a/src/test/run-pass/task-comm-5.rs b/src/test/run-pass/task-comm-5.rs
index 472a7d7e3da..40cc7ef49e9 100644
--- a/src/test/run-pass/task-comm-5.rs
+++ b/src/test/run-pass/task-comm-5.rs
@@ -15,7 +15,7 @@ use std::comm;
 pub fn main() { test00(); }
 
 fn test00() {
-    let r: int = 0;
+    let _r: int = 0;
     let mut sum: int = 0;
     let (p, c) = comm::stream();
     let number_of_messages: int = 1000;
diff --git a/src/test/run-pass/task-comm-6.rs b/src/test/run-pass/task-comm-6.rs
index 0da0d587722..b398ab41ed6 100644
--- a/src/test/run-pass/task-comm-6.rs
+++ b/src/test/run-pass/task-comm-6.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(dead_assignment)];
+
 use std::comm::SharedChan;
 use std::comm;
 
diff --git a/src/test/run-pass/task-comm-7.rs b/src/test/run-pass/task-comm-7.rs
index 33d721f5f38..c7c16af597c 100644
--- a/src/test/run-pass/task-comm-7.rs
+++ b/src/test/run-pass/task-comm-7.rs
@@ -10,6 +10,8 @@
 
 // xfail-fast
 
+#[allow(dead_assignment)];
+
 extern mod extra;
 
 use std::comm;
diff --git a/src/test/run-pass/task-life-0.rs b/src/test/run-pass/task-life-0.rs
index 370971bd7b9..b58fe2aad58 100644
--- a/src/test/run-pass/task-life-0.rs
+++ b/src/test/run-pass/task-life-0.rs
@@ -16,6 +16,6 @@ pub fn main() {
     task::spawn(|| child(~"Hello") );
 }
 
-fn child(s: ~str) {
+fn child(_s: ~str) {
 
 }
diff --git a/src/test/run-pass/task-spawn-move-and-copy.rs b/src/test/run-pass/task-spawn-move-and-copy.rs
index f3a105e0852..92697054be3 100644
--- a/src/test/run-pass/task-spawn-move-and-copy.rs
+++ b/src/test/run-pass/task-spawn-move-and-copy.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::comm::*;
 use std::ptr;
 use std::task;
 
diff --git a/src/test/run-pass/terminate-in-initializer.rs b/src/test/run-pass/terminate-in-initializer.rs
index 6d34f7a9701..62543971cce 100644
--- a/src/test/run-pass/terminate-in-initializer.rs
+++ b/src/test/run-pass/terminate-in-initializer.rs
@@ -16,20 +16,20 @@ extern mod extra;
 
 use std::task;
 
-fn test_break() { loop { let x: @int = break; } }
+fn test_break() { loop { let _x: @int = break; } }
 
-fn test_cont() { let mut i = 0; while i < 1 { i += 1; let x: @int = loop; } }
+fn test_cont() { let mut i = 0; while i < 1 { i += 1; let _x: @int = loop; } }
 
-fn test_ret() { let x: @int = return; }
+fn test_ret() { let _x: @int = return; }
 
 fn test_fail() {
-    fn f() { let x: @int = fail!(); }
+    fn f() { let _x: @int = fail!(); }
     task::try(|| f() );
 }
 
 fn test_fail_indirect() {
     fn f() -> ! { fail!(); }
-    fn g() { let x: @int = f(); }
+    fn g() { let _x: @int = f(); }
     task::try(|| g() );
 }
 
diff --git a/src/test/run-pass/trait-default-method-xc.rs b/src/test/run-pass/trait-default-method-xc.rs
index 38b386838a1..0c334909b25 100644
--- a/src/test/run-pass/trait-default-method-xc.rs
+++ b/src/test/run-pass/trait-default-method-xc.rs
@@ -10,7 +10,7 @@ fn f<T: aux::A>(i: T) {
     assert_eq!(i.g(), 10);
 }
 
-fn welp<T>(i: int, x: &T) -> int {
+fn welp<T>(i: int, _x: &T) -> int {
     i.g()
 }
 
diff --git a/src/test/run-pass/trait-inheritance-num5.rs b/src/test/run-pass/trait-inheritance-num5.rs
index f56eca693ea..aee954df461 100644
--- a/src/test/run-pass/trait-inheritance-num5.rs
+++ b/src/test/run-pass/trait-inheritance-num5.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::cmp::{Eq, Ord};
+use std::cmp::Eq;
 use std::num::NumCast;
 
 pub trait NumExt: Eq + Num + NumCast {}
diff --git a/src/test/run-pass/trait-static-method-overwriting.rs b/src/test/run-pass/trait-static-method-overwriting.rs
index 1f5c33e2bc0..e95b80447e4 100644
--- a/src/test/run-pass/trait-static-method-overwriting.rs
+++ b/src/test/run-pass/trait-static-method-overwriting.rs
@@ -23,7 +23,7 @@ mod base {
 
     impl ::base::HasNew<Foo> for Foo {
         fn new() -> Foo {
-            unsafe { println("Foo"); }
+            println("Foo");
             Foo { dummy: () }
         }
     }
@@ -34,13 +34,13 @@ mod base {
 
     impl ::base::HasNew<Bar> for Bar {
         fn new() -> Bar {
-            unsafe { io::println("Bar"); }
+            io::println("Bar");
             Bar { dummy: () }
         }
     }
 }
 
 pub fn main() {
-    let f: base::Foo = base::HasNew::new::<base::Foo, base::Foo>();
-    let b: base::Bar = base::HasNew::new::<base::Bar, base::Bar>();
+    let _f: base::Foo = base::HasNew::new::<base::Foo, base::Foo>();
+    let _b: base::Bar = base::HasNew::new::<base::Bar, base::Bar>();
 }
diff --git a/src/test/run-pass/trait-to-str.rs b/src/test/run-pass/trait-to-str.rs
index 493b810c104..8982b35ff33 100644
--- a/src/test/run-pass/trait-to-str.rs
+++ b/src/test/run-pass/trait-to-str.rs
@@ -38,7 +38,7 @@ pub fn main() {
     assert!((~[2, 3, 4]).to_str() == ~"[2, 3, 4]");
 
     fn indirect<T:to_str>(x: T) -> ~str {
-        x.to_str() + ~"!"
+        x.to_str() + "!"
     }
     assert!(indirect(~[10, 20]) == ~"[10, 20]!");
 
diff --git a/src/test/run-pass/traits-default-method-mut.rs b/src/test/run-pass/traits-default-method-mut.rs
index fee76646458..0c5be72432c 100644
--- a/src/test/run-pass/traits-default-method-mut.rs
+++ b/src/test/run-pass/traits-default-method-mut.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(dead_assignment)];
+#[allow(unused_variable)];
 
 trait Foo {
     fn foo(&self, mut v: int) { v = 1; }
diff --git a/src/test/run-pass/type-in-nested-module.rs b/src/test/run-pass/type-in-nested-module.rs
index e2ccee013c2..f0b7ee072ea 100644
--- a/src/test/run-pass/type-in-nested-module.rs
+++ b/src/test/run-pass/type-in-nested-module.rs
@@ -14,7 +14,7 @@ mod a {
     pub mod b {
         pub type t = int;
 
-        pub fn foo() { let x: t = 10; }
+        pub fn foo() { let _x: t = 10; }
     }
 }
 
diff --git a/src/test/run-pass/type-param-constraints.rs b/src/test/run-pass/type-param-constraints.rs
index 8968fe49bc1..4d6efc9772c 100644
--- a/src/test/run-pass/type-param-constraints.rs
+++ b/src/test/run-pass/type-param-constraints.rs
@@ -10,9 +10,9 @@
 
 // xfail-fast
 
-fn p_foo<T>(pinned: T) { }
-fn s_foo<T>(shared: T) { }
-fn u_foo<T:Send>(unique: T) { }
+fn p_foo<T>(_pinned: T) { }
+fn s_foo<T>(_shared: T) { }
+fn u_foo<T:Send>(_unique: T) { }
 
 struct r {
   i: int,
diff --git a/src/test/run-pass/type-params-in-for-each.rs b/src/test/run-pass/type-params-in-for-each.rs
index a0cecb31427..a5a9075af7b 100644
--- a/src/test/run-pass/type-params-in-for-each.rs
+++ b/src/test/run-pass/type-params-in-for-each.rs
@@ -18,8 +18,10 @@ fn range_(lo: uint, hi: uint, it: &fn(uint)) {
     while lo_ < hi { it(lo_); lo_ += 1u; }
 }
 
-fn create_index<T>(index: ~[S<T>], hash_fn: extern fn(T) -> uint) {
-    range_(0u, 256u, |_i| { let bucket: ~[T] = ~[]; } )
+fn create_index<T>(_index: ~[S<T>], _hash_fn: extern fn(T) -> uint) {
+    do range_(0u, 256u) |_i| {
+        let _bucket: ~[T] = ~[];
+    }
 }
 
 pub fn main() { }
diff --git a/src/test/run-pass/typestate-cfg-nesting.rs b/src/test/run-pass/typestate-cfg-nesting.rs
index 997464ba50a..6a2757c6b30 100644
--- a/src/test/run-pass/typestate-cfg-nesting.rs
+++ b/src/test/run-pass/typestate-cfg-nesting.rs
@@ -8,7 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
+#[allow(dead_assignment)];
+#[allow(unused_variable)];
 
 fn f() {
     let x = 10; let mut y = 11;
diff --git a/src/test/run-pass/uint.rs b/src/test/run-pass/uint.rs
index b865b302668..9b645efb936 100644
--- a/src/test/run-pass/uint.rs
+++ b/src/test/run-pass/uint.rs
@@ -12,4 +12,4 @@
 
 
 // -*- rust -*-
-pub fn main() { let x: uint = 10 as uint; }
+pub fn main() { let _x: uint = 10 as uint; }
diff --git a/src/test/run-pass/unary-minus-suffix-inference.rs b/src/test/run-pass/unary-minus-suffix-inference.rs
index 3277b878a41..7300ca989a3 100644
--- a/src/test/run-pass/unary-minus-suffix-inference.rs
+++ b/src/test/run-pass/unary-minus-suffix-inference.rs
@@ -19,15 +19,15 @@ pub fn main() {
 
     let c = 1;
     let c_neg: i32 = -c;
-    error!(b_neg);
+    error!(c_neg);
 
     let d = 1;
     let d_neg: i64 = -d;
-    error!(b_neg);
+    error!(d_neg);
 
     let e = 1;
     let e_neg: int = -e;
-    error!(b_neg);
+    error!(e_neg);
 
     // intentional overflows
 
diff --git a/src/test/run-pass/unique-assign-drop.rs b/src/test/run-pass/unique-assign-drop.rs
index 2205eaeb97c..9144ecc74f9 100644
--- a/src/test/run-pass/unique-assign-drop.rs
+++ b/src/test/run-pass/unique-assign-drop.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(dead_assignment)];
+
 pub fn main() {
     let i = ~1;
     let mut j = ~2;
diff --git a/src/test/run-pass/unique-containing-tag.rs b/src/test/run-pass/unique-containing-tag.rs
index ba5627fee52..1ebd584aa5f 100644
--- a/src/test/run-pass/unique-containing-tag.rs
+++ b/src/test/run-pass/unique-containing-tag.rs
@@ -11,7 +11,7 @@
 pub fn main() {
     enum t { t1(int), t2(int), }
 
-    let x = ~t1(10);
+    let _x = ~t1(10);
 
     /*alt *x {
       t1(a) {
diff --git a/src/test/run-pass/unique-copy-box.rs b/src/test/run-pass/unique-copy-box.rs
index 3b3074b4a7d..16fb4eba5ba 100644
--- a/src/test/run-pass/unique-copy-box.rs
+++ b/src/test/run-pass/unique-copy-box.rs
@@ -8,16 +8,16 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(unused_variable)];
+
 use std::sys;
 
 pub fn main() {
-    unsafe {
-        let i = ~@1;
-        let j = ~@2;
-        let rc1 = sys::refcount(*i);
-        let j = i.clone();
-        let rc2 = sys::refcount(*i);
-        error!("rc1: %u rc2: %u", rc1, rc2);
-        assert_eq!(rc1 + 1u, rc2);
-    }
+    let i = ~@1;
+    let j = ~@2;
+    let rc1 = sys::refcount(*i);
+    let j = i.clone();
+    let rc2 = sys::refcount(*i);
+    error!("rc1: %u rc2: %u", rc1, rc2);
+    assert_eq!(rc1 + 1u, rc2);
 }
diff --git a/src/test/run-pass/unique-decl.rs b/src/test/run-pass/unique-decl.rs
index 31c1936b05a..74b73d77369 100644
--- a/src/test/run-pass/unique-decl.rs
+++ b/src/test/run-pass/unique-decl.rs
@@ -12,6 +12,6 @@ pub fn main() {
     let _: ~int;
 }
 
-fn f(i: ~int) -> ~int {
+fn f(_i: ~int) -> ~int {
     fail!();
 }
diff --git a/src/test/run-pass/unique-drop-complex.rs b/src/test/run-pass/unique-drop-complex.rs
index aabf6c7878e..2090352f9ce 100644
--- a/src/test/run-pass/unique-drop-complex.rs
+++ b/src/test/run-pass/unique-drop-complex.rs
@@ -9,5 +9,5 @@
 // except according to those terms.
 
 pub fn main() {
-    let x = ~~[0,0,0,0,0];
+    let _x = ~~[0,0,0,0,0];
 }
diff --git a/src/test/run-pass/unique-init.rs b/src/test/run-pass/unique-init.rs
index 55145255840..6a87dd30f7a 100644
--- a/src/test/run-pass/unique-init.rs
+++ b/src/test/run-pass/unique-init.rs
@@ -9,5 +9,5 @@
 // except according to those terms.
 
 pub fn main() {
-    let i = ~100;
+    let _i = ~100;
 }
diff --git a/src/test/run-pass/unique-move-drop.rs b/src/test/run-pass/unique-move-drop.rs
index 29267956a59..cbef0044f8c 100644
--- a/src/test/run-pass/unique-move-drop.rs
+++ b/src/test/run-pass/unique-move-drop.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(unused_variable)];
+
 pub fn main() {
     let i = ~100;
     let j = ~200;
diff --git a/src/test/run-pass/unique-object-move.rs b/src/test/run-pass/unique-object-move.rs
index 540de165213..f6a46741366 100644
--- a/src/test/run-pass/unique-object-move.rs
+++ b/src/test/run-pass/unique-object-move.rs
@@ -20,5 +20,5 @@ impl EventLoop for UvEventLoop { }
 
 pub fn main() {
     let loop_: ~EventLoop = ~UvEventLoop { uvio: 0 } as ~EventLoop;
-    let loop2_ = loop_;
-}
\ No newline at end of file
+    let _loop2_ = loop_;
+}
diff --git a/src/test/run-pass/unique-pinned-nocopy-2.rs b/src/test/run-pass/unique-pinned-nocopy-2.rs
index b0ad7f50420..7b604bb7857 100644
--- a/src/test/run-pass/unique-pinned-nocopy-2.rs
+++ b/src/test/run-pass/unique-pinned-nocopy-2.rs
@@ -15,9 +15,7 @@ struct r {
 #[unsafe_destructor]
 impl Drop for r {
     fn drop(&self) {
-        unsafe {
-            *(self.i) = *(self.i) + 1;
-        }
+        *(self.i) = *(self.i) + 1;
     }
 }
 
@@ -30,7 +28,7 @@ fn r(i: @mut int) -> r {
 pub fn main() {
     let i = @mut 0;
     {
-        let j = ~r(i);
+        let _j = ~r(i);
     }
     assert_eq!(*i, 1);
 }
diff --git a/src/test/run-pass/unique-send.rs b/src/test/run-pass/unique-send.rs
index 05012f789c3..a7d2f6a16a1 100644
--- a/src/test/run-pass/unique-send.rs
+++ b/src/test/run-pass/unique-send.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::comm::*;
-
 pub fn main() {
     let (p, c) = stream();
     c.send(~100);
diff --git a/src/test/run-pass/unit.rs b/src/test/run-pass/unit.rs
index 78510a57459..a74bfc365e8 100644
--- a/src/test/run-pass/unit.rs
+++ b/src/test/run-pass/unit.rs
@@ -8,8 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
-
+#[allow(unused_variable)];
+#[allow(dead_assignment)];
 
 // -*- rust -*-
 fn f(u: ()) { return u; }
diff --git a/src/test/run-pass/unnamed_argument_mode.rs b/src/test/run-pass/unnamed_argument_mode.rs
index 649f424ec36..c52658542f0 100644
--- a/src/test/run-pass/unnamed_argument_mode.rs
+++ b/src/test/run-pass/unnamed_argument_mode.rs
@@ -1,11 +1,11 @@
-fn good(a: &int) {
+fn good(_a: &int) {
 }
 
 // unnamed argument &int is now parse x: &int
 
-fn called(f: &fn(&int)) {
+fn called(_f: &fn(&int)) {
 }
 
 pub fn main() {
-called(good);
+    called(good);
 }
diff --git a/src/test/run-pass/unreachable-code-1.rs b/src/test/run-pass/unreachable-code-1.rs
index 9c658fdc252..d1896a258c6 100644
--- a/src/test/run-pass/unreachable-code-1.rs
+++ b/src/test/run-pass/unreachable-code-1.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(unreachable_code)];
+#[allow(unused_variable)];
 
 fn id(x: bool) -> bool { x }
 
diff --git a/src/test/run-pass/unreachable-code.rs b/src/test/run-pass/unreachable-code.rs
index 153df44e2ef..2c65e2283e8 100644
--- a/src/test/run-pass/unreachable-code.rs
+++ b/src/test/run-pass/unreachable-code.rs
@@ -8,6 +8,9 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(path_statement)];
+#[allow(unreachable_code)];
+#[allow(unused_variable)];
 
 fn id(x: bool) -> bool { x }
 
diff --git a/src/test/run-pass/unused-move-capture.rs b/src/test/run-pass/unused-move-capture.rs
index 62023fdae53..dd70b7daa70 100644
--- a/src/test/run-pass/unused-move-capture.rs
+++ b/src/test/run-pass/unused-move-capture.rs
@@ -9,7 +9,7 @@
 // except according to those terms.
 
 pub fn main() {
-    let x = ~1;
+    let _x = ~1;
     let lam_move: @fn() = || {};
     lam_move();
 }
diff --git a/src/test/run-pass/unused-move.rs b/src/test/run-pass/unused-move.rs
index 69ce791c1a3..375e8664781 100644
--- a/src/test/run-pass/unused-move.rs
+++ b/src/test/run-pass/unused-move.rs
@@ -12,6 +12,8 @@
 // Issue Name: Unused move causes a crash
 // Abstract: zero-fill to block after drop
 
+#[allow(path_statement)];
+
 pub fn main()
 {
     let y = ~1;
diff --git a/src/test/run-pass/unwind-box.rs b/src/test/run-pass/unwind-box.rs
index 2d0967a6fa3..2d21f7e8f98 100644
--- a/src/test/run-pass/unwind-box.rs
+++ b/src/test/run-pass/unwind-box.rs
@@ -14,7 +14,7 @@ extern mod extra;
 use std::task;
 
 fn f() {
-    let a = @0;
+    let _a = @0;
     fail!();
 }
 
diff --git a/src/test/run-pass/unwind-resource2.rs b/src/test/run-pass/unwind-resource2.rs
index 841fb37d29d..e2023bc5f21 100644
--- a/src/test/run-pass/unwind-resource2.rs
+++ b/src/test/run-pass/unwind-resource2.rs
@@ -29,7 +29,7 @@ fn complainer(c: @int) -> complainer {
 }
 
 fn f() {
-    let c = complainer(@0);
+    let _c = complainer(@0);
     fail!();
 }
 
diff --git a/src/test/run-pass/unwind-unique.rs b/src/test/run-pass/unwind-unique.rs
index ba75676298b..85b4c0b9b47 100644
--- a/src/test/run-pass/unwind-unique.rs
+++ b/src/test/run-pass/unwind-unique.rs
@@ -14,7 +14,7 @@ extern mod extra;
 use std::task;
 
 fn f() {
-    let a = ~0;
+    let _a = ~0;
     fail!();
 }
 
diff --git a/src/test/run-pass/use-uninit-match.rs b/src/test/run-pass/use-uninit-match.rs
index 3bfe7d76ce8..4e0e5347d4d 100644
--- a/src/test/run-pass/use-uninit-match.rs
+++ b/src/test/run-pass/use-uninit-match.rs
@@ -12,7 +12,10 @@
 
 fn foo<T>(o: myoption<T>) -> int {
     let mut x: int = 5;
-    match o { none::<T> => { } some::<T>(t) => { x += 1; } }
+    match o {
+        none::<T> => { }
+        some::<T>(_t) => { x += 1; }
+    }
     return x;
 }
 
diff --git a/src/test/run-pass/use-uninit-match2.rs b/src/test/run-pass/use-uninit-match2.rs
index ea627a7c760..46d3bef86b5 100644
--- a/src/test/run-pass/use-uninit-match2.rs
+++ b/src/test/run-pass/use-uninit-match2.rs
@@ -12,7 +12,10 @@
 
 fn foo<T>(o: myoption<T>) -> int {
     let mut x: int;
-    match o { none::<T> => { fail!(); } some::<T>(t) => { x = 5; } }
+    match o {
+        none::<T> => { fail!(); }
+        some::<T>(_t) => { x = 5; }
+    }
     return x;
 }
 
diff --git a/src/test/run-pass/use.rs b/src/test/run-pass/use.rs
index e23fccb28f1..e84ed47333b 100644
--- a/src/test/run-pass/use.rs
+++ b/src/test/run-pass/use.rs
@@ -10,6 +10,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(unused_imports)];
+
 #[no_std];
 extern mod std;
 extern mod zed(name = "std");
diff --git a/src/test/run-pass/utf8_chars.rs b/src/test/run-pass/utf8_chars.rs
index 556d7dd521c..881606d673c 100644
--- a/src/test/run-pass/utf8_chars.rs
+++ b/src/test/run-pass/utf8_chars.rs
@@ -11,7 +11,6 @@
 extern mod extra;
 
 use std::str;
-use std::vec;
 
 pub fn main() {
     // Chars of 1, 2, 3, and 4 bytes
@@ -28,19 +27,19 @@ pub fn main() {
 
     assert!((str::is_utf8(s.as_bytes())));
     // invalid prefix
-    assert!((!str::is_utf8(~[0x80_u8])));
+    assert!((!str::is_utf8([0x80_u8])));
     // invalid 2 byte prefix
-    assert!((!str::is_utf8(~[0xc0_u8])));
-    assert!((!str::is_utf8(~[0xc0_u8, 0x10_u8])));
+    assert!((!str::is_utf8([0xc0_u8])));
+    assert!((!str::is_utf8([0xc0_u8, 0x10_u8])));
     // invalid 3 byte prefix
-    assert!((!str::is_utf8(~[0xe0_u8])));
-    assert!((!str::is_utf8(~[0xe0_u8, 0x10_u8])));
-    assert!((!str::is_utf8(~[0xe0_u8, 0xff_u8, 0x10_u8])));
+    assert!((!str::is_utf8([0xe0_u8])));
+    assert!((!str::is_utf8([0xe0_u8, 0x10_u8])));
+    assert!((!str::is_utf8([0xe0_u8, 0xff_u8, 0x10_u8])));
     // invalid 4 byte prefix
-    assert!((!str::is_utf8(~[0xf0_u8])));
-    assert!((!str::is_utf8(~[0xf0_u8, 0x10_u8])));
-    assert!((!str::is_utf8(~[0xf0_u8, 0xff_u8, 0x10_u8])));
-    assert!((!str::is_utf8(~[0xf0_u8, 0xff_u8, 0xff_u8, 0x10_u8])));
+    assert!((!str::is_utf8([0xf0_u8])));
+    assert!((!str::is_utf8([0xf0_u8, 0x10_u8])));
+    assert!((!str::is_utf8([0xf0_u8, 0xff_u8, 0x10_u8])));
+    assert!((!str::is_utf8([0xf0_u8, 0xff_u8, 0xff_u8, 0x10_u8])));
 
     let mut stack = ~"a×c€";
     assert_eq!(stack.pop_char(), '€');
diff --git a/src/test/run-pass/vec-drop.rs b/src/test/run-pass/vec-drop.rs
index 16cca5cd6cf..d387d7820a4 100644
--- a/src/test/run-pass/vec-drop.rs
+++ b/src/test/run-pass/vec-drop.rs
@@ -15,6 +15,6 @@ struct Pair { x: int, y: int }
 pub fn main() {
     // This just tests whether the vec leaks its members.
 
-    let pvec: ~[@Pair] =
+    let _pvec: ~[@Pair] =
         ~[@Pair{x: 1, y: 2}, @Pair{x: 3, y: 4}, @Pair{x: 5, y: 6}];
 }
diff --git a/src/test/run-pass/vec-ivec-deadlock.rs b/src/test/run-pass/vec-ivec-deadlock.rs
index 8b6e037e840..ccc7768469d 100644
--- a/src/test/run-pass/vec-ivec-deadlock.rs
+++ b/src/test/run-pass/vec-ivec-deadlock.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[allow(dead_assignment)];
+
 pub fn main() {
     let a = ~[1, 2, 3, 4, 5];
     let mut b = ~[a.clone(), a.clone()];
diff --git a/src/test/run-pass/vec-matching-autoslice.rs b/src/test/run-pass/vec-matching-autoslice.rs
index 13a8e324d43..2ad21aba6cd 100644
--- a/src/test/run-pass/vec-matching-autoslice.rs
+++ b/src/test/run-pass/vec-matching-autoslice.rs
@@ -17,6 +17,6 @@ pub fn main() {
             assert_eq!(b, 2);
             assert!(tail.is_empty());
         }
-        ([..tail], _) => fail!()
+        ([.._tail], _) => fail!()
     }
 }
diff --git a/src/test/run-pass/vec-slice-drop.rs b/src/test/run-pass/vec-slice-drop.rs
index 54626e52d23..85293405695 100644
--- a/src/test/run-pass/vec-slice-drop.rs
+++ b/src/test/run-pass/vec-slice-drop.rs
@@ -16,9 +16,7 @@ struct foo {
 #[unsafe_destructor]
 impl Drop for foo {
     fn drop(&self) {
-        unsafe {
-            *self.x += 1;
-        }
+        *self.x += 1;
     }
 }
 
diff --git a/src/test/run-pass/vec-tail-matching.rs b/src/test/run-pass/vec-tail-matching.rs
index 6a60308f2e7..2785270569f 100644
--- a/src/test/run-pass/vec-tail-matching.rs
+++ b/src/test/run-pass/vec-tail-matching.rs
@@ -16,7 +16,7 @@ pub fn main() {
             assert!(tail[1].string == ~"baz");
 
             match tail {
-                [Foo { _ }, _, Foo { _ }, ..tail] => {
+                [Foo { _ }, _, Foo { _ }, .. _tail] => {
                     ::std::util::unreachable();
                 }
                 [Foo { string: ref a }, Foo { string: ref b }] => {
diff --git a/src/test/run-pass/vector-no-ann-2.rs b/src/test/run-pass/vector-no-ann-2.rs
index f73b75b2f4c..60124a79fcb 100644
--- a/src/test/run-pass/vector-no-ann-2.rs
+++ b/src/test/run-pass/vector-no-ann-2.rs
@@ -8,4 +8,4 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-pub fn main() { let quux: @~[uint] = @~[]; }
+pub fn main() { let _quux: @~[uint] = @~[]; }
diff --git a/src/test/run-pass/weird-exprs.rs b/src/test/run-pass/weird-exprs.rs
index 565188829d6..7c20f9823d9 100644
--- a/src/test/run-pass/weird-exprs.rs
+++ b/src/test/run-pass/weird-exprs.rs
@@ -71,7 +71,7 @@ fn angrydome() {
       break; }
 }
 
-fn evil_lincoln() { let evil = info!("lincoln"); }
+fn evil_lincoln() { let _evil = info!("lincoln"); }
 
 pub fn main() {
     strange();
diff --git a/src/test/run-pass/while-flow-graph.rs b/src/test/run-pass/while-flow-graph.rs
index 2e9fb981be4..36d902dc2e0 100644
--- a/src/test/run-pass/while-flow-graph.rs
+++ b/src/test/run-pass/while-flow-graph.rs
@@ -10,4 +10,4 @@
 
 
 
-pub fn main() { let x: int = 10; while x == 10 && x == 11 { let y = 0xf00; } }
+pub fn main() { let x: int = 10; while x == 10 && x == 11 { let _y = 0xf00; } }
diff --git a/src/test/run-pass/while-loop-constraints-2.rs b/src/test/run-pass/while-loop-constraints-2.rs
index de87a40a61f..fb629a8deae 100644
--- a/src/test/run-pass/while-loop-constraints-2.rs
+++ b/src/test/run-pass/while-loop-constraints-2.rs
@@ -8,8 +8,10 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-pub fn main() {
+#[allow(dead_assignment)];
+#[allow(unused_variable)];
 
+pub fn main() {
     let mut y: int = 42;
     let mut z: int = 42;
     let mut x: int;
diff --git a/src/test/run-pass/while-with-break.rs b/src/test/run-pass/while-with-break.rs
index a7ab011f8e1..185b686c24e 100644
--- a/src/test/run-pass/while-with-break.rs
+++ b/src/test/run-pass/while-with-break.rs
@@ -8,7 +8,7 @@ pub fn main() {
         info!(i);
         i = i + 1;
         if i == 95 {
-            let v: ~[int] =
+            let _v: ~[int] =
                 ~[1, 2, 3, 4, 5]; // we check that it is freed by break
 
             info!("breaking");
diff --git a/src/test/run-pass/x86stdcall2.rs b/src/test/run-pass/x86stdcall2.rs
index a0159e7413e..395aca5f8ed 100644
--- a/src/test/run-pass/x86stdcall2.rs
+++ b/src/test/run-pass/x86stdcall2.rs
@@ -14,10 +14,10 @@ pub type SIZE_T = u32;
 pub type LPVOID = uint;
 pub type BOOL = u8;
 
+#[cfg(target_os = "win32")]
 mod kernel32 {
     use super::{HANDLE, DWORD, SIZE_T, LPVOID, BOOL};
 
-    #[cfg(target_os = "win32")]
     #[abi = "stdcall"]
     extern "stdcall" {
         pub fn GetProcessHeap() -> HANDLE;
diff --git a/src/test/run-pass/xcrate-unit-struct.rs b/src/test/run-pass/xcrate-unit-struct.rs
index d6522231f65..79740c7b5a5 100644
--- a/src/test/run-pass/xcrate-unit-struct.rs
+++ b/src/test/run-pass/xcrate-unit-struct.rs
@@ -12,8 +12,6 @@
 // xfail-fast
 extern mod xcrate_unit_struct;
 
-use std::util;
-
 static s1: xcrate_unit_struct::Struct = xcrate_unit_struct::Struct;
 static s2: xcrate_unit_struct::Unit = xcrate_unit_struct::Unit;
 static s3: xcrate_unit_struct::Unit =