Oliver Schneider
9fa14e47d4
Skip checking for Storage* statements in constants/statics
2018-03-22 16:59:02 +01:00
Oliver Schneider
9839e5fa10
Remove slow HashSet during miri stack frame creation
2018-03-22 15:05:12 +01:00
kennytm
7aa66515f6
Rollup merge of #48902 - csmoe:refactor_BorrowckErrors_fn_self, r=nikomatsakis
...
refactor the `BorrowckErrors` trait to take `fn(self)`
Fixes #48783
2018-03-20 07:15:16 +08:00
csmoe
55116243e7
remove unneeded where clause
2018-03-18 20:18:21 +08:00
Vadim Petrochenkov
f88162654d
Rename Span::empty to Span::shrink_to_lo, add Span::shrink_to_hi
2018-03-17 22:12:21 +03:00
bors
cc34ca1c97
Auto merge of #48818 - michaelwoerister:issue-47309, r=eddyb
...
Properly handle collecting default impls of methods with lifetime parameters.
r? @eddyb
Fixes #47309 .
2018-03-16 11:13:13 +00:00
csmoe
c62d9eb729
fix formatting
2018-03-16 14:52:16 +08:00
csmoe
0b111e677c
change &self to self and fix lifetime annotations
2018-03-16 14:52:15 +08:00
Michael Woerister
5218c2d5ef
Properly handle collecting default impls of methods with lifetime parameters.
2018-03-15 13:37:46 +01:00
Michael Woerister
b41f2278f4
MonoItem collector: Cleanup start fn root collection.
2018-03-15 12:53:20 +01:00
kennytm
939cfa251a
Keep the fields of RangeInclusive unstable.
2018-03-15 17:01:30 +08:00
kennytm
92d1f8d8e4
Stabilize inclusive_range_syntax language feature.
...
Stabilize the syntax `a..=b` and `..=b`.
2018-03-15 16:58:02 +08:00
kennytm
b5913f2e76
Stabilize inclusive_range library feature.
...
Stabilize std::ops::RangeInclusive and std::ops::RangeInclusiveTo.
2018-03-15 16:58:01 +08:00
bors
5ebf74851d
Auto merge of #47630 - canndrew:exhaustive-patterns, r=nikomatsakis
...
Stabilise feature(never_type). Introduce feature(exhaustive_patterns)
This stabilizes `!`, removing the feature gate as well as the old defaulting-to-`()` behavior. The pattern exhaustiveness checks which were covered by `feature(never_type)` have been moved behind a new `feature(exhaustive_patterns)` gate.
2018-03-14 23:43:04 +00:00
bors
521d91c6be
Auto merge of #49008 - kennytm:rollup, r=kennytm
...
Rollup of 12 pull requests
- Successful merges: #48765 , #48831 , #48840 , #48964 , #48970 , #48971 , #48981 , #48988 , #48991 , #48966 , #48993 , #48874
- Failed merges:
2018-03-14 20:59:09 +00:00
kennytm
b5f102c7ae
Rollup merge of #48840 - varkor:idxset-cleanup, r=pnkfelix
...
Remove some unnecessary IdxSet methods
This replaces `IdxSet:: reset_to_empty` with `IdxSet:: clear`, and `IdxSet::elems`/`IdxSet::each_bit` with `IdxSet::iter`. Based on some [comments on #rustc](https://botbot.me/mozilla/rustc/2018-01-23/?msg=96063396 ).
r? @pnkfelix
2018-03-15 00:15:46 +08:00
bors
11d9959641
Auto merge of #48864 - oli-obk:miri_incremental_regression, r=eddyb
...
Cache const eval queries
fixes #48846 (I think, still running more perf tests, but tuple-stress stops recomputing any constants)
r? @michaelwoerister
2018-03-14 15:39:59 +00:00
Andrew Cann
5b32211e62
Add note about fallback to !: !Trait error
2018-03-14 12:44:52 +08:00
Andrew Cann
a9fc3901b0
stabilise feature(never_type)
...
Replace feature(never_type) with feature(exhaustive_patterns).
feature(exhaustive_patterns) only covers the pattern-exhaustives checks
that used to be covered by feature(never_type)
2018-03-14 12:44:51 +08:00
Andrew Cann
9b15ddb29e
remove defaulting to unit
...
Types will no longer default to `()`, instead always defaulting to `!`.
This disables the associated warning and removes the flag from TyTuple
2018-03-14 12:44:51 +08:00
Niko Matsakis
6288faa3a3
trans_apply_param_substs => subst_and_normalize_erasing_regions
...
Consolidate `trans_apply_param_substs` and
`trans_apply_param_substs_env`. Also remove `trans_impl_self_ty`
2018-03-13 11:22:08 -04:00
Niko Matsakis
e4728e494e
transition various normalization functions to the new methods
...
In particular:
- `fully_normalize_monormophic_ty` => `normalize_erasing_regions`
- `normalize_associated_type_in_env` => `normalize_erasing_regions`
- `fully_normalize_associated_types_in` => `normalize_erasing_regions`
- `erase_late_bound_regions_and_normalize` => `normalize_erasing_late_bound_regions`
2018-03-13 11:22:07 -04:00
Niko Matsakis
ca87d24467
introduce infcx.at(..).dropck_outlives(..) operaton [VIC]
...
Backed by a canonicalized query. This computes all the types/regions that need
to be live when the destructor runs (i.e., that the dtor may access).
2018-03-13 11:22:07 -04:00
Niko Matsakis
3a50b41da4
introduce infcx.at(..).normalize(..) operation [VIC]
...
It is backed by the new `normalize_projection_ty` query, which uses
canonicalization.
2018-03-13 11:22:05 -04:00
Oliver Schneider
0d88db1693
Reuse the query caching infrastructure for const eval
2018-03-13 16:21:54 +01:00
Niko Matsakis
993c1488cc
add canonicalize method to InferCtxt [VIC]
2018-03-13 11:21:31 -04:00
Niko Matsakis
6d0f9319df
refactor ParamEnv::empty(Reveal) into two distinct methods
...
- `ParamEnv::empty()` -- does not reveal all, good for typeck
- `ParamEnv::reveal_all()` -- does, good for trans
- `param_env.with_reveal_all()` -- converts an existing parameter environment
2018-03-13 11:21:30 -04:00
Niko Matsakis
652b3b71f3
random reformatting
2018-03-13 11:21:30 -04:00
bobtwinkles
9a5d61a840
Remove some commented out code
...
Left over from prior experimentation, no longer required.
2018-03-09 19:02:22 -05:00
bobtwinkles
2ed0f516dd
Check for two_phase_borrows in the right place
...
Fix a small compilation issue after I missed a critical change after rebasing
yesterday (ref c933440 )
2018-03-09 13:54:26 -05:00
bobtwinkles
03f198fcee
Fix tests after two-phase borrow rewrite
2018-03-09 13:54:26 -05:00
bobtwinkles
e4e377f6e8
Remove unused field on BorrowData
2018-03-09 13:53:35 -05:00
bobtwinkles
47d75afd11
Complete re-implementation of 2-phase borrows
...
See #48431 for discussion as to why this was necessary and what we hoped to
accomplish. A brief summary:
- the first implementation of 2-phase borrows was hard to limit in the way we
wanted. That is, it was too good at accepting all 2-phase borrows rather than
just autorefs =)
- Numerous diagnostic regressions were introduced by 2-phase borrow support
which were difficult to fix
2018-03-09 13:53:35 -05:00
bobtwinkles
047bec69b9
mir dataflow: change graphviz output
...
The new output format is perhaps a little more readable. As a bonus, we get
labels on the outgoing edges to more easily corroborate the dataflow with the
plain MIR graphviz output.
2018-03-09 13:53:35 -05:00
bobtwinkles
138365368a
Finally start down the right path
2018-03-09 13:53:35 -05:00
bobtwinkles
580467d306
Rename BorrowData::location to BorrowData::reserve_location
...
in preparation for rewritting two phase borrow support
2018-03-09 13:51:39 -05:00
Manish Goregaokar
d7f44ac52c
Rollup merge of #48682 - spastorino:make_causal_lazy, r=nikomatsakis
...
[NLL] Make causal tracking lazy
Close #46590
cc @nikomatsakis
2018-03-08 11:25:56 -08:00
Oliver Schneider
c0fc6a8b6b
simplify constant value pair field access
2018-03-08 08:35:39 +01:00
Oliver Schneider
b5ace9a906
Unify the const folding errors
...
before they differed depending on whether optimizations were on or not
2018-03-08 08:35:39 +01:00
Oliver Schneider
edc5f73433
Correct the shift overflow check in miri
2018-03-08 08:35:39 +01:00
Oliver Schneider
aedd4c61ea
Regenerate tests
2018-03-08 08:35:38 +01:00
Oliver Schneider
6cfda078bf
Use clearer name for integer bit width helper function
2018-03-08 08:35:38 +01:00
Oliver Schneider
eb18d39a04
Reuse Integer::from_attr
2018-03-08 08:35:38 +01:00
Oliver Schneider
3dc7e93db6
Generator assertions are unconditionally triggered
2018-03-08 08:35:38 +01:00
Oliver Schneider
47913ee8f4
Address review comments
2018-03-08 08:35:38 +01:00
Oliver Schneider
e8d357f070
Decide signdedness on the layout instead of the type
2018-03-08 08:35:37 +01:00
Oliver Schneider
df283df887
Don't use the undefined bytes of PrimVal::Bytes
2018-03-08 08:34:18 +01:00
Oliver Schneider
7218836500
Fix mozjs crater failure
2018-03-08 08:34:18 +01:00
Oliver Schneider
134c2910ec
Const eval will oom together with rustc now
2018-03-08 08:34:18 +01:00
Oliver Schneider
0ca4b45a0c
Step limit is now terminator limit
2018-03-08 08:34:17 +01:00