missing_doc,
unreachable_code,
+
+ warnings,
}
pub fn level_to_str(lv: level) -> &'static str {
desc: "detects unreachable code",
default: warn
}),
+
+ ("warnings",
+ LintSpec {
+ lint: warnings,
+ desc: "mass-change the level for lints which produce warnings",
+ default: warn
+ }),
];
/*
fn span_lint(&self, lint: lint, span: span, msg: &str) {
let (level, src) = match self.curr.find(&(lint as uint)) {
+ None => { return }
+ Some(&(warn, src)) => (self.get_level(warnings), src),
Some(&pair) => pair,
- None => { return; }
};
- if level == allow { return; }
+ if level == allow { return }
let mut note = None;
let msg = match src {
--- /dev/null
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#[deny(warnings)];
+
+fn main() {
+ while true {} //~ ERROR: infinite
+}
+
+#[allow(warnings)]
+fn foo() {
+ while true {}
+}
+
+#[warn(warnings)]
+fn bar() {
+ while true {} //~ WARNING: infinite
+}
+
+#[forbid(warnings)]
+fn baz() {
+ while true {} //~ ERROR: warnings
+}