Commit Graph

66330 Commits

Author SHA1 Message Date
Mátyás Mustoha
28c423d692 Unskip some tests on AArch64 2017-08-04 13:45:08 +02:00
Oliver Schneider
a508a2e56b Uplift some comments to Doc comments 2017-08-04 12:33:48 +02:00
bors
f2a5af7a4c Auto merge of #43442 - zackmdavis:note_available_field_names_if_levenshtein_fails, r=nikomatsakis
field does not exist error: note fields if Levenshtein suggestion fails

When trying to access or initialize a nonexistent field, if we can't infer what
field was meant (by virtue of the purported field in the source being a small
Levenshtein distance away from an actual field, suggestive of a typo), issue a
note listing all the available fields. To reduce terminal clutter, we don't
issue the note when we have a `find_best_match_for_name` Levenshtein
suggestion: the suggestion is probably right.

The third argument of the call to `find_best_match_for_name` is changed to
`None`, accepting the default maximum Levenshtein distance of one-third of the
identifier supplied for correction. The previous value of `Some(name.len())`
was overzealous, inappropriately very Levenshtein-distant suggestions when the
attempted field access could not plausibly be a mere typo. For example, if a
struct has fields `mule` and `phone`, but I type `.donkey`, I'd rather the
error have a note listing that the available fields are, in fact, `mule` and
`phone` (which is the behavior induced by this patch) rather than the error
asking "did you mean `phone`?" (which is the behavior on master). The "only
find fits with at least one matching letter" comment was accurate when it was
first introduced in 09d992471 (January 2015), but is a vicious lie in its
present context before a call to `find_best_match_for_name` and must be
destroyed (replacing every letter is within a Levenshtein distance of name.len()).

The present author claims that this suffices to resolve #42599.
2017-08-04 10:13:55 +00:00
scalexm
e7e620d0cc Rename ConfirmResult fields 2017-08-04 12:04:34 +02:00
bors
c523b3f954 Auto merge of #43403 - RalfJung:mir-validate, r=nikomatsakis
Add MIR Validate statement

This adds statements to MIR that express when types are to be validated (following [Types as Contracts](https://internals.rust-lang.org/t/types-as-contracts/5562)). Obviously nothing is stabilized, and in fact a `-Z` flag has to be passed for behavior to even change at all.

This is meant to make experimentation with Types as Contracts in miri possible. The design is definitely not final.

Cc @nikomatsakis @aturon
2017-08-04 07:48:07 +00:00
Josh Stone
6c46f4f11c Use LLVM_LINK_LLVM_DYLIB only on linux-gnu and apple-darwin 2017-08-04 00:13:11 -07:00
Tobias Schaffner
c151220a84 Add L4Re Support in librustc_back
Add support for x86_64-unknown-l4re-uclibc target, which covers
the L4 Runtime Environment.
2017-08-04 08:59:01 +02:00
bors
5431f423aa Auto merge of #43634 - dhduvall:solaris-test-fixes, r=sanxiyn
Fix a number of failing tests on Solaris and SPARC
2017-08-04 05:30:12 +00:00
bors
eae446c4dc Auto merge of #43459 - ids1024:asrawfd, r=alexcrichton
Implement AsRawFd for Stdin, Stdout, and Stderr

https://github.com/rust-lang/rfcs/issues/2074
2017-08-04 02:15:04 +00:00
Florian Zeitz
67044501bc trans: Reuse immediate value in call to call_memset() 2017-08-04 02:27:30 +02:00
Danek Duvall
9144755a91 Recognize SPARC in more tests where architecture matters. 2017-08-03 17:19:19 -07:00
Danek Duvall
497c5a34da Solaris linker options need to be accounted for in one test.
This is a follow-up to f189d7a693 and 9d11b089ad.  While `-z ignore`
is what needs to be passed to the Solaris linker, because gcc is used as
the default linker, both that form and `-Wl,-z -Wl,ignore` (including
extra double quotes) need to be taken into account, which explains the
more complex regular expression.
2017-08-03 17:18:19 -07:00
Ian Douglas Scott
64e426e8e9
Fix AsRawHandle 2017-08-03 15:54:53 -07:00
Josh Stone
ced1fda565 Exclude Windows from LLVM_LINK_LLVM_DYLIB 2017-08-03 15:42:05 -07:00
Danek Duvall
45b90ef52e Some tests use res_init() and need -lresolv on Solaris
This is a follow-up to ea23e50f, which fixed it for the build.
2017-08-03 15:38:34 -07:00
Danek Duvall
9427bb36f6 Fix a dangling symlink bug in remove_dir_all() on Solaris
This fixes a handful of long-failing tests.
2017-08-03 14:55:01 -07:00
Guillaume Gomez
66317a39a6 Update highlight colors 2017-08-03 22:55:17 +02:00
Ian Douglas Scott
eac01f123d
Implement AsRawHandle for Std* on Windows 2017-08-03 12:57:53 -07:00
bors
1d2a6df384 Auto merge of #43619 - frewsxcv:frewsxcv-thread, r=QuietMisdreavus
Thread docs fix and improvements.

None
2017-08-03 19:40:27 +00:00
bors
c701ba6efb Auto merge of #43618 - SimonSapin:nomiconup, r=steveklabnik
Update nomicon

(This should have been in https://github.com/rust-lang/rust/pull/42959.)
2017-08-03 16:54:22 +00:00
bors
8cb4b2c589 Auto merge of #43609 - dsprenkels:issue-40510, r=Mark-Simulacrum
Add regression test for #40510

This pull request adds a test case for issue #40510.

Fixes #40510.
2017-08-03 14:21:37 +00:00
Michael Woerister
b34c5a23ab incr.comp.: Make ConstEval dep-node anonymous. 2017-08-03 14:45:01 +02:00
scalexm
2e8e75f50f Tweak error message 2017-08-03 14:40:40 +02:00
scalexm
da12c4f8e5 Handle ambiguous cases 2017-08-03 14:40:40 +02:00
scalexm
ac919d527c Add a more precise error message
When trying to perform static dispatch on something which derefs
to a trait object, and the target trait is not in scope, we had
confusing error messages if the target method had a
`Self: Sized` bound. We add a more precise error message in this
case: "consider using trait ...".

Fixes #35976.
2017-08-03 14:40:40 +02:00
bors
b8499e0460 Auto merge of #43622 - RalfJung:config.toml, r=michaelwoerister
extend config.toml doc for debug-assertions

Even after I knew that I had to change config.toml to get any printing from debug! and trace!, going over the entire fail did not make it clear to me that `debug-assertions` is the option controlling that.
2017-08-03 11:50:29 +00:00
Guillaume Gomez
26d124ca0e Invert constant and function color 2017-08-03 12:46:35 +02:00
bors
12aad38ad4 Auto merge of #43616 - mbrubeck:fnv, r=michaelwoerister
Remove unused FnvHash code

None
2017-08-03 08:25:49 +00:00
Daan Sprenkels
a704511f9d Add more regression tests for #40510 2017-08-03 13:14:47 +07:00
bors
b0424b5ff3 Auto merge of #43611 - nrc:save-tidy, r=eddyb
Update RLS and deps

This PR further moves towards configuring save-analysis using the rls-data Config struct. We remove completely the concept of api_crate. Updates the RLS so the client is expecting these changes and which pulls in a commit re-enabling all RLS tests (been disabled due to a span error for a while).
2017-08-03 04:32:37 +00:00
Nick Cameron
2683ba631b Appease tidy and fix save-analysis config for dist builds 2017-08-03 16:31:25 +12:00
Ralf Jung
62f179b36e extend config.toml doc 2017-08-02 21:12:36 -07:00
Corey Farwell
4c08c131fa Indicate how ThreadId is created. 2017-08-02 23:16:34 -04:00
Corey Farwell
795db4c946 Fix broken links in Thread docs. 2017-08-02 23:16:33 -04:00
Simon Sapin
a8858eba98 Update nomicon 2017-08-03 00:36:43 +02:00
Guillaume Gomez
971ef72024 Improve functions 2017-08-02 23:09:41 +02:00
Guillaume Gomez
1072891b76 Improve color theme for color blind issues 2017-08-02 23:00:35 +02:00
bors
b75d1f0ce2 Auto merge of #43614 - pornel:is_gotcha, r=BurntSushi
Emphasise that these functions look at the disk, not just the path

I thought that `PathBuf::new("foo/bar/").is_dir()` is always true, because the path ends in `/`. However, this is not what `is_dir()` function does. So I've updated the docs to make it clear.
2017-08-02 19:01:01 +00:00
Matt Brubeck
daa764461d Remove unused fnv hash code 2017-08-02 10:42:12 -07:00
Danek Duvall
e412cb30dc Fix some unaligned reads on SPARC in LTO
This fixes #43593 by eliminating some undefined behavior.
2017-08-02 09:58:16 -07:00
bors
4596c71fc5 Auto merge of #43607 - marioidival:master, r=alexcrichton
Remove unecessary test code #43219

related #43219
2017-08-02 16:21:39 +00:00
Kornel
4792d28ef1 Emphasise that these functions look at the disk, not just the path 2017-08-02 15:40:08 +01:00
Eduard-Mihai Burtescu
c457b26e33 rustc_trans: do not pass floating-point values to LLVM through FFI. 2017-08-02 17:28:11 +03:00
Eduard-Mihai Burtescu
9861df4760 rustc_const_math: use apfloat::ieee::{Single,Double} in ConstFloat. 2017-08-02 17:28:11 +03:00
bors
cd87b5d516 Auto merge of #43605 - RalfJung:mapdoc, r=michaelwoerister
Improve hir::map::Map::get_parent_node doc

The documentation says
```
    /// Similar to get_parent, returns the parent node id or id if there is no
    /// parent.
    /// This function returns the immediate parent in the AST, whereas get_parent
    /// returns the enclosing item.
```
One would think that one can walk up the tree by repeatedly calling `get_parent_node` until it returns the argument, and then work on the `NodeId`s that arise. However, that is not true: `get_parent_node` will return id 0 (the crate itself) for items that sit directly in the crate; calling `get` on that `NodeId` will panic.

So, the fact that `get_parent_node` returns the root when passed the root is actually not really useful, because the root itself is already a somewhat degenerate node. This improves the doc so hopefully people writing code that "walks up the tree" don't run into this issue like I did...
2017-08-02 13:40:35 +00:00
bors
22f256f69e Auto merge of #43612 - michaelwoerister:fix-cgu-hashing, r=eddyb
incr.comp.: Properly incorporate symbol linkage and visibility into CGU hash.

This PR fixes the way the CGU hash for incr. comp. is computed. The CGU hash represents which `TransItems` are emitted into which codegen unit with which linkage and visibility. Before the new, LLVM-independent symbol internalizer the CGU hash did not accurately contain `TransItem` linkage and visibility because we would not enable symbol internalization in incremental mode anyway. The new internalizer is also run in incremental mode which uncovered the inaccuracy of CGU hashing. Luckily, the fix is rather simple.

r? @eddyb
cc @nikomatsakis
2017-08-02 11:14:54 +00:00
Michael Woerister
b2c3a413b9 incr.comp.: Properly incorporate symbol linkage and visibility into CGU hash. 2017-08-02 11:56:23 +02:00
bors
5c385bef7a Auto merge of #43602 - QuietMisdreavus:fantastic-shrinking-headings, r=GuillaumeGomez
rustdoc: shrink headings in non-top-level docblocks

Headings in per-method docs are often bigger than the function names/signatures themselves, so this tones those down to accentuate the methods.

![screenshot of this change on Vec::swap_remove](https://user-images.githubusercontent.com/5217170/28849380-6116a830-76dc-11e7-8ce2-04433d09463a.png)

Fixes #17193
2017-08-02 08:49:02 +00:00
bors
0b5c0874b8 Auto merge of #43584 - arielb1:unused-reads, r=eddyb
Fix quadratic performance with lots of use statements

This fixes 2 problems that caused quadratic performance when lots of use-statements were present. After this patch, performance is linear (and very fast) even with 1M uses.

Fixes #43572.
Fixes #43573.

r? @eddyb
2017-08-02 05:56:06 +00:00
Nick Cameron
5abbf798e7 Update RLS 2017-08-02 17:53:37 +12:00