123474 Commits

Author SHA1 Message Date
Nicholas Nethercote
4ad5de22d1 Tweak spawn_thread_pool.
This makes the two versions (parallel and non-parallel) more similar to
each other.
2020-07-10 11:53:32 +10:00
Nicholas Nethercote
1e8ec2db1d Add an explanatory comment to scoped_thread. 2020-07-10 11:53:26 +10:00
Nicholas Nethercote
0a7d2970e5 Eliminate rust_input.
It has a single call site and having it as a separate (higher-order!)
function makes the code harder to read.
2020-07-10 11:50:21 +10:00
Yuki Okushi
a9b64766a4
Tweak wording 2020-07-10 07:24:18 +09:00
Yuki Okushi
6864546049
Add a help to use in_band_lifetimes in nightly 2020-07-10 06:39:46 +09:00
bors
e59b08e62e Auto merge of #74195 - Manishearth:rollup-h3m0sl8, r=Manishearth
Rollup of 14 pull requests

Successful merges:

 - #73292 (Fixing broken link for the Eq trait)
 - #73791 (Allow for parentheses after macro intra-doc-links)
 - #74070 ( Use for<'tcx> fn pointers in Providers, instead of having Providers<'tcx>.)
 - #74077 (Use relative path for local links to primitives)
 - #74079 (Eliminate confusing "globals" terminology.)
 - #74107 (Hide `&mut self` methods from Deref in sidebar if there are no `DerefMut` impl for the type.)
 - #74136 (Fix broken link in rustdocdoc)
 - #74137 (Update cargo)
 - #74142 (Liballoc use vec instead of vector)
 - #74143 (Try remove unneeded ToString import in liballoc slice)
 - #74146 (update miri)
 - #74150 (Avoid "blacklist")
 - #74184 (Add docs for intra-doc-links)
 - #74188 (Tweak `::` -> `:` typo heuristic and reduce verbosity)

Failed merges:

 - #74122 (Start-up clean-up)
 - #74127 (Avoid "whitelist")

r? @ghost
2020-07-09 21:32:02 +00:00
Esteban Küber
520fb92c33 Reword incorrect self token suggestion 2020-07-09 13:01:20 -07:00
Guillaume Gomez
970174a1e5 Add option to collapse automatically implementors 2020-07-09 21:42:02 +02:00
Manish Goregaokar
9353e21bfd
Rollup merge of #74188 - estebank:tweak-ascription-typo-heuristic, r=petrochenkov
Tweak `::` -> `:` typo heuristic and reduce verbosity

Do not trigger on correct type ascription expressions with trailing
operators and _do_ trigger on likely path typos where a turbofish is
used.

On likely path typos, remove note explaining type ascription.

Clean up indentation.

r? @petrochenkov
2020-07-09 11:50:50 -07:00
Manish Goregaokar
31d53decd0
Rollup merge of #74184 - Manishearth:doc-intra-doc, r=GuillaumeGomez
Add docs for intra-doc-links

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

Hmm, for some reason my push closed the previous PR
2020-07-09 11:50:48 -07:00
Manish Goregaokar
d4d11118ef
Rollup merge of #74150 - tamird:blocklist, r=nikomatsakis
Avoid "blacklist"

Other terms are more inclusive and precise.

Clippy still has a lint named "blacklisted-name", but renaming it would
be a breaking change, so is left for future work.

The target configuration option "abi-blacklist" has been depreciated and
renamed to "unsupported-abis". The old name continues to work.
2020-07-09 11:50:46 -07:00
Manish Goregaokar
089a6e15f6
Rollup merge of #74146 - RalfJung:miri, r=RalfJung
update miri

Fixes https://github.com/rust-lang/rust/issues/74132
Cc @rust-lang/miri r? @ghost
2020-07-09 11:50:44 -07:00
Manish Goregaokar
2d432ae35b
Rollup merge of #74143 - pickfire:patch-2, r=jonas-schievink
Try remove unneeded ToString import in liballoc slice
2020-07-09 11:50:42 -07:00
Manish Goregaokar
887f9e7e91
Rollup merge of #74142 - pickfire:patch-1, r=dtolnay
Liballoc use vec instead of vector

Keep congruency with other parts, full word vector is rarely used.
2020-07-09 11:50:40 -07:00
Manish Goregaokar
178cdc5471
Rollup merge of #74137 - ehuss:update-cargo, r=ehuss
Update cargo

6 commits in fede83ccf973457de319ba6fa0e36ead454d2e20..4f74d9b2a771c58b7ef4906b2668afd075bc8081
2020-07-02 21:51:34 +0000 to 2020-07-08 17:13:00 +0000
- Disable long_file_names test if not supported on Windows. (rust-lang/cargo#8469)
- Add support for deserializing enums in config files (rust-lang/cargo#8454)
- Write GNU tar files, supporting long names. (rust-lang/cargo#8453)
- Don't overwrite existing `rustdoc` args with --document-private-items (rust-lang/cargo#8449)
- Add some help about rustup's +toolchain syntax. (rust-lang/cargo#8455)
- Update metadata man page. (rust-lang/cargo#8451)
2020-07-09 11:50:39 -07:00
Manish Goregaokar
640569c364
Rollup merge of #74136 - JohnTitor:index-page-link, r=GuillaumeGomez
Fix broken link in rustdocdoc

The previous link redirects to https://www.rust-lang.org/learn.
2020-07-09 11:50:37 -07:00
Manish Goregaokar
38541b742a
Rollup merge of #74107 - nbdd0121:rustdoc, r=GuillaumeGomez
Hide `&mut self` methods from Deref in sidebar if there are no `DerefMut` impl for the type.

This partially addresses #74083.
2020-07-09 11:50:34 -07:00
Manish Goregaokar
89c9e970dd
Rollup merge of #74079 - nnethercote:session-globals, r=nikomatsakis
Eliminate confusing "globals" terminology.

There are some structures that are called "globals", but are they global
to a compilation session, and not truly global. I have always found this
highly confusing, so this commit renames them as "session globals" and
adds a comment explaining things.

Also, the commit fixes an unnecessary nesting of `set()` calls
`src/librustc_errors/json/tests.rs`

r? @Aaron1011
2020-07-09 11:50:32 -07:00
Manish Goregaokar
07301e3d54
Rollup merge of #74077 - sethp:docs/fix-intra-doc-primitive-link, r=jyn514
Use relative path for local links to primitives

Else, links to `char::foo` would point into `/path/to/src/libcore/std/primitive.char.html#method.foo`.

Split out from #73804.
2020-07-09 11:50:30 -07:00
Manish Goregaokar
65ac3948ae
Rollup merge of #74070 - eddyb:forall-tcx-providers, r=nikomatsakis
Use for<'tcx> fn pointers in Providers, instead of having Providers<'tcx>.

In order to work around normalization-under-HRTB (for `provide!` in `rustc_metadata`), we ended up with this:
```rust
struct Providers<'tcx> {
    type_of: fn(TyCtxt<'tcx>, DefId) -> Ty<'tcx>,
    // ...
}
```
But what I initially wanted to do, IIRC, was this:
```rust
struct Providers {
    type_of: for<'tcx> fn(TyCtxt<'tcx>, DefId) -> Ty<'tcx>,
    // ...
}
```

This PR moves to the latter, for the simple reason that only the latter allows keeping a `Providers` value, or a subset of its `fn` pointer fields, around in a `static` or `thread_local!`, which can be really useful for custom drivers that override queries.
(@jyn514 and I came across a concrete usecase of that in `rustdoc`)

The `provide!` macro in `rustc_metadata` is fixed by making the query key/value types available as type aliases under `ty::query::query_{keys,values}`, not just associated types (this is the first commit).

r? @nikomatsakis
2020-07-09 11:50:28 -07:00
Manish Goregaokar
d163524cf4
Rollup merge of #73791 - Manishearth:parens-intra-doc, r=GuillaumeGomez,jyn514
Allow for parentheses after macro intra-doc-links

None
2020-07-09 11:50:26 -07:00
Manish Goregaokar
5fc46fa9d2
Rollup merge of #73292 - poliorcetics:fix-link-in-partialeq, r=Dylan-DPC
Fixing broken link for the Eq trait

Fixes #73233.
2020-07-09 11:50:17 -07:00
bors
be88122039 Auto merge of #5781 - giraffate:fix_a_broken_link, r=phansch
Fix a broken link in CONTRIBUTING.md

changelog: none
2020-07-09 18:21:44 +00:00
Eric Huss
9f91a9540d Ignore changes when debug assertions are enabled. 2020-07-09 10:41:33 -07:00
Manish Goregaokar
fe351e9b8e Add test 2020-07-09 10:27:48 -07:00
Manish Goregaokar
36a229b28d Move to unstable section 2020-07-09 09:19:50 -07:00
Esteban Küber
e771a4f989 Tweak :: -> : typo heuristic and reduce verbosity
Do not trigger on correct type ascription expressions with trailing
operators and _do_ trigger on likely path typos where a turbofish is
used.

On likely path typos, remove note explaining type ascription.
2020-07-09 09:09:25 -07:00
Esteban Küber
fc6ee8f38b Reduce indentation 2020-07-09 09:05:40 -07:00
Manish Goregaokar
08d3a74a8f Allow for parentheses after macro intra-doc-links 2020-07-09 08:44:28 -07:00
Manish Goregaokar
271e2a988f Update src/doc/rustdoc/src/intra-doc-links.md 2020-07-09 08:34:42 -07:00
Manish Goregaokar
09f51d41cc Add docs for intra-doc-links 2020-07-09 08:34:38 -07:00
Takayuki Nakata
c79c6888a5 Fix a broken link in CONTRIBUTING.md 2020-07-09 22:07:15 +09:00
bors
45eea9a822 Auto merge of #5771 - montrivo:bugfix/single-match-else, r=matthiaskrgr
single_match_else - single expr/stmt else block corner case

One approach to fix #3489.
See discussion in the issue.

changelog: single_match_else - single expr/stmt else block corner case fix
2020-07-09 12:03:14 +00:00
Ralf Jung
35fae7364f update miri 2020-07-09 13:36:16 +02:00
Tim Nielens
dac19e3afc single_match_else - single expr/stmt else block corner case 2020-07-09 12:04:27 +02:00
Aman Arora
1acccb0f52 Make hir ProjectionKind more precise
This commit also categorizing access as Field, Index, or Subslice.

Ideas are taken from `mir::ProjectionElem`.

Proposed changes: https://github.com/rust-lang/project-rfc-2229/blob/master/hir-place-target.md

Closes: https://github.com/rust-lang/project-rfc-2229/issues/1,
https://github.com/rust-lang/project-rfc-2229/issues/2

Co-authored-by: Aman Arora <me@aman-arora.com>
Co-authored-by: Chris Pardy <chrispardy36@gmail.com>
Co-authored-by: Dhruv Jauhar <dhruvjhr@gmail.com>
2020-07-09 04:13:51 -04:00
bors
5db778affe Auto merge of #74131 - ollie27:rustdoc_invalid_codeblock_attributes_name, r=GuillaumeGomez
rustdoc: Rename invalid_codeblock_attribute lint to be plural

Lint names should be plural as per the lint naming conventions: https://github.com/rust-lang/rfcs/blob/master/text/0344-conventions-galore.md#lints

r? @GuillaumeGomez
2020-07-09 07:00:27 +00:00
Nicholas Nethercote
81c5bb6a3f Eliminate confusing "globals" terminology.
There are some structures that are called "globals", but are they global
to a compilation session, and not truly global. I have always found this
highly confusing, so this commit renames them as "session globals" and
adds a comment explaining things.

Also, the commit fixes an unnecessary nesting of `set()` calls
`src/librustc_errors/json/tests.rs`
2020-07-09 14:11:44 +10:00
Eric Huss
24abe1646e Disable 44056 test with debug on macos. 2020-07-08 18:08:25 -07:00
Joshua M. Clulow
8368a35f83 build dist for x86_64-unknown-illumos
This change creates a new Docker image, "dist-x86_64-illumos", and sets
things up to build the full set of "dist" packages for illumos hosts, so
that illumos users can use "rustup" to install packages.  It also
adjusts the manifest builder to expect complete toolchains for this
platform.
2020-07-08 23:39:09 +00:00
Joshua M. Clulow
7fb421bd77 linker: illumos ld does not support --eh-frame-hdr
As of rust-lang/rust#73564, the --eh-frame-hdr flag is unconditionally
passed to linkers on many platforms.  The illumos link editor does not
currently support this flag.

The linker machinery in the Rust toolchain currently seems to use the
(potentially cross-compiled) target to choose linker flags, rather than
looking at what might be running on the build system.  Disabling the
flag for all illumos/Solaris targets seems like the best we can do for
now without more serious surgery.
2020-07-08 23:36:05 +00:00
Bastian Kauschke
1f982305e4 ToPredicate by value 2020-07-08 23:40:06 +02:00
Tom Eccles
d9fec595e8 ci: fix context for disabled docker images
When the dockerfiles were moved into the host-x86_64 directory, paths
for COPY commands were updated with the new host-x86_64/ prefix. This
suggested that the intended context was src/ci/docker. However, the context
for disabled docker images was src/ci/docker/host-x86_64. This broke the new
paths and prevented src/ci/docker/scripts from being included in the
context at all.

This commit corrects this context allowing docker to find the files it
needs for COPY commands.
2020-07-08 22:02:31 +01:00
Tom Eccles
51b646e487 ci: disabled: riscv: minimise docker overlays
Suggested by @bjorn3

Every RUN command creates a new overlay on top of the image as of before
the RUN command. Using fewer RUN commands prevents intermediate overlays
(which in this case would have contained the entire Linux source tree).
2020-07-08 21:20:13 +01:00
bors
8aa18cbdc5 Auto merge of #74153 - ehuss:fix-bootstrap-test-librustc, r=Mark-Simulacrum
Fix x.py test for librustc crates.

#73352 introduced a bug where `x.py test src/librustc_ast` would fail to actually run the tests. The issue is that `krate` and `all_krates` were changed to return relative paths. This caused the code to do a test of "relative_path ends with absolute path" which is always false.  The solution is to swap that around.

The change to `Crate` isn't necessary, it just simplifies the code and makes it uniform with `CrateLibrustc`.
2020-07-08 20:03:32 +00:00
Eduardo Broto
db1c946aaa unnecessary_sort_by: avoid linting if key borrows 2020-07-08 21:31:59 +02:00
Eric Huss
ca22091a90 Update cargo 2020-07-08 10:48:24 -07:00
Eric Huss
7238726399 Fix librustc_errors unit tests. 2020-07-08 10:44:29 -07:00
Seth Pellegrino
56b6b44641 Avoid running test on Windows platforms
There don't seem to be any other compiletests that are 1) building a standalone "no_core" create and then 2) trying to link against it. There seems to be a platform-specific limitation in doing so:

```
2020-07-08T16:07:42.9419409Z   = note:    Creating library D:\a\rust\rust\build\i686-pc-windows-msvc\test\rustdoc\intra-link-prim-methods-external-core\auxiliary\my_core.dll.lib and object D:\a\rust\rust\build\i686-pc-windows-msvc\test\rustdoc\intra-link-prim-methods-external-core\auxiliary\my_core.dll.exp
2020-07-08T16:07:42.9419810Z           LINK : error LNK2001: unresolved external symbol __DllMainCRTStartup@12
2020-07-08T16:07:42.9420032Z           D:\a\rust\rust\build\i686-pc-windows-msvc\test\rustdoc\intra-link-prim-methods-external-core\auxiliary\my_core.dll : fatal error LNK1120: 1 unresolved externals
```

Possibly this could be resolved by adding a `__DllMainCRTStartup` or `__DllMainCRTStartup@12` symbol in an architecture- and platform-specific way.
2020-07-08 09:48:15 -07:00
robojumper
37d75da266 make match_like_matches_macro only apply to matches with a wildcard 2020-07-08 18:37:20 +02:00