about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2018-12-03Retag needs to know whether this is a 2-phase-reborrowRalf Jung-58/+52
2018-12-03Auto merge of #56305 - RalfJung:miri, r=oli-obkbors-5/+19
update miri This should make miri green again :) (Includes https://github.com/solson/miri/pull/553) r? @oli-obk
2018-12-03update miriRalf Jung-5/+19
2018-12-03update miriRalf Jung-5/+5
2018-12-03Auto merge of #56394 - cuviper:interrupted-timeout, r=sfacklerbors-12/+28
Deal with EINTR in net timeout tests We've seen sporadic QE failures in the timeout tests on this assertion: assert!(kind == ErrorKind::WouldBlock || kind == ErrorKind::TimedOut); So there's an error, but not either of the expected kinds. Adding a format to show the kind revealed `ErrorKind::Interrupted` (`EINTR`). For the cases that were using `read`, we can just use `read_exact` to keep trying after interruption. For those using `recv_from`, we have to manually loop until we get a non-interrupted result.
2018-12-03Auto merge of #56358 - nikic:mergefunc-aliases, r=rkruppebors-10/+26
Enable -mergefunc-use-aliases If the Rust LLVM fork is used, enable the -mergefunc-use-aliases flag, which will create aliases for merged functions, rather than inserting a call from one to the other. A number of codegen tests needed to be adjusted, because functions that previously fell below the thunk limit are now being merged. Merging is prevented in various ways now. I expect that this is going to break something, somewhere, because it isn't able to deal with aliases properly, but we won't find out until we try :) This fixes #52651. r? @rkruppe
2018-12-02Auto merge of #56110 - varkor:inhabitedness-union-enum, r=cramertjbors-61/+105
Consider references and unions potentially inhabited during privacy-respecting inhabitedness checks It isn't settled exactly how references to uninhabited types and unions of uninhabited types should act, but we should be more conservative here, as it's likely it will be permitted to soundly have values of such types. This will also be more important in light of the changes at https://github.com/rust-lang/rust/pull/54125. cc @RalfJung
2018-12-02Auto merge of #56198 - bjorn3:cg_ssa_refactor, r=eddybbors-525/+536
Refactor rustc_codegen_ssa cc #56108 (not all things are done yet) This removes an unsafe method from cg_ssa. r? @eddyb cc @sunfishcode
2018-12-02Auto merge of #56275 - RalfJung:win-mutex, r=SimonSapinbors-11/+18
use MaybeUninit instead of mem::uninitialized for Windows Mutex I hope this builds, I do not have a Windows machine to test...
2018-12-02Run name-anon-globals after all other passesNikita Popov-4/+5
name-anon-globals should always be run at the very end of the pass pipeline, as optimization passes (in particular mergefunc) may introduce new anonymous globals. I believe we did not run into this earlier because it requires the rather specific combination of a) mergefunc merging two weak functions b) compilation not using thinlto.
2018-12-02avoid MaybeUninit::get_mut where it is not neededRalf Jung-2/+2
2018-12-02let FIXME refer to tracking issueRalf Jung-2/+2
2018-12-02no reason to use mutable references here at allRalf Jung-12/+4
2018-12-02Auto merge of #56378 - ljedrz:arena_tweaks, r=nagisabors-10/+14
arena: speed up TypedArena::clear and improve common patterns - speed up `TypedArena::clear`: improves its performance by up to **33%** (in case of a single entry) - simplify `DroplessArena::in_arena`
2018-12-02Auto merge of #56406 - nrc:update, r=kennytmbors-5/+19
Update RLS and Rustfmt Closes #56261
2018-12-02arena: improve common patternsljedrz-7/+2
2018-12-02Auto merge of #56396 - dlrobertson:fix_va_list_tests, r=nikicbors-174/+57
tests: Simplify VaList run-make test The va_list tests were too complex and were causing some spurious test failures on Windows. Example: https://github.com/rust-lang/rust/pull/55011#issuecomment-443211097
2018-12-01resolve: Support aliasing local crate root in extern preludeVadim Petrochenkov-10/+89
2018-12-02Update RLS and RustfmtNick Cameron-5/+19
Closes #56261
2018-12-01Auto merge of #56165 - RalfJung:drop-glue-type, r=eddyb,nikomatsakisbors-52/+80
drop glue takes in mutable references, it should reflect that in its type When drop glue begins, it should retag, like all functions taking references do. But to do that, it needs to take the reference at a proper type: `&mut T`, not `*mut T`. Failing to retag can mean that the memory the reference points to remains frozen, and `EscapeToRaw` on a frozen location is a NOP, meaning later mutations cause a Stacked Borrows violation. Cc @nikomatsakis @Gankro because Stacked Borrows Cc @eddyb for the changes to miri argument passing (the intention is to allow passing `*mut [u8]` when `&mut [u8]` is expected and vice versa)
2018-11-30Deal with EINTR in net timeout testsJosh Stone-12/+28
We've seen sporadic QE failures in the timeout tests on this assertion: assert!(kind == ErrorKind::WouldBlock || kind == ErrorKind::TimedOut); So there's an error, but not either of the expected kinds. Adding a format to show the kind revealed `ErrorKind::Interrupted` (`EINTR`). For the cases that were using `read`, we can just use `read_exact` to keep trying after interruption. For those using `recv_from`, we have to manually loop until we get a non-interrupted result.
2018-11-30ci: Only run compare-mode tests on one builderAlex Crichton-2/+13
The run-pass test suite currently takes 30 minutes on Windows, and that appears to be roughly split between two 15 minute runs of the test suite: one without NLL and one with NLL. In discussion on Discord the platform coverage of the NLL compare mode may not necessarily be worth it, so this commit removes the NLL compare mode from tests by default, and then reenables it on only one builder.
2018-11-30tests: Simplify VaList run-make testDan Robertson-174/+57
The va_list tests were too complex and were causing some spurious test failures on Windows
2018-12-01Rollup merge of #56214 - scalexm:unification, r=nikomatsakiskennytm-151/+985
Implement chalk unification routines `ResolventOps` and `AggregateOps` are mostly straightforwardly translated from chalk. I had caught a few bugs already in my `chalk` branch and backported fixes to this branch, but there may be other ones left. EDIT: I hope there are none left now :) Fixes #54935.
2018-12-01Rollup merge of #56337 - phansch:fix_const_ice, r=oli-obkkennytm-122/+165
Fix const_fn ICE with non-const function pointer Fixes #56164
2018-12-01Rollup merge of #56324 - Zoxc:int-ext, r=nikomatsakiskennytm-111/+157
Use raw_entry for more efficient interning Fixes https://github.com/rust-lang/rust/issues/56308#issuecomment-442492744
2018-12-01Rollup merge of #55011 - vi:panic_immediate_abort, r=alexcrichtonkennytm-5/+45
Add libstd Cargo feature "panic_immediate_abort" It stop asserts and panics from libstd to automatically include string output and formatting code. Use case: developing static executables smaller than 50 kilobytes, where usual formatting code is excessive while keeping debuggability in debug mode. May resolve #54981.
2018-12-01Rollup merge of #56365 - alexreg:stabilise-self_struct_ctor, r=Centrilkennytm-141/+29
Stabilize self_struct_ctor feature. [**Tracking Issue**](https://github.com/rust-lang/rust/issues/51994)
2018-12-01Rollup merge of #56373 - steveklabnik:update-books, r=Mark-Simulacrumkennytm-0/+1
Update books This pulls in @Gankro 's final nomicon changes, and adds the edition guide as a submodule. This is the final doc backport to beta for 1.31, as well.
2018-12-01Rollup merge of #56367 - alexreg:move-feature-gate-tests-1, r=Centrilkennytm-0/+0
Moved some feature gate tests to correct location I evidently need to create some sort of GitHub monitor tool that yells at people when they do this in their PRs. ;-) r? @centril
2018-12-01Rollup merge of #56364 - dlrobertson:fix_55903, r=oli-obkkennytm-1/+1
Fix panic with outlives in existential type Don't panic in determining the privacy of a type if a lifetime outlives generic exists in an existential type. r? @oli-obk Fixes: #55903
2018-12-01Rollup merge of #56360 - alexcrichton:linkchecker-omg, r=pietroalbinikennytm-19/+19
Optimize local linkchecker program I noticed on a [recent build][1] that the linkchecker stage of CI took a whopping 15 minutes of CI time for something that should be near instantaneous. Some local profiling showed some very hot functions and clones which were pretty easy to remove, and now instead of running in minutes locally it runs in seconds. [1]: https://ci.appveyor.com/project/rust-lang/rust/build/job/kptifw1kb1nm4xuu
2018-12-01Rollup merge of #56355 - Zoxc:inline-things, r=michaelwoeristerkennytm-1/+57
Add inline attributes and add unit to CommonTypes
2018-12-01Rollup merge of #56349 - davidtwco:issue-55396-inference-extension, r=nagisakennytm-1/+5
rustc 1.30.0's linker flavor inference is a non-backwards compat change to -Clinker Part of #55396. This commit modifies linker flavor inference to only remove the extension to the linker when performing inference if that extension is a 'exe'. r? @nagisa cc @alexcrichton @japaric
2018-12-01Rollup merge of #56341 - frewsxcv:frewsxcv-util-cstr, r=Mark-Simulacrumkennytm-26/+14
Rename conversion util; remove duplicate util in librustc_codegen_llvm.
2018-12-01Rollup merge of #56339 - yui-knk:remove_mir_stats_flag, r=alexcrichtonkennytm-2/+0
Remove not used option `mir_stats` has not been used since 2b32cb90c72d90c722d56324ca0ea9f748ebf4e1.
2018-12-01Rollup merge of #56336 - nnethercote:clean-up-pp, r=nikomatsakiskennytm-232/+254
Clean up and streamline the pretty-printer Some minor improvements.
2018-12-01Rollup merge of #56268 - nnethercote:fold_opt_expr-recycle, r=petrochenkovkennytm-39/+73
Reuse the `P` in `InvocationCollector::fold_{,opt_}expr`. This requires adding a new method, `P::filter_map`. This commit reduces instruction counts for various benchmarks by up to 0.7%.
2018-12-01Rollup merge of #56216 - SimonSapin:array-tryfrom-slice, r=withoutboatskennytm-0/+87
Add TryFrom<&[T]> for [T; $N] where T: Copy `TryFrom<&[T]> for &[T; $N]` (note *reference* to an array) already exists, but not needing to dereference makes type inference easier for example when using `u32::from_be_bytes`. Also add doc examples doing just that.
2018-12-01Rollup merge of #56131 - ljedrz:assorted, r=RalfJungkennytm-1/+3
Assorted tweaks - preallocate `VecDeque` in `Decodable::decode` (as it is done with other collections which can do it) - add a FIXME to `String::from_utf16` r? @RalfJung
2018-12-01Rollup merge of #56014 - euclio:issue-21335, r=nagisakennytm-0/+5
add test for issue #21335 Running this test with LLVM assertions enabled doesn't seem to trigger an assertion on my Mac. Fixes #21335.
2018-12-01Rollup merge of #55821 - ljedrz:cached_key_sorts, r=michaelwoeristerkennytm-3/+3
Use sort_by_cached_key when the key function is not trivial/free I'm not 100% sure about `def_path_hash` (everything it does is inlined) but it seems like a good idea at least for the rest, as they are cloning.
2018-11-30Moved feature-gate tests to correct dir.Alexander Regueiro-0/+0
2018-11-30Updated ui tests.Alexander Regueiro-4/+3
2018-11-30Removed feature gate.Alexander Regueiro-138/+7
2018-11-30arena: speed up TypedArena::clearljedrz-3/+12
2018-11-30Add the edition guide to doc.rust-lang.orgSteve Klabnik-0/+1
2018-11-30update nomiconSteve Klabnik-0/+0
2018-11-30Pacify tidyPhilipp Hansch-9/+9
2018-11-30Fix const_fn ICE with non-const function pointerPhilipp Hansch-122/+165