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 upTurn the RFC1592 warnings into hard errors #34982
Conversation
rust-highfive
assigned
nikomatsakis
Jul 22, 2016
arielb1
referenced this pull request
Jul 22, 2016
Merged
Centralize and clean type error reporting #34907
This comment has been minimized.
This comment has been minimized.
|
Started a crater run comparing |
This was referenced Jul 26, 2016
This comment has been minimized.
This comment has been minimized.
|
Crater run yielded 43 regressions, but it seems probably many are false positives (haven't investigated yet): https://gist.github.com/nikomatsakis/9006df8ddc4cee518d38732cacfe8e7c |
This comment has been minimized.
This comment has been minimized.
|
Most of them are timeouts / SSL errors. |
This comment has been minimized.
This comment has been minimized.
|
I will try to do another crater run since the timeout / SSL problems should be less bad now. In the meantime: cc @Daggerbot @srijs @rphmeier @james-darkfox @bluss @jneem @davll @workanator, crates of yours might be affected by this upcoming bugfix! The changes needed though are pretty small for the most part. |
This comment has been minimized.
This comment has been minimized.
|
@nikomatsakis thanks for the heads up (fixed in jobsteal 0.5.1) |
arielb1
force-pushed the
arielb1:bad-tuples-and-objects
branch
from
8c94415
to
31a11f0
Jul 31, 2016
This comment has been minimized.
This comment has been minimized.
|
Thanks for the heads up, ndarray was fixed in version 0.5.1 (which was released in april 2016). |
This comment has been minimized.
This comment has been minimized.
|
(My next attempt at a crater run failed again, btw, and I'm not entirely sure why.) |
This comment has been minimized.
This comment has been minimized.
|
I'll give crater a shot. |
This comment has been minimized.
This comment has been minimized.
|
I re-ran crater and got this report: https://gist.github.com/nikomatsakis/41f3a69b6b37a65a2575eba69c716aed |
This comment has been minimized.
This comment has been minimized.
|
That report shows 12 root regressions and 18 total. However, those root regressions are not actually root regressions -- many of them seem to be from dependent crates, and I think that most of those are outdated versions where a fix is available. Here is a categorization:
One non-data-point:
|
This comment has been minimized.
This comment has been minimized.
|
I would like feedback from @rust-lang/core / @rust-lang/compiler members. Basically these are two warnings that were made for oversights in the type system. Most crates seem to work but there are some regressions. More homework is needed, I think, to verify which of these are outdated crates, and to make sure all owners are contacted. Other than that, I think we should go ahead and convert these warnings into errors, particularly since the infrastructure for them is painful to maintain. We could however take intermediate steps instead -- convert to deny-by-default? I'm trying to get a feeling for when it is appropriate to "throw the switch". |
This comment has been minimized.
This comment has been minimized.
Along these lines, it's really tedious to comb through crater results right now. There has to be a way to make this more automated. |
This comment has been minimized.
This comment has been minimized.
workanator
commented
Aug 11, 2016
|
@nikomatsakis thank you for letting know. Will fix my crate. |
This comment has been minimized.
This comment has been minimized.
workanator
commented
Aug 11, 2016
|
@nikomatsakis I get rid of |
This comment has been minimized.
This comment has been minimized.
|
@workanator great! :) |
This comment has been minimized.
This comment has been minimized.
|
OK, so I decided that we should land this, but only once the crates we identified are all either fixed or have pending PRs. To that end, I opened up for vectormath davll/vectormath-rs#6, but I didn't get to the others yet. One weird thing I found is that the |
This comment has been minimized.
This comment has been minimized.
|
@nikomatsakis just to recap, these warnings have hit stable, right? If so, how many releases? We have a new release coming out a week from today, so it may be worth waiting a week to miss the beta train as well perhaps? (would give an extra cycle with these as stable warnings). Given the low impact, ease of fixing, burden on the compiler, and analysis, I'd personally be fine turning into hard errors. |
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
I believe so, but I'm not sure how many releases. Would be good to verify.
Makes sense; I'd still prefer if we have PRs up. It's not that many repos. Though it takes a surprisingly long time to "context switch" around. I'm still a bit confused why I don't get any warnings for the |
This comment has been minimized.
This comment has been minimized.
|
I tried to make a PR for lense but the current master has a bunch of (unrelated) compilation errors, from what I can see. cc @trustless-fox -- warning that we will be converting some future-compat warnings that may or may not affect your current code into hard errors. =) |
This comment has been minimized.
This comment has been minimized.
|
I could not find the repository for aurum-numeric anymore. cc @Daggerbot -- the existing version of this crate on crates.io may be affected by this bugfix here, which will be converted soon from a warning into an error. See #33242 for details! :) |
This comment has been minimized.
This comment has been minimized.
|
OK, I checked off all the broken crates, but @arielb1 it looks like we need a rebase here. If you rebase, r=me! :) |
arielb1
force-pushed the
arielb1:bad-tuples-and-objects
branch
from
31a11f0
to
86f41e8
Aug 31, 2016
This comment has been minimized.
This comment has been minimized.
|
@bors r+ |
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
bors
added a commit
that referenced
this pull request
Sep 1, 2016
This comment has been minimized.
This comment has been minimized.
|
|
arielb1
force-pushed the
arielb1:bad-tuples-and-objects
branch
from
86f41e8
to
7b92d05
Sep 1, 2016
This comment has been minimized.
This comment has been minimized.
|
I managed to revert an LLVM upgrade. Un-revert it. @bors r=nikomatsakis |
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
bors
added a commit
that referenced
this pull request
Sep 1, 2016
This comment has been minimized.
This comment has been minimized.
bors
merged commit 7b92d05
into
rust-lang:master
Sep 1, 2016
This comment has been minimized.
This comment has been minimized.
|
@nikomatsakis Please remove |
This comment has been minimized.
This comment has been minimized.
|
@james-darkfox very good. I can't easily remove from the tests, but I'll try to remember not to bother you. ;) |
This comment has been minimized.
This comment has been minimized.
|
@nikomatsakis Does it iterate over crates.io ? I could send a dummy crate. If it checks git, then that repo will be removed soon anyway. Thanks; and keep sure to bother me if anything else breaks! :-) |
arielb1 commentedJul 22, 2016
•
edited
The warnings have already reached stable, and I want to improve the trait error reporting code.
Turning warnings into errors, this is obviously a [breaking-change].
r? @nikomatsakis
cc @rust-lang/compiler