Commit Graph

69686 Commits

Author SHA1 Message Date
Manish Goregaokar
387d177ceb Rollup merge of #48246 - estebank:ice, r=nikomatsakis
Avoid ICE in arg mistmatch error for tuple variants

Fix #47706.
2018-02-24 12:48:00 -08:00
Manish Goregaokar
8fdad6f2ef Rollup merge of #48232 - fpoli:master, r=pnkfelix
mir: Gather move at SwitchInt, Assert terminators

Previously, `_1` was not marked as "definitely uninitialized" after a `switchInt(move _1)` terminator.

I think the same goes for the `assert` terminator.

Related discussion: https://internals.rust-lang.org/t/why-is-2-definitely-initialized-after-switchint-move-2/6760
2018-02-24 12:47:59 -08:00
Manish Goregaokar
111af8f5c1 Rollup merge of #48206 - michaelwoerister:colors-array, r=nikomatsakis
incr.comp.: Store DepNode colors in a dense array instead of a hashmap.

Implements half of https://github.com/rust-lang/rust/issues/47293.

r? @nikomatsakis
2018-02-24 12:47:59 -08:00
Manish Goregaokar
e96699337b Rollup merge of #48185 - michaelwoerister:recursive-cache-decoding, r=nikomatsakis
incr.comp.: Don't keep RefCells in on-disk-cache borrowed in order to allow for recursive invocations.

Fixes #47972.

r? @nikomatsakis
2018-02-24 12:47:59 -08:00
Manish Goregaokar
b52b33a386 Rollup merge of #48143 - nikomatsakis:termination_trait_in_tests, r=eddyb
Termination trait in tests

Support the `Termination` trait in unit tests (cc https://github.com/rust-lang/rust/issues/43301)

Also, a drive-by fix for #47075.

This is joint work with @bkchr.
2018-02-24 12:47:58 -08:00
Manish Goregaokar
a79e5e210e Rollup merge of #48084 - cramertj:impl-trait-errors, r=nikomatsakis
Error on nested impl Trait and path projections from impl Trait

cc #34511

r? @nikomatsakis
2018-02-24 12:47:58 -08:00
Manish Goregaokar
25ec810921 Rollup merge of #47987 - Zoxc:rm-recursion-checking, r=eddyb
Remove "static item recursion checking" in favor of relying on cycle checks in the query engine

Tests are changed to use the cycle check error message instead. Some duplicate tests are removed.

r? @eddyb
2018-02-24 08:55:36 -08:00
Phlosioneer
bbd64b2563 Slight modification to the as_ref example of std::option::Option
A user in a reddit thread was confused by the name of the variable
"num_as_int"; they thought the example was trying to convert the
string "10" as if it were binary 2 by calling str::len(). In reality,
the example is simply demonstrating how to take an immutable reference
to the value of an Option. The confusion comes from the coincidence
that the length of the string "10" is also its binary representation,
and the implication from the variable names that a conversion was
occuring ("num_as_str" to "num_as_int").

This PR changes the example number to 12 instead of 10, and changes
the variable name from "num_as_int" to "num_length" to better
communicate what the example is doing.

The reddit thread:
https://www.reddit.com/r/rust/comments/7zpvev/notyetawesome_rust_what_use_cases_would_you_like/dur39xw/
2018-02-24 11:37:38 -05:00
Guillaume Gomez
5344b07add Add new warning for CStr::from_ptr 2018-02-24 16:50:44 +01:00
Corey Farwell
0700bd12d0 Clarify "It is an error to..." wording for zero-duration behaviors.
Documentation fix side of https://github.com/rust-lang/rust/issues/48311.
2018-02-24 08:56:36 -05:00
Vadim Petrochenkov
aafebbcba9 Remove directory src/rt 2018-02-24 16:45:39 +03:00
Dale Wijnand
e3e1c8f7d2 Fix capitalisation in Path#file_name's docs 2018-02-24 12:31:03 +00:00
Bryan Drewery
34b45c192f Workaround abort(2) on compilation error on FreeBSD.
Same problem as OpenBSD, tracking bug #43575.
2018-02-23 19:36:32 -08:00
Guillaume Gomez
23dc694c42 Fix auto trait impl rustdoc ice 2018-02-24 01:23:54 +01:00
John Paul Adrian Glaubitz
e3781c6585 test: Fix s390x-unknown-linux-gnu atomic-lock-free test not run for systemz 2018-02-24 01:18:33 +01:00
Vadim Petrochenkov
8640a51ff8 Implement multiple patterns with | in if let and while let 2018-02-24 03:12:35 +03:00
John Paul Adrian Glaubitz
0b6583ed97 bootstrap: Add openssl configuration for x86_64-unknown-linux-gnux32 2018-02-24 01:08:02 +01:00
varkor
70db41cdf7 Handle gdb command failure gracefully in compiletest
Previously, if the gdb command was available, but threw an error, compiletest would panic.  This is obviously not good. Now, gdb is treated as missing if calling `gdb --version` does not output anything on stdout.
2018-02-23 23:54:24 +00:00
varkor
f2b9686134 Bad tags are unreachable 2018-02-23 22:15:07 +00:00
Manish Goregaokar
4c73f82614 Add test 2018-02-23 13:30:26 -08:00
Manish Goregaokar
dd67fe1727 Silence warning in test 2018-02-23 13:00:11 -08:00
Manish Goregaokar
bdccbcf41b parse dyn (Foo) as a trait object 2018-02-23 12:39:51 -08:00
Christian Poveda
43de01f97e cleaned trailing whitespaces 2018-02-23 15:12:28 -05:00
jethrogb
cfad25ee8f Clarify interfaction between File::set_len and file cursor 2018-02-23 11:57:38 -08:00
Mark Mansi
a05c5538d4 Start moving to the rustc guide! 2018-02-23 13:20:56 -06:00
Manish Goregaokar
b26442a3cb Rollup merge of #48472 - Manishearth:clippyup, r=oli-obk
Update clippy

r? @oli-obk
2018-02-23 10:24:57 -08:00
Manish Goregaokar
f2cbb764b8 Rollup merge of #48438 - mbrubeck:docs, r=TimNN
[docs] Minor wording changes to drain_filter docs

The docs currently say, "If the closure returns false, it will try again, and call the closure on the next element."  But this happens regardless of whether the closure returns true or false.
2018-02-23 10:24:56 -08:00
Manish Goregaokar
cf3623f284 Rollup merge of #48436 - adeschamps:string-doc-fix, r=estebank
Small grammar fix to docs for String::new()
2018-02-23 10:24:55 -08:00
Manish Goregaokar
f2da2fa315 Rollup merge of #48429 - toidiu:patch-1, r=nikomatsakis
update tracking issue for nll

Point to the new tracing issue for nll

For reference https://github.com/rust-lang/rust/issues/44928
2018-02-23 10:24:54 -08:00
Manish Goregaokar
74f6794193 Rollup merge of #48245 - spastorino:sparse_bitsets, r=nikomatsakis
Use sparse bitsets instead of dense ones for NLL results

This is for https://github.com/rust-lang/rust/issues/48170.

r? @nikomatsakis
2018-02-23 10:24:53 -08:00
Manish Goregaokar
9f36a35e61 Rollup merge of #48221 - rkruppe:improve-ctypes-lint, r=estebank
Overhaul improper_ctypes output

This snowballed into a rather big set of improvements to the diagnostics of the improper_ctypes lint. See commits for details, including effects of each change on the `compile-fail/improper-ctypes.rs` test (now a UI test), which is pretty gnarly and hopefully not representative of real code, but covers a lot of different error cases.

Fixes #42050
2018-02-23 10:24:52 -08:00
Manish Goregaokar
5d30cbab8e Rollup merge of #48219 - andjo403:export_symbol, r=michaelwoerister
lookup exported symbols only when needed.

reduces the time to compile small file with no optimization by half.
2018-02-23 10:24:51 -08:00
Manish Goregaokar
5fd8d18097 Rollup merge of #48157 - scottmcm:try-for-each, r=dtolnay
Add Iterator::try_for_each

The fallible version of `for_each` aka the stateless version of `try_fold`.  Inspired by @cuviper's comment in https://github.com/rust-lang/rust/pull/45379#issuecomment-338370020 as a more direct and obvious solution than `.map(f).collect::<Result<(), _>>()`.

Like `for_each`, no need for an `r` version thanks to overrides in `Rev`.

`iterator_try_fold` tracking issue: https://github.com/rust-lang/rust/issues/45594
2018-02-23 10:24:49 -08:00
Manish Goregaokar
1e67c1315b Rollup merge of #48123 - nikomatsakis:issue-47244-expected-num-args, r=estebank
detect wrong number of args when type-checking a closure

Instead of creating inference variables for those argument types, use
the trait error-reporting code to give a nicer error. This also
improves some other spans for existing tests.

Fixes #47244

r? @estebank
2018-02-23 10:24:48 -08:00
Manish Goregaokar
a1acb15591 Rollup merge of #48083 - jseyfried:improve_tuple_struct_field_access_hygiene, r=petrochenkov
Improve tuple struct field access hygiene

Fixes #47312 by fixing a span bug.
r? @nrc
2018-02-23 10:24:47 -08:00
Manish Goregaokar
4941cb4796 Rollup merge of #48072 - cramertj:impl-trait-lifetime-res, r=nikomatsakis
Fix nested impl trait lifetimes

Fixes #46464
cc https://github.com/rust-lang/rust/issues/34511

r? @nikomatsakis
2018-02-23 10:24:46 -08:00
Manish Goregaokar
abf4d70da8 Rollup merge of #47933 - Zoxc:plugin-panics, r=nikomatsakis
Do not run the default panic hook inside procedural macros.

Fixes #47812

r? @nikomatsakis
2018-02-23 10:24:45 -08:00
Christian Poveda
58d1f83952 remove redundant info 2018-02-23 13:00:26 -05:00
Pietro Albini
2985a1abfb Report non-standard compile flags on ICE 2018-02-23 18:58:14 +01:00
Christian Poveda
f9e049afc5 add info about sync 2018-02-23 12:57:18 -05:00
John Paul Adrian Glaubitz
84aae4ed12 Add sparc-unknown-linux-gnu target 2018-02-23 18:21:00 +01:00
John Paul Adrian Glaubitz
100469f4e9 librustc_back: Add support for sparc-linux-gnu 2018-02-23 18:20:56 +01:00
Manish Goregaokar
9e6d2d761e Update Clippy 2018-02-23 09:04:16 -08:00
kennytm
a9f940e320 Run the external doc tests in tools job. 2018-02-24 00:54:13 +08:00
Manish Goregaokar
177271f914 span_bug doesn't work well at this stage, use the session directly 2018-02-23 08:24:49 -08:00
Manish Goregaokar
63168f7275 Lint bare traits 2018-02-23 08:24:49 -08:00
Manish Goregaokar
bd29696218 Add ability for hardwired lints to operate on the diagnostic builder 2018-02-23 08:24:49 -08:00
Manish Goregaokar
3eeabe7b7d Add hardwired lint for dyn trait 2018-02-23 08:24:07 -08:00
Manish Goregaokar
da9dc0507b Allow future-incompat lints to mention an epoch 2018-02-23 08:24:07 -08:00
Niko Matsakis
bcd996857e explain why we don't need to run type-checker when NLL is enabled 2018-02-23 10:42:12 -05:00