Skip to content

Tracking issue for Transitioning crates to Rust 2018 #58099

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

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: An issue tracking the progress of sth. like the implementation of an RFC 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: An issue tracking the progress of sth. like the implementation of an RFC 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!

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
C-tracking-issue Category: An issue tracking the progress of sth. like the implementation of an RFC 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