Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

E0599 suggestions and elision of generic argument if no canditate is found #84221

Merged
merged 5 commits into from
May 27, 2021

Conversation

ABouttefeux
Copy link
Contributor

@ABouttefeux ABouttefeux commented Apr 15, 2021

fixes #81576
changes: In error E0599 (method not found) generic argument are eluded if the method was not found anywhere. If the method was found in another inherent implementation suggest that it was found elsewhere.

Example

struct Wrapper<T>(T);

struct Wrapper2<T> {
    x: T,
}

impl Wrapper2<i8> {
    fn method(&self) {}
}

fn main() {
    let wrapper = Wrapper(i32);
    wrapper.method();
    let wrapper2 = Wrapper2{x: i32};
    wrapper2.method();
}
Error[E0599]: no method named `method` found for struct `Wrapper<_>` in the current scope
....
error[E0599]: no method named `method` found for struct `Wrapper2<i32>` in the current scope
...
   = note: The method was found for Wrapper2<i8>.

I am not very happy with the no method named `test` found for struct `Vec<_, _>` in the current scope. I think it might be better to show only one generic argument Vec<_> if there is a default one. But I haven't yet found a way to do that,

…d anywhere and sugetion of type with method when found.
@rust-highfive
Copy link
Collaborator

r? @estebank

(rust-highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Apr 15, 2021
@ABouttefeux ABouttefeux changed the title E0599 sugetions and elision of generic argument if no canditate is found E0599 suggestions and elision of generic argument if no canditate is found Apr 15, 2021
@crlf0710 crlf0710 added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 1, 2021
@JohnCSimon JohnCSimon added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 17, 2021
@ABouttefeux
Copy link
Contributor Author

I change it to show no method named `test` found for struct `Vec` in the current scope instead of Vec<_, _>

@rust-log-analyzer

This comment has been minimized.

compiler/rustc_typeck/src/check/method/suggest.rs Outdated Show resolved Hide resolved
// number of type to shows at most.
const LIMIT: usize = 3;
let mut note = format!("The {item_kind} was found for");
if inherent_impls_candidate.len() > 1 {
Copy link
Contributor

Choose a reason for hiding this comment

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

I think it might be better to make a list of items instead of enumerating them in text, because that is easier to scan when reading the error.

Copy link
Contributor

Choose a reason for hiding this comment

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

This might work better as well in the case of really long type names with lots of type parameters (that we see in the wild).

inherent_impls_candidate.len() - LIMIT
);
}
err.note(&format!("{}.", note));
Copy link
Contributor

Choose a reason for hiding this comment

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

We don't capitalize or have a final period on sentences. We only break that convention if we have long text with multiple sentences, but it is heavily frown upon.

LL | wrapper.method();
| ^^^^^^ method not found in `Wrapper2<'_, bool, 3_usize>`
|
= note: The method was found for Wrapper2<'a, i8, C>, Wrapper2<'a, i32, C> and Wrapper2<'a, i32, C>.
Copy link
Contributor

Choose a reason for hiding this comment

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

Looking at this I am concerned about some trait bounds I've seen that generate huge types, but I don't know how we'd present these in a better way 🤷‍♂️

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The case where trait bounds are not met are manage by another part of the code, therefore we should not see long trait bounds. I have added a test for this case.

compiler/rustc_typeck/src/check/method/suggest.rs Outdated Show resolved Hide resolved
Comment on lines +412 to +414
if let Some((path_string, _)) = ty_str.split_once('<') {
ty_str_reported = path_string.to_string();
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Ideally we'd just take the name ident of the type and use that. I think item_name.to_string() would work here.

String operations are brittle and can break as things change in the codebase.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

item_name is the method we are looking to call. I did not find a way to print the type without the generic parameter otherwise. Do you know a way to do it ?

Copy link
Contributor

Choose a reason for hiding this comment

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

What is the type of item_name from which you get span from?

https://github.com/rust-lang/rust/pull/84221/files/6efa14b3add08188c5322db8694a8cbbea7851e5#diff-e8458f9222609acec4270bb72dcf235e7aa575268adff217d113052c3751c53cL385

I think that might have a string representation, and if not a field that is only the name with type Ident, which has a string representation of only the identifier.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes it is an Ident, but this does not represent the type. This is the indent of the method

For instance it is used here:
https://github.com/ABouttefeux/rust/blob/120691c590c4309fda31994931b9a561b4249c33/compiler/rustc_typeck/src/check/method/suggest.rs#L422-L431

compiler/rustc_typeck/src/check/method/suggest.rs Outdated Show resolved Hide resolved
compiler/rustc_typeck/src/check/method/suggest.rs Outdated Show resolved Hide resolved
compiler/rustc_typeck/src/check/method/suggest.rs Outdated Show resolved Hide resolved
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

Copy link
Contributor

@estebank estebank left a comment

Choose a reason for hiding this comment

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

Left some nitpicks, but this is close to being merged. 😄

--> $DIR/method-not-found-generic-arg-elision.rs:82:23
|
LL | struct Point<T> {
| --------------- method `distance` not found for this
Copy link
Contributor

Choose a reason for hiding this comment

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

Looking at this with fresh eyes in context, it might make sense to expand this label to be method distance not found for Point when T is i32, but it is found when T is f64, but maybe that's too verbose.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I am not sure how to get the indent for T. Also it might become very long with multiple generic parameters.

Comment on lines 36 to 39
= note: the method was found for Wrapper<i8>
= note: the method was found for Wrapper<i16>
= note: the method was found for Wrapper<i32>
= note: the method was found for 3 more types
Copy link
Contributor

Choose a reason for hiding this comment

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

Ideally this would be a single note:

   = note: the method `method` was found for
           - `Wrapper<i8>`
           - `Wrapper<i16>`
           - `Wrapper<i32>`
           - `Wrapper<u8>`
           and 2 more types

@@ -3,6 +3,8 @@ error[E0599]: no function or associated item named `new_undirected` found for st
|
LL | let ug = Graph::<i32, i32>::new_undirected();
| ^^^^^^^^^^^^^^ function or associated item not found in `issue_30123_aux::Graph<i32, i32>`
|
= note: the function or associated item was found for issue_30123_aux::Graph<N, E, Undirected>
Copy link
Contributor

Choose a reason for hiding this comment

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

This would ideally talk about Graph<i32, i32, Undirected>, potentially mentioning the Ty default of Directed. No need to tackle this now.

.map(|impl_item| self.tcx.at(span).type_of(*impl_item))
.collect::<Vec<_>>();
// number of type to shows at most.
let limit = if type_candidates.len() == 4 { 4 } else { 3 };
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
let limit = if type_candidates.len() == 4 { 4 } else { 3 };
let limit = if type_candidates.len() == 5 { 5 } else { 4 };

Comment on lines 526 to 534
for ty in type_candidates.iter().take(limit) {
err.note(&format!("the {item_kind} was found for {}", ty));
}
if type_candidates.len() > limit {
err.note(&format!(
"the {item_kind} was found for {} more types",
type_candidates.len() - limit
));
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Instead of emitting a note on each iteration, construct a single string to be emitted.

@estebank
Copy link
Contributor

@bors r+

@bors
Copy link
Contributor

bors commented May 26, 2021

📌 Commit 5d8e6ea has been approved by estebank

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 26, 2021
@bors
Copy link
Contributor

bors commented May 26, 2021

⌛ Testing commit 5d8e6ea with merge 1c625170734846ea91039d65a49508b01f0fa69e...

@rust-log-analyzer
Copy link
Collaborator

A job failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
Wed May 26 10:59:38 UTC 2021 - building ...
Wed May 26 11:00:08 UTC 2021 - building ...
ERROR: An error was encountered with the build.

[00:00] / 
[INFO ]  Performing some trivial sanity checks
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[INFO ]  Build started 20210526.105809
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
---
Wed May 26 11:01:33 UTC 2021 - building ...
Wed May 26 11:02:03 UTC 2021 - building ...
ERROR: An error was encountered with the build.

[00:00] / 
[INFO ]  Performing some trivial sanity checks
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[INFO ]  Build started 20210526.110033
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] \ 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] | 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
[00:00] - 
---
Wed May 26 11:03:28 UTC 2021 - building ...
Wed May 26 11:03:58 UTC 2021 - building ...
ERROR: An error was encountered with the build.

[00:01] / 
[INFO ]  Performing some trivial sanity checks
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[INFO ]  Build started 20210526.110229
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
---
Wed May 26 11:05:28 UTC 2021 - building ...
Wed May 26 11:05:58 UTC 2021 - building ...
ERROR: An error was encountered with the build.

[00:00] / 
[INFO ]  Performing some trivial sanity checks
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:00] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[INFO ]  Build started 20210526.110429
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
---
Wed May 26 11:07:57 UTC 2021 - building ...
Wed May 26 11:08:27 UTC 2021 - building ...
ERROR: An error was encountered with the build.

[00:01] / 
[INFO ]  Performing some trivial sanity checks
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[INFO ]  Build started 20210526.110628
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] \ 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] | 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] / 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 
[00:01] - 

@bors
Copy link
Contributor

bors commented May 26, 2021

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels May 26, 2021
@estebank
Copy link
Contributor

@bors retry

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 26, 2021
Dylan-DPC-zz pushed a commit to Dylan-DPC-zz/rust that referenced this pull request May 26, 2021
…estebank

E0599 suggestions and elision of generic argument if no canditate is found

fixes rust-lang#81576
changes: In error E0599 (method not found) generic argument are eluded if the method was not found anywhere. If the method was found in another inherent implementation suggest that it was found elsewhere.

Example
```rust

struct Wrapper<T>(T);

struct Wrapper2<T> {
    x: T,
}

impl Wrapper2<i8> {
    fn method(&self) {}
}

fn main() {
    let wrapper = Wrapper(i32);
    wrapper.method();
    let wrapper2 = Wrapper2{x: i32};
    wrapper2.method();
}
```

```
Error[E0599]: no method named `method` found for struct `Wrapper<_>` in the current scope
....
error[E0599]: no method named `method` found for struct `Wrapper2<i32>` in the current scope
...
   = note: The method was found for Wrapper2<i8>.

```
I am not very happy with the ```no method named `test` found for struct `Vec<_, _>` in the current scope```. I think it might be better to show only one generic argument `Vec<_>` if there is a default one. But I haven't yet found a way to do that,
Dylan-DPC-zz pushed a commit to Dylan-DPC-zz/rust that referenced this pull request May 27, 2021
…estebank

E0599 suggestions and elision of generic argument if no canditate is found

fixes rust-lang#81576
changes: In error E0599 (method not found) generic argument are eluded if the method was not found anywhere. If the method was found in another inherent implementation suggest that it was found elsewhere.

Example
```rust

struct Wrapper<T>(T);

struct Wrapper2<T> {
    x: T,
}

impl Wrapper2<i8> {
    fn method(&self) {}
}

fn main() {
    let wrapper = Wrapper(i32);
    wrapper.method();
    let wrapper2 = Wrapper2{x: i32};
    wrapper2.method();
}
```

```
Error[E0599]: no method named `method` found for struct `Wrapper<_>` in the current scope
....
error[E0599]: no method named `method` found for struct `Wrapper2<i32>` in the current scope
...
   = note: The method was found for Wrapper2<i8>.

```
I am not very happy with the ```no method named `test` found for struct `Vec<_, _>` in the current scope```. I think it might be better to show only one generic argument `Vec<_>` if there is a default one. But I haven't yet found a way to do that,
This was referenced May 27, 2021
bors added a commit to rust-lang-ci/rust that referenced this pull request May 27, 2021
Rollup of 8 pull requests

Successful merges:

 - rust-lang#84221 (E0599 suggestions and elision of generic argument if no canditate is found)
 - rust-lang#84701 (stabilize member constraints)
 - rust-lang#85564 ( readd capture disjoint fields gate)
 - rust-lang#85583 (Get rid of PreviousDepGraph.)
 - rust-lang#85649 (Update cc)
 - rust-lang#85689 (Remove Iterator #[rustc_on_unimplemented]s that no longer apply.)
 - rust-lang#85719 (Add inline attr to CString::into_inner so it can optimize out NonNull checks)
 - rust-lang#85725 (Remove unneeded workaround)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit f2810d5 into rust-lang:master May 27, 2021
@rustbot rustbot added this to the 1.54.0 milestone May 27, 2021
@ABouttefeux ABouttefeux deleted the generic-arg-elision branch May 27, 2021 11:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Elide generic arguments in "no method found" errors if they're irrelevant
8 participants