-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Rename "epoch" to "edition" #49001
Comments
Manishearth
added
E-easy
Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.
E-mentor
Call for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion.
WG-epoch
Working group: Epoch (2018) management
labels
Mar 13, 2018
I'll take a stab at this. |
Made some significant progress on this. Expecting to have a PR later tonight or by tomorrow |
This was referenced Mar 15, 2018
frewsxcv
added a commit
to frewsxcv/rust
that referenced
this issue
Mar 23, 2018
rename epoch to edition As outlined in rust-lang#49001 we'd like to rename all instances of `epoch` to `edition`. I developed the following bash script to assist in the rename. It renames all instances of `epoch` to `edition` and `Epoch` to `Edition` in all of the files I was able to determine were relevant. It then renames a few relevant files that had `epoch` in there name and finally prints out all of the remaining instance of the strings `epoch` and `Epoch` (which, as far as I can tell should not be changed). Here is the script: ``` replace() { sed -i '' "s/epoch/edition/g" "$1" sed -i '' "s/Epoch/Edition/g" "$1" } replace "src/librustc/lint/context.rs" replace "src/librustc/lint/mod.rs" replace "src/librustc/session/config.rs" replace "src/librustc/session/mod.rs" replace "src/librustc_driver/driver.rs" replace "src/librustc_lint/lib.rs" replace "src/librustc_typeck/check/method/probe.rs" replace "src/libsyntax/config.rs" replace "src/libsyntax/epoch.rs" replace "src/libsyntax/feature_gate.rs" replace "src/libsyntax/lib.rs" replace "src/test/compile-fail/epoch-raw-pointer-method-2015.rs" replace "src/test/compile-fail/epoch-raw-pointer-method-2018.rs" replace "src/test/run-pass/dyn-trait.rs" replace "src/test/run-pass/epoch-gate-feature.rs" replace "src/test/ui/inference-variable-behind-raw-pointer.stderr" git mv src/libsyntax/epoch.rs src/libsyntax/edition.rs git mv src/test/compile-fail/epoch-raw-pointer-method-2015.rs src/test/compile-fail/edition-raw-pointer-method-2015.rs git mv src/test/compile-fail/epoch-raw-pointer-method-2018.rs src/test/compile-fail/edition-raw-pointer-method-2018.rs git grep "epoch" ./* git grep "Epoch" ./* ``` And here is the output of the script: ``` kurtis-rust$ ./epoch_to_edition.sh src/Cargo.lock: "crossbeam-epoch 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", src/Cargo.lock:name = "crossbeam-epoch" src/Cargo.lock:"checksum crossbeam-epoch 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "59796cc6cbbdc6bb319161349db0c3250ec73ec7fcb763a51065ec4e2e158552" src/ci/docker/scripts/android-start-emulator.sh:# Using the default qemu2 engine makes time::tests::since_epoch fails because src/ci/docker/scripts/android-start-emulator.sh:# the emulator date is set to unix epoch (in armeabi-v7a-18 image). Using src/librustc_incremental/persist/fs.rs: let micros_since_unix_epoch = u64::from_str_radix(s, INT_ENCODE_BASE as u32); src/librustc_incremental/persist/fs.rs: if micros_since_unix_epoch.is_err() { src/librustc_incremental/persist/fs.rs: let micros_since_unix_epoch = micros_since_unix_epoch.unwrap(); src/librustc_incremental/persist/fs.rs: let duration = Duration::new(micros_since_unix_epoch / 1_000_000, src/librustc_incremental/persist/fs.rs: 1000 * (micros_since_unix_epoch % 1_000_000) as u32); src/libstd/sys/cloudabi/abi/cloudabi.rs: /// The epoch of this clock is undefined. The absolute src/libstd/time.rs: let one_second_from_epoch = UNIX_EPOCH + Duration::new(1, 0); src/libstd/time.rs: let one_second_from_epoch2 = UNIX_EPOCH + Duration::new(0, 500_000_000) src/libstd/time.rs: assert_eq!(one_second_from_epoch, one_second_from_epoch2); src/libstd/time.rs: fn since_epoch() { src/test/run-pass/issue-29540.rs: pub mon_min_osdmap_epochs: String, src/test/run-pass/issue-29540.rs: pub mon_max_pgmap_epochs: String, src/test/run-pass/issue-29540.rs: pub mon_max_log_epochs: String, src/test/run-pass/issue-29540.rs: pub mon_max_mdsmap_epochs: String, src/test/run-pass/issue-29540.rs: pub osd_map_share_max_epochs: String, src/test/run-pass/issue-29540.rs: pub osd_pg_epoch_persisted_max_stale: String, ``` If it looks like I've missed any things that should be converted, please let me know. There were also some notes in `src/libsyntax/epoch.rs` that indicated there might be some necessary/parallel changes that need to made in cargo. But we should probably make a separate issue for that.
frewsxcv
added a commit
to frewsxcv/rust
that referenced
this issue
Mar 23, 2018
rename epoch to edition As outlined in rust-lang#49001 we'd like to rename all instances of `epoch` to `edition`. I developed the following bash script to assist in the rename. It renames all instances of `epoch` to `edition` and `Epoch` to `Edition` in all of the files I was able to determine were relevant. It then renames a few relevant files that had `epoch` in there name and finally prints out all of the remaining instance of the strings `epoch` and `Epoch` (which, as far as I can tell should not be changed). Here is the script: ``` replace() { sed -i '' "s/epoch/edition/g" "$1" sed -i '' "s/Epoch/Edition/g" "$1" } replace "src/librustc/lint/context.rs" replace "src/librustc/lint/mod.rs" replace "src/librustc/session/config.rs" replace "src/librustc/session/mod.rs" replace "src/librustc_driver/driver.rs" replace "src/librustc_lint/lib.rs" replace "src/librustc_typeck/check/method/probe.rs" replace "src/libsyntax/config.rs" replace "src/libsyntax/epoch.rs" replace "src/libsyntax/feature_gate.rs" replace "src/libsyntax/lib.rs" replace "src/test/compile-fail/epoch-raw-pointer-method-2015.rs" replace "src/test/compile-fail/epoch-raw-pointer-method-2018.rs" replace "src/test/run-pass/dyn-trait.rs" replace "src/test/run-pass/epoch-gate-feature.rs" replace "src/test/ui/inference-variable-behind-raw-pointer.stderr" git mv src/libsyntax/epoch.rs src/libsyntax/edition.rs git mv src/test/compile-fail/epoch-raw-pointer-method-2015.rs src/test/compile-fail/edition-raw-pointer-method-2015.rs git mv src/test/compile-fail/epoch-raw-pointer-method-2018.rs src/test/compile-fail/edition-raw-pointer-method-2018.rs git grep "epoch" ./* git grep "Epoch" ./* ``` And here is the output of the script: ``` kurtis-rust$ ./epoch_to_edition.sh src/Cargo.lock: "crossbeam-epoch 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", src/Cargo.lock:name = "crossbeam-epoch" src/Cargo.lock:"checksum crossbeam-epoch 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "59796cc6cbbdc6bb319161349db0c3250ec73ec7fcb763a51065ec4e2e158552" src/ci/docker/scripts/android-start-emulator.sh:# Using the default qemu2 engine makes time::tests::since_epoch fails because src/ci/docker/scripts/android-start-emulator.sh:# the emulator date is set to unix epoch (in armeabi-v7a-18 image). Using src/librustc_incremental/persist/fs.rs: let micros_since_unix_epoch = u64::from_str_radix(s, INT_ENCODE_BASE as u32); src/librustc_incremental/persist/fs.rs: if micros_since_unix_epoch.is_err() { src/librustc_incremental/persist/fs.rs: let micros_since_unix_epoch = micros_since_unix_epoch.unwrap(); src/librustc_incremental/persist/fs.rs: let duration = Duration::new(micros_since_unix_epoch / 1_000_000, src/librustc_incremental/persist/fs.rs: 1000 * (micros_since_unix_epoch % 1_000_000) as u32); src/libstd/sys/cloudabi/abi/cloudabi.rs: /// The epoch of this clock is undefined. The absolute src/libstd/time.rs: let one_second_from_epoch = UNIX_EPOCH + Duration::new(1, 0); src/libstd/time.rs: let one_second_from_epoch2 = UNIX_EPOCH + Duration::new(0, 500_000_000) src/libstd/time.rs: assert_eq!(one_second_from_epoch, one_second_from_epoch2); src/libstd/time.rs: fn since_epoch() { src/test/run-pass/issue-29540.rs: pub mon_min_osdmap_epochs: String, src/test/run-pass/issue-29540.rs: pub mon_max_pgmap_epochs: String, src/test/run-pass/issue-29540.rs: pub mon_max_log_epochs: String, src/test/run-pass/issue-29540.rs: pub mon_max_mdsmap_epochs: String, src/test/run-pass/issue-29540.rs: pub osd_map_share_max_epochs: String, src/test/run-pass/issue-29540.rs: pub osd_pg_epoch_persisted_max_stale: String, ``` If it looks like I've missed any things that should be converted, please let me know. There were also some notes in `src/libsyntax/epoch.rs` that indicated there might be some necessary/parallel changes that need to made in cargo. But we should probably make a separate issue for that.
bors
added a commit
that referenced
this issue
Apr 2, 2018
Easy edition feature flag We no longer gate features on epochs; instead we have a `#![feature(rust_2018_preview)]` that flips on a bunch of features (currently dyn_trait). Based on #49001 to avoid merge conflicts r? @nikomatsakis
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
We currently expose a -Zepoch=foo flag. It should be
-Zedition=foo
. Furthermore, all code and comments talking about epochs should use the word "edition".(mentoring)
The text was updated successfully, but these errors were encountered: