Tomasz Miąsko
92bc35f7b6
Simplify {IoSlice, IoSliceMut}::advance examples and tests
...
Remove unnecessary calls to `std::mem::replace` and make variables immutable.
2019-12-05 00:00:00 +00:00
bors
aeaaf8f640
Auto merge of #67038 - RalfJung:miri, r=RalfJung
...
update miri
Fixes https://github.com/rust-lang/rust/issues/67022
r? @ghost
2019-12-04 23:07:13 +00:00
Ralf Jung
e550760c03
update miri
2019-12-05 00:00:44 +01:00
Josh Stone
16d21783d6
Migrate to LLVM{Get,Set}ValueName2
...
The deprecated `LLVM{Get,Set}ValueName` only work with NUL-terminated
strings, but the `2` variants use explicit lengths, which fits better
with Rust strings and slices. We now use these in new helper functions
`llvm::{get,set}_value_name` that convert to/from `&[u8]`.
2019-12-04 12:00:28 -08:00
bors
6d77e45f01
Auto merge of #66866 - oli-obk:const_fn_memoization, r=RalfJung
...
Only memoize const fn calls during const eval
Miri and other engines may want to execute the function in order to detect UB inside of them.
r? @RalfJung
2019-12-04 17:48:19 +00:00
Nadrieril
d44774d72c
Forgot to update some test outputs
2019-12-04 16:43:25 +00:00
Nadrieril
fe5d84d2aa
Simplify
2019-12-04 16:43:25 +00:00
Nadrieril
a591ede2e2
Only special-case empty matches when exhaustive_patterns
is off
...
When the feature is on, the special casing is not needed. That way when
we stabilize the feature this `if` can just be removed.
2019-12-04 16:43:25 +00:00
Nadrieril
bfb556f97d
Move empty_match check after usefulness check
2019-12-04 16:43:25 +00:00
Nadrieril
3e6dc2b1de
Forgot to update some test outputs
2019-12-04 16:43:24 +00:00
Nadrieril
40f434b8c5
Reuse adt_defined_here
2019-12-04 16:43:24 +00:00
Nadrieril
d289f55b0c
Move empty match check to check_exhaustive
2019-12-04 16:43:24 +00:00
Nadrieril
3532835738
Simplify
2019-12-04 16:43:24 +00:00
Nadrieril
2216318484
Use the default code path to list missing patterns
...
This uses the exact same code path that would be used for
`match x { _ if false => {} }`, since in both cases the resulting matrix
is empty. Since we think the behaviour in that case is ok, then we can
remove the special case and use the default code path.
2019-12-04 16:43:24 +00:00
Nadrieril
e444346b12
List missing constructors in an almost empty match
...
Actually empty matches are still handled by a different code path
2019-12-04 16:43:24 +00:00
Nadrieril
5a3b7d2055
Add tests
2019-12-04 16:43:24 +00:00
Nadrieril
c0f3c06c6d
Only warn about missing patterns in the case of an enum
2019-12-04 16:43:21 +00:00
Nadrieril
2099dd1aa2
Add tests
2019-12-04 16:43:21 +00:00
Nadrieril
5628d4a7c3
Make empty match lint more consistent under exhaustive_patterns
2019-12-04 16:43:21 +00:00
Nadrieril
1c77a049b9
Fix erroneous comment
2019-12-04 16:43:21 +00:00
Nadrieril
1bd97ae8a1
Tweak error on empty match
2019-12-04 16:43:21 +00:00
Nadrieril
b26aa0b529
Factor out some non_exhaustive
-related checks
2019-12-04 16:43:21 +00:00
Nadrieril
922310d60f
Add tests
2019-12-04 16:43:21 +00:00
Nadrieril
063d74f5d9
Fix explanation of handling of empty enums
2019-12-04 16:43:21 +00:00
Nadrieril
86fb2ef2e1
Clarify handling of exhaustive_patterns
in all_constructors
...
This is logically equivalent to the previous code.
2019-12-04 16:43:20 +00:00
Oliver Scherer
af8f1416e1
Update src/librustc_mir/interpret/terminator.rs
...
Co-Authored-By: Ralf Jung <post@ralfj.de>
2019-12-04 16:38:58 +01:00
Mark Mansi
b998e83064
more private
2019-12-04 09:18:04 -06:00
Mark Mansi
d9511a1558
minor fix
2019-12-04 09:18:04 -06:00
Mark Mansi
3c4612a720
fix some imports
2019-12-04 09:18:04 -06:00
Mark Mansi
f5ac04ba43
move region errors to diagnostics module
2019-12-04 09:18:04 -06:00
Mark Mansi
fbf4731778
fix imports
2019-12-04 09:18:04 -06:00
Mark Mansi
4917bba0e8
move explain_borrow to diagnostics
2019-12-04 09:18:04 -06:00
Mark Mansi
67560976b4
fix imports
2019-12-04 09:18:03 -06:00
Mark Mansi
07a0486228
create new borrow_check::diagnostics module and move stuff there
2019-12-04 09:18:03 -06:00
Jethro Beekman
22d9f20f60
SGX: Fix target linker used by bootstrap
2019-12-04 16:02:28 +01:00
bors
c4f1304935
Auto merge of #66408 - nnethercote:greedy-process_obligations, r=nmatsakis
...
Make `process_obligations()` greedier.
`process_obligations()` adds new nodes, but it does not process these
new nodes until the next time it is called.
This commit changes it so that it does process these new nodes within
the same call. This change reduces the number of calls to
`process_obligations()` required to complete processing, sometimes
giving significant speed-ups.
The change required some changes to tests.
- The output of `cycle-cache-err-60010.rs` is slightly different.
- The unit tests required extra cases to handle the earlier processing
of the added nodes. I mostly did these in the simplest possible way,
by making the added nodes be ignored, thus giving outcomes the same as
with the old behaviour. But I changed `success_in_grandchildren()`
more extensively so that some obligations are completed earlier than
they used to be.
r? @nikomatsakis
2019-12-04 14:33:38 +00:00
Elichai Turkel
8be7223145
Fix docs for formatting delegations
2019-12-04 15:20:47 +02:00
Pieter Agten
3ee0f48429
Create a separate entry point for the ELF file, instead of using the SGX entry point
2019-12-04 14:20:09 +01:00
Guillaume Gomez
ae753a55ac
some error codes long explanation
2019-12-04 13:36:50 +01:00
Guillaume Gomez
9eaea4d3ea
Clean up E0118 error code long explanation
2019-12-04 13:35:26 +01:00
Guillaume Gomez
1e5450d4cb
Clean up E0117 error code long explanation
2019-12-04 13:32:37 +01:00
Guillaume Gomez
c2ce7dd756
Clean up E0116 error code long explanation
2019-12-04 13:32:37 +01:00
Guillaume Gomez
12a267134e
Remove unused constant
2019-12-04 13:13:59 +01:00
Guillaume Gomez
e14eebb6bb
Make Lifetime struct field public
2019-12-04 13:13:59 +01:00
Guillaume Gomez
f5e0d0cc18
Make some formatting improvements
2019-12-04 13:13:59 +01:00
Guillaume Gomez
91e021a59c
Make some private methods public
2019-12-04 13:13:59 +01:00
Guillaume Gomez
db0e6cd562
fixup clean/types.rs imports
2019-12-04 13:13:59 +01:00
Guillaume Gomez
81e549cc76
remove code that doesn't belong in clean/types.rs
2019-12-04 13:13:59 +01:00
bors
7fa046534e
Auto merge of #66275 - oli-obk:organize-intrinsics-promotion-checks, r=RalfJung
...
Organize intrinsics promotion checks
cc @vertexclique
supersedes #61835
r? @RalfJung
2019-12-04 11:22:26 +00:00
Guillaume Gomez
a8ec6200df
Remove potential cfgs duplicates
2019-12-04 11:53:33 +01:00