-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Stable regression in nightly #26952
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
Comments
This is likely due to the new implementation of |
Well, you can poke around with a copy of the repo? The file that is causing the issues is https://github.com/frankmcsherry/timely-dataflow/blob/master/src/progress/broadcast.rs, and though it doesn't seem to use If I misunderstand what you mean by "code to poke around with", let me know. I don't have a smaller reproduction, in that keeping things building on stable means not breaking them by ripping out lines, but I'm happy to try and help. |
I didn't understand the reason it didn't infer, looks like it should be quite simple. Smells a bit like a regression in the language, not caused by libstd changes(?) So are you sure the exact same code compiles on stable, but not on nightly? |
Oh oops sorry I missed the git link in the initial report! Nominating as this does look like a regression |
cc @rust-lang/lang and @rust-lang/comipler |
er, @rust-lang/compiler |
Note that changes to type inference that require the addition of annotations to existing code are considered "fair game". I'd still like to understand what changed, though. |
I don't think any intentional inference changes have landed, but I agree @bkoropoff we should at least figure out what changed and advise people accordingly. |
More data on when this broke: A coworker has a stale nightly, rustc 1.3.0-nightly (faa04a8 2015-06-30), which builds the git pull just fine. I'll see about getting a build against the crates.io version (his project isn't compatible with 0.0.6, but a new project that just loads the timely crate explodes). My version, 1.3.0-nightly (16f64c3 2015-07-09) explodes on the git pull and crates.io's timely 0.0.6 (which is older than the git pull). Crater with 1.3.0-nightly (2015-07-10) explodes on crates.io's timely 0.0.6. I suspect it would break on the git drop too. This may help narrow down when the regression dropped in. I think multirust can pull down specific nightlies, so I may just do a few more of those. |
courtesy multirust, against crates.io timely 0.0.6, using nightlies from http://static.rust-lang.org/dist/ nightly-2015-06-30: pass I don't know why there is a week gap, but it seems to be somewhere in there. |
triage: P-high -- it's a regression |
No one has successfully reduced this, right? |
I haven't, sorry. The code is currently in a bit of a state, though if I get it all sorted out I should be able to start cutting things out. The file depends on just a few other traits / structs transitively, so I should be able to chop a bit and make some weird non-functional library that may be easier to poke through. But, currently tied up with accomplishing work. |
I just tested against my branch. It is able to build |
the object trait matches the required trait during trait selection. The existing code was checking that the object trait WOULD match (in a probe), but never executing the match outside of a probe. This corrects various regressions observed in the wild, including issue rust-lang#26952. Fixes rust-lang#26952.
Correct regression in type-inference caused by failing to reconfirm that the object trait matches the required trait during trait selection. The existing code was checking that the object trait WOULD match (in a probe), but never executing the match outside of a probe. This corrects various regressions observed in the wild, including issue rust-lang#26952. Fixes rust-lang#26952. r? @eddyb cc @frankmcsherry
Correct regression in type-inference caused by failing to reconfirm that the object trait matches the required trait during trait selection. The existing code was checking that the object trait WOULD match (in a probe), but never executing the match outside of a probe. This corrects various regressions observed in the wild, including issue #26952. Fixes #26952. r? @eddyb cc @frankmcsherry
Type inference broke, or something. Hard to see why, as the file (broadcast.rs) is probably one of the simpler cases.
Easiest repro to is clone the repo (it is also up on crates, though as an earlier version)
The text was updated successfully, but these errors were encountered: