Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upStable regression in nightly #26952
Comments
This comment has been minimized.
This comment has been minimized.
|
This is likely due to the new implementation of |
This comment has been minimized.
This comment has been minimized.
|
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. |
This comment has been minimized.
This comment has been minimized.
|
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? |
This comment has been minimized.
This comment has been minimized.
|
Oh oops sorry I missed the git link in the initial report! Nominating as this does look like a regression |
alexcrichton
added
I-nominated
T-lang
labels
Jul 11, 2015
This comment has been minimized.
This comment has been minimized.
|
cc @rust-lang/lang and @rust-lang/comipler |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
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. |
huonw
added
the
regression-from-stable-to-nightly
label
Jul 12, 2015
This comment has been minimized.
This comment has been minimized.
|
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. |
This comment has been minimized.
This comment has been minimized.
|
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. |
This comment has been minimized.
This comment has been minimized.
|
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. |
This comment has been minimized.
This comment has been minimized.
|
triage: P-high -- it's a regression |
rust-highfive
added
P-high
and removed
I-nominated
labels
Jul 23, 2015
This comment has been minimized.
This comment has been minimized.
|
No one has successfully reduced this, right? |
This comment has been minimized.
This comment has been minimized.
|
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. |
This comment has been minimized.
This comment has been minimized.
|
I just tested against my branch. It is able to build |
frankmcsherry commentedJul 10, 2015
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)