varkor
6f637da50c
Remove Ty prefix from Ty{Adt|Array|Slice|RawPtr|Ref|FnDef|FnPtr|Dynamic|Closure|Generator|GeneratorWitness|Never|Tuple|Projection|Anon|Infer|Error}
2018-08-22 16:07:44 +01:00
varkor
87c7e57020
Rename ty::Slice to ty::List
2018-08-22 16:05:27 +01:00
Niko Matsakis
d1e67fcacd
remove universal-region-relation computation from universal_regions
2018-07-31 02:31:40 +02:00
Mikhail Modin
bb66d70b89
fix issues #51351 and #52133
2018-07-29 11:42:50 +01:00
kennytm
aea141e72c
Rollup merge of #52587 - csmoe:doc, r=kennytm
...
Add missing backtick in UniversalRegions doc comment
r? @QuietMisdreavus
2018-07-23 01:00:07 +08:00
csmoe
50720ba706
Add missing backtick
2018-07-21 22:23:50 +08:00
Tyler Mandry
e5286d9fa6
Convert implied_outlives_bounds to a query
2018-07-21 15:56:44 +03:00
Niko Matsakis
727f01700b
write code to extract region names and emit new style message
2018-07-04 05:09:33 -04:00
Niko Matsakis
fa02d68eec
universal_regions: rustfmt
2018-07-03 18:10:08 -04:00
Niko Matsakis
7c72e778ab
instantiate closure requirements as query-region-constraints [WIP]
...
Marked as WIP because it invalidates some tests.
2018-06-26 10:59:40 -04:00
Eduard-Mihai Burtescu
7e4d8718cb
rustc: use intern_* instead of mk_* where possible.
2018-05-21 12:13:19 +03:00
John Kåre Alsaker
710b4ad2a5
Store the GeneratorInterior in the new GeneratorSubsts
2018-05-08 16:21:58 +02:00
John Kåre Alsaker
0edc8f4270
Store generator movability outside GeneratorInterior
2018-05-08 16:21:58 +02:00
Steven Malis
f5a367c7bb
Update based on RangeBounds trait being moved to libcore.
2018-04-07 15:47:18 -07:00
Niko Matsakis
04aeef8d45
Debug logs for replace_bound_regions_with_nll_infer_vars
2018-03-22 22:40:51 +00: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
bobtwinkles
5de094e579
mir: Fix DefiningTy::Const
...
Fixes #47590 by fixing the way DefiningTy represents constants. Previously,
constants were represented using just the type of the variable. However, this
will fail to capture early-bound regions as NLL inference vars, resulting in an
ICE when we try to compute region VIDs a little bit later in the universal
region resolution process.
2018-02-06 23:42:05 -05:00
bors
fdc18b3067
Auto merge of #47353 - nikomatsakis:nll-issue-47189, r=pnkfelix+nmatsakis
...
renumber regions in generators
This fixes #47189 , but I think we still have to double check various things around how to treat generators in MIR type check + borrow check (e.g., what borrows should be invalidated by a `Suspend`? What consistency properties should type check be enforcing anyway around the "interior" type?)
Also fixes #47587 thanks to @spastorino's commit.
r? @pnkfelix
2018-01-22 11:11:47 +00:00
Santiago Pastorino
fcb9e928b7
Integrate generators to universal region setup
2018-01-19 21:32:43 -05:00
Niko Matsakis
3b390e5420
remove bogus assertion and comments
...
The code (incorrectly) assumed that constants could not have generics
in scope, but it's not really a problem if they do.
2018-01-16 12:45:39 -05:00
Niko Matsakis
bf02c57b16
simplify UniversalRegions::to_region_vid
to just consult the map
...
This doesn't actually fix the bug, but seems better.
2018-01-11 06:05:05 -05:00
Niko Matsakis
6b39781df6
connect NLL machinery to the NiceRegionError
code
2017-12-20 14:38:12 -05:00
Niko Matsakis
93afb1affc
connect NLL type checker to the impl trait code
...
We now add the suitable `impl Trait` constraints.
2017-12-20 14:04:52 -05:00
Niko Matsakis
a66c6512aa
pass UniversalRegions
to MIR type-checker instead of fields
...
No functional change.
2017-12-20 14:04:52 -05:00
Niko Matsakis
fe89f4ba86
get the DefiningTy
from the body_owner_kind
not type
...
The type isn't a good idea because we want to treat constants
uniformly, regardless of what type of value they produce.
2017-12-20 14:04:51 -05:00
Niko Matsakis
1816ede386
be specific about what kind of normalization we mean
2017-12-19 04:28:45 -05:00
Niko Matsakis
3d826e5681
remove dead is_foo_free_region
helpers
...
Only `is_local_free_region` is used.
2017-12-19 04:26:56 -05:00
Niko Matsakis
e9824c50ed
impose inputs/ouputs on MIR after the fact
...
The input/output types found in `UniversalRegions` are not normalized.
The old code used to assign them directly into the MIR, which would
lead to errors when there was a projection in a argument or return
type. This also led to some special cases in the `renumber` code.
We now renumber uniformly but then pass the input/output types into
the MIR type-checker, which equates them with the types found in MIR.
This allows us to normalize at the same time.
2017-12-15 10:27:53 -05:00
Niko Matsakis
3fcb13ae45
handle projections with regions
2017-12-15 10:27:52 -05:00
Niko Matsakis
85e1d4749e
propagate type tests from closure to closure creators
...
Currently, we only propagate type tests that exclude all regions from
the type.
2017-12-15 10:27:51 -05:00
Niko Matsakis
c7cfa2367b
thread through an implicit region body of the fn body
2017-12-15 10:27:50 -05:00
Niko Matsakis
abd6d0d76e
comments for defining_ty
and compute_indices
...
Plus an extra assertion.
2017-12-13 12:20:28 -05:00
Niko Matsakis
7f20b9142d
fix universal regions to handle constant expressions like [T; 22]
2017-12-13 06:03:25 -05:00
Niko Matsakis
1db58d7fa5
rename Binder::new_not_binding
to Binder::dummy
...
per pnkfelix's suggestion
2017-12-07 05:28:04 -05:00
Niko Matsakis
d5ef3e262f
replace InferCtxt::fn_sig
with closure_sig
2017-12-07 05:28:01 -05:00
Niko Matsakis
ab1c1bc6bc
mir-borrowck returns closure requirements, mir-typeck enforces
2017-12-07 05:28:00 -05:00
Niko Matsakis
243bf3f718
rename "free region" to "universally quantified region"
...
This has been bugging me. All the regions appear free in the source;
the real difference is that some of them are universally quantified
(those in the function signature) and some are existentially
quantified (those for which we are inferring values).
2017-12-04 09:14:38 -05:00