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

Rollup of 13 pull requests #49306

Closed
wants to merge 73 commits into from
Closed

Rollup of 13 pull requests #49306

wants to merge 73 commits into from

Conversation

QuietMisdreavus and others added 30 commits March 12, 2018 17:16
Before ebf9e1a, it was used for Display::fmt, but ebf9e1a replaced
that with a faster implementation, and nothing else uses it.
These will eventually be removed
(though the NonZero<T> lang item will likely stay).
It has been deprecated for about one release cycle.
Add 12 num::NonZero* types for primitive integers, deprecate core::nonzero

RFC: rust-lang/rfcs#2307
Tracking issue: ~~rust-lang#27730 rust-lang#49137
Fixes rust-lang#27730
…xcrichton

rustc_driver: get rid of the extra thread

We can alter the stack size afterwards on Unix.

Having a separate thread causes poor debugging experience when interrupting with signals. I have to get the backtrace of the all thread, as the main thread is waiting to join doing nothing else. This patch allows me to just run `bt` to get the desired backtrace.
…corners-of-rustdoc, r=frewsxcv

add an "unstable features" chapter to the rustdoc book

There are several rustdoc features that currently are undocumented, but also don't fit with the rest of the Rustdoc Book since they're also unstable. Some of these have corresponding feature gates and chapters in the Unstable Book, but many don't, and i wanted a place to talk about them officially.

Goal: talk about everything rustdoc can do that needs nightly

- [x] Feature gates (extensions to the doc attribute that can be caught by the compiler)
  - [x] doc(cfg)
  - [x] doc(masked)
  - [x] doc(spotlight)
  - [x] doc(include)
- [x] Command-line flags (features that require a CLI flag to use, where the flag itself is a `-Z` command or otherwise requires `-Z unstable-options` before rustdoc will accept it)
  - [x] markdown-before-content/markdown-after-content
  - [x] playground-url
  - [x] display-warnings
  - [x] crate-version
  - [x] linker
  - [x] sort-modules-by-appearance
  - [x] themes/theme-checker
  - [x] resource-suffix
  - [x] `-Z force-unstable-if-unmarked`
- [x] Nightly-gated functionality (features that are gated by requiring a nightly build without needing a CLI flag or a feature gate to unlock)
  - [x] intra-links
  - [x] error numbers for `compile_fail` doctests
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.
…r=GuillaumeGomez

rustdoctest: suppress the default allow(unused) under --display-warnings

If you're passing rustdoc `--display-warnings`, you probably want to see the default ones too. This change modifies `test::make_test` to suppress the default `#![allow(unused)]` if the `--display-warnings` CLI flag was provided to rustdoc.

cc rust-lang#41574
Remove core::fmt::num::Decimal

Before ebf9e1a, it was used for Display::fmt, but ebf9e1a replaced
that with a faster implementation, and nothing else uses it.
…, r=oli-obk

Reduce the diagnostic spam when multiple fields are missing in pattern

Fix rust-lang#47457.
…, r=nikomatsakis

Stabilize termination_trait, split out termination_trait_test

For rust-lang#48453.

First time contribution, so I'd really appreciate any feedback on how this PR can be better.

Not sure exactly what kind of documentation update is needed. If there is no PR to update the reference, I can try doing that this week as I have time.
Document only-X test header

This was added in rust-lang#47487 without documentation.
Cargo fmt libtest

r? @nrc

Using `rustfmt 0.4.1- (87180d9 2018-03-16)` (`rustfmt --version` is a bit broken).
…ebank

Produce nice array lengths on a best effort basis

fixes rust-lang#49208

r? @estebank
…chton

Use GNU version of fgrep/egrep tool if available

It is mostly for BSD system. Some tests (run-make/issue-35164 and
run-make/cat-and-grep-sanity-check) are failing with BSD
fgrep, whereas they pass with gnu version (gfgrep).
@rust-highfive
Copy link
Collaborator

r? @QuietMisdreavus

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Mar 23, 2018
@frewsxcv
Copy link
Member Author

@bors r+ p=10

@bors
Copy link
Contributor

bors commented Mar 23, 2018

📌 Commit bd57bb8 has been approved by frewsxcv

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 23, 2018
@bors
Copy link
Contributor

bors commented Mar 23, 2018

⌛ Testing commit bd57bb8 with merge bad7842eb94a6a6034a664bb3d6a81727ea8e5f1...

@bors
Copy link
Contributor

bors commented Mar 23, 2018

💔 Test failed - status-appveyor

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Mar 23, 2018
@alexcrichton
Copy link
Member

I'll try to continue this at #49308

@frewsxcv frewsxcv deleted the rollup branch March 23, 2018 14:56
@Centril Centril added the rollup A PR which is a rollup label Oct 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rollup A PR which is a rollup S-waiting-on-review Status: Awaiting review from the assignee but also interested parties.
Projects
None yet
Development

Successfully merging this pull request may close these issues.