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

Investigate build failure on Rust 1.51 #666

Closed
davidpdrsn opened this issue May 24, 2021 · 1 comment · Fixed by #669
Closed

Investigate build failure on Rust 1.51 #666

davidpdrsn opened this issue May 24, 2021 · 1 comment · Fixed by #669
Labels
C-bug Category: Something isn't working
Milestone

Comments

@davidpdrsn
Copy link
Member

Running the tests with Rust 1.51 (the previous version) fails:

error[E0391]: cycle detected when computing the bounds for type parameter `T`
  --> /Users/davidpdrsn/dev/major/tonic/target/debug/build/integration-tests-27409cb8faefef33/out/test.rs:39:43
   |
39 |                 Response = http::Response<T::ResponseBody>,
   |                                           ^^^^^^^^^^^^^^^
   |
   = note: ...which again requires computing the bounds for type parameter `T`, completing the cycle
note: cycle used when computing explicit predicates of `pb::test_client::<impl at /Users/davidpdrsn/dev/major/tonic/target/debug/build/integration-tests-27409cb8faefef33/out/test.rs:23:5: 60:6>::with_interceptor`
  --> /Users/davidpdrsn/dev/major/tonic/target/debug/build/integration-tests-27409cb8faefef33/out/test.rs:39:43
   |
39 |                 Response = http::Response<T::ResponseBody>,
   |                                           ^^^^^^^^^^^^^^^

error: aborting due to previous error

For more information about this error, try `rustc --explain E0391`.
error: could not compile `integration-tests`

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error[E0391]: cycle detected when computing the bounds for type parameter `T`
  --> /Users/davidpdrsn/dev/major/tonic/target/debug/build/tonic-health-c91ce4ef1f81caa8/out/grpc.health.v1.rs:23:1329
   |
23 | ...onic :: body :: BoxBody > , Response = http :: Response < T :: ResponseBody >> , < T as Service < http :: Request < tonic :: body :: B...
   |                                                              ^^^^^^^^^^^^^^^^^
   |
   = note: ...which again requires computing the bounds for type parameter `T`, completing the cycle
note: cycle used when computing explicit predicates of `proto::health_client::<impl at /Users/davidpdrsn/dev/major/tonic/target/debug/build/tonic-health-c91ce4ef1f81caa8/out/grpc.health.v1.rs:23:671: 23:3856>::with_interceptor`
  --> /Users/davidpdrsn/dev/major/tonic/target/debug/build/tonic-health-c91ce4ef1f81caa8/out/grpc.health.v1.rs:23:1329
   |
23 | ...onic :: body :: BoxBody > , Response = http :: Response < T :: ResponseBody >> , < T as Service < http :: Request < tonic :: body :: B...
   |                                                              ^^^^^^^^^^^^^^^^^

error: aborting due to previous error

For more information about this error, try `rustc --explain E0391`.
error[E0391]: cycle detected when computing the bounds for type parameter `T`
   --> /Users/davidpdrsn/dev/major/tonic/target/debug/build/tonic-reflection-ab51b8159f41b5ec/out/grpc.reflection.v1alpha.rs:185:43
    |
185 |                 Response = http::Response<T::ResponseBody>,
    |                                           ^^^^^^^^^^^^^^^
    |
    = note: ...which again requires computing the bounds for type parameter `T`, completing the cycle
note: cycle used when computing explicit predicates of `proto::server_reflection_client::<impl at /Users/davidpdrsn/dev/major/tonic/target/debug/build/tonic-reflection-ab51b8159f41b5ec/out/grpc.reflection.v1alpha.rs:166:5: 215:6>::with_interceptor`
   --> /Users/davidpdrsn/dev/major/tonic/target/debug/build/tonic-reflection-ab51b8159f41b5ec/out/grpc.reflection.v1alpha.rs:185:43
    |
185 |                 Response = http::Response<T::ResponseBody>,
    |                                           ^^^^^^^^^^^^^^^

error: aborting due to previous error

For more information about this error, try `rustc --explain E0391`.
error[E0391]: cycle detected when computing the bounds for type parameter `T`
   --> /Users/davidpdrsn/dev/major/tonic/target/debug/build/interop-aab1922b6c306c4c/out/grpc.testing.rs:215:43
    |
215 |                 Response = http::Response<T::ResponseBody>,
    |                                           ^^^^^^^^^^^^^^^
    |
    = note: ...which again requires computing the bounds for type parameter `T`, completing the cycle
note: cycle used when computing explicit predicates of `pb::test_service_client::<impl at /Users/davidpdrsn/dev/major/tonic/target/debug/build/interop-aab1922b6c306c4c/out/grpc.testing.rs:196:5: 378:6>::with_interceptor`
   --> /Users/davidpdrsn/dev/major/tonic/target/debug/build/interop-aab1922b6c306c4c/out/grpc.testing.rs:215:43
    |
215 |                 Response = http::Response<T::ResponseBody>,
    |                                           ^^^^^^^^^^^^^^^

error: aborting due to previous error

Interestingly things work fine on 1.52.

We should ideally fix this, or make it clear that Rust 1.52 is required.

@davidpdrsn davidpdrsn added the C-bug Category: Something isn't working label May 24, 2021
@davidpdrsn davidpdrsn added this to the 0.5 milestone May 24, 2021
@davidpdrsn
Copy link
Member Author

I've filed a rustc bug rust-lang/rust#85659.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant