Skip to content

Regression in rustc nightly #69629

Closed
Closed
@rex4539

Description

@rex4539

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.P-highHigh priorityT-compilerRelevant 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.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions