Pietro Albini
4a52c5625c
Rollup merge of #55834 - ogoffart:union-abi, r=eddyb
...
Forward the ABI of the non-zero sized fields of an union if they have the same ABI
This is supposed to fix the performence regression of using MaybeUninit in
https://github.com/rust-lang/rust/pull/54668
2018-11-18 23:24:34 +01:00
Pietro Albini
9c3e8d340f
Rollup merge of #55827 - ljedrz:various_stashed, r=alexcrichton
...
A few tweaks to iterations/collecting
- simplify and speed up `dot::GraphWalk::nodes` for `cfg::CFG`
- `reserve` the capacity for `edges` in `DepGraph::query`
- collect directly to a `HirVec` in `LoweringContext::lower_attrs`
- fix overallocation in `OnDiskCache::serialize`
- preallocate the `new_partitioning` vector in `merge_codegen_units`
- simplify `impl FromHex for str`
- improve the creation of `self_arg_names` in `impl MethodDef`
2018-11-18 23:24:33 +01:00
Pietro Albini
21ff709954
Rollup merge of #55564 - smaeul:test-fixes-2, r=alexcrichton
...
test/linkage-visibility: Ignore on musl targets
DynamicLibrary uses libc's dlsym() function internally to find symbols.
Some implementations of dlsym(), like musl's, only look at dynamically-
exported symbols, as found in shared libraries. To also export symbols
from the main executable, pass --export-dynamic to the linker.
(Plus see [here](https://stackoverflow.com/questions/4184017 ) and [here](https://stackoverflow.com/questions/6121838 ) for examples of where this is necessary on glibc as well.)
2018-11-18 23:24:32 +01:00
Pietro Albini
36e1d9f3ed
Rollup merge of #55562 - smaeul:powerpc-linux-musl, r=alexcrichton
...
Add powerpc- and powerpc64-unknown-linux-musl targets
Add targets for musl on 32-bit and 64-bit powerpc. This requires some ABI fixes, as musl [uses the ELFv2 ABI on regardless of endianness](http://git.musl-libc.org/cgit/musl/tree/configure?id=8084d6ab57cdb0b8f328d3cdbad3b9d09eaaee04#n638 ). At the moment, powerpc64 support requires [an LLVM patch](https://reviews.llvm.org/D52013 ) to select the correct ABI; or I can add [a patch to Rust's LLVM backend](e8eaa2afd5
) to always choose the right ABI.
Both architectures are able to run an extended bootstrap, and with some test fixes (e.g. #55561 ), there are no architecture-dependent test failures on powerpc64 (most failures in `src/test` are existing musl-host-related issues).
2018-11-18 23:24:31 +01:00
bors
a9b791b3c0
Auto merge of #55672 - RalfJung:miri-extern-types, r=eddyb
...
miri: accept extern types in structs if they are the only field
Fixes https://github.com/rust-lang/rust/issues/55541
Cc @oli-obk @eddyb https://github.com/rust-lang/rust/issues/43467
2018-11-18 22:19:53 +00:00
Артём Павлов [Artyom Pavlov]
6357021294
fix test
2018-11-19 01:01:06 +03:00
Артём Павлов [Artyom Pavlov]
6ad61b9c3b
tests
2018-11-18 23:14:52 +03:00
Niko Matsakis
a5b4cb2991
remove "approx env bounds" if we already know from trait
2018-11-18 15:00:34 -05:00
Артём Павлов [Artyom Pavlov]
126b71f690
revert
2018-11-18 21:39:23 +03:00
bors
13c9439925
Auto merge of #56017 - alexcrichton:debug-test, r=alexcrichton
...
std: Add debugging for a failing test on appveyor
I'm not sure why this is failing, so let's hopefully get some more
information to help investigation!
2018-11-18 17:27:45 +00:00
bors
d1c2cbf90a
Auto merge of #55999 - alexcrichton:update-cargo, r=nrc
...
Update Cargo submodule
Brings in some fixes and stabilizations!
2018-11-18 14:33:03 +00:00
Matthew Jasper
1d7fc0ca50
Simplify MIR drop generation
...
Now that EndRegion is gone, we don't need to create as many gotos.
2018-11-18 12:29:44 +00:00
Vadim Petrochenkov
38025e0dca
Fix rebase
2018-11-18 14:41:06 +03:00
Matthew Jasper
6027e0810f
Only handle ReVar regions in NLL borrowck
...
Now that lexical MIR borrowck is gone, there's no need to store Regions
unnecessarily.
2018-11-18 11:05:19 +00:00
Matthew Jasper
b16985a354
Remove mir::StatementKind::EndRegion
...
Since lexical MIR borrow check is gone, and validation no longer uses
these, they can be removed.
2018-11-18 11:05:19 +00:00
Vadim Petrochenkov
139d109241
Add a couple more tests + address review comments
2018-11-18 13:58:40 +03:00
Vadim Petrochenkov
59464709f7
resolve: Refactor away DeterminacyExt
2018-11-18 13:58:39 +03:00
Vadim Petrochenkov
a5f9bd02b1
resolve: Future-proof against imports referring to local variables and generic parameters
2018-11-18 13:58:39 +03:00
Vadim Petrochenkov
4fc3c13e32
resolve: Avoid sentence breaks in diagnostics
2018-11-18 13:58:36 +03:00
Vadim Petrochenkov
f492e9421f
resolve: Support resolving macros without leaving traces
2018-11-18 13:57:37 +03:00
Vadim Petrochenkov
0e8a97f8e7
resolve: Avoid marking extern crate
items as used in certain cases
2018-11-18 13:57:04 +03:00
Vadim Petrochenkov
8e88c3470a
resolve: Reintroduce feature gate for uniform paths in imports
2018-11-18 13:57:04 +03:00
Vadim Petrochenkov
a38f903114
Fix ICEs from imports of items not defined in modules
2018-11-18 13:57:03 +03:00
Vadim Petrochenkov
cfd762954b
resolve: Tweak some articles in ambiguity diagnostics
2018-11-18 13:57:03 +03:00
Vadim Petrochenkov
cfe81559ee
resolve: Recover "did you mean" suggestions in imports
2018-11-18 13:57:01 +03:00
Vadim Petrochenkov
4c5d822a8b
resolve: Check resolution consistency for import paths and multi-segment macro paths
2018-11-18 13:55:58 +03:00
Vadim Petrochenkov
07af4ec7a2
resolve: Resolve single-segment imports using in-scope resolution on 2018 edition
2018-11-18 13:51:43 +03:00
Vadim Petrochenkov
1cfd08c0c4
resolve: More precise determinacy tracking during import/macro resolution
2018-11-18 13:51:42 +03:00
Vadim Petrochenkov
f0ea1c6f1e
resolve: Improve diagnostics for resolution ambiguities
2018-11-18 13:51:40 +03:00
Vadim Petrochenkov
9d7d9ada6d
resolve: Simplify ambiguity checking for built-in attributes
2018-11-18 13:51:17 +03:00
Vadim Petrochenkov
e6739fe274
resolve: Resolve multi-segment imports using in-scope resolution on 2018 edition
2018-11-18 13:51:13 +03:00
Vadim Petrochenkov
67feeebfad
resolve: Stop generating uniform path canaries
2018-11-18 13:49:31 +03:00
Michal 'vorner' Vaner
cc63bd47ef
atomic::Ordering: Get rid of misleading parts of intro
...
Remove the parts of atomic::Ordering's intro that wrongly claimed that
SeqCst prevents all reorderings around it.
Closes #55196
2018-11-18 11:12:01 +01:00
Scott McMurray
cdb1a799f8
Add VecDeque::resize_with
2018-11-17 22:48:29 -08:00
Alex Crichton
7a99b6db15
std: Add debugging for a failing test on appveyor
...
I'm not sure why this is failing, so let's hopefully get some more
information to help investigation!
2018-11-17 19:38:53 -08:00
Oliver Scherer
eb18ddd8f4
Don't auto-inline const fn
2018-11-17 17:50:37 +01:00
Igor Matuszewski
5fc63ce480
docs: Add missing backtick in object_safety.rs docs
...
Closes #56019 .
2018-11-17 17:40:58 +01:00
Oliver Scherer
ef99b57b13
Refactor local monomorphization logic to be easier to comprehend
2018-11-17 15:05:12 +01:00
Ralf Jung
bcf82efe08
deallocate locals before validation, to catch dangling references
2018-11-17 14:54:39 +01:00
bors
f37247f885
Auto merge of #56003 - nikomatsakis:issue-54467-infer-outlives-bounds-and-trait-objects, r=eddyb
...
do not propagate inferred bounds on trait objects if they involve `Self`
Fixes #54467 , which is a Rust 2018 Release blocking issue.
r? @eddyb
2018-11-17 13:19:42 +00:00
Oliver Scherer
3d33d05c81
We're looking at the miri memory for constants instead of their initializers' MIR
2018-11-17 13:55:35 +01:00
Ralf Jung
1d808d106b
When popping in CTFE, perform validation before jumping to next statement to have a better span for the error
2018-11-17 13:50:04 +01:00
giacomo
8e13e433c6
tidy check fix
2018-11-17 12:28:04 +01:00
giacomo
2b7c3fb725
add test for #[test] attribute only allowed on non associated functions
2018-11-17 11:39:58 +01:00
csmoe
d93e5b04f4
reserve whitespaces between prefix and pipe
2018-11-17 17:57:17 +08:00
Ralf Jung
25d46f3091
add comment explaining why what we do is legal
2018-11-17 10:20:28 +01:00
Alex Crichton
01127ca666
Update Cargo submodule
...
Brings in some fixes and stabilizations!
2018-11-17 00:53:31 -08:00
Axary
5bfdcc1ab1
remove stray file with UI testing output
2018-11-17 09:36:56 +01:00
Ralf Jung
a7b312f825
erase the tag on casts involving (raw) pointers
2018-11-17 09:08:30 +01:00
Sergio Benitez
78eb516dda
Ignore non-semantic tokens for 'probably_eq' streams.
2018-11-16 23:37:23 -08:00