123408 Commits

Author SHA1 Message Date
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
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
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
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
Tamir Duberstein
1e567c1168
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-08 12:08:27 -04:00
bors
e12a316b01 Auto merge of #5776 - flip1995:rustup, r=flip1995
Rustup

changelog: none

r? @ghost
2020-07-08 15:56:23 +00:00
Eric Huss
26353eae4c Fix x.py test for librustc crates. 2020-07-08 08:52:48 -07:00
Seth Pellegrino
9366458c58 Apply #![crate_type = "rlib"] directly to the linker 2020-07-08 08:20:43 -07:00
Arlo Siemsen
59f979fa06 Fix cross-compilation of LLVM to aarch64 Windows targets
When cross-compiling, the LLVM build system recurses to build tools
that need to run on the host system. However, since we pass cmake defines
to set the compiler and target, LLVM still compiles these tools for the
target system, rather than the host. The tools then fail to execute
during the LLVM build.

This change sets defines for the tools that need to run on the
host (llvm-nm, llvm-tablegen, and llvm-config), so that the LLVM build
does not attempt to build them, and instead relies on the tools already built.

If compiling with clang-cl, this change also adds the `--target` option
to specify the target triple. MSVC compilers do not require this, since there
is a separate compiler binary for cross-compilation.
2020-07-08 08:19:50 -07:00
Ayaz Hafiz
3c63fba03d
Correctly mark the ending span of a match arm
Closes #74050

r? @matthewjasper
2020-07-08 07:28:07 -07:00
bors
1d919c9377 Auto merge of #74124 - ehuss:fix-doc-dry-run-up-to-date, r=Mark-Simulacrum
Fix occasional bootstrap panic in docs.

I am occasionally running into this panic when running `x.py`:

> thread 'main' panicked at 'source "/Users/eric/Proj/rust/rust/build/x86_64-apple-darwin/md-doc/unstable-book" failed to get metadata: No such file or directory (os error 2)', src/build_helper/lib.rs:173:19

I have not been able to figure out the exact sequence of commands that leads to this error (I tried for quite a while to reproduce it). I think it may involve updating my tree, but I am uncertain.  An artificial way to trigger it is to build the documentation, and then delete the `md-doc` directory manually.

The cause is that bootstrap does a "dry run" before every command, and in this case `up_to_date` panics because the destination exists (`build/x86_64-apple-darwin/doc/unstable-book/index.html `) but the source does not (`build/x86_64-apple-darwin/md-doc/unstable-book`).

I am uncertain if it is important that the last line `builder.run(…)` needs to be called during the dry run. This patch seems to fix the issue, though.
2020-07-08 09:47:41 +00:00
Dennis Hamester
c8b16cdbd0 rustdoc: Allow linking from private items to private types
Fixes #74134

After PR #72771 this would trigger an intra_doc_link_resolution_failure warning
when rustdoc is invoked without --document-private-items. Links from private
items to private types are however never actually generated in that case and
thus shouldn't produce a warning. These links are in fact a very useful tool to
document crate internals.

Tests are added for all 4 combinations of public/private items and link
targets. Test 1 is the case mentioned above and fails without this commit. Tests
2 - 4 passed before already but are added nonetheless to prevent regressions.
2020-07-08 08:15:34 +02:00
Ivan Tham
0965443001
Remove unneeded ToString import in liballoc slice 2020-07-08 12:47:19 +08:00