Commit Graph

53406 Commits

Author SHA1 Message Date
Niko Matsakis
ef902a211b when encoding, push MetaData(foo) task on stack
This lets us determine what was used to construct the metadata.

Conflicts:
	src/librustc_metadata/encoder.rs
2016-05-18 10:11:35 -04:00
Niko Matsakis
5bcdf4c192 add a MetaData node and trigger reads from it
Conflicts:
	src/librustc_metadata/csearch.rs
2016-05-18 10:11:35 -04:00
Niko Matsakis
7734308f89 ignore dep-graph in resolve and lower_crate
This got removed at some point, it seems.
2016-05-18 10:11:35 -04:00
Niko Matsakis
b711734a5f thread the DepGraph to session/crate-store
This is a [breaking-change] for plugin authors.
You must now create a dep-graph earlier.
2016-05-18 10:10:45 -04:00
Niko Matsakis
2237e89908 remove the Any bound from CrateStore
This is a [breaking-change] for plugins, which
ought by now to have stopped relying on downcasting.
2016-05-18 10:10:45 -04:00
Niko Matsakis
47af3f1935 add MetaData DepNode variant 2016-05-18 10:10:45 -04:00
Jonathan Turner
b0a317dc6f Fix tidy error 2016-05-18 08:30:46 -04:00
bors
9743c661b0 Auto merge of #33710 - Manishearth:rollup, r=Manishearth
Rollup of 5 pull requests

- Successful merges: #33656, #33666, #33673, #33675, #33695
- Failed merges:
2016-05-18 05:04:26 -07:00
Jeffrey Seyfried
f630419351 Fix bug in macro expression spans 2016-05-18 11:46:08 +00:00
ggomez
afd4cccd62 Add new error code tests 2016-05-18 12:05:59 +02:00
Manish Goregaokar
07194a0350 Rollup merge of #33695 - nikomatsakis:spezializes-cache, r=aturon
introduce a specializes cache

This query is frequently used during trait selection and caching the
result can be a reasonable performance win.

The one case I examined thus far was the mrusty package (v0.5.1), where I saw an improvement in "typeck item bodies" from ~8.3s to ~1.9s.

r? @aturon
2016-05-18 14:07:46 +05:30
Manish Goregaokar
9246cc41a6 Rollup merge of #33675 - apasel422:issue-33662, r=pnkfelix
Add missing code fence to `diagnostics.rs`

Closes #33662
2016-05-18 14:07:45 +05:30
Manish Goregaokar
f91360f24e Rollup merge of #33673 - GuillaumeGomez:fix-selected-item-style, r=steveklabnik
Fix selected item background style

r? @steveklabnik
2016-05-18 14:07:45 +05:30
Manish Goregaokar
83429f9e31 Rollup merge of #33666 - xen0n:no-more-nest-levels, r=nikomatsakis
syntax_ext: format: nest_level's are no more

Just noticed this while working on #33642 and here's a quick fix, shouldn't touch anything else. It's some historic code indeed...
2016-05-18 14:07:45 +05:30
Manish Goregaokar
7a759d7ab6 Rollup merge of #33656 - GuillaumeGomez:lifetime_bound, r=steveklabnik
Add lifetime's bounds in doc generation

Fixes #33653

![screenshot from 2016-05-15 15 30 38](https://cloud.githubusercontent.com/assets/3050060/15274445/024dbd5c-1ab2-11e6-9387-274301a05627.png)

r? @steveklabnik
2016-05-18 14:07:44 +05:30
bors
310d8996f4 Auto merge of #33654 - petrochenkov:hirident, r=nrc
Remove hir::Ident

Now when name resolution is done on AST, `hir::Ident` is no longer necessary.
See https://github.com/rust-lang/rust/pull/30145 for more details.

r? @nrc
2016-05-18 00:27:49 -07:00
Nick Hamann
7fef162873 Only print parameters with elided lifetimes in elision error messages.
When displaying the function parameters for a lifetime elision error message,
this changes it to first filter out the parameters that don't have elided
lifetimes.

Fixes #30255.
2016-05-18 01:50:21 -05:00
Timothy McRoy
acfe199c02 Add descriptive error explanation for E0502 2016-05-17 21:13:02 -05:00
bors
75e23e1b03 Auto merge of #33137 - nikomatsakis:issue-32330-lbr-in-return-type-warning-2, r=aturon
Warnings for issue #32330

This is an extension of the previous PR that issues warnings in more situations than before. It does not handle *all* cases of #32330 but I believe it issues warnings for all cases I've seen in practice.

Before merging I'd like to address:

- open a good issue explaining the problem and how to fix it (I have a [draft writeup][])
- work on the error message, which I think is not as clear as it could/should be (suggestions welcome)

r? @aturon

[draft writeup]: https://gist.github.com/nikomatsakis/631ec8b4af9a18b5d062d9d9b7d3d967
2016-05-17 18:10:53 -07:00
Niko Matsakis
639890d92d fix stale method names 2016-05-17 20:25:18 -04:00
Niko Matsakis
ccfb74e800 warn for where/return-types that reference regions
This is a step towards fixing #32330. The full fix would be a breaking
change, so we begin by issuing warnings for scenarios that will break.
2016-05-17 20:25:18 -04:00
User
59e5a5c322 Resolved rustdoc crash (#33678) by aborting instead of unwrapping.
Removed Option use and comment to match.
2016-05-18 03:38:45 +04:30
Alex Crichton
c22a45be58 std: Update libc submodule
Brings in a fix where `-lutil` is no longer passed for musl targets, lifting the
need for a musl toolchain to be installed again.

Closes #33608
2016-05-17 14:59:06 -07:00
Nick Hamann
e2bf1f8533 Add regression tests for error message when using enum variant as a type
I'm guessing these were actually fixed with PR #27085.

Closes #21225
Closes #19197
2016-05-17 15:33:31 -05:00
Niko Matsakis
97ca8d799c fix -Z treat-err-as-bug 2016-05-17 16:27:23 -04:00
Niko Matsakis
df5c62bed2 refactor: use select inside of a probe
We ought not to be affecting inference state when assembling candidates,
so invoke select inside of a probe.
2016-05-17 16:27:23 -04:00
bors
0667ae93fb Auto merge of #33665 - golddranks:thread-park-add-big-picture-explanation, r=aturon
Added a big-picture explanation for thread::park() & co.

As I said in https://www.reddit.com/r/rust/comments/4ihvv1/hey_rust_programmers_got_a_question_ask_here/d372s4i, the current explanation of the `park()` and `unpark()` is a bit unclear. It says that they're used for blocking, but then it goes on explaining the semantics in detail, leaving the bigger picture a bit unclear.

I added a short high-level explanation that explains how the functions are used. I also exposed the full paths (`thread::park()` and `thread::Thread::unpark()`), because `unpark()`, being a method, is not directly visible at the module level.
2016-05-17 13:11:57 -07:00
Niko Matsakis
29dad1a280 introduce a specializes cache
This query is frequently used during trait selection and caching the
result can be a reasonable performance win.
2016-05-17 15:52:03 -04:00
Jonathan Turner
c1c1ad5ec5 Fix for #33559 2016-05-17 11:27:58 -04:00
bors
30422de32d Auto merge of #33682 - GuillaumeGomez:fix-error-explanation-enum, r=sanxiyn
Fix invalid enum declaration

r? @steveklabnik
cc @Ms2ger
2016-05-17 07:53:49 -07:00
Guillaume Gomez
6e1154dc9d Fix invalid enum declaration 2016-05-17 13:43:23 +02:00
bors
5d12502d3a Auto merge of #33617 - sanmai-NL:gitignore_IntelliJ, r=nikomatsakis
IntelliJ support, ordering, cleanup
2016-05-17 04:02:15 -07:00
Jonathan Turner
175ecfefd5 Improve a few errors and fix #33366 2016-05-17 06:46:08 -04:00
Jonathan Turner
3e9747af49 De-emph minimized spans, add better debugging output 2016-05-17 06:46:08 -04:00
Jonathan Turner
ae1e73affe Print secondary labels as notes in old skool mode 2016-05-17 06:46:08 -04:00
bors
5743564f2d Auto merge of #33651 - Nercury:update-i686-android-target-to-match-abi, r=alexcrichton
Update i686-linux-android features to match android x86 ABI.

Based on [android's official x86 ABI info](http://developer.android.com/ndk/guides/abis.html#x86), the x86 baseline CPU can be safely updated to `pentiumpro`, with the addition of `MMX`, `SSE`, `SSE2`, `SSE3`, `SSSE3` features.

r? @alexcrichton
2016-05-16 22:35:00 -07:00
bors
786b26d7b4 Auto merge of #33491 - arielb1:obligation-jungle, r=nikomatsakis
Replace the obligation forest with a graph

In the presence of caching, arbitrary nodes in the obligation forest can be merged, which makes it a general graph. Handle it as such, using cycle-detection algorithms in the processing.

I should do performance measurements sometime.

This was pretty much written as a proof-of-concept. Please help me write this in a less-ugly way. I should also add comments explaining what is going on.

r? @nikomatsakis
2016-05-16 18:39:59 -07:00
bors
cd6a400175 Auto merge of #33588 - nikomatsakis:compiletest-ui, r=acrichto
add UI testing framework

This adds a framework for capturing and tracking the precise output of rustc, which allows us to check all manner of minor details with the output. It's pretty strict right now -- the output must match almost exactly -- and hence maybe a bit too strict. But I figure we can add wildcards or whatever later. There is also a script intended to make updating the references easy, though the script could make things a *bit* easier (in particular, it'd be nice if it would find the build directory for you automatically).

One thing I was wondering about is the best way to test colors. Since windows doesn't embed those in the output stream, this test framework can't test colors on windows -- so I figure we can just write tests that are ignored on windows and which pass `--color=always` or whatever to rustc.

cc @jonathandturner
r? @alexcrichton
2016-05-16 14:41:50 -07:00
Andrew Paseltiner
f3c63d21c1 Add missing code fence to diagnostics.rs
Closes #33662
2016-05-16 16:57:33 -04:00
Niko Matsakis
24cfa1efb0 pacify the mercilous tidy 2016-05-16 16:48:48 -04:00
Guillaume Gomez
b2613028fe Fix selected item background style 2016-05-16 22:36:13 +02:00
Ariel Ben-Yehuda
65ad935737 change on_unimplented logic 2016-05-16 23:16:52 +03:00
Vadim Petrochenkov
02a1eef6e4 Fix rebase 2016-05-16 23:12:18 +03:00
Vadim Petrochenkov
79b343d87c lowering: Rename identifiers only when necessary
Do not rename invalid identifiers, they stop being invalid after renaming
2016-05-16 22:25:08 +03:00
Vadim Petrochenkov
aad347c4f7 Remove hir::Ident 2016-05-16 22:25:08 +03:00
bors
4fdf2c4f97 Auto merge of #33500 - Nercury:update-aarch64-android-target-to-match-abi, r=alexcrichton
Update aarch64-linux-android target to match android abi.

- Changed `target_env` to "gnu" to empty "" for all android targets because it does not matter for android.
- The PR #33048 added "max_atomic_width" for arm-android but missed recently added armv7-android. Add it there too.
- Added features `+neon,+fp-armv8` because they [must exist on `aarch64` android](http://developer.android.com/ndk/guides/cpu-features.html).
- Update libc to include https://github.com/rust-lang/libc/pull/282 so that rust's std lib works on android's aarch64 (the main issue there was incorrect structure alignment on 64-bit arm).

r? @alexcrichton
2016-05-16 12:15:10 -07:00
bors
8310de856d Auto merge of #33429 - ranma42:fix-x87-parsing, r=alexcrichton
Fix fast path of float parsing on x87

The fast path of the float parser relies on the rounding to happen
exactly and directly to the correct number of bits. On x87, instead,
double rounding would occour as the FPU stack defaults to 80 bits of
precision.

This can be fixed by setting the precision of the FPU stack before
performing the int to float conversion. This can be achieved by
changing the value of the x87 control word. This is a somewhat common
operation that is in fact performed whenever a float needs to be
truncated to an integer, but it is undesirable to add its overhead for
code that does not rely on x87 for computations (i.e. on non-x86
architectures, or x86 architectures which perform FPU computations on
using SSE).

Fixes `num::dec2flt::fast_path_correct` (on x87).
2016-05-16 09:46:09 -07:00
bors
c1ccf97e51 Auto merge of #33663 - rphmeier:recover_rename, r=sfackler
rename a few occurrences of RecoverSafe in docs
2016-05-16 07:25:04 -07:00
Andrea Canciani
4ec1f8de41 Fix asm! blocks
The `volatile` modifier was incorrectly written outside of the `asm!`
blocks.
2016-05-16 15:41:45 +02:00
Andrea Canciani
88afeb9cba Cleanup documentation
Remove irrelevant information (and instead provide pointer to
reference documentation), replace ASCII-art table with the
corresponding MarkDown one, and minor fixes.
2016-05-16 15:37:14 +02:00