Repository navigation
Closed
Labels
E-needs-testCall for participation: An issue has been fixed and does not reproduce, but no test has been added.Call for participation: An issue has been fixed and does not reproduce, but no test has been added.P-highHigh priorityHigh priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.Performance or correctness regression from stable to nightly.
Description
Steps:
Compile tower-balance.
What happened:
Compiling tower-balance v0.3.0
error[E0034]: multiple applicable items in scope
--> /Users/rex/.cargo/registry/src/github.com-1ecc6299db9ec823/tower-balance-0.3.0/src/pool/mod.rs:373:47
|
373 | if let Poll::Ready(()) = self.balance.poll_ready(cx)? {
| ^^^^^^^^^^ multiple `poll_ready` found
|
note: candidate #1 is defined in an impl of the trait `tower_service::Service` for the type `p2c::service::Balance<_, _>`
--> /Users/rex/.cargo/registry/src/github.com-1ecc6299db9ec823/tower-balance-0.3.0/src/p2c/service.rs:234:5
|
234 | fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= note: candidate #2 is defined in an impl of the trait `tower_make::make_service::MakeService` for the type `_`
help: disambiguate the method call for candidate #1
|
373 | if let Poll::Ready(()) = tower_service::Service::poll_ready(&mut self.balance, cx)? {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: disambiguate the method call for candidate #2
|
373 | if let Poll::Ready(()) = tower_make::make_service::MakeService::poll_ready(&mut self.balance, cx)? {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0034]: multiple applicable items in scope
--> /Users/rex/.cargo/registry/src/github.com-1ecc6299db9ec823/tower-balance-0.3.0/src/pool/mod.rs:418:37
|
418 | return self.balance.poll_ready(cx);
| ^^^^^^^^^^ multiple `poll_ready` found
|
note: candidate #1 is defined in an impl of the trait `tower_service::Service` for the type `p2c::service::Balance<_, _>`
--> /Users/rex/.cargo/registry/src/github.com-1ecc6299db9ec823/tower-balance-0.3.0/src/p2c/service.rs:234:5
|
234 | fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= note: candidate #2 is defined in an impl of the trait `tower_make::make_service::MakeService` for the type `_`
help: disambiguate the method call for candidate #1
|
418 | return tower_service::Service::poll_ready(&mut self.balance, cx);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: disambiguate the method call for candidate #2
|
418 | return tower_make::make_service::MakeService::poll_ready(&mut self.balance, cx);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0034`.
error: could not compile `tower-balance`.
Expected result:
No regression.
Notes:
See tower-rs/tower#423 (comment)
Metadata
Metadata
Assignees
Labels
E-needs-testCall for participation: An issue has been fixed and does not reproduce, but no test has been added.Call for participation: An issue has been fixed and does not reproduce, but no test has been added.P-highHigh priorityHigh priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.Performance or correctness regression from stable to nightly.
Activity
Sherlock-Holo commentedon Mar 2, 2020
it happened to me compile error
jonhoo commentedon Mar 3, 2020
I ran regression with
cargo-bisect-rust, and got:Which suggests that the regression is present in nightly-2020-02-29, but somehow not in 0eb878d ? I'm working on bisecting further.
jonhoo commentedon Mar 3, 2020
cargo-bisect-rustclaims that the regression was caused by 55aee8d (#69255) by @estebank:jonhoo commentedon Mar 3, 2020
You can replicate by cloning
towerand running$ cargo check -p tower-balancejonhoo commentedon Mar 4, 2020
I wonder if this may somehow be a new manifestation of #60375?
pnkfelix commentedon Mar 4, 2020
triage: P-high, removing nomination. Assigning to @estebank initially (but feel free to clear assignment or reassign if you are overloaded)
pnkfelix commentedon Mar 4, 2020
by the way, under the new priority scheme being considered for next generation triage, I would consider #69629 a
P-criticalbug. The regressing PR took code that used to compile successfully, and now produced an unexpected static error.estebank commentedon Mar 4, 2020
Can confirm that the issue was introduced in the following code https://github.com/rust-lang/rust/pull/69255/files#diff-dd3531c645441fc4588d997838e391f5R1406-R1447
Correctly reject `TraitCandidate` in all cases
estebank commentedon Mar 4, 2020
I have a fix in #69717. Tested with
towerlocally.Auto merge of #69717 - estebank:correctly-probe, r=varkor
lqd commentedon Mar 5, 2020
(Reopening: the issue was closed automatically by the commit message rather than the PR description, but still needs a test)
Sherlock-Holo commentedon Mar 6, 2020
I test and build success with
rustc 1.43.0-nightly (96bb8b31c 2020-03-05)rex4539 commentedon Mar 6, 2020
Verified with
rustc 1.43.0-nightly (96bb8b31c 2020-03-05).Closing.