Closed
Description
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.
- bootstrap
- build_helper; done in Transition build_helper to 2018 edition #58120
- liballoc; done in Transition liballoc to Rust 2018 #58081
- libarena; done in libarena => 2018 #58105
- libcore; done in libcore => 2018 #58702
- libfmt_macros; done in libfmt_macros => 2018 #58106
- libgraphviz; done in libgraphviz => 2018 #58107
- libpanic_abort; done in libpanic_abort => 2018 #58112
- libpanic_unwind; done in libpanic_unwind => 2018 #58110
- libproc_macro; done in libproc_macro => 2018 #58119
- libprofiler_builtins; done in libprofiler_builtins => 2018 #58220
- librustc; done in Move librustc to 2018 #58193
- librustc_allocator; done in librustc_allocator => 2018 #58222
- librustc_apfloat; done in librustc_apfloat => 2018 #58239
- librustc_asan; done in librustc_asan => 2018 #58219
- librustc_borrowck; done in librustc_borrowck => 2018 #58260
- librustc_codegen_llvm; done in librustc_codegen_llvm => 2018 #58546
- librustc_codegen_ssa; done in librustc_codegen_ssa => 2018 #58322
- librustc_codegen_utils; done in librustc_codegen_utils => 2018 #58259
- librustc_cratesio_shim; done in librustc_cratesio_shim => 2018 #58256
- librustc_data_structures; done in librustc_data_structures => 2018 #58312
- librustc_driver; done in librustc_driver => 2018 #58253
- librustc_errors; done librustc_errors => 2018 #58240
- librustc_fs_util; done in librustc_fs_util => 2018 #58225
- librustc_incremental; done in librustc_incremental => 2018 #58261
- librustc_interface; done in librustc_interface => 2018 #58837
- librustc_lint; done in librustc_lint => 2018 #58245
- librustc_llvm; done in librustc_llvm => 2018 #58241
- librustc_lsan; done in librustc_lsan => 2018 #58223
- librustc_metadata; done in librustc_metadata => 2018 #58255
- librustc_mir; done in librustc_mir => 2018 #58265
- librustc_msan; done in librustc_msan => 2018 #58218
- librustc_passes; done in librustc_passes => 2018 #58247
- librustc_plugin; done in librustc_plugin => 2018 #58228
- librustc_privacy; done in librustc_privacy => 2018 #58109
- librustc_resolve; done in librustc_resolve => 2018 #58236
- librustc_save_analysis; done in librustc_save_analysis => 2018 #58233
- librustc_target; done in librustc_target => 2018 #58257
- librustc_traits; done in Transition librustc_traits to 2018 edition #58251
- librustc_tsan; done in librustc_tsan => 2018 #58217
- librustc_typeck; done in librustc_typeck => 2018 #58300
- librustdoc; done in Transition librustdoc to Rust 2018 #58100
- libserialize; done in libserialize => 2018 #58318
- libstd; done in libstd => 2018 #58208
- libsyntax; done in libsyntax => 2018 #58125
- libsyntax_ext; done in libsyntax_ext => 2018 #58133
- libsyntax_pos; done in libsyntax_pos => 2018 #58124
- libterm; done in libterm => 2018 #58111
- libtest; done in Transition libtest to 2018 edition #58118
- libunwind; done in libunwind => 2018 #58128
- rustc
- stdsimd
- tools
- build-manifest; done in Transition build-manifest to 2018 edition #58113
- cargo - submodule: https://github.com/rust-lang/cargo/
- cargo-test; done in Transition cargotest to Rust 2018 #58095
- clippy - submodule: https://github.com/rust-lang/rust-clippy
- clippy_dev
- clippy_dummy
- clippy_lints
- clippy_workspace_tests; fixed in Transition leftover test libs to Rust 2018 rust-clippy#3737
- mini-macro; fixed in Transition leftover test libs to Rust 2018 rust-clippy#3737
- rustc_tools_util
- compiletest; done in Transition compiletest to Rust 2018 #58091
- error_index_generator; done in error_index_generator => 2018 #58285
- linkchecker; done in Transition linkchecker to 2018 edition #58096
- miri - submodule: https://github.com/solson/miri
- remote-test-client; done in Transition remote test to Rust 2018 #58097
- remote-test-server; done in Transition remote test to Rust 2018 #58097
- rls - submodule: https://github.com/rust-lang/rls
- rust-installer
- rustbook
- rustc-std-workspace-core; done in rustc-std-workspace-core => 2018 #58287
- rustc-workspace-hack; done in rustc-workspace-hack => 2018 #58288
- rustdoc; done in Transition rustdoc to 2018 edition #58115
- rustdoc-themes; done in Transition rustdoc-theme to 2018 edition #58117
- rustfmt - submodule: https://github.com/rust-lang/rustfmt
- tidy; done in Transition tidy and unstable-book-gen to 2018 edition #58114
- unstable-book-gen; done in Transition tidy and unstable-book-gen to 2018 edition #58114