Commit Graph

103568 Commits

Author SHA1 Message Date
Yuki Okushi
acd2b0835d
Rollup merge of #67066 - alexcrichton:update-wasi-libc, r=Mark-Simulacrum
Update the revision of wasi-libc used in wasm32-wasi

This commit updates the `wasi-libc` repository used to build the
wasm32-wasi target's libstd to ensure that both libstd and libc are
using the same wasi snapshot version.
2019-12-06 15:37:14 +09:00
Yuki Okushi
f77b8d355b
Rollup merge of #67065 - alexcrichton:update-wasi, r=sfackler
Fix fetching arguments on the wasm32-wasi target

Fixes an error introduced in #66750 where wasi executables always think
they have zero arguments because one of the vectors returned here
accidentally thought it was length 0.
2019-12-06 15:37:13 +09:00
Yuki Okushi
1bb868c5d6
Rollup merge of #67041 - Wind-River:master_base, r=alexcrichton
add ExitStatusExt into prelude

r? @alexcrichton
2019-12-06 15:37:11 +09:00
Yuki Okushi
f7c2631d4a
Rollup merge of #67021 - elichai:2019-12-fmt, r=QuietMisdreavus
Fix docs for formatting delegations

If you use the example in the docs right now it breaks all the options Formatters have to offer.
i.e. https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=214392ecc6eff73b4789c32568395f72 this should've padded the output with 4 zeros but didn't.

with the new example it does work: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=3bdfb29f395230c5129c5f56dcfcb2a9

The only thing i'm not quite sure about is what's the right way to do it in a loop (altough non of the docs talk about it people are doing it in the wild and there were a couple of attempts to include in libcore)
i.e. https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=4c4dca3c90ba36779ecd014f3899ab9c
2019-12-06 15:37:10 +09:00
Yuki Okushi
662a225f1d
Rollup merge of #67017 - GuillaumeGomez:long-err-explanations-2, r=Dylan-DPC
cleanup long error explanations

r? @Dylan-DPC
2019-12-06 15:37:08 +09:00
Yuki Okushi
6c0165fa78
Rollup merge of #66979 - reese:E0631-long-error, r=GuillaumeGomez
Add long error for E0631 and update ui tests.

This PR adds a long error for `E0631`, which covers errors where closure argument types are mismatched. It also updates UI tests where this error is applicable.

Part of #61137
2019-12-06 15:37:06 +09:00
Yuki Okushi
3b878aa9ae
Rollup merge of #66974 - cuviper:not-isCI, r=alexcrichton
[CI] fix the `! isCI` check in src/ci/run.sh

Using `if [ ! isCI ] || ...` doesn't run any command, just tests `isCI`
as a string, whereas `if ! isCI || ...` will actually run the `isCI`
command and negate its exit status.
2019-12-06 15:37:04 +09:00
Yuki Okushi
c31773cece
Rollup merge of #66900 - GuillaumeGomez:clean-up-err-codes, r=Dylan-DPC
Clean up error codes

r? @Dylan-DPC
2019-12-06 15:37:03 +09:00
Yuki Okushi
3d2cb55734
Rollup merge of #66764 - estebank:reword-bad-collect, r=alexcrichton
Tweak wording of `collect()` on bad target type

Fix #60440.
2019-12-06 15:37:01 +09:00
Yuki Okushi
617b07e730
Rollup merge of #66649 - Wind-River:master_xyz, r=alexcrichton
VxWorks: fix issues in accessing environment variables
2019-12-06 15:36:56 +09:00
Kamlesh Kumar
f8ecf04f4b accept union inside enum if not followed by identifier 2019-12-06 10:52:28 +05:30
bors
7b482cdf7c Auto merge of #66835 - AviKozokin:master, r=alexcrichton
std:win: avoid WSA_FLAG_NO_INHERIT flag and don't use SetHandleInformation on UWP

This flag is not supported on Windows 7 before SP1, and on windows server 2008 SP2. This breaks Socket creation & duplication.
This was fixed in a previous PR. cc #26658

This PR: cc #60260 reuses this flag to support UWP, and makes an attempt to handle the potential error.
This version still fails to create a socket, as the error returned by WSA on this case is WSAEINVAL (invalid argument). and not WSAEPROTOTYPE.

MSDN page for WSASocketW (that states the platform support for WSA_FLAG_NO_HANDLE_INHERIT): https://docs.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsasocketw

CC #26543
CC #26518
2019-12-06 04:30:51 +00:00
bors
234c9f21d9 Auto merge of #66911 - eddyb:nicer-rustc_regions, r=matthewjasper
rustc_mir: use nicer path printing for #[rustc_regions] NLL tests.

Similar to #66850, spotted while working on #66907.

r? @matthewjasper
2019-12-06 00:22:54 +00:00
Ralf Jung
f5bd94768a use abort instead of unreachable 2019-12-06 00:10:01 +01:00
Esteban Küber
22c65f9242 Do not ICE on closure typeck
Tackle #66868.
2019-12-05 14:53:16 -08:00
bors
f6840f33e6 Auto merge of #67060 - Centril:rollup-hwhdx4h, r=Centril
Rollup of 9 pull requests

Successful merges:

 - #66710 (weak-into-raw: Clarify some details in Safety)
 - #66863 (Check break target availability when checking breaks with values)
 - #67002 (Fix documentation of pattern for str::matches())
 - #67005 (capitalize Rust)
 - #67010 (Accurately portray raw identifiers in error messages)
 - #67011 (Include a span in more `expected...found` notes)
 - #67044 (E0023: handle expected != tuple pattern type)
 - #67045 (rustc_parser: cleanup imports)
 - #67055 (Make const-qualification look at more `const fn`s)

Failed merges:

r? @ghost
2019-12-05 20:56:09 +00:00
Alex Crichton
db7b0f88f1 Update the revision of wasi-libc used in wasm32-wasi
This commit updates the `wasi-libc` repository used to build the
wasm32-wasi target's libstd to ensure that both libstd and libc are
using the same wasi snapshot version.
2019-12-05 11:36:35 -08:00
Alex Crichton
f7789ad5b2 Fix fetching arguments on the wasm32-wasi target
Fixes an error introduced in #66750 where wasi executables always think
they have zero arguments because one of the vectors returned here
accidentally thought it was length 0.
2019-12-05 11:01:26 -08:00
Mazdak Farrokhzad
a008aff075
Rollup merge of #67055 - lqd:const_qualif, r=oli-obk
Make const-qualification look at more `const fn`s

As explained in a lot more detail in #67053 this makes const-qualification not ignore the unstable const fns in libcore.

r? @oli-obk cc @ecstatic-morse

(Still a bit unsure about the `cfg`s here, for bootstrapping, does that seem correct ?)

Fixes #67053.
2019-12-05 19:03:21 +01:00
Mazdak Farrokhzad
0e18ca1447
Rollup merge of #67045 - Centril:parser-import-clean, r=Mark-Simulacrum
rustc_parser: cleanup imports

Reorganize & canonicalize some imports + Drop `rustc_target` as a dependency.

r? @Mark-Simulacrum
2019-12-05 19:03:20 +01:00
Mazdak Farrokhzad
23b8c06f27
Rollup merge of #67044 - Centril:67037, r=estebank
E0023: handle expected != tuple pattern type

Fixes #67037.

r? @estebank
2019-12-05 19:03:18 +01:00
Mazdak Farrokhzad
7945dcdfdc
Rollup merge of #67011 - Aaron1011:fix/expected-found-span, r=Dylan-DPC
Include a span in more `expected...found` notes

In most places, we use a span when emitting `expected...found` errors.
However, there were a couple of places where we didn't use any span,
resulting in hard-to-interpret error messages.

This commit attaches the relevant span to these notes, and additionally
switches over to using `note_expected_found` instead of manually
formatting the message
2019-12-05 19:03:17 +01:00
Mazdak Farrokhzad
8e6cf861e5
Rollup merge of #67010 - estebank:raw-idents, r=Centril
Accurately portray raw identifiers in error messages

When refering to or suggesting raw identifiers, refer to them with `r#`.

Fix #65634.
2019-12-05 19:03:15 +01:00
Mazdak Farrokhzad
9a72b42a6d
Rollup merge of #67005 - andrewbanchich:master, r=joshtriplett
capitalize Rust

Capitalize "Rust" in docs.
2019-12-05 19:03:13 +01:00
Mazdak Farrokhzad
d060dc8b74
Rollup merge of #67002 - JayXon:patch-1, r=Dylan-DPC
Fix documentation of pattern for str::matches()

Made it the same as rmatches()
2019-12-05 19:03:11 +01:00
Mazdak Farrokhzad
3f4827c785
Rollup merge of #66863 - osa1:fix_66702, r=cramertj
Check break target availability when checking breaks with values

Fixes #66702

I'll be adding a regression test.
2019-12-05 19:03:09 +01:00
Mazdak Farrokhzad
bcf992dc6c
Rollup merge of #66710 - vorner:weak-into-raw-null-docs, r=dtolnay
weak-into-raw: Clarify some details in Safety

Clarify it is OK to pass a pointer that never owned a weak count (one
from Weak::new) back into it as it was created from it. Relates to
discussion in #60728.

@CAD97 Do you want to have a look at the new docs?
2019-12-05 19:03:08 +01:00
bors
710a362dc7 Auto merge of #66828 - GuillaumeGomez:less-minification, r=kinnison
Less minification

The goal of this PR is to remove the minification process on the `search-index.js` file. It provides great result in term of space reduction but the computation time is far too long. I'll work on this issue and will put it back once it's fast enough.

cc @nox @lqd
r? @kinnison
2019-12-05 17:45:31 +00:00
Remy Rakic
2d83b76080 update comment to explain the importance of this check more clearly 2019-12-05 17:41:25 +01:00
bors
a0312c156d Auto merge of #66815 - mark-i-m:simplify-borrow_check-errors, r=Dylan-DPC
Reorganize borrow check diagnostic code

Currently borrow checker diagnostics are split across many different modules in different places in the `librustc_mir` crate. This moves them all to a `diagnostics` module. This also reduces the nesting of the modules a bit (sooo much nesting).

I am also thinking of moving stuff out of the `nll` module since we only have one borrow checker now (🎉), and maybe it even makes sense to split out all of this stuff to a `librustc_borrow_check`, but those are for the future. Feel free to ping me here or on zulip and let me know what you think...

cc @nikomatsakis @matthewjasper @eddyb
2019-12-05 14:39:11 +00:00
Michal 'vorner' Vaner
473151070b
weak-into-raw: Clarify some details in Safety
Clarify it is OK to pass a pointer that never owned a weak count (one
from Weak::new) back into it as it was created from it. Relates to
discussion in #60728.
2019-12-05 15:22:11 +01:00
Remy Rakic
4a760c6ea1 add regression test for issue 67053 2019-12-05 15:09:06 +01:00
Remy Rakic
bc0df79db3 libcore: rnable 2 unstable const fn features
So that we can bootstrap successfully
2019-12-05 15:01:30 +01:00
Remy Rakic
0f12711dd0 make const-qualif look at more const fns
the unstables ones in libcore, with the unstable feature disabled, were not checked
2019-12-05 14:59:56 +01:00
Ralf Jung
e5d50e3e88 comments 2019-12-05 14:38:24 +01:00
Ralf Jung
e822235323 add a test 2019-12-05 14:33:37 +01:00
Ralf Jung
8655ad5936 codegen: mark invalid SetDiscriminant unreachable 2019-12-05 14:20:53 +01:00
bors
1e2a73867d Auto merge of #66952 - 0dvictor:print, r=rkruppe
Use Module::print() instead of a PrintModulePass

llvm::Module has a print() method. It is unnecessary to create a pass just for the purpose of printing LLVM IR.
2019-12-05 11:23:26 +00:00
Mazdak Farrokhzad
74804fa3e7 rustc_parser: cleanup imports 2019-12-05 06:38:06 +01:00
bors
d825e35ee8 Auto merge of #66520 - alexcrichton:disable-gdb-wasm, r=eddyb
Disable gdb pretty printer global section on wasm targets

The wasm targets don't support gdb anyway so there's no need for this
section there.
2019-12-05 05:28:48 +00:00
Mazdak Farrokhzad
4746d37339 E0023: handle expected != pat-tup-type 2019-12-05 06:18:01 +01:00
Alex Crichton
5ce09bcfa2 Disable gdb pretty printer global section on wasm targets
The wasm targets don't support gdb anyway so there's no need for this
section there.
2019-12-04 20:15:21 -08:00
n-salim
28b37a24f3
Merge pull request #46 from Wind-River/master_base_V7LIBC-1069
add ExitStatusExt into prelude
2019-12-04 16:16:49 -08:00
Tomasz Miąsko
92bc35f7b6 Simplify {IoSlice, IoSliceMut}::advance examples and tests
Remove unnecessary calls to `std::mem::replace` and make variables immutable.
2019-12-05 00:00:00 +00:00
bors
aeaaf8f640 Auto merge of #67038 - RalfJung:miri, r=RalfJung
update miri

Fixes https://github.com/rust-lang/rust/issues/67022

r? @ghost
2019-12-04 23:07:13 +00:00
Ralf Jung
e550760c03 update miri 2019-12-05 00:00:44 +01:00
Josh Stone
16d21783d6 Migrate to LLVM{Get,Set}ValueName2
The deprecated `LLVM{Get,Set}ValueName` only work with NUL-terminated
strings, but the `2` variants use explicit lengths, which fits better
with Rust strings and slices. We now use these in new helper functions
`llvm::{get,set}_value_name` that convert to/from `&[u8]`.
2019-12-04 12:00:28 -08:00
bors
6d77e45f01 Auto merge of #66866 - oli-obk:const_fn_memoization, r=RalfJung
Only memoize const fn calls during const eval

Miri and other engines may want to execute the function in order to detect UB inside of them.

r? @RalfJung
2019-12-04 17:48:19 +00:00
Oliver Scherer
af8f1416e1
Update src/librustc_mir/interpret/terminator.rs
Co-Authored-By: Ralf Jung <post@ralfj.de>
2019-12-04 16:38:58 +01:00
Mark Mansi
b998e83064 more private 2019-12-04 09:18:04 -06:00