Commit graph

91950 commits

Author SHA1 Message Date
Lzu Tao
2545867b41 Re-export core::str::{EscapeDebug, EscapeDefault, EscapeUnicode} in std 2019-04-12 05:18:36 +00:00
bors
0369e6c539 Auto merge of #59886 - mati865:musl_toolchain, r=alexcrichton
musl: do not compress debug section

This should be beta nominated.

Fixes https://github.com/rust-lang/rust/issues/59411 (this time for real).

Test with `DEPLOY=1 ./src/ci/docker/run.sh dist-x86_64-musl`, without `DEPLOY=1` libs are built without debuginfo.

r? @alexcrichton
2019-04-12 02:24:16 +00:00
bors
cd8b437362 Auto merge of #59227 - Zoxc:fix-get, r=eddyb
Fix lifetime on LocalInternedString::get function

cc @eddyb @nnethercote
2019-04-11 23:36:13 +00:00
Mateusz Mikuła
7276eb5a43 musl: do not compress debug section
Old linkers are unable to decompress them and fail to link binaries
2019-04-11 18:58:14 +02:00
bors
3de0106789 Auto merge of #59780 - RalfJung:miri-unsized, r=oli-obk
Miri: unsized locals and by-value dyn traits

r? @oli-obk
Cc @eddyb

Fixes https://github.com/rust-lang/miri/issues/449
2019-04-11 15:44:22 +00:00
bors
850912704e Auto merge of #59211 - nox:refcell-borrow-state, r=KodrAus
Introduce RefCell::try_borrow_unguarded

*Come sit next to the fireplace with me, this is going to be a long story.*

So, you may already be aware that Servo has weird design constraints that forces us developers working on it to do weird things. The thing that interests us today is that we do layout on a separate thread with its own thread pool to do some things in parallel, whereas the data it uses comes from the script thread, which implements the entire DOM and related pieces, with `!Sync` data types such as `RefCell<T>`.

The invariant we maintain is that script does not do anything ever with the DOM data as long as layout is doing its job. That's all nice and all, but one thing we don't ensure is that we don't actually know if script was currently mutably borrowing some `RefCell<T>` prior to starting layout, which may lead to aliasing mutable memory and obviously undefined behaviour.

This PR reinstates `RefCell::borrow_state` so that [this method](https://github.com/servo/servo/blob/master/components/script/dom/bindings/cell.rs#L23-L30) can make use of it and return `None` if the cell was mutably borrowed.

Cc @SimonSapin
2019-04-11 12:49:49 +00:00
bors
ee1474acc4 Auto merge of #58972 - QuietMisdreavus:intra-doc-link-imports, r=GuillaumeGomez
rustdoc: don't process `Crate::external_traits` when collecting intra-doc links

Part of https://github.com/rust-lang/rust/issues/58745, closes https://github.com/rust-lang/rust/pull/58917

The `collect-intra-doc-links` pass keeps track of the modules it recurses through as it processes items. This is used to know what module to give the resolver when looking up links. When looking through the regular items of the crate, this works fine, but the `DocFolder` trait as written doesn't just process the main crate hierarchy - it also processes the trait items in the `external_traits` map. This is useful for other passes (so they can strip out `#[doc(hidden)]` items, for example), but here it creates a situation where we're processing items "outside" the regular module hierarchy. Since everything in `external_traits` is defined outside the current crate, we can't fall back to finding its module scope like we do with local items.

Skipping this collection saves us from emitting some spurious warnings. We don't even lose anything by skipping it, either - the docs loaded from here are only ever rendered through `html::render::document_short` which strips any links out, so the fact that the links haven't been loaded doesn't matter. Hopefully this removes most of the remaining spurious resolution warnings from intra-doc links.

r? @GuillaumeGomez
2019-04-11 08:48:26 +00:00
bors
d21bebe18d Auto merge of #59799 - Zoxc:vs2019, r=alexcrichton
Update cmake, cc and compiler_builtins for VS 2019 support

r? @alexcrichton
2019-04-11 05:56:11 +00:00
John Kåre Alsaker
7b28ddc39d Update Cargo.lock 2019-04-10 21:18:35 +02:00
John Kåre Alsaker
cf0454ca1a Don't build test helpers for wasm32 2019-04-10 21:17:33 +02:00
John Kåre Alsaker
b70124ed47 Don't require a C compiler on wasm32 2019-04-10 21:17:32 +02:00
John Kåre Alsaker
81a1121341 Update cmake, cc and compiler_builtins for VS 2019 support 2019-04-10 21:17:31 +02:00
bors
96d700f1b7 Auto merge of #59810 - matthiaskrgr:submodule_upd, r=oli-obk
submodules: update clippy, rls and miri

Let's give this another try.
r? @Manishearth
cc @Xanewok
2019-04-10 15:54:39 +00:00
Matthias Krüger
beeeb4360e update Cargo.lock 2019-04-09 10:50:08 +02:00
Matthias Krüger
956e815659 submodules: update rls from 90f7ab0 to 49efc06
Changes:
````
Account for changed format range in a test
Adapt format integration test to use new range
Add unit tests for Rustfmt::calc_text_edits
Prefer saturating_sub
Return only partial text edits on formatting request
Redo errors in format.rs
Rephrase unstable features helper function
Work around Rustfmt bug
Adjust range-formatting test
Update Rustfmt to 1.2
Allow unstable features under "dev" channel
Updated clippy_lints in to rev c81e43b92c to fix build breaking
Fix lint pass API changes
Remove a redundant import
Bump Clippy
Add more helpful compiler messages when the features are improperly specified
Silence some flaky tests.
Update Cargo.
Rename read_analysis to decode_buf
Update Clippy
Fix pointer to pointer silliness
Add serde implementation to complement rustc-serialize
````
2019-04-09 10:49:44 +02:00
Matthias Krüger
e3993c701c submodules: update miri from 0e4f963 to 28f2e5b
Changes:
````
Update src/fn_call.rs
Fix calloc test
Add calloc test
Tidy up calloc code
Update compiletest
Fix tagging order
Add `calloc`
rename MIRI_TARGET -> MIRI_COMPILETEST_TARGET to clarify that this affects compiletest only
compiletest can just propagate MIRI_SYSROOT from the outside
````
2019-04-09 10:49:39 +02:00
Matthias Krüger
1c0922069e submodules: update clippy from 92612c9d to 37f5c1ec
Changes:
````
Remove force-host and explain no-prefer-dynamic
Escape a single quote in single_char_pattern hint
cargo fmt
Re-add tmp feature to compiletest
Remove libtest from deps
Re-allow clippy::identity_conversion in compiletest
Use latest compiletest-rs
Revert tests/compile-test.rs to 61aa5c957c
Fix ICE in suspicious_else_formatting
use a multispan for MANY_SINGLE_CHAR_NAMES
Add missing `// run-pass` annotations to ICE tests
Remove clippy_dev as dev-dependency
NFC: fix typos
rustup https://github.com/rust-lang/rust/pull/59657
Add TransmutingNull Lint * Late Lint pass, catches:   * One liner: 0 -> null -> transmute   * One liner: std:null() -> transmute   * Const (which resolves to null) -> transmute * UI Test case for Lint * Updated test for issue 3849, because now the lint that code generated is in Clippy. * Expanded `const.rs` miri-based Constant Folding code, to cover   raw pointers
Run rustfmt
Set level of identity_conversion FP to warn
Rustup to https://github.com/rust-lang/rust/pull/58805
rustup 41316f0449
Updated source to match with recent rustc `master` toolchain changes
Fix dogfood error of question_mark lint fix
Fix question_mark lint+test
use `span_lint_and_sugg` in `explicit_counter_loop`
Fix some test failures
Hacky rustup
run cargo fmt
rustup https://github.com/rust-lang/rust/pull/59096/
Change explicit_counter_loop's message to add parentheses if necessary
Change explicit_counter_loop's message to reflect original variable name
cargo fmt
Add rustfix tests for mistyped_literal_suffix lint
Move some `unreadable_literal` ui tests to correct file
Add implementation for the EarlyLintPass trait into the Adding Lints documentation.
Add rust-toolchain for clippy_dev
````
2019-04-09 10:49:33 +02:00
Ralf Jung
4d79d391b0 avoid reading from ZST locals 2019-04-08 13:40:43 +02:00
Ralf Jung
5731945187
Apply suggestions from code review
typos

Co-Authored-By: RalfJung <post@ralfj.de>
2019-04-08 10:29:22 +02:00
bors
3750348daf Auto merge of #59724 - oli-obk:const_arg_ice, r=eddyb
Function arguments should never get promoted

fixes https://github.com/rust-lang/rust/issues/59469
2019-04-08 01:18:12 +00:00
Oliver Scherer
01e83943f9 Only run SIMD tests on x86 2019-04-07 21:46:39 +02:00
bors
474e7a6486 Auto merge of #59765 - lzutao:patch-1, r=Centril
Add reference to cfg attr

r? @QuietMisdreavus
2019-04-07 18:06:01 +00:00
Ralf Jung
b00fd57075 implement by-value object safety 2019-04-07 20:04:44 +02:00
Ralf Jung
944ffbf5b5 initialize unsized locals when copying to the for the first time 2019-04-07 19:54:29 +02:00
bors
11510b27b5 Auto merge of #59766 - xales:revertlibtest, r=Manishearth
Revert "Auto merge of #57842 - gnzlbg:extract_libtest, r=gnzlbg"

This reverts commit 3eb4890dfe, reversing
changes made to 7a4df3b53d.

This is, as best I can tell, a clean revert of #57842. It retains some interim changes, like moving `black_box`, and otherwise brings libtest back in as it was before removal.
2019-04-07 15:23:49 +00:00
bors
df7a91f192 Auto merge of #59770 - pietroalbini:pin-android-emulator, r=kennytm
ci: pin android emulator to 28.0.23

Apparently Android Emulator 28.0.25 (the latest one) is broken for us, and `sdkmanager` doesn't have a way to pin a package to a specific version. This PR stops downloading the emulator from `sdkmanager`, downloading it manually instead.

Tested this locally and confirmed it works. I'll open an issue on Google's issue tracker later today.

Fixes https://github.com/rust-lang/rust/issues/59757
r? @kennytm
2019-04-07 12:33:01 +00:00
Pietro Albini
d13547a1c6
ci: pin android emulator to 28.0.23 2019-04-07 13:52:33 +02:00
Ralf Jung
ae1f8ab4aa fix miri engine debug output for uninitialized locals 2019-04-07 12:52:56 +02:00
Ralf Jung
525c68cf95 make StorageLive lazy as well 2019-04-07 12:27:48 +02:00
bors
4fb888bf04 Auto merge of #59119 - cramertj:cx-back, r=withoutboats
Future-proof the Futures API

cc https://github.com/rust-lang/rust/issues/59113, @carllerche, @rust-lang/libs

r? @withoutboats
2019-04-07 09:48:12 +00:00
Jacob Greenfield
28ea249ab5
Revert "Auto merge of #57842 - gnzlbg:extract_libtest, r=gnzlbg"
This reverts commit 3eb4890dfe, reversing
changes made to 7a4df3b53d.
2019-04-07 03:16:31 -04:00
Oliver Scherer
54ea7f726e Update comment 2019-04-07 08:02:48 +02:00
Oliver Scherer
65a45dd99d Add more regression tests for accidental promotion 2019-04-07 08:02:48 +02:00
Oliver Scherer
1f40580f62 Function arguments should never get promoted 2019-04-07 08:02:48 +02:00
lzutao
cd9bea3317
Add reference to cfg attr 2019-04-07 11:48:14 +07:00
bors
dec0a98c4b Auto merge of #58739 - matthewjasper:more-restrictive-tpb, r=pnkfelix
More restrictive 2 phase borrows - take 2

Signal lint diagnostic `mutable_borrow_reservation_conflict` when borrow-check finds a 2-phase borrow's reservation overlapping with a shared borrow.

(pnkfelix updated description)

cc #56254 , #59159

blocks PR #59114

r? @pnkfelix

cc @RalfJung @nikomatsakis
2019-04-07 00:57:13 +00:00
Ralf Jung
cb51f872a8 miri engine: lazily allocate memory for locals on first write 2019-04-06 23:58:59 +02:00
bors
091380021a Auto merge of #59760 - Centril:rollup-4b9x7ue, r=Centril
Rollup of 5 pull requests

Successful merges:

 - #59738 (Move match_path from DefId to lint::LateContext)
 - #59740 (Use for_each to extend collections)
 - #59751 (Tiny docs fix)
 - #59754 (Update books)
 - #59755 (Update miri)

Failed merges:

r? @ghost
2019-04-06 21:34:12 +00:00
Mazdak Farrokhzad
4601ff017f
Rollup merge of #59755 - matthewjasper:update-miri, r=RalfJung
Update miri

r? @RalfJung
2019-04-06 22:52:49 +02:00
Mazdak Farrokhzad
cd1165dcf3
Rollup merge of #59754 - ehuss:update-books, r=frewsxcv
Update books

## nomicon

1 commits in f1ff93b66844493a7b03101c7df66ac958c62418..c02e0e7754a76886e55b976a3a4fac20100cd35d
2019-02-26 13:37:28 -0500 to 2019-03-25 16:52:56 -0400
- dropck: The drop order is now defined (rust-lang-nursery/nomicon#113)

## reference

3 commits in 27ad493a10364e907ec476e2ad61e8a1614b57e1..98f90ff4de8e588f651f0fb493b5c7496551cd59
2019-03-26 02:06:15 +0100 to 2019-04-06 09:29:08 -0700
- Document repr packed(N). (rust-lang-nursery/reference#553)
- Fix broken link in glossary. (rust-lang-nursery/reference#558)
- Typo fixes (rust-lang-nursery/reference#556)

## embedded-book

2 commits in 07fd3880ea0874d82b1d9ed30ad3427ec98b4e8a..7989c723607ef5b13b57208022259e6c771e11d0
2019-03-27 15:40:52 +0000 to 2019-04-04 12:14:37 +0000
- fix rust-embedded/book#182  (rust-embedded/book#183)
- Add openocd to list of installable packages  (rust-embedded/book#179)
2019-04-06 22:52:48 +02:00
Mazdak Farrokhzad
39d7292ef1
Rollup merge of #59751 - tbu-:pr_doc_fix_format, r=Centril
Tiny docs fix
2019-04-06 22:52:47 +02:00
Mazdak Farrokhzad
76d818cf73
Rollup merge of #59740 - cuviper:folded-extend, r=scottmcm
Use for_each to extend collections

This updates the `Extend` implementations to use `for_each` for many
collections: `BinaryHeap`, `BTreeMap`, `BTreeSet`, `LinkedList`, `Path`,
`TokenStream`, `VecDeque`, and `Wtf8Buf`.

Folding with `for_each` enables better performance than a `for`-loop for
some iterators, especially if they can just forward to internal
iterators, like `Chain` and `FlatMap` do.
2019-04-06 22:52:46 +02:00
Mazdak Farrokhzad
ed45788e53
Rollup merge of #59738 - flip1995:match_path_move, r=eddyb,Manishearth
Move match_path from DefId to lint::LateContext

cc https://github.com/rust-lang/rust/pull/59316#discussion_r272351353

r? @eddyb
2019-04-06 22:52:45 +02:00
Matthew Jasper
acfe36e2e9 Update miri 2019-04-06 21:50:18 +01:00
Eric Huss
965dc6b74b Update books 2019-04-06 10:06:51 -07:00
Tobias Bucher
564771fa23 Tiny docs fix 2019-04-06 17:27:00 +02:00
bors
8159f389f6 Auto merge of #59710 - alexcrichton:llvm-9-compat, r=sanxiyn
rustc: Start implementing compat with LLVM 9

This commit doesn't actually migrate to LLVM 9, but it brings our own
C++ bindings in line with LLVM 9 and able to compile against tip of
tree. The changes made were:

* The `MainSubprogram` flag for debuginfo moved between flag types.
* Iteration of archive members was tweaked slightly and we have to
  construct the two iterators before constructing the returned
  `RustArchiveIterator` value.
* The `getOrInsertFunction` binding now returns a wrapper which we use
  `getCallee()` on to get the value we're interested in.
2019-04-06 13:14:23 +00:00
bors
209b0b41ac Auto merge of #59745 - cwhakes:master, r=sanxiyn
Change `copytest` parameter name from `y` to `sign`

This should help clarify ambiguity with whether `a.copysign(b)` applies the sign of `a` to `b` or `b` to `a`.

r? @Centril
2019-04-06 10:03:38 +00:00
bors
2982dbf855 Auto merge of #59744 - cuviper:output-errors, r=sanxiyn
Show better errors for LLVM IR output

I was trying to output LLVM IR directly to the console:

    $ rustc hello.rs --emit=llvm-ir -o /dev/stdout
    LLVM ERROR: IO failure on output stream: Bad file descriptor

Now `LLVMRustPrintModule` returns an error, and we print:

    error: failed to write LLVM IR to /dev/stdout.hello.7rcbfp3g-cgu.0.rcgu.ll: Permission denied

... which is more informative.
2019-04-06 07:21:41 +00:00
bors
b025802a24 Auto merge of #59723 - Zoxc:rem-noforce, r=michaelwoerister
Remove no_force from coherent_trait

r? @michaelwoerister
2019-04-06 04:14:13 +00:00