Commit Graph

73924 Commits

Author SHA1 Message Date
varkor
919d643b79 Add min and last specialisations for Range 2018-01-09 19:37:44 +00:00
Taylor Cramer
7b420cf3da Treat #[path] files as mod.rs files 2018-01-09 10:54:13 -08:00
John Kåre Alsaker
9508922499 Replace uses of DepGraph.in_ignore with DepGraph.with_ignore 2018-01-09 18:35:50 +01:00
bors
61452e506f Auto merge of - michaelwoerister:mangled-cgu-names, r=alexcrichton
Shorten names of some compiler generated artifacts.

This PR makes the compiler mangle codegen unit names by default. The name of every codegen unit name will now be a random string of 16 characters. It also makes the file extensions of some intermediate compiler products shorter. Hopefully, these changes will reduce the pressure on tools with path length restrictions like buildbot. The change should also solve problems with case-insensitive file system.

cc  and 

r? @alexcrichton
2018-01-09 16:04:21 +00:00
Michael Woerister
53c2f447ff Make leb128 coding a bit faster. 2018-01-09 16:53:35 +01:00
Trevor Spiteri
6d82e7814f remove implementation detail from doc 2018-01-09 12:26:00 +01:00
Ryan Cumming
a713c67a68 Skip linker-output-non-utf8 test on Apple
This test fails on APFS filesystems with the following error:

mkdir: /Users/ryan/Code/rust/build/x86_64-apple-darwin/test/run-make/linker-output-non-utf8.stage2-x86_64-apple-darwin/zzz�: Illegal byte sequence

This is due to APFS now requiring that all paths are valid UTF-8. As
APFS will be the default filesystem for all new Darwin-based systems the
most straightforward fix is to skip this test on Darwin as well as
Windows.
2018-01-09 20:01:35 +11:00
bors
2e33c89ff1 Auto merge of - ereslibre:clean-emitted-diagnostics, r=nrc
Clean emitted diagnostics when `reset_err_count` is called.

When external tools like `rustfmt` calls to `reset_err_count` for handler
reusing, it will set the error count on the handler to 0, but since
https://github.com/rust-lang/rust/pull/47146 the handler will contain
status that will prevent the error count to be bumped if this handler is
reused.

This caused `rustfmt` idempotency tests to fail:
https://github.com/rust-lang-nursery/rustfmt/issues/2338

Fixes: https://github.com/rust-lang-nursery/rustfmt/issues/2338
2018-01-09 07:12:08 +00:00
Josh Stone
b1c9b6e05f Update jobserver to 0.1.9
Fix for `ENOSYS` when calling `pipe2`, .

r? @alexcrichton
2018-01-08 22:00:45 -08:00
bors
74966b5cb8 Auto merge of - kennytm:rollup, r=kennytm
Rollup of 10 pull requests

- Successful merges: , , , , , , , , , 
- Failed merges: 
2018-01-09 04:22:50 +00:00
Andrew Brinker
45221511d4 Fixed a typo in the compile_error docs 2018-01-08 16:35:06 -08:00
Marco A L Barbosa
b5a3f56f75 Update musl to 1.1.18
According to http://www.musl-libc.org/download.html:

This release corrects regressions in glob() and armv4t build failure
introduced in the previous release, and includes an important bug fix
for posix_spawnp in the presence of a large PATH environment variable.
2018-01-08 21:26:47 -02:00
kennytm
9ef98545c9
Rollup merge of - GuillaumeGomez:missing-links, r=QuietMisdreavus
Add missing links

r? @QuietMisdreavus

(please wait for CI, I have a few doubts about the `Write` trait links...)
2018-01-09 03:37:22 +08:00
kennytm
9dd7caef04
Rollup merge of - Zoxc:gen-layout-fix, r=eddyb
Don't look for niches inside generator types. Fixes 

r? @eddyb
2018-01-09 03:37:21 +08:00
kennytm
de4e1a9773
Rollup merge of - ollie27:rustdoc_private_macro_import, r=GuillaumeGomez
rustdoc: Don't import macros from private imports

Fixes 
2018-01-09 03:37:19 +08:00
kennytm
5ffaf4c291
Rollup merge of - sfackler:map-remove-entry, r=dtolnay
Add HashMap::remove_entry

Implements 

r? @dtolnay
2018-01-09 03:37:18 +08:00
kennytm
6648dcd353
Rollup merge of - rkruppe:struct-assert, r=eddyb
rustc::ty: Rename struct_variant to non_enum_variant

r? @eddyb
2018-01-09 03:37:16 +08:00
kennytm
d72a509ea0
Rollup merge of - rkruppe:misc-cleanup, r=eddyb
Rename ReprExtern to ReprC

… and similarily rename a few other field and locals that mentioned "extern repr".
2018-01-09 03:37:14 +08:00
kennytm
4c0823a670
Rollup merge of - rkruppe:no-more-align-hack, r=alexcrichton
Replace empty array hack with repr(align)

As a side effect, this fixes the warning about repr(C, simd) that has been reported during x86_64 windows builds since  (see also: )

r? @alexcrichton
2018-01-09 03:37:12 +08:00
Trevor Spiteri
0eba4c206a doc: show that f32::log and f64::log are not correctly rounded 2018-01-08 19:22:37 +01:00
kennytm
9214e9b0ae Rollup merge of - aidanhs:aphs-wasm-backtrace-feature, r=KodrAus
Make wasm obey backtrace feature, like other targets

E.g. 6828cf9014/src/libstd/sys/unix/mod.rs (L40-L41)
2018-01-09 01:58:47 +08:00
kennytm
1cbbbc0944 Rollup merge of - dotdash:cleanup_llvm, r=alexcrichton
Remove unused LLVM related code

Ticks a few more boxes on 
2018-01-09 01:58:46 +08:00
kennytm
4a6f440920 Rollup merge of - zackmdavis:the_3rd_of_2_hardest_problems_in_computer_science, r=QuietMisdreavus
fix the doc-comment-decoration-trimming edge-case rustdoc ICE

This `horizontal_trim` function strips the leading whitespace from
doc-comments that have a left-asterisk-margin:

```
  /**
   * You know what I mean—
   *
   * comments like this!
   */
```

The index of the column of asterisks is `i`, and if trimming is deemed
possible, we slice each line from `i+1` to the end of the line. But if, in
particular, `i` was 0 _and_ there was an empty line (as in the example
given in the reporting issue), we ended up panicking trying to slice an
empty string from 0+1 (== 1).

Let's tighten our check to say that we can't trim when `i` is even the same
as the length of the line, not just when it's greater. (Any such cases
would panic trying to slice `line` from `line.len()+1`.)

Resolves .
2018-01-09 01:58:45 +08:00
Rafael Fernández López
b48d944165
Clean emitted diagnostics when reset_err_count is called.
When external tools like `rustfmt` calls to `reset_err_count` for handler
reusing, it will set the error count on the handler to 0, but since
https://github.com/rust-lang/rust/pull/47146 the handler will contain
status that will prevent the error count to be bumped if this handler is
reused.

This caused `rustfmt` idempotency tests to fail:
https://github.com/rust-lang-nursery/rustfmt/issues/2338

Fixes: https://github.com/rust-lang-nursery/rustfmt/issues/2338
2018-01-08 17:36:21 +01:00
Ed Schouten
ee04aac861 Update to libc in Cargo.lock to 0.2.35 as well. 2018-01-08 17:00:25 +01:00
Ed Schouten
80cfcdf15a Upgrade liblibc to latest upstream version.
This version of liblibc is a prerequisite for getting libstd to build on
CloudABI.
2018-01-08 16:59:15 +01:00
bors
b5392f5450 Auto merge of - Manishearth:double-ended-searcher, r=pnkfelix
Make double ended searchers use dependent fingers

(fixes )

r? @burntsushi @alexcrichton

needs uplift to beta
2018-01-08 14:32:25 +00:00
Guillaume Gomez
93969734f6 Add missing links 2018-01-08 14:16:16 +01:00
Michael Woerister
c9d25e3269 Use different DefIndex representation that is better suited for variable length integer encodings. 2018-01-08 14:15:17 +01:00
John Kåre Alsaker
1a7b00d5fd Don't look for niches inside generator types. Fixes 2018-01-08 13:19:27 +01:00
Michael Woerister
94f3037f4b Shorten names of some compiler generated artifacts. 2018-01-08 12:30:52 +01:00
bors
1b193de98a Auto merge of - keatinge:master, r=petrochenkov
Add help message for incorrect pattern syntax

When I was getting started with rust I often made the mistake of using `||` instead of `|` to match multiple patterns and spent a long time staring at my code wondering what was wrong.

for example:

```
fn main() {
    let x = 1;

    match x {
        1 || 2 => println!("1 or 2"),
        _ => println!("Something else"),
    }
}

```

If you compile this with current rustc you will see

```
error: expected one of `...`, `..=`, `..`, `=>`, `if`, or `|`, found `||`
 --> test.rs:5:11
  |
5 |         1 || 2 => println!("1 or 2"),
  |          -^^ unexpected token
  |          |
  |          expected one of `...`, `..=`, `..`, `=>`, `if`, or `|` here

error: aborting due to previous error
```

With my proposed change it will show:
```
error: unexpected token `||` after pattern
 --> test.rs:5:11
  |
5 |         1 || 2 => println!("1 or 2"),
  |           ^^
  |
  = help: did you mean to use `|` to specify multiple patterns instead?

error: aborting due to previous error
```
2018-01-08 07:11:47 +00:00
Esteban Küber
0528693ff5 Account for pub in const -> static suggestion 2018-01-07 22:09:08 -08:00
bors
795594cd8c Auto merge of - BurntPizza:query-snatp, r=nikomatsakis
Make normalize_and_test_predicates into a query

From .

I'm not real solid on how `dep_graph` stuff works, but if a node is going to have a key (again, not sure how important that is), then the key needs to be `Copy`. So since `normalize_and_test_predicates` only had one out-of-module use, I changed that call site to use a new function, `substitute_normalize_and_test_predicates` which is the query and enables having the arguments be `Copy`. Hopefully this makes sense.

r? @nikomatsakis
and/or @michaelwoerister
2018-01-08 04:31:18 +00:00
Oliver Middleton
8302044a52 rustdoc: Don't import macros from private imports 2018-01-08 03:39:25 +00:00
Esteban Küber
18908184de Assignment to immutable argument: diagnostic tweak 2018-01-07 19:00:45 -08:00
Esteban Küber
d17e38f4bf struct pattern parsing and diagnostic tweaks
- Recover from struct parse error on match and point out missing match
   body.
 - Point at struct when finding non-identifier while parsing its fields.
 - Add label to "expected identifier, found {}" error.
2018-01-07 17:04:36 -08:00
Robin Kruppe
cf3fefe97f rustc::ty: Rename struct_variant to non_enum_variant
It is also intended for use with unions.
2018-01-08 00:28:05 +01:00
bors
a29461f322 Auto merge of - estebank:numeric-literal-suggestion, r=nikomatsakis
Provide suggestion when trying to use method on numeric literal

New output:

```
error[E0688]: can't call method `powi` on ambiguous numeric type `{float}`
  --> $DIR/method-on-ambiguous-numeric-type.rs:12:17
   |
12 |     let x = 2.0.powi(2);
   |                 ^^^^
help: you must specify a concrete type for this numeric value, like `f32`
   |
12 |     let x = 2.0_f32.powi(2);
   |             ^^^^^^^
```

Previous output:

```
error[E0599]: no method named `powi` found for type `{float}` in the current scope
  --> src/main.rs:12:17
   |
12 |     let x = 2.0.powi(2);
   |                 ^^^^
   |
   = help: items from traits can only be used if the trait is in scope
help: the following trait is implemented but not in scope, perhaps add a `use` for it:
   |
11 | use core::num::Float;
   |
```

Fix .
2018-01-07 22:48:16 +00:00
Steven Fackler
1fc6ad56cd Add HashMap::remove_entry
Implements 
2018-01-07 14:17:37 -08:00
Robin Kruppe
1df384d32d Rename ReprExtern to ReprC, and similarily rename a few other fields and locals that mentioned "extern repr" 2018-01-07 22:05:32 +01:00
Robin Kruppe
9e4a692e56 Replace empty array hack with repr(align)
As a side effect, this fixes the warning about repr(C, simd) that has been reported during x86_64 windows builds since  (see also: )
2018-01-07 20:25:37 +01:00
bors
ee220daca3 Auto merge of - MaloJaffre:compiler-docs-regression, r=alexcrichton
Try to fix a perf regression by updating log

Upgrade `log` to `0.4` in multiple crates ~and `cargo`~.
Cc: .
2018-01-07 18:50:30 +00:00
Malo Jaffré
3f073c409a Try to fix a perf regression by updating log
Upgrade `log` to `0.4` in multiple crates.
2018-01-07 16:54:05 +01:00
Robin Kruppe
95c3fc05a9 Remove deprecated unstable attribute #[simd]
The `#[simd]` attribute has been deprecated since c8b6d5b23c back in 2015. Any nightly crates using it have had ample time to switch to `#[repr(simd)]`, and if they didn't they're likely broken by now anyway.
2018-01-07 16:33:45 +01:00
bors
8724337c23 Auto merge of - ollie27:rustdoc_trait_impl_src, r=GuillaumeGomez
rustdoc: Add missing src links for generic impls on trait pages

`implementor2item` would return `None` for generic impls so instead this clones the entire `clean::Item` into the `implementors` map which simplifies some code.
2018-01-07 13:12:15 +00:00
bors
69f17d1a0a Auto merge of - michaelwoerister:erase-invalid-spans-during-metadata-encoding, r=alexcrichton
Map invalid Spans to DUMMY_SP during crate metadata encoding.

This mirrors what we do for stabilizing the incr. comp. cache and is necessary for reproducible builds. For the incr. comp. cache, we *have* to do this because the encoding there cannot represent broken Spans. Metadata encoding has to be in sync with that as not to get unexpected interactions when compiling incrementally.

This should help with fixing issue https://github.com/rust-lang/rust/issues/47066.

r? @alexcrichton
2018-01-07 09:23:33 +00:00
bors
2148bcd5fa Auto merge of - malbarbo:shared-build-musl, r=alexcrichton
ci: use a shared script to build musl

The dist-x86_64-musl, dist-various-1 and dist-i586-gnu-i686-musl builders had different scripts to build musl. This PR creates an unified script, which makes it easier to add new musl targets and update musl and libunwind (used in the musl targets).

The libunwind is update from 3.7 to 3.9 for dist-x86_64-musl and dist-i586-gnu-i686-musl (dist-various-1 already used 3.9 version).
2018-01-07 03:41:00 +00:00
Björn Steinbrink
907855fe88 Remove unused LLVMRustJITMemoryManagerRef typedef 2018-01-07 04:39:58 +01:00
Björn Steinbrink
ebc85077df Remove dead function rustc_llvm::debug_loc_to_string()
Refs  as it also removes LLVMRustWriteDebugLocToString()
2018-01-07 04:39:58 +01:00