about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2019-03-05core: ensure VaList passes improper_ctypes lintDan Robertson-7/+7
Ensure the core::ffi::VaList structure passes the improper_ctypes lint.
2019-03-05fixes rust-lang#52482Saleem Jaffer-47/+32
2019-03-05Unrolled await macro.Giles Cope-6/+6
Was then able to the minimise the reproduction a little further.
2019-03-05Move alloc::prelude::* to alloc::prelude::v1, make alloc a subset of stdSimon Sapin-10/+17
This was one of the unresolved questions of https://github.com/rust-lang/rfcs/pull/2480. As the RFC says this is maybe not useful in the sense that we are unlikely to ever have a second version, but making the crate a true subset makes one less issue to think about if we stabilize it and later want to merge standard library crates and have Cargo feature flags to enable or disable parts of the `std` crate. See also discussion in https://github.com/rust-lang/rust/pull/58175
2019-03-05Auto merge of #58423 - nox:relax-bounds-buf-reader, r=dtolnaybors-0/+2
Relax Read bounds on a bunch of BufReader<R> methods
2019-03-04Elide invalid method receiver error when it contains TyErrEsteban Küber-1/+33
Fix #58712.
2019-03-05Use Ident for projectJohn Kåre Alsaker-4/+3
2019-03-05Add librustc, libsyntax to rust-src distribution.Taeguk Kwon-0/+2
2019-03-04Make the lifetime parameters of tcx consistent.Gabriela Alexandra Moldovan-4/+4
2019-03-05Add ignore and project attributesJohn Kåre Alsaker-5/+61
2019-03-05Encode proc macro stabilityJohn Kåre Alsaker-2/+7
2019-03-05Bootstrap changesJohn Kåre Alsaker-36/+96
2019-03-05Allow linking to a proc macro on the target in metadata and still use a host ↵John Kåre Alsaker-56/+122
proc macro to execute them
2019-03-05Create a derive macro for HashStableJohn Kåre Alsaker-7/+63
2019-03-04Add as_slice() to slice::IterMut and vec::DrainJosh Stone-0/+51
In bluss/indexmap#88, we found that there was no easy way to implement `Debug` for our `IterMut` and `Drain` iterators. Those are built on `slice::IterMut` and `vec::Drain`, which implement `Debug` themselves, but have no other way to access their data. With a new `as_slice()` method, we can read the data and customize its presentation.
2019-03-04Fix rebase and move suggestion to its own methodEsteban Küber-29/+46
2019-03-04Add an explicit test for issue #50582Josh Stone-0/+15
This code no longer ICEs, and @yodaldevoid found that it was fixed by commit fe5710a. While that added a similar test, we can explicitly test this reproducer too. Closes #50582.
2019-03-04Add fixmeEsteban Küber-3/+4
2019-03-04On return type `impl Trait` for block with no expr point at last semiEsteban Küber-5/+47
2019-03-04Regression test added for an async ICE.Giles Cope-0/+27
2019-03-04Use early unwraps instead of bubbling up errors just to unwrap in the endOliver Scherer-44/+30
2019-03-04Use bit operations for setting large ranges of bits in a u64Oliver Scherer-18/+35
2019-03-04Use a more general approach for setting large definedness rangesOliver Scherer-25/+45
2019-03-04Test the `UndefMask` typeOliver Scherer-0/+26
2019-03-04Don't try to copy relocations if there are noneOliver Scherer-17/+22
2019-03-04No magic numbersOliver Scherer-1/+1
2019-03-04Optimize copying large ranges of undefmask blocksOliver Scherer-9/+58
2019-03-04Fix typoEdward Barnard-1/+1
2019-03-04Add test for the behaviour of `fs::copy` when `to` is a symlinkEdward Barnard-0/+20
2019-03-04Change `std::fs::copy` to use `copyfile` on MacOS and iOSEdward Barnard-2/+88
2019-03-04Regression test for #58435.Felix S. Klock II-0/+17
2019-03-04Make the Entry API of HashMap<K, V> Sync and Send (fixes #45219)Anthony Ramine-0/+11
2019-03-04Update rand versionYuki Okushi-1/+1
2019-03-04Auto merge of #58380 - estebank:missing-match-pats, r=zackmdavisbors-96/+401
Point at enum definition when match patterns are not exhaustive ``` error[E0004]: non-exhaustive patterns: type `X` is non-empty --> file.rs:9:11 | 1 | / enum X { 2 | | A, | | - variant not covered 3 | | B, | | - variant not covered 4 | | C, | | - variant not covered 5 | | } | |_- `X` defined here ... 9 | match x { | ^ | = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: `B` and `C` not covered --> file.rs:11:11 | 1 | / enum X { 2 | | A, 3 | | B, 4 | | C, | | - not covered 5 | | } | |_- `X` defined here ... 11 | match x { | ^ patterns `C` not covered ``` When a match expression doesn't have patterns covering every variant, point at the enum's definition span. On a best effort basis, point at the variant(s) that are missing. This does not handle the case when the missing pattern is due to a field's enum variants: ``` enum E1 { A, B, C, } enum E2 { A(E1), B, } fn foo() { match E2::A(E1::A) { E2::A(E1::B) => {} E2::B => {} } //~^ ERROR `E2::A(E1::A)` and `E2::A(E1::C)` not handled } ``` Unify look between match with no arms and match with some missing patterns. Fix #37518.
2019-03-04Auto merge of #58807 - Xanewok:update-clippy, r=Xanewokbors-5/+8
Update Clippy Should fix the fallout caused by https://github.com/rust-lang/rust/pull/58321 (still testing it locally). r? @oli-obk
2019-03-03Permit getting stage 0 rustdocMark Rousskov-20/+21
This allows us to e.g. test compiletest, including doctests, in stage 0 without building a fresh compiler and rustdoc.
2019-03-03Tools built by the bootstrap compiler must be built by itMark Rousskov-42/+78
This avoids building compilers that we don't need -- most tools will work just fine with the downloaded compiler.
2019-03-03Update ClippyIgor Matuszewski-5/+8
2019-03-03Auto merge of #58505 - schomatis:fix/nll/remove-live-var, r=matthewjasperbors-267/+179
[NLL] Remove `LiveVar` The `LiveVar` type (and related) made it harder to reason about the code. It seemed as an abstraction that didn't bring any useful concept to the reader (when transitioning from the RFC theory to the actual implementation code). It achieved a compactness in the vectors storing the def/use/drop information that was related only to the `LocalUseMap`. This PR went in the other direction and favored time over memory (but this decision can be easily reverted to the other side without reintroducing `LiveVar`). What this PR aims at is to clarify that there's no significant transformation between the MIR `Local` and the `LiveVar` (now refactored as `live_locals: Vec<Local>`): we're just filtering (not mapping) the entire group of `Local`s into a meaningful subset that we should perform the liveness analysis on. As a side note, there is no guarantee that the liveness analysis is performed only on (what the code calls) "live" variables, if the NLL facts are requested it will be performed on *any* variable so there can't be any assumptions on that regard. (Still, this PR didn't change the general naming convention to reduce the number of changes here and streamline the review process). **Acceptance criteria:** This PR attempts to do only a minor refactoring and not to change the logic so it can't have any performance impact, particularly, it can't lose any of the significant performance improvement achieved in the great work done in https://github.com/rust-lang/rust/pull/52115. r? @nikomatsakis
2019-03-03Add .nll.stderr outputTim-0/+39
2019-03-04Monomorphize generator field types for debuginfoWim Looman-0/+28
2019-03-03Use the correct state for poisoning a generatorMatthew Jasper-13/+42
2019-03-03Don't incorrectly mark blocks in generator drop shims as cleanupMatthew Jasper-24/+65
This also ensure that dropping a generator won't leak upvars if dropping one of them panics
2019-03-03Check which blocks are cleanup in mir-opt testsMatthew Jasper-23/+22
2019-03-03race condition in thread local storage examplebenaryorg-1/+4
The example had a potential race condition that would still pass the test. If the thread which was supposed to modify it's own thread local was slower than the instruction to modify in the main thread, then the test would pass even in case of a failure. This is would be minor if the child thread was waited for since it check using an `assert_eq` for the same thing, but vice versa. However, if the `assert_eq` failed this would trigger a panic, which is not at all caught by the example since the thread is not waited on. Signed-off-by: benaryorg <binary@benary.org>
2019-03-03Auto merge of #58425 - wesleywiser:more_profiler_changes, r=michaelwoeristerbors-372/+342
[self-profiler] Make the profiler faster/more efficient Related to #58372 r? @michaelwoerister
2019-03-03Auto merge of #58673 - matthewjasper:typeck-ptr-coercions, r=pnkfelixbors-16/+408
[NLL] Type check operations with pointer types It seems these were forgotten about. Moving to `Rvalue::AddressOf` simplifies the coercions from references, but I want this to be fixed as soon as possible. r? @pnkfelix
2019-03-03Use FxHashMapWesley Wiser-3/+4
2019-03-03Reduce the size of events by using a u64 instead of InstantWesley Wiser-37/+37
Part of #58372
2019-03-03Remove profiler output and replace with a raw event dumpWesley Wiser-329/+271
Related to #58372