Felix S. Klock II
173315e353
rust-lang/rust#27282 : emit ReadForMatch
on each match arm.
...
Also, turn on ReadForMatch emission by default (when using NLL).
2018-05-29 23:02:39 +02:00
Felix S. Klock II
24abe6f363
rust-lang/rust#27282 : Add StatementKind::ReadForMatch
to MIR.
...
(This is just the data structure changes and some boilerplate match
code that followed from it; the actual emission of these statements
comes in a follow-up commit.)
2018-05-29 23:01:36 +02:00
Felix S. Klock II
47bb3fd505
Debug flag to bypass restriction of mutation in match guards.
...
Now, if you pass `-Z disable-ast-check-for-mutation-in-guard`, then we
will just allow you to mutably-borrow and assign in guards of `match`
arms.
This is wildly unsound with AST-borrowck. It is also unsound with
MIR-borrowck without further adjustments, which come in later in the
commit series on this Pull Request.
See also rust-lang/rust#24535 and rust-lang/rfcs#1006 .
2018-05-29 23:01:36 +02:00
Mike Hommey
0f4ef003ac
Pass a Layout
to oom
...
As discussed in
https://github.com/rust-lang/rust/issues/49668#issuecomment-384893456
and subsequent, there are use-cases where the OOM handler needs to know
the size of the allocation that failed. The alignment might also be a
cause for allocation failure, so providing it as well can be useful.
2018-05-30 05:35:48 +09:00
Niko Matsakis
3a9134dec5
fix off by one error
2018-05-29 15:09:48 -04:00
Niko Matsakis
948f77c71f
tweak debug output some more
2018-05-29 15:09:37 -04:00
David Wood
62b1e6532a
Ensure that all statements in block are visited not just successors of a block.
2018-05-29 19:38:04 +01:00
Niko Matsakis
9c637144f5
add some debugging statements
2018-05-29 14:03:26 -04:00
David Wood
4500fe004b
Refactored DFS to be much cleaner. Added continue after noting that borrow is out of scope at location.
2018-05-29 18:22:01 +01:00
bors
524ad9b9e0
Auto merge of #51165 - SimonSapin:opt2, r=alexcrichton
...
Revert "Set opt-level to 3"
This reverts commit aad9840ad4
.
Level 3 (possibly indirectly, the underlying bug might be in XCode’s linker) causes unit tests to sefault when compiled with some versions of XCode: https://github.com/rust-lang/rust/issues/50867
It also appears to cause some segfaults on Windows: https://github.com/rust-lang/rust/pull/50329#issuecomment-386853473 , and regressions in some rustc performance benchmarks: https://github.com/rust-lang/rust/pull/50329#issuecomment-388084894
2018-05-29 17:17:53 +00:00
Simon Sapin
5067d2f133
Change the comment on opt-level = 2
to point to https://github.com/rust-lang/rust/issues/50867
2018-05-29 17:38:23 +02:00
bors
59c0f5913d
Auto merge of #51133 - spastorino:make_borrowck_use_output, r=nikomatsakis
...
Make borrowck use polonius output
2018-05-29 15:02:39 +00:00
Niko Matsakis
c3d688962d
WIP fix rustc-hash cargo.lock entry for polonius-engine
2018-05-29 09:39:32 -04:00
Santiago Pastorino
4c10a65b14
Whitelist datafrog on tidy
2018-05-29 10:19:47 -03:00
Santiago Pastorino
a8b36c9e9a
Run rustfmt
2018-05-29 10:19:47 -03:00
Santiago Pastorino
9de4e342df
Use polonius_output
2018-05-29 10:19:46 -03:00
Douglas Campos
db39ec8f9a
store output in FlowState
2018-05-29 10:19:46 -03:00
Douglas Campos
2cd09f27b8
store polonius output in MirBorrowCtx
2018-05-29 10:19:46 -03:00
Douglas Campos
b45aebfdf6
it compiles, but we do not use the output yet
2018-05-29 10:19:46 -03:00
Douglas Campos
4f88283869
expose -Zpolonius flag
2018-05-29 10:19:46 -03:00
Douglas Campos
422fe7c8e8
bump polonius engine
2018-05-29 10:19:45 -03:00
bors
889d8dcaa7
Auto merge of #51134 - RalfJung:from_raw_parts, r=SimonSapin
...
extend from_raw_parts docs for slices and strs to mention alignment requirement
The documentation for `str::from_raw_parts_mut` seems to not be visible because that method is private, bit I figured it could still be fixed. I also removed the reference to the no-longer-existing `str::from_raw_parts` while I was at it.
Alternatively, should I remove `str::from_raw_parts_mut` completely? it is only used in `str::split_at_mut`, where it might as well be inlined.
2018-05-29 12:50:06 +00:00
Simon Sapin
01e8616be9
Revert "Set opt-level to 3"
...
This reverts commit aad9840ad4
.
Level 3 (possibly indirectly, the underlying bug might be in XCode’s linker)
causes unit tests to sefault when compiled with some versions of XCode:
https://github.com/rust-lang/rust/issues/50867
It also appears to cause some segfaults on Windows:
https://github.com/rust-lang/rust/pull/50329#issuecomment-386853473
… and regressions in some rustc performance benchmarks:
https://github.com/rust-lang/rust/pull/50329#issuecomment-388084894
2018-05-29 14:44:42 +02:00
bors
61f35e507a
Auto merge of #51019 - Zoxc:hash-bytes, r=michaelwoerister
...
Hash up to 8 bytes at once with FxHasher
r? @michaelwoerister
2018-05-29 10:18:35 +00:00
bors
4f6d9bf209
Auto merge of #51142 - nickbabcock:doc-inspect, r=frewsxcv
...
Document additional use case for iter::inspect
Adds docs for `iter::inspect` showing the non-debug use case
Closes #49564
2018-05-29 06:50:12 +00:00
bors
fe5c45bb53
Auto merge of #51144 - tmccombs:unix-epoch-stable, r=Mark-Simulacrum
...
Stabilize SystemTime::UNIX_EPOCH
Fixes #49502
2018-05-29 03:22:20 +00:00
bors
5ae5361cdd
Auto merge of #50475 - csmoe:debr, r=nikomatsakis
...
Refactor DebruijnIndex to be 0-based
Fixes #49813
2018-05-29 01:11:24 +00:00
Thayne McCombs
855ec8b6d5
Stabilize SystemTime::UNIX_EPOCH
2018-05-28 18:24:01 -06:00
Nick Babcock
18cf47bc7d
Document additional use case for iter::inspect
2018-05-28 18:50:16 -05:00
Niko Matsakis
783fe4f880
change to 0-based indices
...
Co-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
2018-05-28 19:47:05 -04:00
Niko Matsakis
22a25d9b49
make depth private
...
Co-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
2018-05-28 19:47:05 -04:00
Niko Matsakis
7e15e0baff
remove use of depth from TyS
and replace with a debruijn index
...
Co-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
2018-05-28 19:47:05 -04:00
Niko Matsakis
8f15d1ea25
replace binder_depth
in LateBoundRegionsDetector
...
Co-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
2018-05-28 19:47:04 -04:00
Niko Matsakis
06b2a3fbdb
convert LateBoundRegionsCollector
to track a debruijn index
...
Co-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
2018-05-28 19:47:04 -04:00
Niko Matsakis
4aeb6efb6d
replace use of DebruijnIndex in for_each_free_region
...
Co-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
2018-05-28 19:47:04 -04:00
Niko Matsakis
34c9ae77f7
refactor resolve_lifetime
to track outer-index, not depth
...
Co-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
2018-05-28 19:47:04 -04:00
Niko Matsakis
f965b79ccf
rewrite the hasher to not access depth
field
...
Co-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
2018-05-28 19:47:04 -04:00
Niko Matsakis
e2f7f4a7b7
port nice_region_error
code to not track depth but rather index
...
Co-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
2018-05-28 19:47:04 -04:00
Niko Matsakis
8bd4bffe50
stop invoking DebruijnIndex::new
directly
...
Co-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
2018-05-28 19:47:04 -04:00
Niko Matsakis
b5018de0ed
make shifted_in
and shifted_out
const fns
...
Co-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
2018-05-28 19:47:03 -04:00
Niko Matsakis
9c5a45044a
port fold_regions
and friends to use debruijn indices directly
...
They no longer talk about plain integers.
Co-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
2018-05-28 19:47:03 -04:00
Jonathan Behrens
fc895665c9
Avoid 128-bit arithmetic where possible
2018-05-28 19:01:50 -04:00
bors
e9a489be94
Auto merge of #50465 - clarcharr:wrapping, r=KodrAus
...
Add missing Wrapping methods, use doc_comment!
Re-opened version of #49393 . Finishing touches for #32463 .
Note that this adds `Shl` and `Shr` implementations for `Wrapping<i128>` and `Wrapping<u128>`, which were previously missed. This is technically insta-stable, but I don't know why this would be a problem.
2018-05-28 22:28:43 +00:00
Ralf Jung
b30aaf244e
get rid of str::from_raw_parts_mut
...
str::from_raw_parts has been removed long ago because it can be obtained via
str::from_utf8_unchecked and slice::from_raw_parts. The same goes for
str::from_raw_parts_mut.
2018-05-28 22:04:52 +02:00
bors
5bf68db6ec
Auto merge of #50929 - zackmdavis:hiridification_initiative, r=michaelwoerister
...
operate on `HirId` instead of `NodeId` in `hir::Pat::each_binding`, and consequences of that
See #50928 for motivation.
Questions—
* Is #50928 actually a good idea as a plan of record, or is there some reason to keep `NodeId`s?
* Are the uses of `find_node_for_hir_id` in this initial submission OK (see the FIXME comments)?
* Can we bikeshed a better method names `struct_span_lint_hir` _&c._? (Coined in analogy to the `struct_span_lint_node` and `NodeId`, but it feels kind of semantically clunky.)
r? @michaelwoerister
2018-05-28 19:16:27 +00:00
John Kåre Alsaker
7ebd4d637d
Update rustc-hash to hash up to 8 bytes at once with FxHasher
2018-05-28 20:40:31 +02:00
Niko Matsakis
69ab6f2995
introduce shifted_in
, shifted_out
and friends
...
Co-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
2018-05-28 14:25:55 -04:00
Esteban Küber
2b2eff15cd
Fix tidy
2018-05-28 10:57:26 -07:00
Esteban Küber
43d863b5ed
Add test for reexported crate names
2018-05-28 10:55:32 -07:00
Esteban Küber
b169cf1128
Add primary span label
2018-05-28 10:29:49 -07:00