Rollup merge of #102055 - c410-f3r:moar-errors, r=petrochenkov
Move some tests to more reasonable directories r? ``@petrochenkov``
This commit is contained in:
commit
0c17324c92
10 changed files with 2 additions and 173 deletions
|
@ -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() {}
|
|
@ -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() {
|
||||
}
|
|
@ -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`.
|
|
@ -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"))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue