Commit Graph

92210 Commits

Author SHA1 Message Date
Oliver Scherer
d3d56732a7 Get rid of "is not const" naming 2019-04-08 15:36:00 +02:00
Oliver Scherer
ec5206588f Explicit promotion is indistinguishable from explicit promotion
Implicit promotion on the other hand has very strict rules on what may be done
2019-04-08 15:32:31 +02:00
Oliver Scherer
6b01844408 Generalize initial "not const" assignments 2019-04-08 15:28:00 +02:00
rchaser53
aeb1e39b2b Merge remote-tracking branch 'origin/master' 2019-04-08 22:03:17 +09:00
Ralf Jung
4d79d391b0 avoid reading from ZST locals 2019-04-08 13:40:43 +02:00
Oliver Scherer
b8e9da7c08 asm! output can neither be promotable nor const 2019-04-08 10:32:35 +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
David Wood
77bdb354bf
Add test demonstrating existing behaviour.
This commit adds a test that demonstrates the compiler's current
behaviour when a function attempts to return a value that was unwrapped
by a `?` operator when the omission of `?` would have made the code
compile.
2019-04-08 00:19:58 +02: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
Bastian Gruber
34c1572a42 Change root path for unstable-book 2019-04-07 19:29:20 +02:00
David Wood
126ac9ef6c
Add test with current behaviour.
This commit adds a test demonstrating the current behaviour when a macro
defined in a module with the `#[macro_export]` is imported from the
module rather than the crate root.
2019-04-07 17:56:50 +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
rchaser53
89eac91e05 Improvement for comparision against fn 2019-04-07 23:15:35 +09: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
Isaac Whitfield
bd7a8020cc Remove check_match from const_eval 2019-04-06 17:25:44 -07: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
Bastian Gruber
280277a28b path -> from 2019-04-06 12:05:45 +02:00
Andrew Xu
8ffb6fd8e4 Add summary and reference to Rust trademark guide 2019-04-06 18:04:06 +08: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
Bastian Gruber
5ddb339c9d Remove copy_book_toml method in favor for copy_recursive 2019-04-06 12:00:43 +02:00
Bastian Gruber
1c3979ca16 Add book.toml to tools/unstable, add copy_book_toml to scipt 2019-04-06 11:57:02 +02: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
Will Hakes
350e492bc0 Change copytest parameter name from y to sign 2019-04-05 20:30:45 -06:00
Josh Stone
aafe2c6da9 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-05 17:48:23 -07:00
bors
05b4554e77 Auto merge of #59741 - Centril:rollup-3us4b8q, r=Centril
Rollup of 6 pull requests

Successful merges:

 - #58894 (Fix invalid bounds string generation in rustdoc)
 - #59599 (Updated RELEASES.md for 1.34.0)
 - #59624 (SGX target: Use linker option to avoid code CGU assignment kludge)
 - #59696 (Remove invalid assertion back:🔗:from add_upstream_rust_crates().)
 - #59707 (Add missing tryfrom example)
 - #59727 (wasi: Use shared API for preopened fds)

Failed merges:

r? @ghost
2019-04-05 22:56:15 +00:00