Commit Graph

121304 Commits

Author SHA1 Message Date
Aaron Hill
717fd665ad
Make SourceMap available for early debug-printing of Spans
Normally, we debug-print `Spans` using the `SourceMap` retrieved from
the global `TyCtxt`. However, we fall back to printing out the `Span`'s
raw fields (instead of a file and line number) when we try to print a
`Span` before a `TyCtxt` is available. This makes debugging early phases
of the compile, such as parsing, much more difficult.

This commit stores a `SourceMap` in `rustc_span::GlOBALS` as a fallback.
When a `TyCtxt` is not available, we try to retrieve one from `GLOBALS`
- only if this is not available do we fall back to the raw field output.

I'm not sure how to write a test for this - however, this can be
verified locally by setting `RUSTC_LOG="rustc_parse=debug"`, and
verifying that the output contains filenames and line numbers.
2020-05-31 17:30:55 -04:00
bors
0d93d3f4a4 Auto merge of #72831 - Dylan-DPC:rollup-6rxjwt9, r=Dylan-DPC
Rollup of 5 pull requests

Successful merges:

 - #72691 (Fix escape key handling)
 - #72807 (Avoid setting wrong obligation cause span of associated type mismatch)
 - #72812 (Miri tests: skip parts of test_char_range)
 - #72829 (Clarify terms in doc comments)
 - #72830 (Fix release notes for niche initialization change)

Failed merges:

r? @ghost
2020-05-31 20:58:56 +00:00
JOE1994
3048a41a5a Rephrase term 'non-pointer type'
If the reader assumes that 'pointer type's include 'smart pointer's,
the term 'non-pointer type' could mislead the reader to assume that
x should not be a smart pointer type. I tried to rephrase the term
'non-pointer type' to remove ambiguity in the doc comments.

closes #72335

Thank you for reviewing this PR! :)
2020-05-31 15:58:06 -04:00
Josh Triplett
32736606fd RELEASES.md: Expand cargo tree note to mention cargo tree -d
Useful feature that people might not automatically associate with `cargo
tree`.
2020-05-31 12:39:28 -07:00
Dylan DPC
76e0ecca2b
Rollup merge of #72830 - rust-lang:sfackler-patch-1, r=Mark-Simulacrum
Fix release notes for niche initialization change

MaybeUninit is not affected by the linked PR.
2020-05-31 21:30:06 +02:00
Dylan DPC
2d4ed2aedd
Rollup merge of #72829 - JOE1994:clarify_terms, r=jonas-schievink
Clarify terms in doc comments

Doc comments of `copy_from_slice` say that people should use `clone_from_slice`
when 'src' doesn't implement `Copy`. However, 'src' is a reference and
it always implements `Copy`. The term 'src' should be fixed to `T`(element type of slice 'src') in
the doc comments.

Thank you for reviewing this PR :)  😺
2020-05-31 21:30:05 +02:00
Dylan DPC
5480120b26
Rollup merge of #72812 - RalfJung:miri-char-test, r=jonas-schievink
Miri tests: skip parts of test_char_range

The new `test_char_range` test takes forever in Miri as it loops over all values of `char`. This makes it skip most of them when being run in Miri.
2020-05-31 21:30:03 +02:00
Dylan DPC
8e83a7e126
Rollup merge of #72807 - xiaotianrandom:fix-assoc-type-diagnostics, r=estebank
Avoid setting wrong obligation cause span of associated type mismatch

Removes code that sets wrong obligation cause span of associated type mismatch. See the linked issue for details.

Closes #72806.
2020-05-31 21:30:01 +02:00
Dylan DPC
6cd9a67314
Rollup merge of #72691 - GuillaumeGomez:escape-key-handling, r=kinnison
Fix escape key handling

Fixes #72647.

The problem was that you could have a timeout just after the moment you press "escape", putting back the results.

r? @kinnison
2020-05-31 21:30:00 +02:00
Matthew Jasper
8894bd220b Add descriptions for all queries 2020-05-31 20:15:32 +01:00
Steven Fackler
0a71ba2243
Fix release notes for niche initialization change
MaybeUninit is not affected by the linked PR.
2020-05-31 14:51:08 -04:00
JOE1994
dd0338fbac Clarify terms in doc comments
Doc comments of 'copy_from_slice' say that people should use 'clone_from_slice'
when 'src' doesn't implement 'Copy'. However, 'src' is a reference and
it always implements 'Copy'. The term 'src' should be fixed to 'T' in
the doc comments.

Thank you for reviewing this PR :)
2020-05-31 14:37:26 -04:00
Miller
186b274fd9
changed *nix to Unix-like 2020-06-01 00:15:35 +06:00
Amanieu d'Antras
d49020573c Clarify errors and warnings about the transition to the new asm! 2020-05-31 18:25:05 +01:00
bors
5fd2f06e99 Auto merge of #72767 - pnkfelix:track-devirtualized-filenames-issue-70924, r=eddyb
Track devirtualized filenames

Split payload of FileName::Real to track both real and virtualized paths.

(Such splits arise from metadata refs into libstd; the virtualized paths look like `/rustc/1.45.0/src/libstd/io/cursor.rs` rather than `/Users/felixklock/Dev/Mozilla/rust.git/src/libstd/io/cursor.rs`)

This way, we can emit the virtual name into things like the like the StableSourceFileId (as was done back before PR #70642) that ends up in incremental build artifacts, while still using the devirtualized file path when we want to access the file.

Fix #70924
2020-05-31 17:14:44 +00:00
Dennis Duda
036da3a6dc Make remote-test-client work as cargo runner again
Since cargo appends executable/args, the support_lib count
parameter has to come first.
2020-05-31 17:36:17 +02:00
Dennis Duda
0199fdc0f7 Update help text of remote-test-client to reflect changed command 2020-05-31 17:23:46 +02:00
Dennis Duda
577ac2f836 Fix set_permissions call for non-windows 2020-05-31 17:23:46 +02:00
Dennis Duda
41d540fcb7 Unify temp path generation for non-android 2020-05-31 17:23:46 +02:00
Dennis Duda
a367956100 Make remote-test-client and remote-test-server compatible with windows
`compiletest` and `remote-test-client`:

The command line for `remote-test-client` was changed slightly
to allow cross-platform compatible paths. The old way of supplying
the support libs was by joining their paths with the executable path
with `:`. This caused Windows-style paths to be split after the
directory letter. Now, the number of support libs is provided
as a parameter as well, and the support lib paths are split off
from the regular args in the client.

`remote-test-server`:

- Marked Unix-only parts as such and implemented Windows alternatives
- On Windows `LD_LIBRARY_PATH` doesn't exist. Libraries are
  loaded from `PATH` though, so that's the way around it.
- Tiny cleanup: `Command::args`/`envs` instead of manually
  looping over them
- The temp path for Windows has to be set via environment variable,
  since there isn't a global temp directory that would work on every
  machine (as a static string)
2020-05-31 17:23:46 +02:00
Bastian Kauschke
9f83d36edc remove trivial calls to mk_const 2020-05-31 17:16:55 +02:00
Jonas Schievink
309661e84f InstCombine: Don't optimize &mut *x into x 2020-05-31 16:22:23 +02:00
bors
f6072cab13 Auto merge of #72813 - RalfJung:rollup-4ko6q8j, r=RalfJung
Rollup of 5 pull requests

Successful merges:

 - #72683 (from_u32_unchecked: check validity, and fix UB in Wtf8)
 - #72715 (Account for trailing comma when suggesting `where` clauses)
 - #72745 (generalize Borrow<[T]> for Interned<'tcx, List<T>>)
 - #72749 (Update stdarch submodule to latest head)
 - #72781 (Use `LocalDefId` instead of `NodeId` in `resolve_str_path_error`)

Failed merges:

r? @ghost
2020-05-31 13:39:05 +00:00
Ralf Jung
f793c0b1bf always print MIR Location when validator finds a problem 2020-05-31 15:23:45 +02:00
Ralf Jung
9a4bdbff9e more checks for SwitchInt 2020-05-31 15:07:16 +02:00
Ralf Jung
e07e42433f replace DUMMY_SP by proper span 2020-05-31 14:49:33 +02:00
Guillaume Gomez
7a2efa3a10 Put input timeout clearance inside a function 2020-05-31 14:27:33 +02:00
Guillaume Gomez
1fbc037da6 Clean up E0622 explanation 2020-05-31 14:09:15 +02:00
Ralf Jung
532dabdb8e Miri tests: skip parts of test_char_range 2020-05-31 12:12:45 +02:00
Ralf Jung
cbc73dc263
Rollup merge of #72781 - marmeladema:rustdoc-def-id-resolve-str-path-error, r=petrochenkov
Use `LocalDefId` instead of `NodeId` in `resolve_str_path_error`

Together with https://github.com/rust-lang/rust/pull/72777 this should remove all uses of `NodeId` in `rustdoc`.

cc #50928

r? @petrochenkov
2020-05-31 12:03:30 +02:00
Ralf Jung
e16bd0206b
Rollup merge of #72749 - vertexclique:vcq/update-stdarch, r=Amanieu
Update stdarch submodule to latest head

Includes avx512 work & aarch64 tme.
2020-05-31 12:03:28 +02:00
Ralf Jung
e0b25905af
Rollup merge of #72745 - lcnr:interned-cleanup, r=petrochenkov
generalize Borrow<[T]> for Interned<'tcx, List<T>>
2020-05-31 12:03:26 +02:00
Ralf Jung
b714f5c9ac
Rollup merge of #72715 - estebank:trailing-comma-where, r=petrochenkov
Account for trailing comma when suggesting `where` clauses

Fix #72693.
2020-05-31 12:03:24 +02:00
Ralf Jung
3bbb475f00
Rollup merge of #72683 - RalfJung:char-debug-check, r=Mark-Simulacrum
from_u32_unchecked: check validity, and fix UB in Wtf8

Fixes https://github.com/rust-lang/rust/issues/72760
2020-05-31 12:03:22 +02:00
bors
4b1f86adbe Auto merge of #72759 - alexcrichton:update-compiler-builtins, r=Mark-Simulacrum
Update compiler-builtins

Pulls in a fix for #72758, more details on the linked issue.

[Crate changes included here][changes]

[changes]: https://github.com/rust-lang/compiler-builtins/compare/0.1.28...0.1.31

Closes #72758
2020-05-31 09:54:44 +00:00
Ralf Jung
5707838480 validate basic sanity for TerminatorKind 2020-05-31 10:50:19 +02:00
Bastian Kauschke
0441763694 remove fixme for stalled_on 2020-05-31 10:01:45 +02:00
bors
b6fa392238 Auto merge of #72743 - lcnr:predicate_f, r=nikomatsakis
fix EncodeWithShorthand for Predicate

r? @nikomatsakis
2020-05-31 04:44:38 +00:00
XIAO Tian
1a68c8e8d9 Fix associate type diagnostics 2020-05-31 12:13:30 +08:00
XIAO Tian
3bf9eb0f7a Add a test for wrong assoc type diagnostics 2020-05-31 12:13:30 +08:00
bors
ea7181b5f7 Auto merge of #72116 - petrhosek:fuchsia-ld-flags, r=tmandry
Update the Fuchsia linker defaults

This updates the linker defaults aligning them with Clang. Specifically,
we use 4K pages on all platforms, we always use BIND_NOW, we prefer all
loadable segments be separate and page aligned, and we support RELR
relocations.
2020-05-31 01:07:37 +00:00
Mahmut Bulut
15201af7ed Update stdarch submodule to latest head 2020-05-31 00:12:59 +02:00
Vadim Petrochenkov
81e06dac84 Add a test for $:ident in proc macro input 2020-05-31 00:24:56 +03:00
bors
8c5402efdd Auto merge of #72794 - RalfJung:rollup-gzs4nl4, r=RalfJung
Rollup of 13 pull requests

Successful merges:

 - #72543 (Account for missing lifetime in opaque and trait object return types)
 - #72625 (Improve inline asm error diagnostics)
 - #72637 (expand `env!` with def-site context)
 - #72650 (Sort sidebar elements)
 - #72657 (Allow types (with lifetimes/generics) in impl_lint_pass)
 - #72666 (Add -Z profile-emit=<path> for Gcov gcda output.)
 - #72668 (Fix missing parentheses Fn notation error)
 - #72669 (rustc_session: Cleanup session creation)
 - #72728 (Make bootstrap aware of relative libdir in stage0 compiler)
 - #72757 (rustc_lexer: Optimize shebang detection slightly)
 - #72772 (miri validation: clarify valid values of 'char')
 - #72773 (Fix is_char_boundary documentation)
 - #72777 (rustdoc: remove calls to `local_def_id_from_node_id`)

Failed merges:

r? @ghost
2020-05-30 21:23:19 +00:00
Vadim Petrochenkov
4d5ce340cd test-macros: Avoid always producing errors in #[derive(Print)] 2020-05-31 00:17:33 +03:00
Ralf Jung
581eafcdf7
Rollup merge of #72777 - marmeladema:rustdoc-remove-local-def-id-from-node-id, r=petrochenkov
rustdoc: remove calls to `local_def_id_from_node_id`

rustdoc calls `local_def_id_from_node_id(CRATE_NODE_ID)` when it can just creates a top level `DefId` using `DefId::local(CRATE_DEF_INDEX)`.

cc #50928

r? @petrochenkov
2020-05-30 23:09:04 +02:00
Ralf Jung
b7f6a0b322
Rollup merge of #72773 - Rantanen:is_char_boundary-docs, r=joshtriplett
Fix is_char_boundary documentation

Given the "start _and/or end_" wording in the original, the way I understood it was that the `str::is_char_boundary` method would also return `true` for the last byte in a UTF-8 code point sequence. (Which would have meant that for a string consisting of nothing but 1 and 2 byte UTF-8 code point sequences, it would return nothing but `true`.)

In practice the method returns `true` only for the starting byte of each sequence and the end of the string: [Playground](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=e9f5fc4d6bf2f1bf57a75f3c9a180770)

I was also somewhat tempted to remove the _The start and end of the string are considered to be boundaries_, since that's implied by the first sentence, but I decided to avoid bikeshedding over it and left it as it was since it's not wrong in relation to how the method behaves.
2020-05-30 23:09:02 +02:00
Ralf Jung
356d1e9f4f
Rollup merge of #72772 - RalfJung:valid-char, r=petrochenkov
miri validation: clarify valid values of 'char'

The old text said "expected a valid unicode codepoint", which is not actually correct -- it has to be a scalar value (which is a code point that is not part of a surrogate pair).
2020-05-30 23:09:00 +02:00
Ralf Jung
32481bc80a
Rollup merge of #72757 - petrochenkov:shebang, r=varkor
rustc_lexer: Optimize shebang detection slightly

Sorry, I just couldn't resist.
It shouldn't make any difference in practice.

Also, documented a previously unnoticed case with doc comments treated as regular comments during shebang detection.
2020-05-30 23:08:58 +02:00
Ralf Jung
8f1c0d0a10
Rollup merge of #72728 - o01eg:fix-72661, r=Mark-Simulacrum
Make bootstrap aware of relative libdir in stage0 compiler

Follows up #72692

Fixes #72661
2020-05-30 23:08:57 +02:00