Commit Graph

103614 Commits

Author SHA1 Message Date
Yuki Okushi 7249af0c7b
Rollup merge of #66988 - osa1:issue66985, r=matthewjasper
Fix angle bracket formatting when dumping MIR debug vars

Fixes #66985
2019-12-07 00:09:55 +09:00
Yuki Okushi afd9e95b8b
Rollup merge of #66959 - GuillaumeGomez:cfg-duplicates, r=eddyb
Remove potential cfgs duplicates

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

Before going any further (the issue seems to be linked to metadata as far as I can tell). Do you think this is the good place to do it or should it be done before?

r? @eddyb
2019-12-07 00:09:54 +09:00
Yuki Okushi 2a4f638d24
Rollup merge of #66846 - gizmondo:master, r=michaelwoerister
Make try_mark_previous_green aware of cycles.

Fixes #61323

r? @michaelwoerister
2019-12-07 00:09:52 +09:00
Matthew Kraai 0c4bc58cee Change "either" to "any" in Layout::from_size_align's docs 2019-12-06 07:06:03 -08:00
varkor f1db60ca95 Fix rebase issues 2019-12-06 13:09:03 +00:00
Simon Sapin a213ff8299 Move numeric `From` and `TryFrom` impls to `libcore/convert/num.rs`
This makes `libcore/num/mod.rs` slightly smaller. It’s still 4911 lines and not easy to navigate. This doesn’t change any public API.
2019-12-06 14:00:45 +01:00
Simon Sapin cba479f75c Add `{f32,f64}::approx_unchecked_to<Int>` unsafe methods
As discussed in https://github.com/rust-lang/rust/issues/10184

Currently, casting a floating point number to an integer with `as` is Undefined Behavior if the value is out of range. `-Z saturating-float-casts` fixes this soundness hole by making `as` “saturate” to the maximum or minimum value of the integer type (or zero for `NaN`), but has measurable negative performance impact in some benchmarks. There is some consensus in that thread for enabling saturation by default anyway, but provide an `unsafe fn` alternative for users who know through some other mean that their values are in range.
2019-12-06 14:01:05 +01:00
Simon Sapin f442797c17 Make `core::convert` a directory-module with `mod.rs` 2019-12-06 13:56:25 +01:00
Markus Reiter 79f876495b Remove boxed closures in address parser. 2019-12-06 13:28:02 +01:00
varkor 442514884d Use `Instant::now` lazily 2019-12-06 12:24:54 +00:00
varkor 9f1269f23c Rename to `then_some` and `then` 2019-12-06 12:24:54 +00:00
varkor 8579fe6fc3 Use `as_ref().map()` rather than `is_some().to_option()` 2019-12-06 12:23:44 +00:00
varkor 6ea469712d Fix libcore tests 2019-12-06 12:23:23 +00:00
varkor 50985b012a Use `to_option_with` in several places 2019-12-06 12:23:23 +00:00
varkor e3a8ea4e18 Use `to_option` in various places 2019-12-06 12:23:23 +00:00
varkor 51901eea8c Rename `bool`'s `then` to `to_option` 2019-12-06 12:20:08 +00:00
Alex Aktsipetrov de255a9163 Make try_mark_previous_green aware of cycles. 2019-12-06 12:48:53 +03:00
bors d0126e8ed3 Auto merge of #67080 - JohnTitor:rollup-2t6fm3u, r=JohnTitor
Rollup of 10 pull requests

Successful merges:

 - #66649 (VxWorks: fix issues in accessing environment variables)
 - #66764 (Tweak wording of `collect()` on bad target type)
 - #66900 (Clean up error codes)
 - #66974 ([CI] fix the `! isCI` check in src/ci/run.sh)
 - #66979 (Add long error for E0631 and update ui tests.)
 - #67017 (cleanup long error explanations)
 - #67021 (Fix docs for formatting delegations)
 - #67041 (add ExitStatusExt into prelude)
 - #67065 (Fix fetching arguments on the wasm32-wasi target)
 - #67066 (Update the revision of wasi-libc used in wasm32-wasi)

Failed merges:

r? @ghost
2019-12-06 07:43:56 +00:00
Ömer Sinan Ağacan 5ddfbc2e2b Fix Query type docs
`give` no longer exists, `compute` is used to generate query results
now.
2019-12-06 10:41:51 +03:00
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
Adam Perry cc574be985 `#[track_caller]` suppresses MIR inlining. 2019-12-05 21:12:34 -08:00
Adam Perry 28b2257160 Error message no longer implies #[track_caller] is a requirement for Rust ABI. 2019-12-05 21:11:46 -08:00
Adam Perry eb679c9c5d Add test for Location::caller in a macro. 2019-12-05 21:08:43 -08:00
Adam Perry bc6e66eb3a Implement core::panic::Location::caller using #[track_caller]. 2019-12-05 21:08:35 -08:00
Adam Perry ebaebd987f Remove #[track_caller] from incomplete features list. 2019-12-05 21:08:13 -08:00
Adam Perry 207f520827 Pass a location to #[track_caller] functions in codegen_call_terminator. 2019-12-05 21:03:27 -08:00
Adam Perry fa6bb39855 Add caller_location paramter to FnAbi::new_internal.
We pass it in `of_instance` when the instance requires caller location.
2019-12-05 21:03:14 -08:00
Adam Perry 4773ded15b Generate &core::panic::Location type in a single place. 2019-12-05 21:02:56 -08:00
Adam Perry f1d942b371 Add field to FunctionCx for passing caller location. 2019-12-05 20:56:57 -08:00
Adam Perry d47043b1c9 Add failing test for codegen'd track_caller attribute. 2019-12-05 20:54:28 -08:00
Adam Perry de44f09cc3 Rename test filename to match others. 2019-12-05 20:54:03 -08:00
Adam Perry 9ab065dcda Implement #[track_caller] in const. 2019-12-05 20:50:26 -08:00
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
Paul Daniel Faria a5e144b954 rustc_codegen_ssa: Fix line accidentally reverted during rebase 2019-12-05 22:58:41 -05:00
Paul Daniel Faria 9a21f6ea8d rustc_mir: Fix tidy line lengths 2019-12-05 22:58:41 -05:00
Paul Daniel Faria 756aa1e46c rustc: Apply clearer naming to BodyAndCache, fix Deref impl, remove unneeded Index impl, remove body fn
rustc_codegen_ssa: Fix BodyAndCache reborrow to Body and change instances of body() call to derefence
rustc_mir: Fix BodyAndCache reborrow to Body and change intances of body() call to derefence
2019-12-05 22:58:41 -05: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