Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 0 additions & 28 deletions tests/ui/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -891,12 +891,6 @@ Exercise *Link-Time Optimization* (LTO), involving the flags `-C lto` or `-Z thi

Tests on changes to inference variable lattice LUB/GLB, see <https://github.com/rust-lang/rust/pull/45853>.

## `tests/ui/macro_backtrace/`: `-Zmacro-backtrace`

Contains a single test, checking the unstable command-line flag to enable detailed macro backtraces.

**FIXME**: This could be merged with `ui/macros`, which already contains other macro backtrace tests.

## `tests/ui/macros/`

Broad category of tests on macros.
Expand Down Expand Up @@ -945,12 +939,6 @@ Something is missing which could be added to fix (e.g. suggestions).

**FIXME**: this is way too vague, tests should be rehomed.

## `tests/ui/missing_non_modrs_mod/`

This directory is a small tree of `mod` dependencies, but the root, `foo.rs`, is looking for a file which does not exist. The test checks that the error is reported at the top-level module.

**FIXME**: Merge with `tests/ui/modules/`.

## `tests/ui/missing-trait-bounds/`

Tests for checking missing trait bounds, and their diagnostics.
Expand All @@ -963,10 +951,6 @@ Tests on the module system.

**FIXME**: `tests/ui/imports/` should probably be merged with this.

## `tests/ui/modules_and_files_visibility/`

**FIXME**: Merge with `tests/ui/modules/`.

## `tests/ui/moves`

Tests on moves (destructive moves).
Expand Down Expand Up @@ -1135,12 +1119,6 @@ A large category about function and type public/private visibility, and its impa

**FIXME**: merge with `tests/ui/privacy/`.

## `tests/ui/qualified/`

Contains few tests on qualified paths where a type parameter is provided at the end: `type A = <S as Tr>::A::f<u8>;`. The tests check if this fails during type checking, not parsing.

**FIXME**: Should be rehomed to `ui/typeck`.

## `tests/ui/query-system/`

Tests on Rust methods and functions which use the query system, such as `std::mem::size_of`. These compute information about the current runtime and return it. See [Query system | rustc-dev-guide](https://rustc-dev-guide.rust-lang.org/query.html).
Expand Down Expand Up @@ -1583,12 +1561,6 @@ Tests on various well-formedness checks, e.g. [Type-checking normal functions](h

Tests on `where` clauses. See [Where clauses | Reference](https://doc.rust-lang.org/reference/items/generics.html#where-clauses).

## `tests/ui/while/`

Tests on the `while` keyword and the `while` construct.

**FIXME**: merge with `ui/for-loop-while`.

## `tests/ui/windows-subsystem/`: `#![windows_subsystem = ""]`

See [the `windows_subsystem` attribute](https://doc.rust-lang.org/reference/runtime.html#the-windows_subsystem-attribute).
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
//@ check-pass
// regression test for #40235
#![allow(unused_variables)]
fn foo() {}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
// Test that the macro backtrace facility works (supporting file)
// Test that the macro backtrace facility works (supporting macro-backtrace-complex.rs)

// a non-local macro
#[macro_export]
macro_rules! ping {
() => {
pong!();
}
};
}

#[macro_export]
macro_rules! deep {
() => {
foo!();
}
};
}

#[macro_export]
macro_rules! foo {
() => {
bar!();
}
};
}

#[macro_export]
macro_rules! bar {
() => {
ping!();
}
};
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found `error`
--> $DIR/main.rs:10:20
--> $DIR/macro-backtrace-complex.rs:12:20
|
LL | / macro_rules! pong {
LL | | () => { syntax error };
Expand All @@ -11,7 +11,7 @@ LL | pong!();
| ------- in this macro invocation

error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found `error`
--> $DIR/main.rs:10:20
--> $DIR/macro-backtrace-complex.rs:12:20
|
LL | / macro_rules! pong {
LL | | () => { syntax error };
Expand All @@ -31,7 +31,7 @@ LL | pong!();
| ------- in this macro invocation (#2)

error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found `error`
--> $DIR/main.rs:10:20
--> $DIR/macro-backtrace-complex.rs:12:20
|
LL | / macro_rules! pong {
LL | | () => { syntax error };
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found `error`
--> $DIR/main.rs:10:20
--> $DIR/macro-backtrace-complex.rs:12:20
|
LL | () => { syntax error };
| ^^^^^ expected one of 8 possible tokens
Expand All @@ -10,7 +10,7 @@ LL | pong!();
= note: this error originates in the macro `pong` (in Nightly builds, run with -Z macro-backtrace for more info)

error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found `error`
--> $DIR/main.rs:10:20
--> $DIR/macro-backtrace-complex.rs:12:20
|
LL | () => { syntax error };
| ^^^^^ expected one of 8 possible tokens
Expand All @@ -21,7 +21,7 @@ LL | ping!();
= note: this error originates in the macro `pong` which comes from the expansion of the macro `ping` (in Nightly builds, run with -Z macro-backtrace for more info)

error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found `error`
--> $DIR/main.rs:10:20
--> $DIR/macro-backtrace-complex.rs:12:20
|
LL | () => { syntax error };
| ^^^^^ expected one of 8 possible tokens
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
// Test that the macro backtrace facility works
// Test the unstable command-line flag (-Z macro-backtrace) to enable detailed macro backtraces
// across nested local and external macros.
//@ aux-build:ping.rs
//@ revisions: default -Zmacro-backtrace
//@[-Zmacro-backtrace] compile-flags: -Z macro-backtrace

#[macro_use] extern crate ping;
#[macro_use]
extern crate ping;

// a local macro
macro_rules! pong {
Expand Down
4 changes: 0 additions & 4 deletions tests/ui/missing_non_modrs_mod/missing_non_modrs_mod.rs

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
//@ ignore-auxiliary (used by `./missing_non_modrs_mod.rs`)

// looking for a file which does not exist.
mod missing;
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//@ ignore-auxiliary (used by `./missing_non_modrs_mod_inline.rs`)

// looking for a file which does not exist.
mod inline {
mod missing;
}
5 changes: 5 additions & 0 deletions tests/ui/modules/missing_non_modrs_mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
//! Tests the error reporting when a declared module file is missing.
mod missing_mod;
fn main() {}

//~? ERROR file not found for module `missing`
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
error[E0583]: file not found for module `missing`
--> $DIR/foo.rs:3:1
--> $DIR/missing_mod.rs:3:1
|
LL | mod missing;
| ^^^^^^^^^^^^
|
= help: to create the module `missing`, create file "$DIR/foo/missing.rs" or "$DIR/foo/missing/mod.rs"
= help: to create the module `missing`, create file "$DIR/missing_mod/missing.rs" or "$DIR/missing_mod/missing/mod.rs"
= note: if there is a `mod missing` elsewhere in the crate already, import it with `use crate::...` instead

error: aborting due to 1 previous error
Expand Down
5 changes: 5 additions & 0 deletions tests/ui/modules/missing_non_modrs_mod_inline.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
//! Tests the error reporting when a declared module file is missing.
mod missing_mod_inline;
fn main() {}

//~? ERROR file not found for module `missing`
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
error[E0583]: file not found for module `missing`
--> $DIR/foo_inline.rs:4:5
--> $DIR/missing_mod_inline.rs:4:5
|
LL | mod missing;
| ^^^^^^^^^^^^
|
= help: to create the module `missing`, create file "$DIR/foo_inline/inline/missing.rs" or "$DIR/foo_inline/inline/missing/mod.rs"
= help: to create the module `missing`, create file "$DIR/missing_mod_inline/inline/missing.rs" or "$DIR/missing_mod_inline/inline/missing/mod.rs"
= note: if there is a `mod missing` elsewhere in the crate already, import it with `use crate::...` instead

error: aborting due to 1 previous error
Expand Down
3 changes: 2 additions & 1 deletion tests/ui/modules/mod_file_aux.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
//@ ignore-auxiliary (used by `./mod_file_with_path_attr.rs` and `mod_file.rs`)
//@ ignore-auxiliary (used by `./mod_file_with_path_attr.rs` and `mod_file.rs` and `mod_file_correct_spans.rs`)
// ignore-tidy-linelength

pub fn foo() -> isize { 10 }
5 changes: 5 additions & 0 deletions tests/ui/modules/mod_file_disambig.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
//! related issue <https://github.com/rust-lang/rust/issues/4116>

mod mod_file_disambig_aux; //~ ERROR file for module `mod_file_disambig_aux` found at both

fn main() {}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

original

mod mod_file_disambig_aux; //~ ERROR file for module `mod_file_disambig_aux` found at both

fn main() {
    assert_eq!(mod_file_aux::bar(), 10);
    //~^ ERROR failed to resolve: use of unresolved module or unlinked crate `mod_file_aux`
}

a74d92e

The assert_eq statement here seems unnecessary, so I removed it.

11 changes: 11 additions & 0 deletions tests/ui/modules/mod_file_disambig.stderr
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
error[E0761]: file for module `mod_file_disambig_aux` found at both "$DIR/mod_file_disambig_aux.rs" and "$DIR/mod_file_disambig_aux/mod.rs"
--> $DIR/mod_file_disambig.rs:3:1
|
LL | mod mod_file_disambig_aux;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: delete or rename one of them to remove the ambiguity

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0761`.
3 changes: 0 additions & 3 deletions tests/ui/modules_and_files_visibility/mod_file_aux.rs

This file was deleted.

6 changes: 0 additions & 6 deletions tests/ui/modules_and_files_visibility/mod_file_disambig.rs

This file was deleted.

23 changes: 0 additions & 23 deletions tests/ui/modules_and_files_visibility/mod_file_disambig.stderr

This file was deleted.

21 changes: 0 additions & 21 deletions tests/ui/qualified/qualified-path-params-2.rs

This file was deleted.

15 changes: 0 additions & 15 deletions tests/ui/qualified/qualified-path-params-2.stderr

This file was deleted.

18 changes: 0 additions & 18 deletions tests/ui/qualified/qualified-path-params.stderr

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,14 @@ impl S {
fn f<T>() {}
}

type A = <S as Tr>::A::f<u8>;
//~^ ERROR ambiguous associated type

fn main() {
match 10 {
<S as Tr>::A::f::<u8> => {}
//~^ ERROR expected unit struct, unit variant or constant, found associated function
0 ..= <S as Tr>::A::f::<u8> => {}
0..=<S as Tr>::A::f::<u8> => {}
//~^ ERROR only `char` and numeric types are allowed in range
}
}
30 changes: 30 additions & 0 deletions tests/ui/typeck/qualified-path-params.stderr
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
error[E0223]: ambiguous associated type
--> $DIR/qualified-path-params.rs:18:10
|
LL | type A = <S as Tr>::A::f<u8>;
| ^^^^^^^^^^^^^^^^^^^
|
help: if there were a trait named `Example` with associated type `f` implemented for `<S as Tr>::A`, you could use the fully-qualified path
|
LL - type A = <S as Tr>::A::f<u8>;
LL + type A = <<S as Tr>::A as Example>::f<u8>;
|

error[E0533]: expected unit struct, unit variant or constant, found associated function `<<S as Tr>::A>::f<u8>`
--> $DIR/qualified-path-params.rs:23:9
|
LL | <S as Tr>::A::f::<u8> => {}
| ^^^^^^^^^^^^^^^^^^^^^ not a unit struct, unit variant or constant

error[E0029]: only `char` and numeric types are allowed in range patterns
--> $DIR/qualified-path-params.rs:25:13
|
LL | 0..=<S as Tr>::A::f::<u8> => {}
| - ^^^^^^^^^^^^^^^^^^^^^ this is of type `fn() {S::f::<u8>}` but it should be `char` or numeric
| |
| this is of type `{integer}`

error: aborting due to 3 previous errors

Some errors have detailed explanations: E0029, E0223, E0533.
For more information about an error, try `rustc --explain E0029`.
Loading