88754 Commits

Author SHA1 Message Date
Andy Russell
29a8386bb3
use structured suggestion when casting a reference 2019-01-10 13:43:47 -05:00
Alex Crichton
dd326f84fb Integrate miri into build-manifest
This fixes a mistake where miri was accidentally left out of the
build-manifest parsing, meaning that today's nightly generated a
manifest with invalid urls!
2019-01-10 07:53:19 -08:00
Alex Crichton
bbb5448de4 std: Render large exit codes as hex on Windows
On Windows process exit codes are never signals but rather always 32-bit
integers. Most faults like segfaults and such end up having large
integers used to represent them, like STATUS_ACCESS_VIOLATION being
0xC0000005. Currently, however, when an `ExitStatus` is printed this
ends up getting rendered as 3221225477 which is somewhat more difficult
to debug.

This commit adds a branch in `Display for ExitStatus` on Windows which
handles exit statuses where the high bit is set and prints those exit
statuses as hex instead of with decimals. This will hopefully preserve
the current display for small exit statuses (like `exit code: 22`), but
assist in quickly debugging segfaults/access violations/etc. I've
found at least that the hex codes are easier to search for than decimal.

I wasn't able to find any official documentation saying that all system
exit codes have the high bit set, but I figure it's a good enough
heuristic for now.
2019-01-10 07:52:33 -08:00
Hugues de Valon
65ac315efe Update Cargo.lock 2019-01-10 12:42:14 +00:00
Stein Somers
cef2e2f3d5 Merge remote-tracking branch 'upstream/master' 2019-01-10 12:30:09 +01:00
Aaron Power
521031f1b8
Apply suggestions from code review
Co-Authored-By: Aaronepower <Aaronepower@users.noreply.github.com>
2019-01-10 10:08:32 +01:00
Aaron Power
60677a86bf
Update RELEASES.md 2019-01-10 10:08:07 +01:00
Andy Russell
565c39de43
provide suggestion for invalid boolean cast
Also, don't suggest comparing to zero for non-numeric expressions.
2019-01-09 16:59:12 -05:00
Stein Somers
8823bf0b40 Fix poor worst case performance of is_disjoint 2019-01-09 22:19:54 +01:00
John Kåre Alsaker
60d1db6b54 Clean up and fix a bug in query plumbing 2019-01-09 21:11:23 +01:00
Steve Klabnik
5fc6fc3d90 Improve docs for Formatter 2019-01-09 14:46:42 -05:00
Steve Klabnik
4a454d629c actually take a slice in this example
Fixes #45678
2019-01-09 14:45:39 -05:00
Andy Russell
404ad50d14
clarify resolve typo suggestion
Include the kind of the binding that we're suggesting, and use a
structured suggestion.
2019-01-09 14:11:00 -05:00
Emilio Cobos Álvarez
c47ed149b2 save-analysis: Get path def from parent in case there's no def for the path itself.
This fixes #57462.

The relevant part from the hir type collector is:

```
DEBUG 2019-01-09T15:42:58Z: rustc::hir::map::collector: hir_map: NodeId(32) => Entry { parent: NodeId(33), dep_node: 4294967040, node: Expr(expr(32: <Foo>::new)) }
DEBUG 2019-01-09T15:42:58Z: rustc::hir::map::collector: hir_map: NodeId(48) => Entry { parent: NodeId(32), dep_node: 4294967040, node: Ty(type(Foo)) }
DEBUG 2019-01-09T15:42:58Z: rustc::hir::map::collector: hir_map: NodeId(30) => Entry { parent: NodeId(48), dep_node: 4294967040, node: PathSegment(PathSegment { ident: Foo#0, id: Some(NodeId(30)), def: Some(Err), args: None, infer_types: true }) }
DEBUG 2019-01-09T15:42:58Z: rustc::hir::map::collector: hir_map: NodeId(31) => Entry { parent: NodeId(32), dep_node: 4294967040, node: PathSegment(PathSegment { ident: new#0, id: Some(NodeId(31)), def: Some(Err), args: None, infer_types: true }) }
```

We have the right ID when looking for NodeId(31) and try with NodeId(32) (which
is the right thing to look for) from get_path_data, but not for the segments
that we write from `write_sub_paths_truncated`.

Basically `process_path` takes an id which is always the parent, and that we
fall back to in `get_path_data()`, so we get the right result for the last path
segment, but not for the other segments that get written to from
`write_sub_paths_truncated`.

I think we can stop passing the explicit id around to `get_path_data` now, will
consider sending that as a followup.
2019-01-09 19:59:54 +01:00
Oliver Scherer
dec79e4470 Not seeing the forest because there are too many trees in the way 2019-01-09 16:34:31 +01:00
Oliver Scherer
cd5a9e04da Explain the arguments of the mk_*_eval_cx functions 2019-01-09 16:27:33 +01:00
Aaron Power
f82ecff4d1 Updated RELEASES.md for 1.32.0 2019-01-09 16:20:51 +01:00
Oliver Scherer
f174b73caf Document the mk_*_eval_cx functions 2019-01-09 16:08:07 +01:00
Ralf Jung
4da3a1cb81 update miri 2019-01-09 16:03:01 +01:00
Hugues de Valon
4af681c7b8 Update cc crate to include Armv8-M changes 2019-01-09 14:51:22 +00:00
Hugues de Valon
f0d4158db6 Replace Arm GCC to a more recent version
The version included in Ubuntu 16.04 repositories in the dist-various-1
docker, Arm GCC version 4.9, does not support the new Armv8-M
architecture.
This commit adds the team-gcc-arm-embedded PPA to get through APT a
newer version of Arm GCC.
2019-01-09 14:50:29 +00:00
Hugues de Valon
40388ef7be Add dist builder for Armv8-M Mainline
This commit adds the Armv8-M Mainline target in the list of targets that
get their dist components built. It also update the build-manifest so
that this target gets also its dist components uploaded.
2019-01-09 14:50:29 +00:00
Stein Somers
ccba43df81 Merge remote-tracking branch 'upstream/master' 2019-01-09 15:15:18 +01:00
bors
6ecad33838 Auto merge of #57419 - cramertj:pin-set, r=withouboats
Reborrow Pin<P> using &mut in `Pin::set`

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

This makes it possible to call `.set` multiple times without
using `.as_mut()` first to reborrow the pointer.

r? @withoutboats
cc @rust-lang/libs
2019-01-09 13:48:37 +00:00
lqd
e5318f3f9b MetadataOnlyCodegenBackend: remove is_inline call
This function has no side effects, and its result is ignored.
2019-01-09 14:21:46 +01:00
Vardhan Thigle
2e4766c3af Exposing enclave image-base to the enclave application
image-base could be used by crates like backtrace to providing to make
symbol resolution easier.
2019-01-09 18:07:59 +05:30
Yuki Okushi
3cf3ed7877 Separate the description on different lines 2019-01-09 21:13:42 +09:00
Yuki Okushi
6a90f1414f Add check_attribute 2019-01-09 20:53:33 +09:00
king6cong
0e56e13c18 Remove outdated comment 2019-01-09 19:44:57 +08:00
bors
664c7797f6 Auto merge of #56614 - Zoxc:query-perf2, r=michaelwoerister
Replace LockCell with atomic types

Split from https://github.com/rust-lang/rust/pull/56509

r? @michaelwoerister
2019-01-09 11:08:14 +00:00
Oliver Scherer
80262e6040 Fix irrefutable slice patterns in const fn 2019-01-09 11:32:56 +01:00
Oliver Scherer
aef6288d9a const fn feature gate is not needed anymore in a lot of tests 2019-01-09 10:20:44 +01:00
Oliver Scherer
a49acea80d Clarify const_let comment 2019-01-09 10:20:44 +01:00
Oliver Scherer
4b4fc63eb7 Stabilize let bindings and destructuring in constants and const fn 2019-01-09 10:20:12 +01:00
bors
8c97b6ffbf Auto merge of #57086 - oli-obk:miri_dist, r=kennytm
Prepare everything for distributing miri via rustup

The next step is to tell rustup about `cargo-miri` in 31935e5f63/src/rustup/lib.rs (L28) and 1ccd706d1d/src/rustup-win-installer/src/lib.rs (L29)
2019-01-09 06:42:11 +00:00
Philipp Hansch
a89cecef01
docs: Fix some 'second-edition' links 2019-01-09 07:19:29 +01:00
Nicholas Nethercote
46fa818d34 Change String to &'static str in ParseResult::Failure.
This avoids 770,000 allocations when compiling the `html5ever`
benchmark, reducing instruction counts by up to 2%.
2019-01-09 15:16:19 +11:00
scottmcm
986e49da04
Merge pull request #1 from Centril/redo-vec-set_len-docs-adjust
Explain safety for `vec.set_len(0)`
2019-01-08 19:41:32 -08:00
Blitzerr
69e491815d addressing Niko's comments 2019-01-08 19:19:34 -08:00
Mazdak Farrokhzad
5052197e44 explain safety for vec.set_len(0) 2019-01-09 04:17:24 +01:00
Blitzerr
15d8e8fb2b [Cleanup] This is the first in the series of removals of with_freevars usage.
Currently, there are many places in rustc, where we use
with_freevars to iterate over freevars of a closure. The
problem with this is the argument to with_freevars is a
NodeId and this will get in the way of our eventual goal
of solving for issue (#53488), sub-issue (#56905)
2019-01-08 17:57:22 -08:00
Blitzerr
7853b780fc Some more refactoring.
Change the key of UpvarListMap from DefId to ast::NodeId
2019-01-08 17:57:22 -08:00
Blitzerr
410b52958d Creating the vector using with_capacity to avoid re-allocation later on (#56905) 2019-01-08 17:57:22 -08:00
Blitzerr
47db51eece Issue 56905
Adding a map to TypeckTables to get the list of all the Upvars
given a closureID. This is help us get rid of the recurring
pattern in the codebase of iterating over the free vars
using with_freevars.
2019-01-08 17:57:22 -08:00
varkor
ac4a4547ba Consolidate equality constraints error message 2019-01-08 23:53:43 +00:00
varkor
d1b65fb691 Add issue reference to E0202 message 2019-01-08 23:53:19 +00:00
Czipperz
564a24c772 Change std::error::Error trait documentation to talk about source instead of cause 2019-01-08 17:45:54 -05:00
Jonathan Behrens
aa9bc68a1e
RawVec doesn't always abort on allocation errors 2019-01-08 17:21:30 -05:00
bors
167ceff01e Auto merge of #56407 - GuillaumeGomez:missing-docs-reexported-macros, r=varkor
check missing docs for reexported macros as well

Fixes #56334.
2019-01-08 22:16:13 +00:00
Shotaro Yamada
12ae3651f8 Misc cleanups 2019-01-09 06:31:09 +09:00