-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Point out that behavior might be switched on 2015 and 2018 too one day #84590
Conversation
r? @dtolnay (rust-highfive has picked a reviewer for you, use r? to override) |
That clarification seems good to me. Somewhat aside, you changed "behavior" to "behaviour" -- I don't know if we have an official position for the project documentation, but the US spelling is far more common throughout the repo. |
Hmmm you're right, indeed it is:
I've changed it to US spelling. Also btw., if you check the summary comment of the August 2020 crater run, it lists the following major regression causing crates: colored, lazy_static, jpeg-decoder, ring. Interestingly, only ring has versions at all that use edition 2018, the other crates in that list all use edition 2015 for their latest versions, so I assume this includes the offending versions too. ring has switched to edition 2018 starting with 0.14.0, which means most of its breakage causing versions are on edition 2018. |
Are you suggesting that we might want to migrate one edition without the other? If so, I think the only reason to force this at all would be to get rid of the attribute hack entirely, i.e. all or nothing. |
I don't really know. I mainly shared this because I found it interesting. If there is a difference between 2015 and 2018 then it should only be in timing, for the reason you stated. Right now, I think it's better to perform this change as part of edition 2021 so that people can deliberately opt into the breakage. What one should do with 2015 and 2018 can be decided at a later point in time. I don't really want to turn this thread into a discussion about when to migrate edition 2015 and 2018.... maybe I shouldn't have shared that observation, my fault sorry... The point of this PR to explicitly leave the option open, nothing more nothing less. |
@bors r+ rollup |
📌 Commit 5bd3187 has been approved by |
@bors r- I'm not sure about this. |
Let me explain: I'm trying to decide what actionable thing we want people to based on this. I guess we're saying that we don't want them to use I think it would be good to spell out the advice. |
@nikomatsakis I've added a paragraph to the document. If I'm reading #84513 correctly it's also the plan to change the |
Point out that behavior might be switched on 2015 and 2018 too one day Reword documentation to make it clear that behaviour can be switched on older editions too, one day in the future. It doesn't *have* to be switched, but I think it's good to have it as an option and re-evaluate it a few months/years down the line when e.g. the crates that showed up in crater were broken by different changes in the language already. cc rust-lang#25725, rust-lang#65819, rust-lang#66145, rust-lang#84147 , and rust-lang#84133 (comment)
Same issue as #84147 (comment), which I fixed for my test case in commit f6a90ca. |
On bootstrap the IntoIterator trait is not implemented yet for arrays.
@bors r=nikomatsakis |
📌 Commit a352336 has been approved by |
@bors rollup |
Point out that behavior might be switched on 2015 and 2018 too one day Reword documentation to make it clear that behaviour can be switched on older editions too, one day in the future. It doesn't *have* to be switched, but I think it's good to have it as an option and re-evaluate it a few months/years down the line when e.g. the crates that showed up in crater were broken by different changes in the language already. cc rust-lang#25725, rust-lang#65819, rust-lang#66145, rust-lang#84147 , and rust-lang#84133 (comment)
Point out that behavior might be switched on 2015 and 2018 too one day Reword documentation to make it clear that behaviour can be switched on older editions too, one day in the future. It doesn't *have* to be switched, but I think it's good to have it as an option and re-evaluate it a few months/years down the line when e.g. the crates that showed up in crater were broken by different changes in the language already. cc rust-lang#25725, rust-lang#65819, rust-lang#66145, rust-lang#84147 , and rust-lang#84133 (comment)
Point out that behavior might be switched on 2015 and 2018 too one day Reword documentation to make it clear that behaviour can be switched on older editions too, one day in the future. It doesn't *have* to be switched, but I think it's good to have it as an option and re-evaluate it a few months/years down the line when e.g. the crates that showed up in crater were broken by different changes in the language already. cc rust-lang#25725, rust-lang#65819, rust-lang#66145, rust-lang#84147 , and rust-lang#84133 (comment)
Point out that behavior might be switched on 2015 and 2018 too one day Reword documentation to make it clear that behaviour can be switched on older editions too, one day in the future. It doesn't *have* to be switched, but I think it's good to have it as an option and re-evaluate it a few months/years down the line when e.g. the crates that showed up in crater were broken by different changes in the language already. cc rust-lang#25725, rust-lang#65819, rust-lang#66145, rust-lang#84147 , and rust-lang#84133 (comment)
Rollup of 10 pull requests Successful merges: - rust-lang#84451 (Use flex more consistently) - rust-lang#84590 (Point out that behavior might be switched on 2015 and 2018 too one day) - rust-lang#84682 (Don't rebind in `transitive_bounds_that_define_assoc_type`) - rust-lang#84683 (Minor grammar tweaks for readability to btree internals) - rust-lang#84688 (Remove unnecessary CSS rules for search results) - rust-lang#84690 (Remove unneeded bottom margin on search results) - rust-lang#84692 (Link between std::env::{var, var_os} and std::env::{vars, vars_os}) - rust-lang#84705 (make feature recommendations optional) - rust-lang#84706 (Drop alias `reduce` for `fold` - we have a `reduce` function) - rust-lang#84713 (Fix labels for regression issue template) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Reword documentation to make it clear that behaviour can be switched on older editions too, one day in the future. It doesn't have to be switched, but I think it's good to have it as an option and re-evaluate it a few months/years down the line when e.g. the crates that showed up in crater were broken by different changes in the language already.
cc #25725, #65819, #66145, #84147 , and #84133 (comment)