You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Need new test for incomplete compute_implied_outlives_bounds fulfillment #101694
This issue is basically a call to minimize that failure and add a test to the test suite so we properly capture that bug path.
To do this, you will need to make a local change like the above, calling bug!() instead of returning Err(NoSolution). Then, you can minimize the hyper-0.14.18 benchmark.
Okay, so the failure was actually caused by the other changes in that PR (specifically, that project predicates without bound vars were accidently not getting registered).
The key predicate is the T: for<'a> Service<&'a Target, Error = ME, Response = S, Future = F>, which must be registered to not ICE (and wasn't because it has bound vars). This should help to make a MCVE.
Activity
jackh726 commentedon Sep 11, 2022
This actually might not be the cause, will update later.
(That PR does have problems with hyper but not the test suite, though. So there is an untested bug path.)
jackh726 commentedon Sep 12, 2022
Okay, so the failure was actually caused by the other changes in that PR (specifically, that project predicates without bound vars were accidently not getting registered).
In hyper, it's this method that ICEs: https://github.com/rust-lang/rustc-perf/blob/ff4e6fb9246ac08771107f4498bdb4e3f84007a0/collector/benchmarks/hyper-0.14.18/src/service/make.rs#L84
The key predicate is the
T: for<'a> Service<&'a Target, Error = ME, Response = S, Future = F>, which must be registered to not ICE (and wasn't because it has bound vars). This should help to make a MCVE.I'm keeping the buggy code in a branch here: https://github.com/jackh726/rust/tree/implied-cleanup-old. This passes the rustc test suite but fails to build hyper.