about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustc/lint/context.rs4
-rw-r--r--src/librustc_driver/driver.rs7
-rw-r--r--src/test/auxiliary/lint_for_crate.rs2
-rw-r--r--src/test/auxiliary/lint_group_plugin_test.rs2
-rw-r--r--src/test/auxiliary/lint_plugin_test.rs8
-rw-r--r--src/test/compile-fail/autoderef-full-lval.rs1
-rw-r--r--src/test/compile-fail/borrow-tuple-fields.rs1
-rw-r--r--src/test/compile-fail/cast-as-bool.rs2
-rw-r--r--src/test/compile-fail/dropck_arr_cycle_checked.rs1
-rw-r--r--src/test/compile-fail/dropck_tarena_cycle_checked.rs2
-rw-r--r--src/test/compile-fail/dropck_tarena_unsound_drop.rs2
-rw-r--r--src/test/compile-fail/dropck_vec_cycle_checked.rs1
-rw-r--r--src/test/compile-fail/for-loop-hygiene.rs2
-rw-r--r--src/test/compile-fail/issue-17283.rs2
-rw-r--r--src/test/compile-fail/issue-23729.rs2
-rw-r--r--src/test/compile-fail/lint-visible-private-types.rs1
-rw-r--r--src/test/compile-fail/loop-does-not-diverge.rs2
-rw-r--r--src/test/compile-fail/variance-trait-bounds.rs1
-rw-r--r--src/test/compile-fail/variance-types.rs1
-rw-r--r--src/test/compile-fail/vec-must-not-hide-type-from-dropck.rs1
-rw-r--r--src/test/pretty/issue-4264.pp7
-rw-r--r--src/test/run-make/execution-engine/test.rs2
22 files changed, 20 insertions, 34 deletions
diff --git a/src/librustc/lint/context.rs b/src/librustc/lint/context.rs
index 3f1a1ed48a1..7004dac3d4f 100644
--- a/src/librustc/lint/context.rs
+++ b/src/librustc/lint/context.rs
@@ -505,10 +505,10 @@ pub trait LintContext: Sized {
 impl<'a> EarlyContext<'a> {
     fn new(sess: &'a Session,
            krate: &'a ast::Crate) -> EarlyContext<'a> {
-        // We want to own the lint store, so move it out of the session.
+        // We want to own the lint store, so move it out of the session. Remember
+        // to put it back later...
         let lint_store = mem::replace(&mut *sess.lint_store.borrow_mut(),
                                       LintStore::new());
-
         EarlyContext {
             sess: sess,
             krate: krate,
diff --git a/src/librustc_driver/driver.rs b/src/librustc_driver/driver.rs
index 4ec13ba3599..ff2780918f7 100644
--- a/src/librustc_driver/driver.rs
+++ b/src/librustc_driver/driver.rs
@@ -129,6 +129,9 @@ pub fn compile_input(sess: Session,
                                                                      &ast_map.krate(),
                                                                      &id[..]));
 
+        time(sess.time_passes(), "early lint checks", || {
+            lint::check_ast_crate(&sess, &expanded_crate)
+        });
 
         phase_3_run_analysis_passes(sess,
                                     ast_map,
@@ -597,10 +600,6 @@ pub fn phase_2_configure_and_expand(sess: &Session,
         sess.abort_if_errors();
     });
 
-    time(time_passes, "early lint checks", || {
-        lint::check_ast_crate(sess, &krate)
-    });
-
     Some(krate)
 }
 
diff --git a/src/test/auxiliary/lint_for_crate.rs b/src/test/auxiliary/lint_for_crate.rs
index 4c9c7f443c2..927b3e1cba9 100644
--- a/src/test/auxiliary/lint_for_crate.rs
+++ b/src/test/auxiliary/lint_for_crate.rs
@@ -17,7 +17,7 @@
 extern crate rustc_front;
 extern crate syntax;
 
-use rustc::lint::{Context, LintPass, LintPassObject, LintArray};
+use rustc::lint::{Context, LintContext, LintPass, LintPassObject, LintArray};
 use rustc::plugin::Registry;
 use rustc_front::hir;
 use syntax::attr;
diff --git a/src/test/auxiliary/lint_group_plugin_test.rs b/src/test/auxiliary/lint_group_plugin_test.rs
index adc194fa454..45393913578 100644
--- a/src/test/auxiliary/lint_group_plugin_test.rs
+++ b/src/test/auxiliary/lint_group_plugin_test.rs
@@ -20,7 +20,7 @@ extern crate rustc_front;
 extern crate rustc;
 
 use rustc_front::hir;
-use rustc::lint::{Context, LintPass, LintPassObject, LintArray};
+use rustc::lint::{Context, LintContext, LintPass, LintPassObject, LintArray};
 use rustc::plugin::Registry;
 
 declare_lint!(TEST_LINT, Warn, "Warn about items named 'lintme'");
diff --git a/src/test/auxiliary/lint_plugin_test.rs b/src/test/auxiliary/lint_plugin_test.rs
index e6f91db2300..0dedd78abee 100644
--- a/src/test/auxiliary/lint_plugin_test.rs
+++ b/src/test/auxiliary/lint_plugin_test.rs
@@ -13,15 +13,15 @@
 #![feature(plugin_registrar)]
 #![feature(box_syntax, rustc_private)]
 
-extern crate rustc_front;
+extern crate syntax;
 
 // Load rustc as a plugin to get macros
 #[macro_use]
 extern crate rustc;
 
-use rustc::lint::{Context, LintPass, LintPassObject, LintArray};
+use rustc::lint::{EarlyContext, LintContext, LintPass, LintPassObject, LintArray};
 use rustc::plugin::Registry;
-use rustc_front::hir;
+use syntax::ast;
 declare_lint!(TEST_LINT, Warn, "Warn about items named 'lintme'");
 
 struct Pass;
@@ -31,7 +31,7 @@ impl LintPass for Pass {
         lint_array!(TEST_LINT)
     }
 
-    fn check_item(&mut self, cx: &Context, it: &hir::Item) {
+    fn check_ast_item(&mut self, cx: &EarlyContext, it: &ast::Item) {
         if it.ident.name == "lintme" {
             cx.span_lint(TEST_LINT, it.span, "item is named 'lintme'");
         }
diff --git a/src/test/compile-fail/autoderef-full-lval.rs b/src/test/compile-fail/autoderef-full-lval.rs
index 2c5749e0d5d..0d666a49200 100644
--- a/src/test/compile-fail/autoderef-full-lval.rs
+++ b/src/test/compile-fail/autoderef-full-lval.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-#![allow(unknown_features)]
 #![feature(box_syntax)]
 
 struct clam {
diff --git a/src/test/compile-fail/borrow-tuple-fields.rs b/src/test/compile-fail/borrow-tuple-fields.rs
index b1abbad5253..f3417fafe90 100644
--- a/src/test/compile-fail/borrow-tuple-fields.rs
+++ b/src/test/compile-fail/borrow-tuple-fields.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-#![allow(unknown_features)]
 #![feature(box_syntax)]
 
 struct Foo(Box<isize>, isize);
diff --git a/src/test/compile-fail/cast-as-bool.rs b/src/test/compile-fail/cast-as-bool.rs
index 92cbbaa1cb4..52a4950022d 100644
--- a/src/test/compile-fail/cast-as-bool.rs
+++ b/src/test/compile-fail/cast-as-bool.rs
@@ -9,7 +9,7 @@
 // except according to those terms.
 
 fn main() {
-    let u = (5 as bool);
+    let u = 5 as bool;
     //~^ ERROR cannot cast as `bool`
     //~^^ HELP compare with zero instead
 }
diff --git a/src/test/compile-fail/dropck_arr_cycle_checked.rs b/src/test/compile-fail/dropck_arr_cycle_checked.rs
index 19f790ddc90..9cfeaca6dfa 100644
--- a/src/test/compile-fail/dropck_arr_cycle_checked.rs
+++ b/src/test/compile-fail/dropck_arr_cycle_checked.rs
@@ -19,7 +19,6 @@ use std::cell::Cell;
 use id::Id;
 
 mod s {
-    #![allow(unstable)]
     use std::sync::atomic::{AtomicUsize, Ordering};
 
     static S_COUNT: AtomicUsize = AtomicUsize::new(0);
diff --git a/src/test/compile-fail/dropck_tarena_cycle_checked.rs b/src/test/compile-fail/dropck_tarena_cycle_checked.rs
index 584e5eabf0c..d36293a484d 100644
--- a/src/test/compile-fail/dropck_tarena_cycle_checked.rs
+++ b/src/test/compile-fail/dropck_tarena_cycle_checked.rs
@@ -16,7 +16,6 @@
 //  which is a reduction of this code to more directly show the reason
 //  for the error message we see here.)
 
-#![allow(unstable)]
 #![feature(const_fn)]
 
 extern crate arena;
@@ -26,7 +25,6 @@ use std::cell::Cell;
 use id::Id;
 
 mod s {
-    #![allow(unstable)]
     use std::sync::atomic::{AtomicUsize, Ordering};
 
     static S_COUNT: AtomicUsize = AtomicUsize::new(0);
diff --git a/src/test/compile-fail/dropck_tarena_unsound_drop.rs b/src/test/compile-fail/dropck_tarena_unsound_drop.rs
index 7a204e6143e..600c794109c 100644
--- a/src/test/compile-fail/dropck_tarena_unsound_drop.rs
+++ b/src/test/compile-fail/dropck_tarena_unsound_drop.rs
@@ -19,8 +19,6 @@
 // (Also compare against dropck_tarena_cycle_checked.rs, from which
 // this was reduced to better understand its error message.)
 
-#![allow(unstable)]
-
 extern crate arena;
 
 use arena::TypedArena;
diff --git a/src/test/compile-fail/dropck_vec_cycle_checked.rs b/src/test/compile-fail/dropck_vec_cycle_checked.rs
index bc33ff8399a..caf25e68d56 100644
--- a/src/test/compile-fail/dropck_vec_cycle_checked.rs
+++ b/src/test/compile-fail/dropck_vec_cycle_checked.rs
@@ -18,7 +18,6 @@ use std::cell::Cell;
 use id::Id;
 
 mod s {
-    #![allow(unstable)]
     use std::sync::atomic::{AtomicUsize, Ordering};
 
     static S_COUNT: AtomicUsize = AtomicUsize::new(0);
diff --git a/src/test/compile-fail/for-loop-hygiene.rs b/src/test/compile-fail/for-loop-hygiene.rs
index ff6f848ab59..f06882875fd 100644
--- a/src/test/compile-fail/for-loop-hygiene.rs
+++ b/src/test/compile-fail/for-loop-hygiene.rs
@@ -11,8 +11,6 @@
 // for-loops are expanded in the front end, and use an `iter` ident in their expansion. Check that
 // `iter` is not accessible inside the for loop.
 
-#![allow(unstable)]
-
 fn main() {
     for _ in 0..10 {
         iter.next();  //~ error: unresolved name `iter`
diff --git a/src/test/compile-fail/issue-17283.rs b/src/test/compile-fail/issue-17283.rs
index a481fec6bf9..c7d64436632 100644
--- a/src/test/compile-fail/issue-17283.rs
+++ b/src/test/compile-fail/issue-17283.rs
@@ -11,6 +11,8 @@
 // Test that the parser does not attempt to parse struct literals
 // within assignments in if expressions.
 
+#![allow(unused_parens)]
+
 struct Foo {
     foo: usize
 }
diff --git a/src/test/compile-fail/issue-23729.rs b/src/test/compile-fail/issue-23729.rs
index 3d77d171ace..f98cf6575d6 100644
--- a/src/test/compile-fail/issue-23729.rs
+++ b/src/test/compile-fail/issue-23729.rs
@@ -26,7 +26,7 @@ fn main() {
                     self.pos += 1;
                     Some(next_val)
                 } else {
-                    let next_val = (self.mem[0] + self.mem[1]);
+                    let next_val = self.mem[0] + self.mem[1];
                     self.mem[0] = self.mem[1];
                     self.mem[1] = next_val;
                     Some(next_val)
diff --git a/src/test/compile-fail/lint-visible-private-types.rs b/src/test/compile-fail/lint-visible-private-types.rs
index c6dc3b70bef..d34738282eb 100644
--- a/src/test/compile-fail/lint-visible-private-types.rs
+++ b/src/test/compile-fail/lint-visible-private-types.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-#![deny(visible_private_types)]
 #![allow(dead_code)]
 #![crate_type="lib"]
 
diff --git a/src/test/compile-fail/loop-does-not-diverge.rs b/src/test/compile-fail/loop-does-not-diverge.rs
index 12de4a714ef..cd320ba148a 100644
--- a/src/test/compile-fail/loop-does-not-diverge.rs
+++ b/src/test/compile-fail/loop-does-not-diverge.rs
@@ -18,5 +18,5 @@ fn forever() -> ! {
 }
 
 fn main() {
-  if (1 == 2) { forever(); }
+  if 1 == 2 { forever(); }
 }
diff --git a/src/test/compile-fail/variance-trait-bounds.rs b/src/test/compile-fail/variance-trait-bounds.rs
index 222d8338aa2..b6f197987ba 100644
--- a/src/test/compile-fail/variance-trait-bounds.rs
+++ b/src/test/compile-fail/variance-trait-bounds.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-#![deny(bivariance)]
 #![allow(dead_code)]
 #![feature(rustc_attrs)]
 
diff --git a/src/test/compile-fail/variance-types.rs b/src/test/compile-fail/variance-types.rs
index e407ebe345a..2fd8bf20c79 100644
--- a/src/test/compile-fail/variance-types.rs
+++ b/src/test/compile-fail/variance-types.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-#![deny(bivariance)]
 #![allow(dead_code)]
 #![feature(rustc_attrs)]
 
diff --git a/src/test/compile-fail/vec-must-not-hide-type-from-dropck.rs b/src/test/compile-fail/vec-must-not-hide-type-from-dropck.rs
index 37528959684..c8f4326bb28 100644
--- a/src/test/compile-fail/vec-must-not-hide-type-from-dropck.rs
+++ b/src/test/compile-fail/vec-must-not-hide-type-from-dropck.rs
@@ -29,7 +29,6 @@ use std::cell::Cell;
 use id::Id;
 
 mod s {
-    #![allow(unstable)]
     use std::sync::atomic::{AtomicUsize, Ordering};
 
     static S_COUNT: AtomicUsize = AtomicUsize::new(0);
diff --git a/src/test/pretty/issue-4264.pp b/src/test/pretty/issue-4264.pp
index 6398c76d0a3..835f7fc96c6 100644
--- a/src/test/pretty/issue-4264.pp
+++ b/src/test/pretty/issue-4264.pp
@@ -27,10 +27,9 @@ pub fn bar() {
     let _: [(); (1 as usize)] = ([(() as ())] as [(); 1]);
 
     let _ =
-        (((&((([(1 as i32), (2 as i32), (3 as i32)] as [i32; 3])) as [i32; 3])
-              as &[i32; 3]) as *const _ as *const [i32; 3]) as
-            *const [i32; (3 as usize)] as *const [i32; 3]);
-
+        (((&([(1 as i32), (2 as i32), (3 as i32)] as [i32; 3]) as &[i32; 3])
+             as *const _ as *const [i32; 3]) as *const [i32; (3 as usize)] as
+            *const [i32; 3]);
 
 
 
diff --git a/src/test/run-make/execution-engine/test.rs b/src/test/run-make/execution-engine/test.rs
index a7c6f5225a6..6fc12d3a750 100644
--- a/src/test/run-make/execution-engine/test.rs
+++ b/src/test/run-make/execution-engine/test.rs
@@ -228,7 +228,7 @@ fn compile_program(input: &str, sysroot: PathBuf)
         let ast_map = driver::make_map(&sess, &mut hir_forest);
 
         driver::phase_3_run_analysis_passes(
-            sess, ast_map, &krate, &arenas, id, MakeGlobMap::No, |tcx, analysis| {
+            sess, ast_map, &arenas, id, MakeGlobMap::No, |tcx, analysis| {
 
             let trans = driver::phase_4_translate_to_llvm(tcx, analysis);