1
Fork 0

Rollup merge of #102055 - c410-f3r:moar-errors, r=petrochenkov

Move some tests to more reasonable directories

r? ``@petrochenkov``
This commit is contained in:
Dylan DPC 2022-10-10 13:43:40 +05:30 committed by GitHub
commit 0c17324c92
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 2 additions and 173 deletions

View file

@ -1,14 +0,0 @@
// check-pass
// pretty-expanded FIXME #23616
trait Canvas {
fn add_point(&self, point: &isize);
fn add_points(&self, shapes: &[isize]) {
for pt in shapes {
self.add_point(pt)
}
}
}
pub fn main() {}

View file

@ -1,75 +0,0 @@
// Test the mechanism for warning about possible missing `self` declarations.
trait CtxtFn {
fn f8(self, _: usize) -> usize;
fn f9(_: usize) -> usize;
}
trait OtherTrait {
fn f9(_: usize) -> usize;
}
// Note: this trait is not implemented, but we can't really tell
// whether or not an impl would match anyhow without a self
// declaration to match against, so we wind up prisizeing it as a
// candidate. This seems not unreasonable -- perhaps the user meant to
// implement it, after all.
trait UnusedTrait {
fn f9(_: usize) -> usize;
}
impl CtxtFn for usize {
fn f8(self, i: usize) -> usize {
i * 4
}
fn f9(i: usize) -> usize {
i * 4
}
}
impl OtherTrait for usize {
fn f9(i: usize) -> usize {
i * 8
}
}
struct Myisize(isize);
impl Myisize {
fn fff(i: isize) -> isize {
i
}
}
trait ManyImplTrait {
fn is_str() -> bool {
false
}
}
impl ManyImplTrait for String {
fn is_str() -> bool {
true
}
}
impl ManyImplTrait for usize {}
impl ManyImplTrait for isize {}
impl ManyImplTrait for char {}
impl ManyImplTrait for Myisize {}
fn no_param_bound(u: usize, m: Myisize) -> usize {
u.f8(42) + u.f9(342) + m.fff(42)
//~^ ERROR no method named `f9` found
//~| ERROR no method named `fff` found
}
fn param_bound<T: ManyImplTrait>(t: T) -> bool {
t.is_str()
//~^ ERROR no method named `is_str` found
}
fn main() {
}

View file

@ -1,82 +0,0 @@
error[E0599]: no method named `f9` found for type `usize` in the current scope
--> $DIR/issue-7575.rs:62:18
|
LL | u.f8(42) + u.f9(342) + m.fff(42)
| ^^ this is an associated function, not a method
|
= note: found the following associated functions; to be used as methods, functions must have a `self` parameter
note: candidate #1 is defined in the trait `CtxtFn`
--> $DIR/issue-7575.rs:4:5
|
LL | fn f9(_: usize) -> usize;
| ^^^^^^^^^^^^^^^^^^^^^^^^^
note: candidate #2 is defined in the trait `OtherTrait`
--> $DIR/issue-7575.rs:8:5
|
LL | fn f9(_: usize) -> usize;
| ^^^^^^^^^^^^^^^^^^^^^^^^^
note: candidate #3 is defined in the trait `UnusedTrait`
--> $DIR/issue-7575.rs:17:5
|
LL | fn f9(_: usize) -> usize;
| ^^^^^^^^^^^^^^^^^^^^^^^^^
= help: items from traits can only be used if the trait is implemented and in scope
= note: the following traits define an item `f9`, perhaps you need to implement one of them:
candidate #1: `CtxtFn`
candidate #2: `OtherTrait`
candidate #3: `UnusedTrait`
help: disambiguate the associated function for candidate #1
|
LL | u.f8(42) + <usize as CtxtFn>::f9(u, 342) + m.fff(42)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
help: disambiguate the associated function for candidate #2
|
LL | u.f8(42) + <usize as OtherTrait>::f9(u, 342) + m.fff(42)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
help: disambiguate the associated function for candidate #3
|
LL | u.f8(42) + <usize as UnusedTrait>::f9(u, 342) + m.fff(42)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error[E0599]: no method named `fff` found for struct `Myisize` in the current scope
--> $DIR/issue-7575.rs:62:30
|
LL | struct Myisize(isize);
| -------------- method `fff` not found for this struct
...
LL | u.f8(42) + u.f9(342) + m.fff(42)
| --^^^
| | |
| | this is an associated function, not a method
| help: use associated function syntax instead: `Myisize::fff`
|
= note: found the following associated functions; to be used as methods, functions must have a `self` parameter
note: the candidate is defined in an impl for the type `Myisize`
--> $DIR/issue-7575.rs:39:5
|
LL | fn fff(i: isize) -> isize {
| ^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0599]: no method named `is_str` found for type parameter `T` in the current scope
--> $DIR/issue-7575.rs:70:7
|
LL | fn param_bound<T: ManyImplTrait>(t: T) -> bool {
| - method `is_str` not found for this type parameter
LL | t.is_str()
| ^^^^^^ this is an associated function, not a method
|
= note: found the following associated functions; to be used as methods, functions must have a `self` parameter
note: the candidate is defined in the trait `ManyImplTrait`
--> $DIR/issue-7575.rs:45:5
|
LL | fn is_str() -> bool {
| ^^^^^^^^^^^^^^^^^^^
= help: items from traits can only be used if the type parameter is bounded by the trait
help: disambiguate the associated function for the candidate
|
LL | <T as ManyImplTrait>::is_str(t)
|
error: aborting due to 3 previous errors
For more information about this error, try `rustc --explain E0599`.

View file

@ -7,8 +7,8 @@ use std::path::Path;
const ENTRY_LIMIT: usize = 1000;
// FIXME: The following limits should be reduced eventually.
const ROOT_ENTRY_LIMIT: usize = 968;
const ISSUES_ENTRY_LIMIT: usize = 2147;
const ROOT_ENTRY_LIMIT: usize = 950;
const ISSUES_ENTRY_LIMIT: usize = 2141;
fn check_entries(path: &Path, bad: &mut bool) {
let dirs = walkdir::WalkDir::new(&path.join("test/ui"))