Commit Graph

84157 Commits

Author SHA1 Message Date
Pietro Albini
a245d9bbca Rollup merge of #53476 - GuillaumeGomez:try-from-int-error-partial-eq, r=KodrAus
Add partialeq implementation for TryFromIntError type

Fixes #53458.
2018-08-30 20:15:30 +02:00
Pietro Albini
ba832707cf Rollup merge of #53472 - eddyb:fx-pls, r=pnkfelix
Use FxHash{Map,Set} instead of the default Hash{Map,Set} everywhere in rustc.

Most of the compiler uses the `Fx` hasher but some places ended up with the default one.
2018-08-30 20:15:29 +02:00
Pietro Albini
0c8b8e8b42 Rollup merge of #53389 - RalfJung:thread-join, r=sfackler
document effect of join on memory ordering

Fixes https://github.com/rust-lang/rust/issues/45467
2018-08-30 20:15:27 +02:00
Pietro Albini
8505270077 Rollup merge of #53129 - nikomatsakis:issue-51172-tweak-test, r=pnkfelix
remove `let x = baz` which was obscuring the real error

fixes #51172
2018-08-30 20:15:26 +02:00
Pietro Albini
2531d43f19 Rollup merge of #53113 - kpp:more_docs_for_cow, r=GuillaumeGomez
Add example for Cow

Add one more example that shows how to keep `Cow` in a struct.

Link to playground: https://play.rust-lang.org/?gist=a9256bdd034b44bc3cdd0044bbcdbb7c&version=stable&mode=debug&edition=2015

Users ask this question in [ruRust](https://gitter.im/ruRust/general) chat time to time and it is not obvious to add `ToOwned<Owned=Target>` to requirements of generic params.
2018-08-30 20:15:25 +02:00
Pietro Albini
b7e74a5614 Rollup merge of #51760 - GuillaumeGomez:add-another-partialeq-example, r=QuietMisdreavus
Add another PartialEq example

r? @steveklabnik
2018-08-30 20:15:23 +02:00
bors
f8d34596ff Auto merge of #53803 - pietroalbini:fix-manifest-2, r=alexcrichton
Fix manifests for broken tools: take 2

This is a follow up of #53715, to avoid stripping unavailable components from the extensions list. This time I also figured out how to test the changes, so the produced manifest is correct.

Along with the fix I added a README with instructions on how to test the tool, and a new `BUILD_MANIFEST_DISABLE_SIGNING` env var to avoid dealing with gpg while testing the tool. I chose an env var instead of a flag because it's more difficult to have it slip in by accident on CI, and there is also another protection that panics if that env var is set on CI, just to be sure we don't release unsigned artifacts.

r? @alexcrichton
cc https://github.com/rust-lang-nursery/rustup.rs/issues/1486
2018-08-30 17:29:13 +00:00
Alex Crichton
b7a604ab34 rustbuild: Distribute libLLVM.so with rustc
A recent change (#53245) started to build LLVM with ThinLTO enabled and to
ensure that compile times are kept down it builds LLVM dynamically by default to
ensure that all the various LLVM tools aren't redoing all that optimization
work. This means, however, that all LLVM tools depend on LLVM's dynamic library
by default.

While the LLVM tools and LLDB components were updated to include the shared
library we accidentally forgot about LLD, included with the main rustc
component. LLD also links dynamically to LLVM and ships a non-working binary
right now because of this!

This commit updates our distribution to ship the LLVM dynamic library with the
compiler libraries.  While not technically needed for rustc itself to operate
(right now) it may be needed for LLD, and otherwise it serves as a good basis
for the other LLVM tools components to work with as well.

This should...

Closes #53813
2018-08-30 09:43:15 -07:00
Ralf Jung
18a7bdb568 fix example 2018-08-30 18:05:49 +02:00
Ralf Jung
274122426e fix example 2018-08-30 17:48:34 +02:00
Ralf Jung
c06f5517dc improve volatile comments 2018-08-30 17:37:58 +02:00
Ralf Jung
d97f61f10e avoid shadowing; fix examples 2018-08-30 17:28:21 +02:00
Ralf Jung
e869b81b93 address remaining remarks and add example for dropping unaligned data 2018-08-30 17:07:24 +02:00
Ralf Jung
1ec66fb4b2 apply comments 2018-08-30 16:26:48 +02:00
Ralf Jung
fc63113f1f clarify ZST comment 2018-08-30 16:19:05 +02:00
bors
685fb54317 Auto merge of #53535 - TheDarkula:master, r=oli-obk
Made std::intrinsics::transmute() const fn.

r? @oli-obk

tracking issue: #53605
2018-08-30 14:18:22 +00:00
David Craven
8dfd5c39a1 [RISCV] Add riscv32imc-unknown-none-elf target. 2018-08-30 16:03:37 +02:00
David Craven
cd862a8ff3 [RISCV] Enable C extension. 2018-08-30 16:03:37 +02:00
David Craven
f00a952a3c [RISCV] Use lld as the default linker. 2018-08-30 16:03:37 +02:00
Pietro Albini
38e2d00152 build-manifest: package docs only for tier 1 platforms 2018-08-30 14:41:01 +02:00
thedarkula
c5cae7935b Made std::intrinsics::transmute() const fn. 2018-08-30 13:06:20 +01:00
bors
0e98621e69 Auto merge of #53757 - oli-obk:validation, r=RalfJung
Use partial but correct vtable layout

r? @RalfJung who suggested to also do this change for nightly, not just beta
2018-08-30 10:41:41 +00:00
Andre Bogus
9dab56c4a2 fix u32 steps_between for 16-bit systems 2018-08-30 12:35:00 +02:00
Ralf Jung
97d693a19a assert sanity in memory 2018-08-30 11:39:40 +02:00
Basile Desloges
251f26298a Add regression test for issue #52060 2018-08-30 11:39:23 +02:00
Otto Rask
6020219993 Rephrase Arc documentation changes regarding clones
Make it clearer that `Arc::clone()` in fact creates a whole new
Arc with the internal pointer pointing to the same location as
the source Arc.
2018-08-30 12:20:41 +03:00
bors
03fe4c79f7 Auto merge of #53733 - nnethercote:avoid-unroll_place, r=nikomatsakis
Avoid calling `unroll_place()` in a common case.

This reduces the execution time for `ucd-check` by 25%.

r? @nikomatsakis
2018-08-30 08:20:20 +00:00
F001
7a083ca25f introduce Guard enum 2018-08-30 12:18:11 +08:00
bors
f1a5373a1b Auto merge of #53685 - alexcrichton:more-keywords, r=varkor
Generalize `async_idents` to all new keywords

This commit generalizes the existing `async_idents` lint to easily encompass
other identifiers that will be keywords in future editions. The new lint is
called `keyword_idents` and the old `async_idents` lint is registered as renamed
to this new lint.

As a proof of concept the `try` keyword was added to this list as it looks to be
listed as a keyword in the 2018 edition only. The `await` keyword was not added
as it's not listed as a keyword yet.

Closes #53077
2018-08-30 03:30:23 +00:00
bors
6244625cb4 Auto merge of #53479 - joshtriplett:underscore-means-unused, r=eddyb
Don't emit "unused extern crate" warnings for `extern crate foo as _;`

When importing a crate and renaming it to an underscore-prefixed name,
suppress "unused extern crate" warnings (but not idiom lints).
2018-08-30 00:07:15 +00:00
Isaac van Bakel
79408c3f32 Added feature attribute to example code in map_or_else doc 2018-08-30 00:51:09 +01:00
Isaac van Bakel
6ff4f7946f Corrected type variable output T -> U in Result::map_or_else 2018-08-29 22:55:21 +01:00
Isaac van Bakel
3eda9058cf Corrected feature status of Result::map_or_else
map_or_else is now correctly labelled unstable and points to the
tracking issue on rust-lang/rust
2018-08-29 22:51:54 +01:00
Isaac van Bakel
71b16d8350 Corrected bad typing in Result::map_or_else doc
The error value now includes the type of the success.
The success value now includes the type of the error.
2018-08-29 22:15:17 +01:00
Ralf Jung
61f0a2b3fd fix some uses of pointer intrinsics with invalid pointers 2018-08-29 23:08:47 +02:00
Guillaume Gomez
3b98571b32 Prevent duplicated impl on foreign types 2018-08-29 23:02:05 +02:00
Pietro Albini
729a87ede9 build-manifest: include extensions marked as unavailable 2018-08-29 23:01:47 +02:00
Pietro Albini
6732ce93da build-manifest: add instructions to test the tool locally 2018-08-29 23:01:43 +02:00
Guillaume Gomez
e08a84a0c1 Fix UI issues on Implementations on Foreign types 2018-08-29 22:48:37 +02:00
Tobias Bucher
d6d280b7df Don't leak the file descriptor in rand 2018-08-29 22:30:29 +02:00
bors
02cb8f2a4f Auto merge of #53564 - MaloJaffre:vecdeque, r=gnzlbg
Reoptimize VecDeque::append

~Unfortunately, I don't know if these changes fix the unsoundness mentioned in #53529, so it is stil a WIP.
This is also completely untested.
The VecDeque code contains other unsound code: one example : [reading unitialized memory](https://play.rust-lang.org/?gist=6ff47551769af61fd8adc45c44010887&version=nightly&mode=release&edition=2015) (detected by MIRI), so I think this code will need a bigger refactor to make it clearer and safer.~

Note: this is based on #53571.
r? @SimonSapin
Cc: #53529 #52553 @YorickPeterse @jonas-schievink @Pazzaz @shepmaster.
2018-08-29 20:08:16 +00:00
Ralf Jung
098bec82f6 clarify that these are preliminary guarantees 2018-08-29 19:27:20 +02:00
Alex Crichton
003cab25d7 Generalize async_idents to all new keywords
This commit generalizes the existing `async_idents` lint to easily encompass
other identifiers that will be keywords in future editions. The new lint is
called `keyword_idents` and the old `async_idents` lint is registered as renamed
to this new lint.

As a proof of concept the `try` keyword was added to this list as it looks to be
listed as a keyword in the 2018 edition only. The `await` keyword was not added
as it's not listed as a keyword yet.

Closes #53077
2018-08-29 09:34:53 -07:00
Josh Triplett
7cec516ef9 Don't emit "unused extern crate" warnings for extern crate foo as _;
When importing a crate and renaming it to an underscore-prefixed name,
suppress "unused extern crate" warnings (but not idiom lints).
2018-08-29 08:53:54 -07:00
Corey Farwell
e477a13d63 Replace usages of 'bad_style' with 'nonstandard_style'.
`bad_style` is being deprecated in favor of `nonstandard_style`:

- https://github.com/rust-lang/rust/issues/41646
2018-08-29 09:01:35 -05:00
bors
e6b35b0e11 Auto merge of #53758 - oli-obk:clippy, r=kennytm
Update clippy submodule

r? @Manishearth @nrc @kennytm
2018-08-29 13:35:25 +00:00
Tobias Bucher
890d04d00f Fix a comment in src/libcore/slice/mod.rs 2018-08-29 15:23:06 +02:00
Ralf Jung
b0c5dc2cc1 edit docs a little 2018-08-29 14:34:59 +02:00
Isaac van Bakel
5eb679105f Corrected feature name for map_or_else 2018-08-29 13:08:52 +01:00
MaloJaffre
21d2a6c986 Add another assert 2018-08-29 13:42:48 +02:00