Rollup merge of #144548 - Oneirical:uncountable-integer-2, r=jieyouxu
Rehome 21 `tests/ui/issues/` tests to other subdirectories under `tests/ui/` rust-lang/rust#143902 divided into smaller, easier to review chunks. Part of rust-lang/rust#133895 Methodology: 1. Refer to the previously written `tests/ui/SUMMARY.md` 2. Find an appropriate category for the test, using the original issue thread and the test contents. 3. Add the issue URL at the bottom (not at the top, as that would mess up stderr line numbers) 4. Rename the tests to make their purpose clearer Inspired by the methodology that ``@Kivooeo`` was using. r? ``@jieyouxu``
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
// https://github.com/rust-lang/rust/issues/26095
|
||||
//@ check-pass
|
||||
#![allow(dead_code)]
|
||||
#![allow(non_upper_case_globals)]
|
||||
|
||||
|
||||
trait HasNumber<T> {
|
||||
const Number: usize;
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// https://github.com/rust-lang/rust/issues/54044
|
||||
#![deny(unused_attributes)] //~ NOTE lint level is defined here
|
||||
|
||||
#[cold]
|
||||
@@ -1,5 +1,5 @@
|
||||
error: attribute should be applied to a function definition
|
||||
--> $DIR/issue-54044.rs:3:1
|
||||
--> $DIR/cold-attribute-application-54044.rs:4:1
|
||||
|
|
||||
LL | #[cold]
|
||||
| ^^^^^^^
|
||||
@@ -9,13 +9,13 @@ LL | struct Foo;
|
||||
|
|
||||
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
|
||||
note: the lint level is defined here
|
||||
--> $DIR/issue-54044.rs:1:9
|
||||
--> $DIR/cold-attribute-application-54044.rs:2:9
|
||||
|
|
||||
LL | #![deny(unused_attributes)]
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: attribute should be applied to a function definition
|
||||
--> $DIR/issue-54044.rs:9:5
|
||||
--> $DIR/cold-attribute-application-54044.rs:10:5
|
||||
|
|
||||
LL | #[cold]
|
||||
| ^^^^^^^
|
||||
@@ -1,3 +1,4 @@
|
||||
// https://github.com/rust-lang/rust/issues/36786
|
||||
//@ run-pass
|
||||
// Ensure that types that rely on obligations are autoderefed
|
||||
// correctly
|
||||
@@ -1,3 +1,4 @@
|
||||
// https://github.com/rust-lang/rust/issues/46471
|
||||
fn main() {
|
||||
let y = {
|
||||
let mut z = 0;
|
||||
@@ -1,5 +1,5 @@
|
||||
error[E0597]: `z` does not live long enough
|
||||
--> $DIR/issue-46471-1.rs:4:9
|
||||
--> $DIR/borrow-checker-lifetime-error-46471.rs:5:9
|
||||
|
|
||||
LL | let mut z = 0;
|
||||
| ----- binding `z` declared here
|
||||
17
tests/ui/borrowck/string-borrowing-pattern-matching-11869.rs
Normal file
17
tests/ui/borrowck/string-borrowing-pattern-matching-11869.rs
Normal file
@@ -0,0 +1,17 @@
|
||||
// https://github.com/rust-lang/rust/issues/11869
|
||||
//@ check-pass
|
||||
#![allow(dead_code)]
|
||||
|
||||
struct A {
|
||||
a: String
|
||||
}
|
||||
|
||||
fn borrow<'a>(binding: &'a A) -> &'a str {
|
||||
match &*binding.a {
|
||||
"in" => "in_",
|
||||
"ref" => "ref_",
|
||||
ident => ident
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
@@ -1,3 +1,4 @@
|
||||
// https://github.com/rust-lang/rust/issues/9918
|
||||
//@ run-pass
|
||||
|
||||
pub fn main() {
|
||||
@@ -1,3 +1,4 @@
|
||||
// https://github.com/rust-lang/rust/issues/36023
|
||||
//@ run-pass
|
||||
#![allow(unused_variables)]
|
||||
use std::ops::Deref;
|
||||
@@ -1,3 +1,4 @@
|
||||
// https://github.com/rust-lang/rust/issues/18058
|
||||
impl Undefined {}
|
||||
//~^ ERROR cannot find type `Undefined` in this scope
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
error[E0412]: cannot find type `Undefined` in this scope
|
||||
--> $DIR/issue-18058.rs:1:6
|
||||
--> $DIR/impl-coherence-error-for-undefined-type-18058.rs:2:6
|
||||
|
|
||||
LL | impl Undefined {}
|
||||
| ^^^^^^^^^ not found in this scope
|
||||
@@ -1,3 +1,4 @@
|
||||
// https://github.com/rust-lang/rust/issues/77919
|
||||
fn main() {
|
||||
[1; <Multiply<Five, Five>>::VAL];
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
error[E0412]: cannot find type `PhantomData` in this scope
|
||||
--> $DIR/issue-77919.rs:9:9
|
||||
--> $DIR/trait-resolution-error-with-const-generics-77919.rs:10:9
|
||||
|
|
||||
LL | _n: PhantomData,
|
||||
| ^^^^^^^^^^^ not found in this scope
|
||||
@@ -10,7 +10,7 @@ LL + use std::marker::PhantomData;
|
||||
|
|
||||
|
||||
error[E0412]: cannot find type `VAL` in this scope
|
||||
--> $DIR/issue-77919.rs:11:63
|
||||
--> $DIR/trait-resolution-error-with-const-generics-77919.rs:12:63
|
||||
|
|
||||
LL | impl<N, M> TypeVal<usize> for Multiply<N, M> where N: TypeVal<VAL> {}
|
||||
| ^^^ not found in this scope
|
||||
@@ -21,7 +21,7 @@ LL | impl<N, M, VAL> TypeVal<usize> for Multiply<N, M> where N: TypeVal<VAL> {}
|
||||
| +++++
|
||||
|
||||
error[E0046]: not all trait items implemented, missing: `VAL`
|
||||
--> $DIR/issue-77919.rs:11:1
|
||||
--> $DIR/trait-resolution-error-with-const-generics-77919.rs:12:1
|
||||
|
|
||||
LL | const VAL: T;
|
||||
| ------------ `VAL` from trait
|
||||
@@ -1,3 +1,4 @@
|
||||
// https://github.com/rust-lang/rust/issues/4734
|
||||
//@ run-pass
|
||||
#![allow(dead_code)]
|
||||
// Ensures that destructors are run for expressions of the form "e;" where
|
||||
@@ -1,3 +1,4 @@
|
||||
// https://github.com/rust-lang/rust/issues/36116
|
||||
// Unnecessary path disambiguator is ok
|
||||
|
||||
//@ check-pass
|
||||
20
tests/ui/inference/collection-type-copy-behavior-12909.rs
Normal file
20
tests/ui/inference/collection-type-copy-behavior-12909.rs
Normal file
@@ -0,0 +1,20 @@
|
||||
// https://github.com/rust-lang/rust/issues/12909
|
||||
//@ run-pass
|
||||
#![allow(unused_variables)]
|
||||
|
||||
use std::collections::HashMap;
|
||||
|
||||
fn copy<T: Copy>(&x: &T) -> T {
|
||||
x
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let arr = [(1, 1), (2, 2), (3, 3)];
|
||||
|
||||
let v1: Vec<&_> = arr.iter().collect();
|
||||
let v2: Vec<_> = arr.iter().map(copy).collect();
|
||||
|
||||
let m1: HashMap<_, _> = arr.iter().map(copy).collect();
|
||||
let m2: HashMap<isize, _> = arr.iter().map(copy).collect();
|
||||
let m3: HashMap<_, usize> = arr.iter().map(copy).collect();
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
extern crate issue_25185_1;
|
||||
|
||||
pub use issue_25185_1::rust_dbg_extern_identity_u32;
|
||||
@@ -1,12 +0,0 @@
|
||||
//@ run-pass
|
||||
//@ aux-build:issue-25185-1.rs
|
||||
//@ aux-build:issue-25185-2.rs
|
||||
|
||||
extern crate issue_25185_2;
|
||||
|
||||
fn main() {
|
||||
let x = unsafe {
|
||||
issue_25185_2::rust_dbg_extern_identity_u32(1)
|
||||
};
|
||||
assert_eq!(x, 1);
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
macro_rules! foo (
|
||||
() => (
|
||||
#[derive_Clone] //~ ERROR cannot find attribute `derive_Clone` in this scope
|
||||
struct T;
|
||||
);
|
||||
);
|
||||
|
||||
macro_rules! bar (
|
||||
($e:item) => ($e)
|
||||
);
|
||||
|
||||
foo!();
|
||||
|
||||
bar!(
|
||||
#[derive_Clone] //~ ERROR cannot find attribute `derive_Clone` in this scope
|
||||
struct S;
|
||||
);
|
||||
|
||||
fn main() {}
|
||||
@@ -1,25 +0,0 @@
|
||||
error: cannot find attribute `derive_Clone` in this scope
|
||||
--> $DIR/issue-32655.rs:3:11
|
||||
|
|
||||
LL | #[derive_Clone]
|
||||
| ^^^^^^^^^^^^ help: an attribute macro with a similar name exists: `derive_const`
|
||||
...
|
||||
LL | foo!();
|
||||
| ------ in this macro invocation
|
||||
--> $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
|
|
||||
= note: similarly named attribute macro `derive_const` defined here
|
||||
|
|
||||
= note: this error originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: cannot find attribute `derive_Clone` in this scope
|
||||
--> $DIR/issue-32655.rs:15:7
|
||||
|
|
||||
LL | #[derive_Clone]
|
||||
| ^^^^^^^^^^^^ help: an attribute macro with a similar name exists: `derive_const`
|
||||
--> $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
|
|
||||
= note: similarly named attribute macro `derive_const` defined here
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// https://github.com/rust-lang/rust/issues/15673
|
||||
//@ run-pass
|
||||
#![allow(stable_features)]
|
||||
|
||||
3
tests/ui/linking/auxiliary/aux-25185-2.rs
Normal file
3
tests/ui/linking/auxiliary/aux-25185-2.rs
Normal file
@@ -0,0 +1,3 @@
|
||||
extern crate aux_25185_1;
|
||||
|
||||
pub use aux_25185_1::rust_dbg_extern_identity_u32;
|
||||
@@ -0,0 +1,13 @@
|
||||
// https://github.com/rust-lang/rust/issues/25185
|
||||
//@ run-pass
|
||||
//@ aux-build:aux-25185-1.rs
|
||||
//@ aux-build:aux-25185-2.rs
|
||||
|
||||
extern crate aux_25185_2;
|
||||
|
||||
fn main() {
|
||||
let x = unsafe {
|
||||
aux_25185_2::rust_dbg_extern_identity_u32(1)
|
||||
};
|
||||
assert_eq!(x, 1);
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// https://github.com/rust-lang/rust/issues/26093
|
||||
macro_rules! not_a_place {
|
||||
($thing:expr) => {
|
||||
$thing = 42;
|
||||
@@ -1,5 +1,5 @@
|
||||
error[E0070]: invalid left-hand side of assignment
|
||||
--> $DIR/issue-26093.rs:3:16
|
||||
--> $DIR/invalid-assignment-in-macro-26093.rs:4:16
|
||||
|
|
||||
LL | $thing = 42;
|
||||
| ^
|
||||
@@ -13,7 +13,7 @@ LL | not_a_place!(99);
|
||||
= note: this error originates in the macro `not_a_place` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0067]: invalid left-hand side of assignment
|
||||
--> $DIR/issue-26093.rs:5:16
|
||||
--> $DIR/invalid-assignment-in-macro-26093.rs:6:16
|
||||
|
|
||||
LL | $thing += 42;
|
||||
| ^^
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
/*
|
||||
#7519 ICE pattern matching unit in function argument
|
||||
https://github.com/rust-lang/rust/issues/7519
|
||||
*/
|
||||
|
||||
fn foo(():()) { }
|
||||
@@ -1,3 +1,4 @@
|
||||
// https://github.com/rust-lang/rust/issues/22434
|
||||
pub trait Foo {
|
||||
type A;
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
error[E0191]: the value of the associated type `A` in `Foo` must be specified
|
||||
--> $DIR/issue-22434.rs:5:23
|
||||
--> $DIR/missing-associated-type-in-trait-object-22434.rs:6:23
|
||||
|
|
||||
LL | type A;
|
||||
| ------ `A` defined here
|
||||
@@ -1,3 +1,4 @@
|
||||
// https://github.com/rust-lang/rust/issues/48276
|
||||
// Regression test for issue #48276 - ICE when self type does not match what is
|
||||
// required by a trait and regions are involved.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
error[E0185]: method `from` has a `&self` declaration in the impl, but not in the trait
|
||||
--> $DIR/issue-48276.rs:11:5
|
||||
--> $DIR/incorrect-self-type-in-trait-impl-48276.rs:12:5
|
||||
|
|
||||
LL | fn from(a: A) -> Self;
|
||||
| ---------------------- trait method declared without `&self`
|
||||
@@ -8,7 +8,7 @@ LL | fn from(self: &'a Self) -> &'b str {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `&self` used in impl
|
||||
|
||||
error[E0185]: method `from` has a `&self` declaration in the impl, but not in the trait
|
||||
--> $DIR/issue-48276.rs:20:5
|
||||
--> $DIR/incorrect-self-type-in-trait-impl-48276.rs:21:5
|
||||
|
|
||||
LL | fn from(&self) -> B {
|
||||
| ^^^^^^^^^^^^^^^^^^^ `&self` used in impl
|
||||
@@ -16,7 +16,7 @@ LL | fn from(&self) -> B {
|
||||
= note: `from` from trait: `fn(T) -> Self`
|
||||
|
||||
error[E0185]: method `from` has a `&self` declaration in the impl, but not in the trait
|
||||
--> $DIR/issue-48276.rs:27:5
|
||||
--> $DIR/incorrect-self-type-in-trait-impl-48276.rs:28:5
|
||||
|
|
||||
LL | fn from(&self) -> &'static str {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `&self` used in impl
|
||||
@@ -1,3 +1,4 @@
|
||||
// https://github.com/rust-lang/rust/issues/32995
|
||||
fn main() {
|
||||
{ fn f<X: ::std::marker()::Send>() {} }
|
||||
//~^ ERROR parenthesized type parameters may only be used with a `Fn` trait
|
||||
@@ -1,17 +1,17 @@
|
||||
error[E0214]: parenthesized type parameters may only be used with a `Fn` trait
|
||||
--> $DIR/issue-32995-2.rs:2:22
|
||||
--> $DIR/parenthesized-type-parameters-error-32995.rs:3:22
|
||||
|
|
||||
LL | { fn f<X: ::std::marker()::Send>() {} }
|
||||
| ^^^^^^^^ only `Fn` traits may use parentheses
|
||||
|
||||
error[E0214]: parenthesized type parameters may only be used with a `Fn` trait
|
||||
--> $DIR/issue-32995-2.rs:5:29
|
||||
--> $DIR/parenthesized-type-parameters-error-32995.rs:6:29
|
||||
|
|
||||
LL | { fn f() -> impl ::std::marker()::Send { } }
|
||||
| ^^^^^^^^ only `Fn` traits may use parentheses
|
||||
|
||||
error[E0214]: parenthesized type parameters may only be used with a `Fn` trait
|
||||
--> $DIR/issue-32995-2.rs:12:13
|
||||
--> $DIR/parenthesized-type-parameters-error-32995.rs:13:13
|
||||
|
|
||||
LL | impl ::std::marker()::Copy for X {}
|
||||
| ^^^^^^^^ only `Fn` traits may use parentheses
|
||||
@@ -1,8 +1,8 @@
|
||||
// https://github.com/rust-lang/rust/issues/18685
|
||||
//@ run-pass
|
||||
// Test that the self param space is not used in a conflicting
|
||||
// manner by unboxed closures within a default method on a trait
|
||||
|
||||
|
||||
trait Tr {
|
||||
fn foo(&self);
|
||||
|
||||
Reference in New Issue
Block a user