Skip to content
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

Tracking issue for Transitioning crates to Rust 2018 #58099

Closed
78 tasks done
Centril opened this issue Feb 3, 2019 · 17 comments · Fixed by #63087
Closed
78 tasks done

Tracking issue for Transitioning crates to Rust 2018 #58099

Centril opened this issue Feb 3, 2019 · 17 comments · Fixed by #63087
Labels
C-tracking-issue Category: A tracking issue for an RFC or an unstable feature. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. WG-epoch Working group: Epoch (2018) management

Comments

@Centril
Copy link
Contributor

Centril commented Feb 3, 2019

This issue tracks the transitioning of all crates in this repo and sub-modules to Rust 2018.


You can help by filing PRs transitioning a crate at a time to Rust 2018.
When transitioning, please apply the following to the crate root:

#![deny(rust_2018_idioms)]
#![allow(explicit_outlives_requirements)] // Remove or keep this at your option.

You can try to use cargo +nightly fix (or cargo +nightly --edition-idioms) to migrate a crate automatically; see the edition guide for details. However, due to bootstrapping, you might need to do some manual intervention here and there.

If you want to help out, please pick a crate and leave a comment here.
When you make a transitioning PR, also leave a comment here.

cc @rust-lang/compiler @rust-lang/infra


The following crates exist in the repo or as submodules.
Checked items have been transitioned to Rust 2018.

@Centril Centril added T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. C-tracking-issue Category: A tracking issue for an RFC or an unstable feature. WG-epoch Working group: Epoch (2018) management labels Feb 3, 2019
bors added a commit to rust-lang/rust-clippy that referenced this issue Feb 3, 2019
Transition leftover test libs to Rust 2018

To tick off some checkboxes in rust-lang/rust#58099 =)
bors added a commit that referenced this issue Feb 4, 2019
Transition cargotest to Rust 2018

Only updating Cargo.toml

#58099
Centril added a commit to Centril/rust that referenced this issue Feb 25, 2019
bors added a commit that referenced this issue Feb 28, 2019
libstd => 2018

Transitions `libstd` to Rust 2018; cc #58099

r? @Centril
Centril added a commit to Centril/rust that referenced this issue Mar 27, 2019
…rochenkov

librustc_driver => 2018

Transitions `librustc_driver` to Rust 2018; cc rust-lang#58099

r? @Centril
Centril added a commit to Centril/rust that referenced this issue Mar 27, 2019
…rochenkov

librustc_driver => 2018

Transitions `librustc_driver` to Rust 2018; cc rust-lang#58099

r? @Centril
Centril added a commit to Centril/rust that referenced this issue Mar 27, 2019
…rochenkov

librustc_driver => 2018

Transitions `librustc_driver` to Rust 2018; cc rust-lang#58099

r? @Centril
cuviper added a commit to cuviper/rust that referenced this issue Mar 28, 2019
…rochenkov

librustc_driver => 2018

Transitions `librustc_driver` to Rust 2018; cc rust-lang#58099

r? @Centril
@mati865
Copy link
Contributor

mati865 commented Mar 29, 2019

libstd migration is merged #58208

@Centril
Copy link
Contributor Author

Centril commented Mar 29, 2019

Yep; still waiting on #58828 however.

@petrochenkov
Copy link
Contributor

It should be possible to set the default edition and lints in rustbuild already.
The few remaining crates can opt-out and be transitioned at later time, not necessary to wait for them.

bors added a commit that referenced this issue Apr 18, 2019
libcore => 2018

Transitions `libcore` to Rust 2018; cc #58099

r? @Centril
@Centril
Copy link
Contributor Author

Centril commented Apr 19, 2019

@pietroalbini @Mark-Simulacrum I'm pleased to announce that all crates, to my knowledge, have been migrated to Rust 2018. As far as I know, all of them have also had idiom lints applied. I think now would be a good idea to apply it globally for rustbuild.

@Mark-Simulacrum
Copy link
Member

Mark-Simulacrum commented Apr 19, 2019

I can think of a couple of things we want:

  • tidy-enforced that all new crates are in 2018 edition
  • deny idiom lints

Not entirely sure how best to do the first, but the second should be quite simple -- I would add to https://github.com/rust-lang/rust/blob/master/src/bootstrap/bin/rustc.rs#L307 the deny for idiom lints.

@mark-i-m
Copy link
Member

This is done now, right? Can we close this?

@Centril
Copy link
Contributor Author

Centril commented May 23, 2019

@mark-i-m

tidy-enforced that all new crates are in 2018 edition

is not done I believe.

Centril added a commit to Centril/rust that referenced this issue Jul 29, 2019
Centril added a commit to Centril/rust that referenced this issue Jul 29, 2019
Centril added a commit to Centril/rust that referenced this issue Jul 30, 2019
Centril added a commit to Centril/rust that referenced this issue Jul 30, 2019
@crlf0710
Copy link
Member

Finally done! Maybe tick the checkbox too!

1 similar comment
@crlf0710
Copy link
Member

Finally done! Maybe tick the checkbox too!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-tracking-issue Category: A tracking issue for an RFC or an unstable feature. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. WG-epoch Working group: Epoch (2018) management
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants