Add error code flag
This commit is contained in:
parent
7746d7c52f
commit
ddfaf10f6b
3 changed files with 21 additions and 18 deletions
|
@ -16,7 +16,7 @@ E0445: r##"
|
|||
A private trait was used on a public type parameter bound. Erroneous code
|
||||
examples:
|
||||
|
||||
```compile_fail
|
||||
```compile_fail,E0445
|
||||
#![deny(private_in_public)]
|
||||
|
||||
trait Foo {
|
||||
|
@ -46,7 +46,7 @@ pub fn foo<T: Foo> (t: T) {} // ok!
|
|||
E0446: r##"
|
||||
A private type was used in a public type signature. Erroneous code example:
|
||||
|
||||
```compile_fail
|
||||
```compile_fail,E0446
|
||||
#![deny(private_in_public)]
|
||||
|
||||
mod Foo {
|
||||
|
@ -100,7 +100,7 @@ pub enum Foo {
|
|||
Since the enum is already public, adding `pub` on one its elements is
|
||||
unnecessary. Example:
|
||||
|
||||
```compile_fail
|
||||
```compile_fail,
|
||||
enum Foo {
|
||||
pub Bar, // not ok!
|
||||
}
|
||||
|
@ -119,7 +119,7 @@ E0450: r##"
|
|||
A tuple constructor was invoked while some of its fields are private. Erroneous
|
||||
code example:
|
||||
|
||||
```compile_fail
|
||||
```compile_fail,E0450
|
||||
mod Bar {
|
||||
pub struct Foo(isize);
|
||||
}
|
||||
|
@ -157,7 +157,7 @@ let f = bar::Foo::new(1);
|
|||
E0451: r##"
|
||||
A struct constructor with private fields was invoked. Erroneous code example:
|
||||
|
||||
```compile_fail
|
||||
```compile_fail,E0451
|
||||
mod Bar {
|
||||
pub struct Foo {
|
||||
pub a: isize,
|
||||
|
|
|
@ -605,18 +605,21 @@ mod tests {
|
|||
}
|
||||
|
||||
// marker | should_panic| no_run| ignore| rust | test_harness| compile_fail
|
||||
t("", false, false, false, true, false, false);
|
||||
t("rust", false, false, false, true, false, false);
|
||||
t("sh", false, false, false, false, false, false);
|
||||
t("ignore", false, false, true, true, false, false);
|
||||
t("should_panic", true, false, false, true, false, false);
|
||||
t("no_run", false, true, false, true, false, false);
|
||||
t("test_harness", false, false, false, true, true, false);
|
||||
t("compile_fail", false, true, false, true, false, true);
|
||||
t("{.no_run .example}", false, true, false, true, false, false);
|
||||
t("{.sh .should_panic}", true, false, false, true, false, false);
|
||||
t("{.example .rust}", false, false, false, true, false, false);
|
||||
t("{.test_harness .rust}", false, false, false, true, true, false);
|
||||
// | error_codes
|
||||
t("", false, false, false, true, false, false, Vec::new());
|
||||
t("rust", false, false, false, true, false, false, Vec::new());
|
||||
t("sh", false, false, false, false, false, false, Vec::new());
|
||||
t("ignore", false, false, true, true, false, false, Vec::new());
|
||||
t("should_panic", true, false, false, true, false, false, Vec::new());
|
||||
t("no_run", false, true, false, true, false, false, Vec::new());
|
||||
t("test_harness", false, false, false, true, true, false, Vec::new());
|
||||
t("compile_fail", false, true, false, true, false, true, Vec::new());
|
||||
t("E0450", false, false, false, true, false, false,
|
||||
vec!("E0450".to_owned()));
|
||||
t("{.no_run .example}", false, true, false, true, false, false, Vec::new());
|
||||
t("{.sh .should_panic}", true, false, false, true, false, false, Vec::new());
|
||||
t("{.example .rust}", false, false, false, true, false, false, Vec::new());
|
||||
t("{.test_harness .rust}", false, false, false, true, true, false, Vec::new());
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
|
@ -275,7 +275,7 @@ fn runtest(test: &str, cratename: &str, cfgs: Vec<String>, libs: SearchPaths,
|
|||
}
|
||||
if count > 0 && error_codes.len() > 0 {
|
||||
let out = String::from_utf8(data.lock().unwrap().to_vec()).unwrap();
|
||||
error_codes = error_codes.into_iter().filter(|err| !out.contains(err)).collect();
|
||||
error_codes.retain(|err| !out.contains(err));
|
||||
}
|
||||
}
|
||||
Ok(()) if compile_fail => panic!("test compiled while it wasn't supposed to"),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue