Commit Graph

119725 Commits

Author SHA1 Message Date
Dylan DPC
3efcba693a
Rollup merge of #71897 - alexcrichton:embed-bitcode-docs, r=nnethercote
Improve docs for embed-bitcode and linker-plugin-lto

Follow-up from #71716 I wasn't able to add in time.
2020-05-05 12:55:13 +02:00
Dylan DPC
67a7b7a329
Rollup merge of #71894 - mibac138:semicolon-not-always-helpful, r=estebank
Suggest removing semicolon in last expression only if it's type is known

Fixes #67971

Is there a syntax for explicitly checking if a note doesn't exist in test output? Something like `//~ !NOTE ...`

I believe r? @estebank deals with diagnostics.
2020-05-05 12:55:11 +02:00
Dylan DPC
a49d2b7a74
Rollup merge of #71830 - oli-obk:subrepo_funness, r=Mark-Simulacrum
Remove clippy from some leftover lists of "possibly failing" tools

https://github.com/rust-lang/rust/pull/70655 successfully made clippy get built and tested on CI on every merge, but the lack of emitted toolstate info caused the toolstate to get updated to test-fail. We should remove clippy entirely from toolstate, as it now is always test-pass.

The changes made in this PR reflect what we do for `rustdoc`, which is our preexisting tool that is gated on CI.

r? @Mark-Simulacrum
2020-05-05 12:55:09 +02:00
Dylan DPC
12fc1e0fa5
Rollup merge of #69984 - lenary:lenary/force-uwtables, r=hanna-kruppe
Add Option to Force Unwind Tables

When panic != unwind, `nounwind` is added to all functions for a target.
This can cause issues when a panic happens with RUST_BACKTRACE=1, as
there needs to be a way to reconstruct the backtrace. There are three
possible sources of this information: forcing frame pointers (for which
an option exists already), debug info (for which an option exists), or
unwind tables.

Especially for embedded devices, forcing frame pointers can have code
size overheads (RISC-V sees ~10% overheads, ARM sees ~2-3% overheads).
In production code, it can be the case that debug info is not kept, so it is useful
to provide this third option, unwind tables, that users can use to
reconstruct the call stack. Reconstructing this stack is harder than
with frame pointers, but it is still possible.

---

This came up in discussion on #69890, and turned out to be a fairly simple addition.

r? @hanna-kruppe
2020-05-05 12:55:08 +02:00
Josh Stone
3857506be5
backport 1.43.1 release notes 2020-05-05 11:55:07 +02:00
Markus Westerlind
3f85338f3f Restore the snapshot/rollback optimization for region constraints 2020-05-05 11:25:12 +02:00
Markus Westerlind
f7f62452e4 refactor: Replace probe_fudge by an explict call for the lengths 2020-05-05 11:25:12 +02:00
Markus Westerlind
4a2a6bcfb1 refactor: Move probe_fudge into fudge.rs 2020-05-05 11:25:12 +02:00
Markus Westerlind
6f495f3466 Improve naming 2020-05-05 11:25:12 +02:00
Markus Westerlind
0d448cfcf8 Generate the UndoLog upcasts with a macro 2020-05-05 11:25:12 +02:00
Markus Westerlind
bc2fc7fb80 Fix review comments 2020-05-05 11:25:12 +02:00
Markus Westerlind
b61a28b2a1 Rebase and use ena 0.14 2020-05-05 11:25:12 +02:00
Markus Westerlind
fba241fc66 refactor: simplify 2020-05-05 11:25:12 +02:00
Markus Westerlind
729d16f010 Prevent modifications without an undo log 2020-05-05 11:25:12 +02:00
Markus Westerlind
6e06535468 Fix import 2020-05-05 11:24:58 +02:00
Markus Westerlind
204c9154e2 refactor: Extract the undo log to its own modules 2020-05-05 11:24:36 +02:00
Markus Westerlind
bc7f7b2d4d refactor: Rename Logs to InferCtxtUndoLogs 2020-05-05 11:24:36 +02:00
Markus Westerlind
e6d7f1584d simplify 2020-05-05 11:24:36 +02:00
Markus Westerlind
f45d852dcc perf: Merge region_obligations snapshotting into the undo log 2020-05-05 11:24:36 +02:00
Markus Westerlind
04f5d54d13 perf: Limit leak check snapshotting to probe_maybe_skip_leak_check 2020-05-05 11:24:36 +02:00
Markus Westerlind
eb7ed0c917 perf: Lazily recive the Rollback argument in rollback_to 2020-05-05 11:24:36 +02:00
Markus Westerlind
a457566154 perf: Separate CombinedSnapshot into a FullSnapshot for probing 2020-05-05 11:24:23 +02:00
Markus Westerlind
0c5d833812 Move projection_cache into the combined undo log 2020-05-05 11:24:23 +02:00
Markus Westerlind
c50fc6e113 Allow SnapshotMap to have a separate undo_log 2020-05-05 11:24:22 +02:00
Markus Westerlind
caacdd2024 Move region_constraint to the unified undo log 2020-05-05 11:23:54 +02:00
Markus Westerlind
1506b1fc6a perf: Reduce snapshot/rollback overhead
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-05 10:03:13 +02:00
John Kåre Alsaker
61621e2667 Allow hir().find to return None 2020-05-05 10:03:13 +02:00
Ralf Jung
f9866f95af rely on rdlock/wrlock not returning anything but the specified error codes 2020-05-05 09:08:00 +02:00
bors
de27cd7649 Auto merge of #71846 - petrochenkov:fresh2, r=davidtwco
resolve: Relax fresh binding disambiguation slightly to fix regression

Fixes https://github.com/rust-lang/rust/issues/71765
2020-05-05 06:01:08 +00:00
bors
04689e22e9 Auto merge of #71907 - Dylan-DPC:rollup-z8iaqlv, r=Dylan-DPC
Rollup of 10 pull requests

Successful merges:

 - #71587 (Report cannot move errors in promoted MIR)
 - #71711 (Updates to some ignored tests)
 - #71845 (Add const examples)
 - #71878 (Add remove_current_as_list to LinkedList's CursorMut)
 - #71881 (Correctly handle UEFI targets as Windows-like when emitting sections for LLVM bitcode)
 - #71883 (add a missing "at" in a comment)
 - #71891 (¬∃x. ¬y => ∀x. y)
 - #71892 (Update btree_map::VacantEntry::insert docs to actually call insert)
 - #71902 (Suggest to add missing feature when using gated const features)
 - #71904 (fix typo in function name)

Failed merges:

r? @ghost
2020-05-05 02:51:41 +00:00
mibac138
ca72352e60 Suggest removing semicolon in last expression only if it's type is known 2020-05-05 02:08:26 +02:00
Dylan DPC
8b781b0ffd
Rollup merge of #71904 - euclio:function-typo, r=jonas-schievink
fix typo in function name

Drive-by fix.
2020-05-05 01:49:52 +02:00
Dylan DPC
ad74ce9d04
Rollup merge of #71902 - mibac138:const-feature-diag, r=varkor
Suggest to add missing feature when using gated const features

Fixes #71797
2020-05-05 01:49:51 +02:00
Dylan DPC
ac84daf930
Rollup merge of #71892 - integer32llc:btreemap-entry-vacant-docs, 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-05 01:49:49 +02:00
Dylan DPC
a93cc0664f
Rollup merge of #71891 - lcnr:not-iter-any, r=Dylan-DPC
¬∃x. ¬y => ∀x. y
2020-05-05 01:49:48 +02:00
Dylan DPC
4b0b6e357b
Rollup merge of #71883 - Dante-Broggi:patch-1, r=Dylan-DPC
add a missing "at" in a comment
2020-05-05 01:49:46 +02:00
Dylan DPC
c1b2fd2121
Rollup merge of #71881 - IsaacWoods:master, r=petrochenkov
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-05 01:49:44 +02:00
Dylan DPC
faccb0f07a
Rollup merge of #71878 - main--:patch-2, r=Amanieu
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-05 01:49:43 +02:00
Dylan DPC
db7b38181c
Rollup merge of #71845 - steveklabnik:add-const-examples, r=dtolnay
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-05 01:49:41 +02:00
Dylan DPC
04776b15a7
Rollup merge of #71711 - Mark-Simulacrum:deignore-tests, r=nikomatsakis
Updates to some ignored tests

This removes or fixes some ignored test cases.

cc #13745
2020-05-05 01:49:37 +02:00
Dylan DPC
4bde46e0e3
Rollup merge of #71587 - matthewjasper:promoted-move-errors, r=nikomatsakis
Report cannot move errors in promoted MIR

Closes #70934
2020-05-05 01:49:32 +02:00
mibac138
b83853d617 Add command aliases from Cargo to x.py commands 2020-05-05 00:37:50 +02:00
Andy Russell
36f51f97c7
fix typo in function name 2020-05-04 18:27:23 -04:00
mibac138
73867365a8 Suggest to add missing feature when using gated const features 2020-05-04 23:47:00 +02:00
Alex Crichton
0b35692f5e Improve docs for embed-bitcode and linker-plugin-lto
Follow-up from #71716 I wasn't able to add in time.
2020-05-04 14:46:58 -07:00
Dylan MacKenzie
095d1fdf16 Import dataflow impls via the impls submodule 2020-05-04 12:50:36 -07:00
Dylan MacKenzie
9c93b883d1 Export dataflow impls by name 2020-05-04 12:50:05 -07:00
Carol (Nichols || Goulding)
d02128f92f
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-04 15:49:15 -04:00
Bastian Kauschke
a9b6af98d1 double neg 2020-05-04 21:04:11 +02:00
Bastian Kauschke
ab7360d98f refactor suggest_traits_to_import 2020-05-04 20:48:17 +02:00