mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-23 15:23:46 +00:00
Move hygiene tests to UI
This commit is contained in:
parent
4f69b7fb85
commit
d3f8b8be6f
25
src/test/ui/hygiene/assoc_item_ctxt.stderr
Normal file
25
src/test/ui/hygiene/assoc_item_ctxt.stderr
Normal file
@ -0,0 +1,25 @@
|
||||
error[E0407]: method `method` is not a member of trait `Tr`
|
||||
--> $DIR/assoc_item_ctxt.rs:45:13
|
||||
|
|
||||
LL | fn method() {} //~ ERROR method `method` is not a member of trait `Tr`
|
||||
| ^^^^^^^^^^^^^^ not a member of trait `Tr`
|
||||
...
|
||||
LL | mac_trait_impl!();
|
||||
| ------------------ in this macro invocation
|
||||
|
||||
error[E0046]: not all trait items implemented, missing: `method`
|
||||
--> $DIR/assoc_item_ctxt.rs:44:9
|
||||
|
|
||||
LL | fn method();
|
||||
| ------------ `method` from trait
|
||||
...
|
||||
LL | impl Tr for u8 { //~ ERROR not all trait items implemented, missing: `method`
|
||||
| ^^^^^^^^^^^^^^ missing `method` in implementation
|
||||
...
|
||||
LL | mac_trait_impl!();
|
||||
| ------------------ in this macro invocation
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
Some errors occurred: E0046, E0407.
|
||||
For more information about an error, try `rustc --explain E0046`.
|
8
src/test/ui/hygiene/assoc_ty_bindings.stderr
Normal file
8
src/test/ui/hygiene/assoc_ty_bindings.stderr
Normal file
@ -0,0 +1,8 @@
|
||||
error: compilation successful
|
||||
--> $DIR/assoc_ty_bindings.rs:49:1
|
||||
|
|
||||
LL | fn main() {} //~ ERROR compilation successful
|
||||
| ^^^^^^^^^^^^
|
||||
|
||||
error: aborting due to previous error
|
||||
|
38
src/test/ui/hygiene/fields.stderr
Normal file
38
src/test/ui/hygiene/fields.stderr
Normal file
@ -0,0 +1,38 @@
|
||||
error: type `foo::S` is private
|
||||
--> $DIR/fields.rs:25:17
|
||||
|
|
||||
LL | let s = S { x: 0 }; //~ ERROR type `foo::S` is private
|
||||
| ^^^^^^^^^^
|
||||
...
|
||||
LL | let s = foo::m!(S, x);
|
||||
| ------------- in this macro invocation
|
||||
|
||||
error: type `foo::S` is private
|
||||
--> $DIR/fields.rs:26:17
|
||||
|
|
||||
LL | let _ = s.x; //~ ERROR type `foo::S` is private
|
||||
| ^
|
||||
...
|
||||
LL | let s = foo::m!(S, x);
|
||||
| ------------- in this macro invocation
|
||||
|
||||
error: type `foo::T` is private
|
||||
--> $DIR/fields.rs:28:17
|
||||
|
|
||||
LL | let t = T(0); //~ ERROR type `foo::T` is private
|
||||
| ^^^^
|
||||
...
|
||||
LL | let s = foo::m!(S, x);
|
||||
| ------------- in this macro invocation
|
||||
|
||||
error: type `foo::T` is private
|
||||
--> $DIR/fields.rs:29:17
|
||||
|
|
||||
LL | let _ = t.0; //~ ERROR type `foo::T` is private
|
||||
| ^
|
||||
...
|
||||
LL | let s = foo::m!(S, x);
|
||||
| ------------- in this macro invocation
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
|
9
src/test/ui/hygiene/for-loop.stderr
Normal file
9
src/test/ui/hygiene/for-loop.stderr
Normal file
@ -0,0 +1,9 @@
|
||||
error[E0425]: cannot find value `iter` in this scope
|
||||
--> $DIR/for-loop.rs:16:9
|
||||
|
|
||||
LL | iter.next(); //~ ERROR cannot find value `iter` in this scope
|
||||
| ^^^^ not found in this scope
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0425`.
|
49
src/test/ui/hygiene/globs.stderr
Normal file
49
src/test/ui/hygiene/globs.stderr
Normal file
@ -0,0 +1,49 @@
|
||||
error[E0425]: cannot find function `f` in this scope
|
||||
--> $DIR/globs.rs:32:9
|
||||
|
|
||||
LL | f(); //~ ERROR cannot find function `f` in this scope
|
||||
| ^ not found in this scope
|
||||
help: possible candidates are found in other modules, you can import them into scope
|
||||
|
|
||||
LL | use foo::f;
|
||||
|
|
||||
LL | use foo::f;
|
||||
|
|
||||
LL | use foo::f;
|
||||
|
|
||||
|
||||
error[E0425]: cannot find function `g` in this scope
|
||||
--> $DIR/globs.rs:25:5
|
||||
|
|
||||
LL | g(); //~ ERROR cannot find function `g` in this scope
|
||||
| ^ not found in this scope
|
||||
...
|
||||
LL | / m! {
|
||||
LL | | use bar::*;
|
||||
LL | | g();
|
||||
LL | | f(); //~ ERROR cannot find function `f` in this scope
|
||||
LL | | }
|
||||
| |_____- in this macro invocation
|
||||
help: possible candidates are found in other modules, you can import them into scope
|
||||
|
|
||||
LL | use bar::g;
|
||||
|
|
||||
LL | use foo::test2::test::g;
|
||||
|
|
||||
LL | use foo::test::g;
|
||||
|
|
||||
LL | use foo::test::g;
|
||||
|
|
||||
|
||||
error[E0425]: cannot find function `f` in this scope
|
||||
--> $DIR/globs.rs:64:17
|
||||
|
|
||||
LL | n!(f);
|
||||
| ------ in this macro invocation
|
||||
...
|
||||
LL | f //~ ERROR cannot find function `f` in this scope
|
||||
| ^ not found in this scope
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0425`.
|
11
src/test/ui/hygiene/impl_items.stderr
Normal file
11
src/test/ui/hygiene/impl_items.stderr
Normal file
@ -0,0 +1,11 @@
|
||||
error: type `for<'r> fn(&'r foo::S) {foo::S::f}` is private
|
||||
--> $DIR/impl_items.rs:22:23
|
||||
|
|
||||
LL | let _: () = S.f(); //~ ERROR type `for<'r> fn(&'r foo::S) {foo::S::f}` is private
|
||||
| ^
|
||||
...
|
||||
LL | foo::m!();
|
||||
| ---------- in this macro invocation
|
||||
|
||||
error: aborting due to previous error
|
||||
|
10
src/test/ui/hygiene/intercrate.stderr
Normal file
10
src/test/ui/hygiene/intercrate.stderr
Normal file
@ -0,0 +1,10 @@
|
||||
error: type `fn() -> u32 {intercrate::foo::bar::f}` is private
|
||||
--> $DIR/intercrate.rs:22:16
|
||||
|
|
||||
LL | assert_eq!(intercrate::foo::m!(), 1);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
|
||||
|
||||
error: aborting due to previous error
|
||||
|
9
src/test/ui/hygiene/nested_macro_privacy.stderr
Normal file
9
src/test/ui/hygiene/nested_macro_privacy.stderr
Normal file
@ -0,0 +1,9 @@
|
||||
error[E0616]: field `i` of struct `foo::S` is private
|
||||
--> $DIR/nested_macro_privacy.rs:25:5
|
||||
|
|
||||
LL | S::default().i; //~ ERROR field `i` of struct `foo::S` is private
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0616`.
|
30
src/test/ui/hygiene/no_implicit_prelude.stderr
Normal file
30
src/test/ui/hygiene/no_implicit_prelude.stderr
Normal file
@ -0,0 +1,30 @@
|
||||
error[E0433]: failed to resolve. Use of undeclared type or module `Vec`
|
||||
--> $DIR/no_implicit_prelude.rs:21:9
|
||||
|
|
||||
LL | fn f() { ::bar::m!(); }
|
||||
| ------------ in this macro invocation
|
||||
...
|
||||
LL | Vec::new(); //~ ERROR failed to resolve
|
||||
| ^^^ Use of undeclared type or module `Vec`
|
||||
|
||||
error[E0601]: `main` function not found in crate `no_implicit_prelude`
|
||||
|
|
||||
= note: consider adding a `main` function to `$DIR/no_implicit_prelude.rs`
|
||||
|
||||
error[E0599]: no method named `clone` found for type `()` in the current scope
|
||||
--> $DIR/no_implicit_prelude.rs:22:12
|
||||
|
|
||||
LL | fn f() { ::bar::m!(); }
|
||||
| ------------ in this macro invocation
|
||||
...
|
||||
LL | ().clone() //~ ERROR no method named `clone` found
|
||||
| ^^^^^
|
||||
|
|
||||
= help: items from traits can only be used if the trait is in scope
|
||||
= note: the following trait is implemented but not in scope, perhaps add a `use` for it:
|
||||
candidate #1: `use std::clone::Clone;`
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
Some errors occurred: E0433, E0599, E0601.
|
||||
For more information about an error, try `rustc --explain E0433`.
|
9
src/test/ui/hygiene/pattern-macro.stderr
Normal file
9
src/test/ui/hygiene/pattern-macro.stderr
Normal file
@ -0,0 +1,9 @@
|
||||
error[E0425]: cannot find value `x` in this scope
|
||||
--> $DIR/pattern-macro.rs:15:5
|
||||
|
|
||||
LL | x + 1; //~ ERROR cannot find value `x` in this scope
|
||||
| ^ not found in this scope
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0425`.
|
9
src/test/ui/hygiene/privacy.stderr
Normal file
9
src/test/ui/hygiene/privacy.stderr
Normal file
@ -0,0 +1,9 @@
|
||||
error[E0603]: function `f` is private
|
||||
--> $DIR/privacy.rs:26:9
|
||||
|
|
||||
LL | foo::f() //~ ERROR `f` is private
|
||||
| ^^^^^^
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0603`.
|
16
src/test/ui/hygiene/trait_items.stderr
Normal file
16
src/test/ui/hygiene/trait_items.stderr
Normal file
@ -0,0 +1,16 @@
|
||||
error[E0599]: no method named `f` found for type `()` in the current scope
|
||||
--> $DIR/trait_items.rs:27:24
|
||||
|
|
||||
LL | fn f() { ::baz::m!(); }
|
||||
| ------------ in this macro invocation
|
||||
...
|
||||
LL | pub macro m() { ().f() } //~ ERROR no method named `f` found for type `()` in the current scope
|
||||
| ^
|
||||
|
|
||||
= help: items from traits can only be used if the trait is in scope
|
||||
= note: the following trait is implemented but not in scope, perhaps add a `use` for it:
|
||||
candidate #1: `use foo::T;`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0599`.
|
Loading…
Reference in New Issue
Block a user