Commit graph

97557 commits

Author SHA1 Message Date
Esteban Küber
cfa0b07c8d clean up logic 2019-12-29 19:16:53 -08:00
Esteban Küber
e843245716 review comments 2019-12-29 19:16:53 -08:00
Esteban Küber
3a9c3f92cc Format and fix rebase 2019-12-29 19:16:15 -08:00
Esteban Küber
fb52883690 Account for existing type params when suggesting replacing _ for a new one 2019-12-29 19:16:15 -08:00
Esteban Küber
6c8b2dcb19 Account for all item kinds when collecting and gateing _ in item defs 2019-12-29 19:16:15 -08:00
Esteban Küber
8cb193a5cb Suggest type param when encountering _ in fn defs
When encountering `_` type placeholder in fn arguments and return type,
suggest using generic type parameters.
Expand what counts as an inferable return type to slice, array and
tuples of `_`.
2019-12-29 19:11:27 -08:00
bors
2ba0d2acbd Auto merge of #66942 - cjgillot:hirene-ty, r=Zoxc
Allocate HIR on an arena 3/4 -- Ty

This is the third PR in the series started by #66931 and #66936

Once again, commits don't really make sense on their own.
They are mostly split by type of compile error.

The additional diff is here: https://github.com/cjgillot/rust/compare/hirene-expr...hirene-ty
2019-12-29 22:51:02 +00:00
bors
da3629b05f Auto merge of #67112 - Centril:expr-polish, r=estebank
Refactor expression parsing thoroughly

Based on https://github.com/rust-lang/rust/pull/66994 together with which this has refactored basically the entirety of `expr.rs`.

r? @estebank
2019-12-29 19:30:53 +00:00
bors
25434f898b Auto merge of #67661 - JohnTitor:clippy-cargo, r=oli-obk
Update Clippy and cargo

includes latest rustup and resolves dependency conflicts with cargo
Closes #67541

r? @oli-obk @Manishearth
2019-12-29 16:12:57 +00:00
Yuki Okushi
6f1ebf8ec2 Update cargo 2019-12-29 17:03:07 +09:00
Yuki Okushi
a102e9bc69 Update Clippy 2019-12-29 17:03:07 +09:00
Dylan DPC
71b6ae92a1
Rollup merge of #67679 - kraai:change-be-returning-to-return, r=Dylan-DPC
Change "be returning" to "return"
2019-12-29 13:09:59 +05:30
Dylan DPC
115e3c80df
Rollup merge of #67482 - ldm0:master, r=petrochenkov
Fix outdated comment

Logics in `libsyntax/ext/expand.rs:MacroExpander::expand()` have been moved to `libsyntax_expand/expand.rs:MacroExpander::fully_expand_fragment()`
This pull request fixs the dangling file path.

#### Old

35176867f6/src/libsyntax/ext/expand.rs (L285-L301)

#### New

9ff30a7810/src/libsyntax_expand/expand.rs (L421-L439)

9ff30a7810/src/libsyntax_expand/base.rs (L224-L234)
2019-12-29 13:09:56 +05:30
bors
774a4bd4f4 Auto merge of #67614 - Mark-Simulacrum:global-callbacks, r=Zoxc
Set callbacks globally

This sets the callbacks from syntax and rustc_errors just once, utilizing static (rather than thread-local) storage.
2019-12-29 04:30:56 +00:00
bors
00fc203b65 Auto merge of #67334 - estebank:ignore-triple, r=nikomatsakis
Teach `compiletest` to ignore platform triples

The UI tests are written assuming `--remap-path-prefix` is *not used* (`remap-debuginfo` in `config.toml`). The consequence is that the error messages may include paths and snippets into the standard library. When `remap-debuginfo` is enabled, these messages change in format and structure because `rustc` will not show paths and snippets into the standard library.

This normally isn't a problem for the "main" platforms (linux/macos/windows), because the CI infrastructure is set up so that the tests run without `remap-debuginfo`, but the `dist` artifacts are built separately with `remap-debuginfo` enabled. However, some of the lower-tier platforms perform both tests and distribution in a single step with `remap-debuginfo` enabled. This also affects developers and distributors who use `remap-debuginfo`.

To sidestep this problem, we add a way to ignore tests in specific platform triples, and update the overly broad `ignore-x86` rule in affected tests.

Address #46948, #54546, #53081.
2019-12-28 23:02:09 +00:00
Esteban Küber
90bf0d2e33 Ignore i586-unknown-linux-gnu and i586-unknown-musl in tests 2019-12-28 12:26:48 -08:00
bors
3a3f4a7cba Auto merge of #67151 - petrochenkov:docomm, r=estebank
doc comments: Less attribute mimicking

Make sure doc comments are not converted into intermediate meta-items, or not mixed with `doc(inline)` or something like that.

Follow-up to https://github.com/rust-lang/rust/pull/65750.
2019-12-28 19:23:36 +00:00
bors
e39ae6f883 Auto merge of #67459 - ssomers:#67438, r=RalfJung
prune ill-conceived BTreeMap iter_mut assertion and test its mutability

Proposal to deal with #67438 (and I'm more sure now that this is the right thing to do).
Passes testing with miri.
2019-12-28 16:04:40 +00:00
Matthew Kraai
9ec924c97d Change "be returning" to "return" 2019-12-28 07:05:44 -08:00
bors
2ee25dae12 Auto merge of #67675 - RalfJung:miri, r=RalfJung
update miri
2019-12-28 12:37:30 +00:00
Ralf Jung
b0b040efc1 update miri 2019-12-28 11:20:25 +01:00
Vadim Petrochenkov
3d57b8bcc0 doc comments: Less attribute mimicking 2019-12-28 12:33:18 +03:00
bors
f564c4db0d Auto merge of #67605 - lzutao:msdn-links, r=Mark-Simulacrum
tidy: change msdn links to newer locations

see accouncement at https://docs.microsoft.com/welcome-to-docs
The script that I used: https://gist.github.com/lzutao/1449c9210ad91899841d62e0058d2caa
2019-12-28 09:19:26 +00:00
bors
8b4d22cb25 Auto merge of #67598 - jumbatm:issue67557_simd_shuffle, r=oli-obk
Fix ICE / miscompilation when inlining simd shuffle intrinsic in MIR.

Closes #67557.

r? @oli-obk
2019-12-28 06:02:45 +00:00
Esteban Küber
52b4681de4 Teach compiletest to ignore platform triples 2019-12-27 20:11:19 -08:00
Oliver Scherer
335c887721
Rollup merge of #67659 - SimonSapin:matches, r=rkruppe
Stabilize the `matches!` macro

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

FCP: https://github.com/rust-lang/rust/issues/65721#issuecomment-569118119
2019-12-28 00:36:17 +01:00
Oliver Scherer
9eb45e38dc
Rollup merge of #67654 - rossmacarthur:fix-51770-add-regression-test, r=Centril
Add regression test for old NLL ICE

This fails on nightly-2018-06-24.

Resolves #51770
2019-12-28 00:36:16 +01:00
Oliver Scherer
9525e8e6b2
Rollup merge of #67635 - Mark-Simulacrum:path-doc-unsafe, r=dtolnay
Document safety of Path casting

I would personally feel more comfortable making the relevant (internal anyway) types repr(transparent) and then documenting that we can make these casts because of that, but I believe this is a more minimal PR, so posting it first.

Resolves #45910.
2019-12-28 00:36:14 +01:00
Oliver Scherer
48efc1e6c2
Rollup merge of #67632 - kraai:remove-collapsed-reference-links, r=steveklabnik
Convert collapsed to shortcut reference links
2019-12-28 00:36:11 +01:00
Oliver Scherer
b371e0fa00
Rollup merge of #67629 - kraai:remove-redundant-link-texts, r=steveklabnik
Remove redundant link texts

Most of these links are followed by a parenthesized expression.  I think that the redundant link texts were added to prevent interpretation as an inline link.  This is unnecessary since the closing square bracket and opening parenthesis are separated by whitespace.
2019-12-28 00:36:09 +01:00
Oliver Scherer
b88ce0ed4b
Rollup merge of #67621 - matthewjasper:correct-static-type, r=oli-obk
Use the correct type for static qualifs

Closes #67609
2019-12-28 00:36:08 +01:00
Oliver Scherer
98de5042b0
Rollup merge of #67617 - kraai:remove-compiler_builtins_lib-docs, r=Dylan-DPC
Remove `compiler_builtins_lib` documentation

Fixes #67593
2019-12-28 00:36:07 +01:00
Oliver Scherer
e9af9dba6f
Rollup merge of #67604 - christianpoveda:scalar_to_(u|i)64, r=RalfJung
Add Scalar::to_(u|i)16 methods

r? @RalfJung
2019-12-28 00:36:05 +01:00
Oliver Scherer
4cf4fc6cb1
Rollup merge of #67602 - xfix:use-issue-none-instead-of-0-in-intrinsics, r=Centril
Use issue = "none" instead of "0" in intrinsics

`issue = "0"` was incorrectly used in 9ee16e14c5, the project is moving away from issue 0
2019-12-28 00:36:04 +01:00
Oliver Scherer
4b91966501
Rollup merge of #67588 - Kixunil:nonnull-slice-iter, r=rkruppe
Use NonNull in slice::Iter and slice::IterMut.

`ptr` of `slice::Iter` and `slice::IterMut` can never be null, but this
fact wasn't exploited for layout optimizations. By changing `ptr` from
`*<mutability> T` to `NonNull<T>`, the compiler can now optimize layout
of `Option<Iter<'a, T>>`.

Closes #67228
2019-12-28 00:36:01 +01:00
Oliver Scherer
a076464c4a
Rollup merge of #67576 - king6cong:slice_repeat, r=Dylan-DPC
reuse `capacity` variable in slice::repeat

None
2019-12-28 00:35:59 +01:00
Oliver Scherer
b1b005b8f0
Rollup merge of #65244 - seanmonstar:into-future, r=seanmonstar
add IntoFuture trait and support for await

The [async-await RFC](https://rust-lang.github.io/rfcs/2394-async_await.html#the-await-compiler-built-in) mentions being able to `await` anything implementing `IntoFuture`. Somewhere along the way, it was left out.
2019-12-28 00:35:58 +01:00
Sean McArthur
f35517ee86 core: add IntoFuture trait and support for await 2019-12-27 11:56:11 -08:00
bors
74c4e6a981 Auto merge of #67035 - Goirad:implement-ipadd-padding, r=dtolnay
Implement padding for IpAddr without heap alloc

Implements padding for `IpAddr`s without heap allocations.
This fixes issue #66810 .

cc @jethrogb @mzohreva
2019-12-27 18:40:50 +00:00
Camille GILLOT
71f745852a Address review. 2019-12-27 19:20:29 +01:00
Camille GILLOT
36f95ab3fa Fallout in other crates. 2019-12-27 19:20:28 +01:00
Camille GILLOT
c737c07021 Lowering for hir::Ty. 2019-12-27 19:20:28 +01:00
Camille GILLOT
5865d563ea Visit for hir::Ty. 2019-12-27 19:20:28 +01:00
Camille GILLOT
6b87d5cdf1 Syntax for hir::Ty. 2019-12-27 19:20:28 +01:00
Camille GILLOT
66f9198047 Use Arena inside hir::TraitMethod. 2019-12-27 19:20:28 +01:00
Camille GILLOT
deac631d7f Use Arena inside hir::FnSig. 2019-12-27 19:20:27 +01:00
Simon Sapin
1c572a2d6e Stabilize the matches! macro
Fixes https://github.com/rust-lang/rust/issues/65721

FCP: https://github.com/rust-lang/rust/issues/65721#issuecomment-569118119
2019-12-27 14:07:16 +01:00
Ross MacArthur
749295cfbf
Add regression test for old NLL ICE 2019-12-27 13:36:41 +02:00
bors
41501a6b03 Auto merge of #67437 - matthew-healy:skip-llvm-rebuild, r=Mark-Simulacrum
Add LLVM `skip-rebuild` option to `x.py`

This PR reimplements parts of @Walther's work from #65848, and closes #65612.

I decided not to implement the [arguments to override this setting](https://github.com/rust-lang/rust/issues/65612#issuecomment-544247546) in this PR. If there's strong feeling that this change shouldn't be merged without the overrides then I'm happy to close this until I've had a chance to add them in. Otherwise I'll aim to submit a second PR with those this weekend.

I'd have liked to have tested the change in `native.rs`, but there didn't seem to be any existing test infrastructure. I ran this a few times manually and it _worked on my machine_ though... 😬
2019-12-27 10:58:57 +00:00
bors
8f5f8f916f Auto merge of #67192 - oli-obk:const_zst_addr, r=RalfJung,varkor
Various const eval and pattern matching ICE fixes

r? @RalfJung
cc @spastorino

This PR does not change existing behaviour anymore and just fixes a bunch of ICEs reachable from user code (sometimes even on stable via obscure union transmutes).
2019-12-27 07:38:52 +00:00