about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2020-05-05refactor: simplifyMarkus Westerlind-15/+14
2020-05-05Prevent modifications without an undo logMarkus Westerlind-25/+25
2020-05-05Fix importMarkus Westerlind-1/+1
2020-05-05refactor: Extract the undo log to its own modulesMarkus Westerlind-230/+272
2020-05-05refactor: Rename Logs to InferCtxtUndoLogsMarkus Westerlind-23/+42
2020-05-05simplifyMarkus Westerlind-20/+6
2020-05-05perf: Merge region_obligations snapshotting into the undo logMarkus Westerlind-21/+23
2020-05-05perf: Limit leak check snapshotting to probe_maybe_skip_leak_checkMarkus Westerlind-8/+5
2020-05-05perf: Lazily recive the Rollback argument in rollback_toMarkus Westerlind-10/+17
2020-05-05perf: Separate CombinedSnapshot into a FullSnapshot for probingMarkus Westerlind-19/+33
2020-05-05Move projection_cache into the combined undo logMarkus Westerlind-42/+78
2020-05-05Allow SnapshotMap to have a separate undo_logMarkus Westerlind-96/+62
2020-05-05Move region_constraint to the unified undo logMarkus Westerlind-166/+183
2020-05-05perf: Reduce snapshot/rollback overheadMarkus Westerlind-189/+516
By merging the undo_log of all structures part of the snapshot the cost of creating a snapshot becomes much cheaper. Since snapshots with no or few changes are so frequent this ends up mattering more than the slight overhead of dispatching on the variants that map to each field.
2020-05-05Allow `hir().find` to return `None`John Kåre Alsaker-18/+18
2020-05-05Rollup merge of #71904 - euclio:function-typo, r=jonas-schievinkDylan DPC-3/+3
fix typo in function name Drive-by fix.
2020-05-05Rollup merge of #71902 - mibac138:const-feature-diag, r=varkorDylan DPC-0/+70
Suggest to add missing feature when using gated const features Fixes #71797
2020-05-05Rollup merge of #71892 - integer32llc:btreemap-entry-vacant-docs, ↵Dylan DPC-6/+5
r=jonas-schievink Update btree_map::VacantEntry::insert docs to actually call insert It looks like they were copied from the `or_insert` docs. This change makes the example more like the hash_map::VacantEntry::insert docs.
2020-05-05Rollup merge of #71891 - lcnr:not-iter-any, r=Dylan-DPCDylan DPC-1/+1
¬∃x. ¬y => ∀x. y
2020-05-05Rollup merge of #71883 - Dante-Broggi:patch-1, r=Dylan-DPCDylan DPC-1/+1
add a missing "at" in a comment
2020-05-05Rollup merge of #71881 - IsaacWoods:master, r=petrochenkovDylan DPC-1/+3
Correctly handle UEFI targets as Windows-like when emitting sections for LLVM bitcode This handles UEFI handles when emitting inline assembly for sections containing LLVM bitcode. See details in #71880. I have locally confirmed that this change fixes compilation of projects using the `x86_64-unknown-uefi` target compiling with `cargo-xbuild`, but I am not very familiar with LLVM bitcode so this may not be the correct approach. r? @alexcrichton as they wrote the initial LLVM bitcode emitting code?
2020-05-05Rollup merge of #71878 - main--:patch-2, r=AmanieuDylan DPC-0/+25
Add remove_current_as_list to LinkedList's CursorMut The `remove_current` method only returns the inner `T` and deallocates the list node. This is unnecessary for move operations, where the element is going to be linked back into this (or even a different) `LinkedList`. The `remove_current_as_list` method avoids this by returning the unlinked list node as a new single-element `LinkedList` structure. (per https://github.com/rust-lang/rust/issues/58533#issuecomment-623010157)
2020-05-05Rollup merge of #71845 - steveklabnik:add-const-examples, r=dtolnayDylan DPC-2/+318
Add const examples I only added them to `std::f32` to get feedback on this approach before adding the other constants. When looking at https://github.com/rust-lang/rust/pull/68952, I found the docs a little confusing. Unless you're intimately aware of what's going on here, I don't think it's super clear what is deprecated and what you're supposed to do instead. I think short examples really clarify what's meant here, so that's what I did.
2020-05-05Rollup merge of #71711 - Mark-Simulacrum:deignore-tests, r=nikomatsakisDylan DPC-34/+7
Updates to some ignored tests This removes or fixes some ignored test cases. cc #13745
2020-05-05Rollup merge of #71587 - matthewjasper:promoted-move-errors, r=nikomatsakisDylan DPC-6/+93
Report cannot move errors in promoted MIR Closes #70934
2020-05-04fix typo in function nameAndy Russell-3/+3
2020-05-04Suggest to add missing feature when using gated const featuresmibac138-0/+70
2020-05-04Update btree_map::VacantEntry::insert docs to actually call insertCarol (Nichols || Goulding)-6/+5
It looks like they were copied from the `or_insert` docs. This change makes the example more like the hash_map::VacantEntry::insert docs.
2020-05-04double negBastian Kauschke-1/+1
2020-05-04Auto merge of #71879 - Dylan-DPC:rollup-n05awny, r=Dylan-DPCbors-31/+185
Rollup of 5 pull requests Successful merges: - #71038 (forbid `dyn Trait` in patterns) - #71697 (Added MIR constant propagation of Scalars into function call arguments) - #71773 (doc: misc rustdoc things) - #71810 (Do not try to find binop method on RHS `TyErr`) - #71877 (Use f64 in f64 examples) Failed merges: r? @ghost
2020-05-04add a missing wordDante Broggi-1/+1
2020-05-04Correctly handle UEFI targets as Windows-like when emitting sections for ↵Isaac Woods-1/+3
LLVM bitcode
2020-05-04Rollup merge of #71877 - steveklabnik:small-example-fix, r=Mark-SimulacrumDylan DPC-2/+2
Use f64 in f64 examples I believe that this is a copy/paste error; this example was using f32, but it's the docs for f64.
2020-05-04Rollup merge of #71810 - estebank:issue-71798, r=davidtwcoDylan DPC-1/+28
Do not try to find binop method on RHS `TyErr` Fix #71798.
2020-05-04Rollup merge of #71773 - tshepang:links, r=davidtwcoDylan DPC-5/+5
doc: misc rustdoc things
2020-05-04Rollup merge of #71697 - felix91gr:new_prop_into_fn_call, r=wesleywiserDylan DPC-10/+81
Added MIR constant propagation of Scalars into function call arguments Now for the function call arguments! Caveats: 1. It's only being enabled at `mir-opt-2` or higher, because currently codegen gives performance regressions with this optimization. 2. Only propagates Scalars. Tuples and references (references are `Indirect`, right??) are not being propagated into as of this PR. 3. Maybe more tests would be nice? 4. I need (shamefully) to ask @wesleywiser to write in his words (or explain to me, and then I can write it down) why we want to ignore propagation into `ScalarPairs` and `Indirect` arguments. r? @wesleywiser
2020-05-04Rollup merge of #71038 - lcnr:dyn_trait_structural_match, r=pnkfelixDylan DPC-13/+69
forbid `dyn Trait` in patterns Do not allow `&dyn Trait` as a generic const parameters. This also changes dyn trait in pattern from ICE to error. closes #63322 closes #70972 r? @eddyb
2020-05-04Auto merge of #71754 - alexcrichton:no-bitcode-in-cache, r=nnethercotebors-45/+19
Don't copy bytecode files into the incr. comp. cache. It's no longer necessary now that bitcode is embedded into object files. This change meant that `WorkProductFileKind::Bytecode` is no longer necessary, which means that type is no longer necessary, which allowed several places in the code to become simpler. This commit was written by @nnethercote in https://github.com/rust-lang/rust/pull/70458 but that didn't land. In the meantime though we managed to land it in https://github.com/rust-lang/rust/pull/71528 and that doesn't seem to be causing too many fires, so I'm re-sending this patch!
2020-05-04whoopsmain()-1/+1
2020-05-04Add remove_current_as_list to LinkedList's CursorMutmain()-0/+25
The `remove_current` method only returns the inner `T` and deallocates the list node. This is unnecessary for move operations, where the element is going to be linked back into this (or even a different) `LinkedList`. The `remove_current_as_list` method avoids this by returning the unlinked list node as a new single-element `LinkedList` structure .
2020-05-04Use f64 in f64 examplesSteve Klabnik-2/+2
I believe that this is a copy/paste error; this example was using f32, but it's the docs for f64.
2020-05-04Add examples to int macrosSteve Klabnik-2/+24
2020-05-04f64 examplesSteve Klabnik-0/+147
2020-05-04correct -> intendedSteve Klabnik-14/+14
2020-05-04add some whitespaceSteve Klabnik-0/+7
2020-05-04Add examples for std::f32 constants.Steve Klabnik-0/+140
And also point people to use the associated constants of f32 instead.
2020-05-04Auto merge of #71751 - oli-obk:const_ice, r=RalfJungbors-12/+40
Move recursion check for zsts back to read site instead of access check site Reverts https://github.com/rust-lang/rust/pull/71140#discussion_r413709446 Fix #71612 Fix #71709 r? @RalfJung
2020-05-04Auto merge of #71108 - estebank:suggest-proj-type-mismatch-constraint, r=oli-obkbors-136/+859
On type mismatch involving associated type, suggest constraint When an associated type is found when a specific type was expected, if possible provide a structured suggestion constraining the associated type in a bound. ``` error[E0271]: type mismatch resolving `<T as Foo>::Y == i32` --> $DIR/associated-types-multiple-types-one-trait.rs:13:5 | LL | want_y(t); | ^^^^^^ expected `i32`, found associated type ... LL | fn want_y<T:Foo<Y=i32>>(t: &T) { } | ----- required by this bound in `want_y` | = note: expected type `i32` found associated type `<T as Foo>::Y` help: consider constraining the associated type `<T as Foo>::Y` to `i32` | LL | fn have_x_want_y<T:Foo<X=u32, Y = i32>>(t: &T) | ^^^^^^^^^ ``` ``` error[E0308]: mismatched types --> $DIR/trait-with-missing-associated-type-restriction.rs:12:9 | LL | qux(x.func()) | ^^^^^^^^ expected `usize`, found associated type | = note: expected type `usize` found associated type `<impl Trait as Trait>::A` help: consider constraining the associated type `<impl Trait as Trait>::A` to `usize` | LL | fn foo(x: impl Trait<A = usize>) { | ^^^^^^^^^^ ``` Fix #71035. Related to #70908.
2020-05-04Auto merge of #71866 - Dylan-DPC:rollup-g9xqc8k, r=Dylan-DPCbors-44/+50
Rollup of 4 pull requests Successful merges: - #71645 (Direct contributors to try stage 0 rustdoc first) - #71801 (Correctly check comparison operator in MIR typeck) - #71844 (List Clippy as a subtree, instead of a submodule) - #71864 (Update link in contributing.md) Failed merges: r? @ghost
2020-05-03review comment: use early returnEsteban Küber-10/+19