Santiago Pastorino
250a636217
Avoid copying some undef memory in MIR
...
During MIR interpretation it may happen that a place containing
uninitialized bytes is copied. This would read the current
representation of these bytes and write it to the destination even
though they must, by definition, not matter to the execution.
This elides that representation change when no bytes are defined in such
a copy, saving some cpu cycles. In such a case, the memory of the target
allocation is not touched at all which also means that sometimes no
physical page backing the memory allocation of the representation needs
to be provided by the OS at all, reducing memory pressure on the system.
2019-12-28 14:13:44 -03: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
Vadim Petrochenkov
a0d8b794d6
resolve: Minor cleanup of duplicate macro reexports
2019-12-28 17:37:22 +03: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
Vadim Petrochenkov
e3155abd2e
Stabilize attribute macros on inline modules
2019-12-28 11:42:26 +03:00
Yuki Okushi
e850cfc6bb
Update .mailmap
2019-12-28 16:51:35 +09: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
bors
3a087ad3a9
Auto merge of #67670 - oli-obk:rollup-2dp08sd, r=oli-obk
...
Rollup of 15 pull requests
Successful merges:
- #65244 (add IntoFuture trait and support for await)
- #67576 (reuse `capacity` variable in slice::repeat)
- #67588 (Use NonNull in slice::Iter and slice::IterMut.)
- #67594 (Update libc to 0.2.66)
- #67602 (Use issue = "none" instead of "0" in intrinsics)
- #67604 (Add Scalar::to_(u|i)16 methods)
- #67617 (Remove `compiler_builtins_lib` documentation)
- #67621 (Use the correct type for static qualifs)
- #67629 (Remove redundant link texts)
- #67632 (Convert collapsed to shortcut reference links)
- #67633 (Update .mailmap)
- #67635 (Document safety of Path casting)
- #67654 (Add regression test for old NLL ICE)
- #67659 (Stabilize the `matches!` macro)
- #67664 (Fix some mailmap entries)
Failed merges:
r? @ghost
2019-12-28 00:18:59 +00:00
Oliver Scherer
65bbcf0e13
Rollup merge of #67664 - Manishearth:mailmapfixes, r=Mark-Simulacrum
...
Fix some mailmap entries
r? @pietroalbini
2019-12-28 00:36:18 +01: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
47d5acf54d
Rollup merge of #67633 - christianpoveda:patch-1, r=Mark-Simulacrum
...
Update .mailmap
2019-12-28 00:36:13 +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
31fd966647
Rollup merge of #67594 - oxalica:update-libc, r=Dylan-DPC
...
Update libc to 0.2.66
cc @gnzlbg @alexcrichton
2019-12-28 00:36:02 +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
Oliver Scherer
b3abebd78d
Prevent polymorphic const prop on assignments
2019-12-28 00:22:16 +01:00
Oliver Scherer
3eb0585173
Work around a resolve bug in const prop
2019-12-28 00:22:16 +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
Wesley Wiser
25a8b5d58e
Fix Instance::resolve()
incorrectly returning specialized instances
...
We only want to return specializations when `Reveal::All` is passed, not
when `Reveal::UserFacing` is. Resolving this fixes several issues with
the `ConstProp`, `SimplifyBranches`, and `Inline` MIR optimization
passes.
Fixes #66901
2019-12-27 13:04:32 -05:00
Manish Goregaokar
e518e38564
Fix whitequark's entry in the mailmap
2019-12-27 09:52:59 -08:00
Manish Goregaokar
1ec81abad6
Fix Nika's entry in the mailmap
2019-12-27 09:52:59 -08:00
Manish Goregaokar
aa5983d560
Fix my entry in the mailmap
2019-12-27 09:43:36 -08:00
jumbatm
91c2f78b50
Clean up const-hack from #58044
2019-12-27 23:21:32 +10:00
jumbatm
282635f2db
Clean up const-hack from #61635
2019-12-27 23:21:32 +10:00
jumbatm
8c494866be
Clean up const-hack from #63786
2019-12-27 23:21:32 +10:00
jumbatm
f6faf0b2e7
Clean up const-hack from #63810
2019-12-27 23:21:27 +10: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
Santiago Pastorino
bd93b7718e
Avoid memory copy logic for zsts
...
Closes #67539
2019-12-27 09:33:22 -03:00
Ross MacArthur
749295cfbf
Add regression test for old NLL ICE
2019-12-27 13:36:41 +02:00