]> git.lizzy.rs Git - rust.git/log
rust.git
3 years agoRollup merge of #74450 - aticu:master, r=jonas-schievink
Manish Goregaokar [Sat, 18 Jul 2020 01:13:50 +0000 (18:13 -0700)]
Rollup merge of #74450 - aticu:master, r=jonas-schievink

Fix `Safety` docs for `from_raw_parts_mut`

This aligns the wording more with the documentation of e.g. `drop_in_place`, `replace`, `swap` and `swap_nonoverlapping` from `core::ptr`.

Also if the pointer were really only valid for writes, it would be trivial to introduce UB from safe code, after calling `core::slice::from_raw_parts_mut`.

3 years agoRollup merge of #74449 - tmiasko:cmpxchg-test, r=nikomatsakis
Manish Goregaokar [Sat, 18 Jul 2020 01:13:48 +0000 (18:13 -0700)]
Rollup merge of #74449 - tmiasko:cmpxchg-test, r=nikomatsakis

Test codegen of compare_exchange operations

Add a codegen test for compare_exchange to verify that rustc emits expected LLVM IR.

3 years agoRollup merge of #74448 - davidtwco:improper-ctypes-definitions-boxes, r=davidtwco
Manish Goregaokar [Sat, 18 Jul 2020 01:13:47 +0000 (18:13 -0700)]
Rollup merge of #74448 - davidtwco:improper-ctypes-definitions-boxes, r=davidtwco

improper_ctypes_definitions: allow `Box`

Addresses https://github.com/rust-lang/rust/pull/72700#issuecomment-659449386.

This PR stops linting against `Box` in `extern "C" fn`s for the `improper_ctypes_definitions` lint - boxes are documented to be FFI-safe.

cc @alexcrichton @CryZe

3 years agoRollup merge of #74444 - Alexendoo:test-69414, r=nikomatsakis
Manish Goregaokar [Sat, 18 Jul 2020 01:13:45 +0000 (18:13 -0700)]
Rollup merge of #74444 - Alexendoo:test-69414, r=nikomatsakis

Add regression test for #69414

Closes #69414 (no longer ICEs after #74159)

3 years agoRollup merge of #74441 - eddyb:zlib-on-nixos, r=nagisa
Manish Goregaokar [Sat, 18 Jul 2020 01:13:44 +0000 (18:13 -0700)]
Rollup merge of #74441 - eddyb:zlib-on-nixos, r=nagisa

bootstrap.py: patch RPATH on NixOS to handle the new zlib dependency.

This is a stop-gap until #74420 is resolved (assuming we'll patch beta to statically link zlib).

However, I've been meaning to rewrite the NixOS support we have in `bootstrap.py` for a while now, and had to in order to cleanly add zlib as a dependency (the second commit is a relatively small delta in functionality, compared to the first).

Previously, we would extract the `ld-linux.so` path from the output of `ldd /run/current-system/sw/bin/sh`, which assumes a lot. On top of that we didn't use any symlinks, which meant if the user ran  GC (`nix-collect-garbage`), e.g. after updating their system, their `stage0` binaries would suddenly be broken (i.e. referring to files that no longer exist).
We were also using `patchelf` directly, assuming it can be found in `$PATH` (which is not necessarily true).

My new approach relies on using `nix-build` to get the following "derivations" (packages, more or less):
* `stdenv.cc.bintools`, which has a `nix-support/dynamic-linker` file containing the path to `ld-linux.so`
  * reading this file is [the canonical way to run `patchelf --set-interpreter`](https://github.com/NixOS/nixpkgs/search?l=Nix&q=%22--set-interpreter+%24%28cat+%24NIX_CC%2Fnix-support%2Fdynamic-linker%29%22)
* `patchelf` (so that the user doesn't need to have it installed)
* `zlib`, for the `libz.so` dependency of `libLLVM-*.so` (until #74420 is resolved, presumably)

This is closer to how software is built on Nix, but I've tried to keep it as simple as possible (and not add e.g. a `stage0.nix` file).
Symlinks to each of those dependencies are kept in `stage0/.nix-deps`, which prevents GC from invalidating `stage0` binaries.

r? @nagisa cc @Mark-Simulacrum @oli-obk @davidtwco

3 years agoRollup merge of #74418 - rye:gha-dedup-shell-setting, r=pietroalbini
Manish Goregaokar [Sat, 18 Jul 2020 01:13:42 +0000 (18:13 -0700)]
Rollup merge of #74418 - rye:gha-dedup-shell-setting, r=pietroalbini

ci: Set `shell: bash` as a default, remove duplicates

A follow-up to #74406, this commit merely removes the `shell: bash` lines where they were added in favor of setting defaults for *all* "run" steps in the jobs that run the tests.

The changes in #74406 were needed because of an upstream change to the `windows-2019` GitHub Actions image. Previously, the configuration worked fine without specifying `shell: bash`, but for some reason this broke with a new change that was deployed today. The preceding PR was a hotfix to get CI passing, but there was a slightly less duplicative way to specify the default shell for the jobs, which was to set the `defaults.run` option.

This change applies to the `pr`, `try`, `auto`, and `auto-fallible` jobs, which are derived from the YAML-anchor `base-ci-job`.  I did not apply these changes to the `master`, `try-success`, `try-failure`, `auto-success`, or `auto-failure` jobs because they have only a few steps.

cc/r? @Mark-Simulacrum

3 years agoRollup merge of #74069 - erikdesjardins:bad-niche, r=nikomatsakis
Manish Goregaokar [Sat, 18 Jul 2020 01:13:40 +0000 (18:13 -0700)]
Rollup merge of #74069 - erikdesjardins:bad-niche, r=nikomatsakis

Compare tagged/niche-filling layout and pick the best one

Finishes up #71045, and so fixes #63866.

cc @eddyb
r? @nikomatsakis (since @eddyb wrote the first commit)

3 years agoRollup merge of #72414 - KodrAus:feat/stdlazy, r=Mark-Simulacrum
Manish Goregaokar [Sat, 18 Jul 2020 01:13:39 +0000 (18:13 -0700)]
Rollup merge of #72414 - KodrAus:feat/stdlazy, r=Mark-Simulacrum

 Add lazy initialization primitives to std

Follow-up to #68198

Current RFC: https://github.com/rust-lang/rfcs/pull/2788

Rebased and fixed up a few of the dangling comments. Some notes carried over from the previous PR:

- [ ] Naming. I'm ok to just roll with the `Sync` prefix like `SyncLazy` for now, but [have a personal preference for `Atomic`](https://github.com/rust-lang/rfcs/pull/2788#issuecomment-574466983) like `AtomicLazy`.
- [x] [Poisoning](https://github.com/rust-lang/rfcs/pull/2788#discussion_r366725768). It seems like there's [some regret around poisoning in other `std::sync` types that we might want to just avoid upfront for `std::lazy`, especially if that would align with a future `std::mutex` that doesn't poison](https://rust-lang.zulipchat.com/#narrow/stream/219381-t-libs/topic/parking_lot.3A.3AMutex.20in.20std/near/190331199). Personally, if we're adding these types to `std::lazy` instead of `std::sync`, I'd be on-board with not worrying about poisoning in `std::lazy`, and potentially deprecating `std::sync::Once` and `lazy_static` in favour of `std::lazy` down the track if it's possible, rather than attempting to replicate their behavior. cc @Amanieu @sfackler.
- [ ] [Consider making`SyncOnceCell::get` blocking](https://github.com/matklad/once_cell/pull/92). There doesn't seem to be consensus in the linked PR on whether or not that's strictly better than the non-blocking variant.

In general, none of these seem to be really blocking an initial unstable merge, so we could possibly kick off a FCP if y'all are happy?

cc @matklad @pitdicker have I missed anything, or were there any other considerations that have come up since we last looked at this?

3 years agolink once_cell feature to #74465
Ashley Mannix [Sat, 18 Jul 2020 00:09:47 +0000 (10:09 +1000)]
link once_cell feature to #74465

3 years agoAuto merge of #74461 - Manishearth:rollup-xadbh00, r=Manishearth
bors [Fri, 17 Jul 2020 21:10:14 +0000 (21:10 +0000)]
Auto merge of #74461 - Manishearth:rollup-xadbh00, r=Manishearth

Rollup of 18 pull requests

Successful merges:

 - #71670 (Enforce even more the code blocks attributes check through rustdoc)
 - #73930 (Make some Option methods const)
 - #74009 (Fix MinGW `run-make-fulldeps` tests)
 - #74056 (Add Arguments::as_str().)
 - #74169 (Stop processing unreachable blocks when solving dataflow)
 - #74251 (Teach bootstrap about target files vs target triples)
 - #74288 (Fix src/test/run-make/static-pie/test-aslr.rs)
 - #74300 (Use intra-doc links in core::iter module)
 - #74364 (add lazy normalization regression tests)
 - #74368 (Add CSS tidy check)
 - #74394 (Remove leftover from emscripten fastcomp support)
 - #74411 (Don't assign `()` to `!` MIR locals)
 - #74416 (Use an UTF-8 locale for the linker.)
 - #74424 (Move hir::Place to librustc_middle/hir)
 - #74428 (docs: better demonstrate that None values are skipped as many times a…)
 - #74438 (warn about uninitialized multi-variant enums)
 - #74440 (Fix Arc::as_ptr docs)
 - #74452 (intra-doc links: resolve modules in the type namespace)

Failed merges:

r? @ghost

3 years agoRollup merge of #74452 - Manishearth:module-type-ns, r=jyn514
Manish Goregaokar [Fri, 17 Jul 2020 21:09:33 +0000 (14:09 -0700)]
Rollup merge of #74452 - Manishearth:module-type-ns, r=jyn514

intra-doc links: resolve modules in the type namespace

Fixes https://github.com/rust-lang/rust/issues/62830

Modules actually live in the type namespace, not all three, and it's not possible to clash a type with a module.

3 years agoRollup merge of #74440 - Abendstolz:patch-1, r=hanna-kruppe
Manish Goregaokar [Fri, 17 Jul 2020 21:09:31 +0000 (14:09 -0700)]
Rollup merge of #74440 - Abendstolz:patch-1, r=hanna-kruppe

Fix Arc::as_ptr docs

As a non-native speaker I stumbled upon this, looked it up and couldn't find a phrase, so I made my own assumption that "in any way" was meant (which is the meaning I would've deduced anyway)

3 years agoRollup merge of #74438 - RalfJung:uninit-lint, r=davidtwco
Manish Goregaokar [Fri, 17 Jul 2020 21:09:29 +0000 (14:09 -0700)]
Rollup merge of #74438 - RalfJung:uninit-lint, r=davidtwco

warn about uninitialized multi-variant enums

Fixes https://github.com/rust-lang/rust/issues/73608

3 years agoRollup merge of #74428 - tshepang:better-filter-map-doc, r=jonas-schievink
Manish Goregaokar [Fri, 17 Jul 2020 21:09:28 +0000 (14:09 -0700)]
Rollup merge of #74428 - tshepang:better-filter-map-doc, r=jonas-schievink

docs: better demonstrate that None values are skipped as many times a…

…s needed

3 years agoRollup merge of #74424 - sexxi-goose:move_hir_place, r=nikomatsakis
Manish Goregaokar [Fri, 17 Jul 2020 21:09:26 +0000 (14:09 -0700)]
Rollup merge of #74424 - sexxi-goose:move_hir_place, r=nikomatsakis

Move hir::Place to librustc_middle/hir

Needed to support https://github.com/rust-lang/project-rfc-2229/issues/7

Currently rustc_typeck depends on rustc_middle for definition TypeckTables, etc.
For supporting project-rfc-2229#7, rustc_middle would've to depend on
rustc_typeck for Place -- introducing a circular dependency.

This resembles the MIR equivalent of `Place` located in `lbrustc_middle/mir`.

Separate PR for this move will make the actual PR for using Places to represent captures cleaner/more focused.

r? @nikomatsakis  @matthewjasper

3 years agoRollup merge of #74416 - NieDzejkob:linker-locale-utf8, r=oli-obk
Manish Goregaokar [Fri, 17 Jul 2020 21:09:24 +0000 (14:09 -0700)]
Rollup merge of #74416 - NieDzejkob:linker-locale-utf8, r=oli-obk

Use an UTF-8 locale for the linker.

Using a `C` locale breaks unicode filenames on Guix, where the linker is wrapped by a Guile program.

3 years agoRollup merge of #74411 - jonas-schievink:unbreak-mir, r=matthewjasper
Manish Goregaokar [Fri, 17 Jul 2020 21:09:22 +0000 (14:09 -0700)]
Rollup merge of #74411 - jonas-schievink:unbreak-mir, r=matthewjasper

Don't assign `()` to `!` MIR locals

Implements the fix described in https://github.com/rust-lang/rust/issues/73860#issuecomment-651731893.

Fixes https://github.com/rust-lang/rust/issues/73860

r? @matthewjasper

3 years agoRollup merge of #74394 - bjorn3:remove_emscripten_leftover, r=spastorino
Manish Goregaokar [Fri, 17 Jul 2020 21:09:20 +0000 (14:09 -0700)]
Rollup merge of #74394 - bjorn3:remove_emscripten_leftover, r=spastorino

Remove leftover from emscripten fastcomp support

This is no longer used since #63649

3 years agoRollup merge of #74368 - GuillaumeGomez:css-tidy-check, r=Mark-Simulacrum
Manish Goregaokar [Fri, 17 Jul 2020 21:09:18 +0000 (14:09 -0700)]
Rollup merge of #74368 - GuillaumeGomez:css-tidy-check, r=Mark-Simulacrum

Add CSS tidy check

r? @Mark-Simulacrum

3 years agoRollup merge of #74364 - lcnr:lazy-norm-tests, r=nikomatsakis
Manish Goregaokar [Fri, 17 Jul 2020 21:09:16 +0000 (14:09 -0700)]
Rollup merge of #74364 - lcnr:lazy-norm-tests, r=nikomatsakis

add lazy normalization regression tests

We previously didn't have simple tests which fail if we aren't careful around lazy normalization.

We now do.

3 years agoRollup merge of #74300 - lzutao:iterator-intra, r=jyn514
Manish Goregaokar [Fri, 17 Jul 2020 21:09:15 +0000 (14:09 -0700)]
Rollup merge of #74300 - lzutao:iterator-intra, r=jyn514

Use intra-doc links in core::iter module

This will make core::iter doc depend less on std doc.

3 years agoRollup merge of #74288 - haraldh:test_aslr, r=petrochenkov
Manish Goregaokar [Fri, 17 Jul 2020 21:09:13 +0000 (14:09 -0700)]
Rollup merge of #74288 - haraldh:test_aslr, r=petrochenkov

Fix src/test/run-make/static-pie/test-aslr.rs

Might be subject to the birthday paradox occasionally, causing spurious failures.

Addresses: https://github.com/rust-lang/rust/pull/70740#pullrequestreview-430981320

3 years agoRollup merge of #74251 - shepmaster:bootstrap-target-files, r=Mark-Simulacrum
Manish Goregaokar [Fri, 17 Jul 2020 21:09:11 +0000 (14:09 -0700)]
Rollup merge of #74251 - shepmaster:bootstrap-target-files, r=Mark-Simulacrum

Teach bootstrap about target files vs target triples

`rustc` allows passing in predefined target triples as well as JSON
target specification files. This change allows bootstrap to have the
first inkling about those differences. This allows building a
cross-compiler for an out-of-tree architecture (even though that
compiler won't work for other reasons).

Even if no one ever uses this functionality, I think the newtype
around the `Interned<String>` improves the readability of the code.

3 years agoRollup merge of #74169 - ecstatic-morse:dataflow-unreachable, r=pnkfelix
Manish Goregaokar [Fri, 17 Jul 2020 21:09:08 +0000 (14:09 -0700)]
Rollup merge of #74169 - ecstatic-morse:dataflow-unreachable, r=pnkfelix

Stop processing unreachable blocks when solving dataflow

...instead we `debug_assert` that the user is not checking the dataflow state for an unreachable block. This resolves a FIXME in the dataflow engine. The old behavior was an artifact of the previous dataflow framework. Things should run a tiny bit faster now, but I suspect not enough to show up in benchmarks. AFAIK, only the generator transform runs dataflow on MIR with unreachable basic blocks.

This PR also adds some utility methods to `mir::traversal`.

r? @pnkfelix

3 years agoRollup merge of #74056 - fusion-engineering-forks:fmt-arguments-as-str, r=Amanieu
Manish Goregaokar [Fri, 17 Jul 2020 21:09:06 +0000 (14:09 -0700)]
Rollup merge of #74056 - fusion-engineering-forks:fmt-arguments-as-str, r=Amanieu

Add Arguments::as_str().

There exist quite a few macros in the Rust ecosystem which use `format_args!()` for formatting, but special case the one-argument case for optimization:

```rust
#[macro_export]
macro_rules! some_macro {
    ($s:expr) => { /* print &str directly, no formatting, no buffers */ };
    ($s:expr, $($tt:tt)*) => { /* use format_args to write to a buffer first */ }
}
```

E.g. [here](https://github.com/rust-embedded/cortex-m-semihosting/blob/7a961f0fbe6eb1b29a7ebde4bad4b9cf5f842b31/src/macros.rs#L48-L58), [here](https://github.com/rust-lang-nursery/failure/blob/20f9a9e223b7cd71aed541d050cc73a747fc00c4/src/macros.rs#L9-L17), and [here](https://github.com/fusion-engineering/px4-rust/blob/7b679cd6da9ffd95f36f6526d88345f8b36121da/px4/src/logging.rs#L45-L52).

The problem with these is that a forgotten argument such as in `some_macro!("{}")` will not be diagnosed, but just prints `"{}"`.

With this PR, it is possible to handle the no-arguments case separately *after* `format_args!()`, while simplifying the macro. Then these macros can give the proper error about a missing argument, just like `print!("{}")` does, while still using the same optimized implementation as before.

This is even more important with [RFC 2795](https://github.com/rust-lang/rfcs/pull/2795), to make sure `some_macro!("{some_variable}")` works as expected.

3 years agoRollup merge of #74009 - mati865:mingw-tests-implib, r=nikomatsakis
Manish Goregaokar [Fri, 17 Jul 2020 21:09:04 +0000 (14:09 -0700)]
Rollup merge of #74009 - mati865:mingw-tests-implib, r=nikomatsakis

Fix MinGW `run-make-fulldeps` tests

`compiler-rt-works-on-mingw` and `libs-search-path` were not ran because `only-mingw` doesn't match any target.
Enabled and verified few ignored tests with `windows-gnu` toolchain. They are still ignored on MSVC since I'm not experienced with this target.

3 years agoRollup merge of #73930 - a1phyr:feature_const_option, r=dtolnay
Manish Goregaokar [Fri, 17 Jul 2020 21:09:02 +0000 (14:09 -0700)]
Rollup merge of #73930 - a1phyr:feature_const_option, r=dtolnay

Make some Option methods const

Tracking issue: #67441

Constantify the following methods of `Option`:
- `as_ref`
- `is_some`
- `is_none`
- `iter` (not sure about this one, but it is possible, and will be useful when const traits are a thing)

cc @rust-lang/wg-const-eval @rust-lang/libs

3 years agoRollup merge of #71670 - GuillaumeGomez:enforce-codeblocks-attribute-check, r=Mark...
Manish Goregaokar [Fri, 17 Jul 2020 21:08:55 +0000 (14:08 -0700)]
Rollup merge of #71670 - GuillaumeGomez:enforce-codeblocks-attribute-check, r=Mark-Simulacrum

Enforce even more the code blocks attributes check through rustdoc

`rustdoc` now has a lint which allows it to warn if a code block attribute is malformated (which can end up in bad situations, even more in case of testing examples!). Now it'll fail if such a situation is encountered when testing markdown code blocks examples.

r? @Mark-Simulacrum

3 years agoAdd test for module ambiguity
Manish Goregaokar [Fri, 17 Jul 2020 18:33:49 +0000 (11:33 -0700)]
Add test for module ambiguity

3 years agoFix various tests to run on windows-gnu
Mateusz Mikuła [Fri, 3 Jul 2020 18:55:13 +0000 (20:55 +0200)]
Fix various tests to run on windows-gnu

3 years agointra-doc links: Resolve modules in type namespace
Manish Goregaokar [Fri, 17 Jul 2020 18:04:31 +0000 (11:04 -0700)]
intra-doc links: Resolve modules in type namespace

3 years agoFix `Safety` docs for `from_raw_parts_mut`
aticu [Fri, 17 Jul 2020 17:47:25 +0000 (19:47 +0200)]
Fix `Safety` docs for `from_raw_parts_mut`

3 years agoAuto merge of #72983 - Lezzz:rename-typeck, r=nikomatsakis
bors [Fri, 17 Jul 2020 17:25:09 +0000 (17:25 +0000)]
Auto merge of #72983 - Lezzz:rename-typeck, r=nikomatsakis

Rename TypeckTables to TypeckResults.

Originally suggested by @eddyb.

3 years agoimproper_ctypes_definitions: allow `Box`
David Wood [Fri, 17 Jul 2020 16:23:18 +0000 (17:23 +0100)]
improper_ctypes_definitions: allow `Box`

This commit stops linting against `Box` in `extern "C" fn`s for the
`improper_ctypes_definitions` lint - boxes are documented to be
FFI-safe.

Signed-off-by: David Wood <david@davidtw.co>
3 years agoRemove invalid test
Mateusz Mikuła [Fri, 3 Jul 2020 18:40:00 +0000 (20:40 +0200)]
Remove invalid test

When ran on Windows `cp` will follow symlink: `checkout/build/<target>/<stage>/lib/rustlib/src/rust`.
It points to `checkout` which means the test will get stuck in copying loop until there is no space left.

3 years agoAllow matching test by target and env
Mateusz Mikuła [Fri, 3 Jul 2020 18:18:51 +0000 (20:18 +0200)]
Allow matching test by target and env

3 years agoCreate implib for dlls when testing MinGW targets
Mateusz Mikuła [Sat, 13 Jun 2020 12:18:02 +0000 (14:18 +0200)]
Create implib for dlls when testing MinGW targets

3 years agoAdd tracking issue number for fmt_as_str.
Mara Bos [Fri, 17 Jul 2020 13:59:31 +0000 (15:59 +0200)]
Add tracking issue number for fmt_as_str.

3 years agoMake fmt::Arguments::as_str() return a 'static str.
Mara Bos [Thu, 16 Jul 2020 19:02:34 +0000 (21:02 +0200)]
Make fmt::Arguments::as_str() return a 'static str.

3 years agodocument test changes
Erik Desjardins [Thu, 16 Jul 2020 22:54:26 +0000 (18:54 -0400)]
document test changes

3 years agocompare tagged/niche-filling layout and pick the best one
Erik Desjardins [Sun, 5 Jul 2020 18:29:30 +0000 (14:29 -0400)]
compare tagged/niche-filling layout and pick the best one

3 years ago[experiment] ty/layout: compute both niche-filling and tagged layouts for enums.
Eduard-Mihai Burtescu [Sat, 11 Apr 2020 21:39:43 +0000 (00:39 +0300)]
[experiment] ty/layout: compute both niche-filling and tagged layouts for enums.

3 years agoAdd regression test for #69414
Alex Macleod [Fri, 17 Jul 2020 14:45:50 +0000 (15:45 +0100)]
Add regression test for #69414

Closes #69414 (no longer ICEs after #74159)

3 years agowarn about uninit multi-variant enums
Ralf Jung [Fri, 17 Jul 2020 13:01:37 +0000 (15:01 +0200)]
warn about uninit multi-variant enums

3 years agoTeach bootstrap about target files vs target triples
Jake Goulding [Fri, 17 Jul 2020 14:08:04 +0000 (10:08 -0400)]
Teach bootstrap about target files vs target triples

`rustc` allows passing in predefined target triples as well as JSON
target specification files. This change allows bootstrap to have the
first inkling about those differences. This allows building a
cross-compiler for an out-of-tree architecture (even though that
compiler won't work for other reasons).

Even if no one ever uses this functionality, I think the newtype
around the `Interned<String>` improves the readability of the code.

3 years agoAuto merge of #74439 - RalfJung:miri, r=RalfJung
bors [Fri, 17 Jul 2020 13:54:21 +0000 (13:54 +0000)]
Auto merge of #74439 - RalfJung:miri, r=RalfJung

update Miri

Fixes https://github.com/rust-lang/rust/issues/74345

3 years agoci: Replace exec-with-shell wrapper with "plain bash"
Kristofer Rye [Fri, 17 Jul 2020 13:44:14 +0000 (08:44 -0500)]
ci: Replace exec-with-shell wrapper with "plain bash"

Also, promote defaults.run.shell from inside only the primary jobs to
the top level.

The src/ci/exec-with-shell.py wrapper script was formerly used to change
out the shell mid-job by intercepting a CI_OVERRIDE_SHELL environment
variable.  Now, instead, we just set `bash` as the global default across
all jobs, and we also delete the exec-with-shell.py script.

Signed-off-by: Kristofer Rye <kristofer.rye@gmail.com>
3 years agoMake Arguments::as_str() work for empty format strings.
Mara Bos [Sun, 5 Jul 2020 14:00:35 +0000 (16:00 +0200)]
Make Arguments::as_str() work for empty format strings.

3 years agoAdd #[inline] to Arguments::as_str().
Mara Bos [Sun, 5 Jul 2020 13:27:24 +0000 (15:27 +0200)]
Add #[inline] to Arguments::as_str().

3 years agoAdd Arguments::as_str().
Mara Bos [Sat, 4 Jul 2020 15:59:37 +0000 (17:59 +0200)]
Add Arguments::as_str().

3 years agoci: Stop setting CI_OVERRIDE_SHELL environment variable
Kristofer Rye [Fri, 17 Jul 2020 13:29:01 +0000 (08:29 -0500)]
ci: Stop setting CI_OVERRIDE_SHELL environment variable

This will render the src/ci/exec-with-shell.py script more or less
useless, but we're going to replace that by just using the system bash
instead.

Signed-off-by: Kristofer Rye <kristofer.rye@gmail.com>
3 years agoDeny intra_doc_link_resolution_failure in libcore
Lzu Tao [Fri, 17 Jul 2020 13:25:06 +0000 (13:25 +0000)]
Deny intra_doc_link_resolution_failure in libcore

3 years agobootstrap.py: patch RPATH on NixOS to handle the new zlib dependency.
Eduard-Mihai Burtescu [Fri, 17 Jul 2020 13:25:05 +0000 (16:25 +0300)]
bootstrap.py: patch RPATH on NixOS to handle the new zlib dependency.

3 years agoFix Arc::as_ptr docs
Abendstolz [Fri, 17 Jul 2020 13:21:57 +0000 (15:21 +0200)]
Fix Arc::as_ptr docs

As a none-native speaker I stumbled upon this, looked it up and couldn't find a phrase, so I made my own assumption that "in any way" was meant (which is the meaning I would've deduced anyway)

3 years agoupdate Miri
Ralf Jung [Fri, 17 Jul 2020 13:07:15 +0000 (15:07 +0200)]
update Miri

3 years agoRemove code span for impl
Lzu Tao [Tue, 14 Jul 2020 11:35:56 +0000 (11:35 +0000)]
Remove code span for impl

Because the old one is harder to read and confuse typing checkers.

3 years agoLink Some(item)
Lzu Tao [Tue, 14 Jul 2020 11:35:22 +0000 (11:35 +0000)]
Link Some(item)

3 years agoRemove unneeded link for Option
Lzu Tao [Mon, 13 Jul 2020 16:07:57 +0000 (16:07 +0000)]
Remove unneeded link for Option

3 years agoIntra-doc for iter Sum and Product traits
Lzu Tao [Mon, 13 Jul 2020 16:05:32 +0000 (16:05 +0000)]
Intra-doc for iter Sum and Product traits

3 years agoIntra-doc for DoubleEndIterator
Lzu Tao [Mon, 13 Jul 2020 16:01:58 +0000 (16:01 +0000)]
Intra-doc for DoubleEndIterator

3 years agoIntra doc for iter marker traits
Lzu Tao [Mon, 13 Jul 2020 15:58:57 +0000 (15:58 +0000)]
Intra doc for iter marker traits

3 years agoUse intra-doc link on Iterator page
Lzu Tao [Mon, 13 Jul 2020 15:50:30 +0000 (15:50 +0000)]
Use intra-doc link on Iterator page

3 years agobootstrap.py: guard against GC in NixOS patching support.
Eduard-Mihai Burtescu [Fri, 17 Jul 2020 12:35:14 +0000 (15:35 +0300)]
bootstrap.py: guard against GC in NixOS patching support.

3 years agoRename TypeckTables to TypeckResults.
Valentin Lazureanu [Fri, 17 Jul 2020 08:47:04 +0000 (08:47 +0000)]
Rename TypeckTables to TypeckResults.

3 years agoFix tidy issues
Guillaume Gomez [Wed, 15 Jul 2020 15:20:46 +0000 (17:20 +0200)]
Fix tidy issues

3 years agoAdd tidy checks for rustdoc css files
Guillaume Gomez [Wed, 15 Jul 2020 13:57:11 +0000 (15:57 +0200)]
Add tidy checks for rustdoc css files

3 years agoConvert whitespaces to tabs
Guillaume Gomez [Wed, 15 Jul 2020 12:09:37 +0000 (14:09 +0200)]
Convert whitespaces to tabs

3 years agoinclude changes to Cargo.lock
Ashley Mannix [Fri, 17 Jul 2020 07:54:22 +0000 (17:54 +1000)]
include changes to Cargo.lock

3 years agoAuto merge of #73365 - Manishearth:rustdoc-vis, r=GuillaumeGomez
bors [Fri, 17 Jul 2020 07:22:32 +0000 (07:22 +0000)]
Auto merge of #73365 - Manishearth:rustdoc-vis, r=GuillaumeGomez

Record visibility of reexports for all items, not just type items

This fixes https://github.com/rust-lang/rust/issues/73363

Unfortunately I can't add a test for this since this bug is obscured by the cross-crate bug, being fixed in https://github.com/rust-lang/rust/issues/73363 . Tests will be added later.

cc @jyn514

r? @GuillaumeGomez

3 years agoUpdate src/test/rustdoc/intra-doc-crate/auxiliary/hidden.rs
Manish Goregaokar [Fri, 17 Jul 2020 05:09:17 +0000 (22:09 -0700)]
Update src/test/rustdoc/intra-doc-crate/auxiliary/hidden.rs

Co-authored-by: Joshua Nelson <joshua@yottadb.com>
3 years agoAdd test for doc(hidden) intra-doc cross-crate reexports
Manish Goregaokar [Tue, 16 Jun 2020 20:55:13 +0000 (13:55 -0700)]
Add test for doc(hidden) intra-doc cross-crate reexports

3 years agoRecord visibility of reexports for all items, not just type items
Manish Goregaokar [Mon, 15 Jun 2020 07:11:38 +0000 (00:11 -0700)]
Record visibility of reexports for all items, not just type items

3 years agodocs: better demonstrate that None values are skipped as many times as needed
Tshepang Lekhonkhobe [Fri, 17 Jul 2020 05:00:20 +0000 (07:00 +0200)]
docs: better demonstrate that None values are skipped as many times as needed

3 years agoAuto merge of #74395 - Mark-Simulacrum:stage0-next, r=pietroalbini
bors [Fri, 17 Jul 2020 03:51:35 +0000 (03:51 +0000)]
Auto merge of #74395 - Mark-Simulacrum:stage0-next, r=pietroalbini

Bump version to 1.47

This also bumps to a more recent rustfmt version, just to keep us relatively up to date (though almost nothing has changed in rustfmt we use beyond bumps to the parser infra). No formatting changes as a result of this.

r? @pietroalbini

3 years agoAuto merge of #74422 - Manishearth:rollup-7mfrf6g, r=Manishearth
bors [Fri, 17 Jul 2020 00:09:49 +0000 (00:09 +0000)]
Auto merge of #74422 - Manishearth:rollup-7mfrf6g, r=Manishearth

Rollup of 8 pull requests

Successful merges:

 - #73101 (Resolve items for cross-crate imports relative to the original module)
 - #73269 (Enable some timeouts in SGX platform)
 - #74033 (Add build support for Cargo's build-std feature.)
 - #74351 (Do not render unstable items for rustc doc)
 - #74357 (Some `Symbol` related improvements)
 - #74371 (Improve ayu rustdoc theme)
 - #74386 (Add RISC-V GNU/Linux to src/tools/build-manifest as a host platform)
 - #74398 (Clean up E0723 explanation)

Failed merges:

r? @ghost

3 years agoRollup merge of #74398 - GuillaumeGomez:cleanup-e0723, r=Dylan-DPC
Manish Goregaokar [Fri, 17 Jul 2020 00:09:06 +0000 (17:09 -0700)]
Rollup merge of #74398 - GuillaumeGomez:cleanup-e0723, r=Dylan-DPC

Clean up E0723 explanation

r? @Dylan-DPC

3 years agoRollup merge of #74386 - msizanoen1:riscv-add-manifest-host, r=pietroalbini
Manish Goregaokar [Fri, 17 Jul 2020 00:09:04 +0000 (17:09 -0700)]
Rollup merge of #74386 - msizanoen1:riscv-add-manifest-host, r=pietroalbini

Add RISC-V GNU/Linux to src/tools/build-manifest as a host platform

Missed during https://github.com/rust-lang/rust/pull/72973

3 years agoRollup merge of #74371 - Aloso:patch-1, r=GuilliameGomez
Manish Goregaokar [Fri, 17 Jul 2020 00:09:02 +0000 (17:09 -0700)]
Rollup merge of #74371 - Aloso:patch-1, r=GuilliameGomez

Improve ayu rustdoc theme

This PR changes the following:

* It makes some lines darker
* It gives the crate selector and search bar a border
  * The search bar's border turns blue when focused
* ~~Gives the logo a bright shadow.~~

For standard library crates, it would be better to invert the logo, but that would be bad for crates with a colored logo, e.g. [async-std](https://docs.rs/async-std/1.6.2/async_std/).

Before:

![old](https://user-images.githubusercontent.com/15658558/87576611-ed4e0800-c6d1-11ea-9667-3924702f79e2.png)

After (note that this PR no longer includes the white shadow of the logo):

![new](https://user-images.githubusercontent.com/15658558/87576621-ef17cb80-c6d1-11ea-8e15-5d7f8b180c07.png)

3 years agoRollup merge of #74357 - nnethercote:symbol-related-improvements, r=oli-obk
Manish Goregaokar [Fri, 17 Jul 2020 00:09:01 +0000 (17:09 -0700)]
Rollup merge of #74357 - nnethercote:symbol-related-improvements, r=oli-obk

Some `Symbol` related improvements

These commits make things nicer and avoid some `Symbol::as_str()` calls.

r? @oli-obk

3 years agoRollup merge of #74351 - lzutao:remove-rustc-internal-compiler-warns, r=Mark-Simulacrum
Manish Goregaokar [Fri, 17 Jul 2020 00:08:59 +0000 (17:08 -0700)]
Rollup merge of #74351 - lzutao:remove-rustc-internal-compiler-warns, r=Mark-Simulacrum

Do not render unstable items for rustc doc

See the zulip conversion: https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/rustc.20doc.3A.20.22internal.20compiler.20API.22.20warns.20are.20everywhere!/near/203850782

Before:
![image](https://user-images.githubusercontent.com/15225902/87501971-9cff8780-c68a-11ea-93b4-ea53ce18a77b.png)
After:
![image](https://user-images.githubusercontent.com/15225902/87501985-a7218600-c68a-11ea-81c0-a6b5b120832c.png)

Nothing changes in unstable items of std:
Before:
![image](https://user-images.githubusercontent.com/15225902/87502004-b7d1fc00-c68a-11ea-9224-a27a1d2a81d6.png)
After:
![image](https://user-images.githubusercontent.com/15225902/87502018-c0c2cd80-c68a-11ea-9773-4c63158025cb.png)

Closes  #54682

3 years agoRollup merge of #74033 - ehuss:std-compile-all-platforms, r=Mark-Simulacrum
Manish Goregaokar [Fri, 17 Jul 2020 00:08:57 +0000 (17:08 -0700)]
Rollup merge of #74033 - ehuss:std-compile-all-platforms, r=Mark-Simulacrum

Add build support for Cargo's build-std feature.

This makes some changes to the standard library to make it easier to use with Cargo's build-std feature. The primary goal is to make it so that Cargo and its users do not need to know which crates to build and which features to use for every platform.

Conditional cfgs are adjusted so that there is usually a fall-through for unsupported platforms. Additionally, there is a "restricted-std" feature to mark `std` as unstable when used with build-std on no_std platforms. There is no intent to stabilize this feature for the foreseeable future.

This borrows some of the implementation for wasm which already does what this needs. More code sharing can be done with some other platforms (there is a lot of duplication with cloudabi, hermit, and sgx), but I figure that can be done in a future PR.

There are some small changes to stable behavior in this PR:
- `std::env::consts::ARCH` on asmjs now reports "wasm32", to match its actual architecture.
- Some of the wasm error messages for unsupported features report a slightly different error message so that the code can be reused.

There should otherwise not be any changes to how std is built for distribution via bootstrap.

This does not yet support all platforms when used with build-std.

- It doesn't work with 16-bit targets (hashbrown does not support that).
- It does not work with JSON spec targets.
    - In particular, all target triple snooping will need to be replaced with appropriate target option checking.
- Switching to gimli (#73441) will make cross-building *much* easier.
- There are still a ton of issues on the Cargo side to resolve. A big one is panic strategy support.

Future PRs are intended to address some of these issues.

3 years agoRollup merge of #73269 - mzohreva:mz/sgx-wait-timeout, r=jethrogb
Manish Goregaokar [Fri, 17 Jul 2020 00:08:56 +0000 (17:08 -0700)]
Rollup merge of #73269 - mzohreva:mz/sgx-wait-timeout, r=jethrogb

Enable some timeouts in SGX platform

This would partially resolve https://github.com/fortanix/rust-sgx/issues/31

cc @jethrogb and @Goirad

3 years agoRollup merge of #73101 - jyn514:rustdoc-absolute-module, r=Manishearth
Manish Goregaokar [Fri, 17 Jul 2020 00:08:54 +0000 (17:08 -0700)]
Rollup merge of #73101 - jyn514:rustdoc-absolute-module, r=Manishearth

Resolve items for cross-crate imports relative to the original module

~~Blocked on https://github.com/rust-lang/rust/pull/73103 and https://github.com/rust-lang/rust/pull/73566~~

Closes https://github.com/rust-lang/rust/issues/65983.

I tested on the following code (as mentioned in https://github.com/rust-lang/rust/issues/65983#issuecomment-640250993):

```
pub use rand::Rng;
```
link: https://rust-random.github.io/rand/rand_core/trait.RngCore.html
3 years agoTest codegen of compare_exchange operations
Tomasz Miąsko [Fri, 17 Jul 2020 00:00:00 +0000 (00:00 +0000)]
Test codegen of compare_exchange operations

3 years agoAdd zlib1g to builder deps
Mark Rousskov [Thu, 16 Jul 2020 18:53:06 +0000 (14:53 -0400)]
Add zlib1g to builder deps

3 years agoapply bootstrap cfgs
Mark Rousskov [Thu, 16 Jul 2020 13:12:59 +0000 (09:12 -0400)]
apply bootstrap cfgs

3 years agoBump to 1.47
Mark Rousskov [Thu, 16 Jul 2020 13:03:25 +0000 (09:03 -0400)]
Bump to 1.47

3 years agoUse an UTF-8 locale for the linker.
Jakub Kądziołka [Thu, 16 Jul 2020 23:06:56 +0000 (01:06 +0200)]
Use an UTF-8 locale for the linker.

3 years agoci: Set `shell: bash` as a default, remove duplicates
Kristofer Rye [Thu, 16 Jul 2020 18:32:46 +0000 (13:32 -0500)]
ci: Set `shell: bash` as a default, remove duplicates

A follow-up to #74406, this commit merely removes the `shell: bash`
lines where they are explicitly added in favor of setting defaults for
*all* "run" steps.

Signed-off-by: Kristofer Rye <kristofer.rye@gmail.com>
3 years agoMove hir::Place to librustc_middle/hir
Aman Arora [Mon, 6 Jul 2020 02:06:37 +0000 (22:06 -0400)]
Move hir::Place to librustc_middle/hir

Needed to support https://github.com/rust-lang/project-rfc-2229/issues/7

Currently rustc_typeck depends on rustc_middle for definition TypeckTables, etc.
For supporting project-rfc-2229#7, rustc_middle would've to depend on
rustc_typeck for Place -- introducing a circular dependcy.

This resembles the MIR equivalent of `Place` located in `lbrustc_middle/mir`.

Co-authored-by: Aman Arora <me@aman-arora.com>
Co-authored-by: Jennifer Wills <wills.jenniferg@gmail.com>
Co-authored-by: Logan Mosier <logmosier@gmail.com>
3 years agoRemove some `Symbol:as_str()` calls.
Nicholas Nethercote [Tue, 14 Jul 2020 06:29:44 +0000 (16:29 +1000)]
Remove some `Symbol:as_str()` calls.

3 years agoAdd `UnsafetyViolationDetails`.
Nicholas Nethercote [Tue, 14 Jul 2020 02:12:01 +0000 (12:12 +1000)]
Add `UnsafetyViolationDetails`.

This replaces the need for the `description` and `details` symbols in
`UnsafetyViolation`, which are static. As a result some
`Symbol::as_str()` calls are no longer necessary, which is nice.

3 years agoAvoid storing `SymbolStr` in a struct.
Nicholas Nethercote [Mon, 13 Jul 2020 06:45:35 +0000 (16:45 +1000)]
Avoid storing `SymbolStr` in a struct.

It's intended only for very temporary use.

3 years agoRemove `ExtCtxt::ident_of`.
Nicholas Nethercote [Tue, 14 Jul 2020 05:05:26 +0000 (15:05 +1000)]
Remove `ExtCtxt::ident_of`.

It's equivalent to `Ident::from_str_and_span`. The commit also
introduces some more static symbols so that `Ident::new` can be used in
various places instead of `Ident::from_str_and_span`.

The commit also changes `Path::path` from a `&str` to a `Symbol`, which
then allows the lifetime annotation to be removed from `Ty`. Also, the
use of `Symbol` in `Bounds` removes the need for its lifetime
annotation.

3 years agoFix invalid lint
Joshua Nelson [Thu, 16 Jul 2020 22:25:53 +0000 (18:25 -0400)]
Fix invalid lint

intra_doc_resolution_failure is not a lint.

3 years agoAdd (broken and ignored) test for #73829
Joshua Nelson [Wed, 15 Jul 2020 00:04:41 +0000 (20:04 -0400)]
Add (broken and ignored) test for #73829

3 years agoAdd more debugging
Joshua Nelson [Sun, 12 Jul 2020 16:39:11 +0000 (12:39 -0400)]
Add more debugging

3 years agoSupport intra-doc links on trait and module re-exports
Joshua Nelson [Sat, 11 Jul 2020 17:28:05 +0000 (13:28 -0400)]
Support intra-doc links on trait and module re-exports

Trait implementations are treated the same as modules for the purposes
of intra-doc links.

3 years agoSupport intra-doc links on macro re-exports
Joshua Nelson [Fri, 12 Jun 2020 02:58:09 +0000 (22:58 -0400)]
Support intra-doc links on macro re-exports

This includes both `macro_rules!` and proc-macros.

3 years agorand -> my_rand
Joshua Nelson [Wed, 10 Jun 2020 14:30:33 +0000 (10:30 -0400)]
rand -> my_rand

This fixes a failure in stage2 rustdoc tests.