Michael Woerister
783ccc443b
Make TypeckTables::type_dependent_defs use ItemLocalId instead of NodeId.
2017-08-11 12:11:38 +02:00
John Kåre Alsaker
be9c64b0c7
Store generator interior in MIR literals
2017-08-11 07:15:33 +02:00
Bastien Orivel
47cb3c5bc2
Fix some typos
2017-08-11 00:16:18 +02:00
Ariel Ben-Yehuda
17d2bcd162
For box expressions, use NZ drop instead of a free block
...
This falls naturally out of making drop elaboration work with `box`
expressions, which is probably required for sane MIR borrow-checking.
This is a pure refactoring with no intentional functional effects.
2017-08-10 15:57:28 +03:00
Alex Crichton
352577f4bb
Initial pass review comments
2017-08-09 13:56:19 -07:00
Alex Crichton
9285a61413
Remove IsGenerator
in favor of a boolean
...
No need to be mixed!
2017-07-28 13:24:28 -07:00
Alex Crichton
09a5d319ab
Remove support for gen arg
2017-07-28 15:46:26 +02:00
John Kåre Alsaker
df608e710c
Rename suspend to yield
2017-07-28 15:46:24 +02:00
John Kåre Alsaker
d861982ca6
Generator literal support
2017-07-28 15:46:23 +02:00
Eduard-Mihai Burtescu
60cf5428b3
rustc_const_eval: keep track of the appropriate ParamEnv.
2017-07-27 20:59:40 +03:00
Eduard-Mihai Burtescu
4c900c5248
rustc_const_eval: always require correct Substs.
2017-07-27 12:22:26 +03:00
Eduard-Mihai Burtescu
33ecf72e8e
rustc: move the PolyFnSig out of TyFnDef.
2017-06-27 16:39:52 +03:00
Felix S. Klock II
cbed41a174
Add destruction extents around blocks and statements in HAIR.
2017-06-12 13:04:33 +02:00
Eduard-Mihai Burtescu
1f874ded52
rustc: do not depend on infcx.tables in MemCategorizationContext.
2017-06-10 14:34:45 +03:00
Eduard-Mihai Burtescu
5175bc18b5
rustc_typeck: do not mutate tables directly during upvar inference.
2017-06-09 12:27:56 +03:00
bors
4225019750
Auto merge of #42396 - venkatagiri:remove_lifetime_extn, r=arielb1
...
rustc: remove temporary lifetime extension by borrow hint
closes #39283 .
Thanks to @nikomatsakis for mentoring on this one.
r? @arielb1
2017-06-03 13:17:20 +00:00
Venkata Giri Reddy
ac8a1f5b6d
rustc: remove temporary lifetime extension by borrow hint
2017-06-02 23:43:50 +00:00
Niko Matsakis
5fb0f0dc2e
strip param-env from infcx
2017-06-01 13:31:09 -04:00
Eduard-Mihai Burtescu
3ce443828b
rustc: adjust the RHS of comparison operators instead of assuming autorefs.
2017-06-01 08:59:47 +03:00
Eduard-Mihai Burtescu
194fe695e3
rustc: decompose Adjustment into a vector of adjustment steps.
2017-06-01 08:59:47 +03:00
Eduard-Mihai Burtescu
91d603a2a7
rustc: move autoref and unsize from Adjust::DerefRef to Adjustment.
2017-06-01 08:59:47 +03:00
Eduard-Mihai Burtescu
4a754f224d
rustc: replace autoderefs' use of MethodCallee with OverloadedDeref.
2017-06-01 08:59:47 +03:00
Eduard-Mihai Burtescu
552ab37a10
rustc: replace method_map with Def::Method and node_substs entries.
2017-06-01 08:59:47 +03:00
Eduard-Mihai Burtescu
9eae6ba7fa
rustc: remove unnecessary ItemSubsts wrapper.
2017-06-01 08:59:47 +03:00
Eduard-Mihai Burtescu
a65ced5d16
rustc: avoid using MethodCallee's signature where possible.
2017-06-01 08:59:47 +03:00
Eduard-Mihai Burtescu
22510f3266
rustc: replace TyFnDef in MethodCallee with just the FnSig.
2017-06-01 08:59:47 +03:00
Eduard-Mihai Burtescu
b4988f0792
rustc: keep overloaded autoderef MethodCallee's in Adjust.
2017-06-01 08:59:47 +03:00
bors
5b13bff520
Auto merge of #42023 - nikomatsakis:issue-36799-ostn15_phf, r=arielb1
...
introduce local-scope to prevent `StorageLive`/`StorageDead` in statics
In investigating #36799 , I found that we were creating storage-live/storage-dead instructions in statics/constants, where they are not needed. This arose due to the fix for local scopes. This PR tries to fix that (and adds a test -- I'm curious if there is a way to make that test more targeted, though).
r? @arielb1
2017-05-23 09:55:40 +00:00
Niko Matsakis
45dd0632bc
rename parameter_environment
to param_env
2017-05-22 15:55:56 -04:00
Niko Matsakis
1b7acb6f34
centralize the caching for is-copy, is-sized, and is-freeze
...
Use the trait-environment+type as the key. Note that these
are only invoked on types that live for the entire compilation
(no inference artifacts). We no longer need the various special-case
bits and caches that were in place before.
2017-05-22 14:55:03 -04:00
Niko Matsakis
19bf544b25
introduce local-scope to prevent storagelive/storagedead in statics
...
cc #36799
2017-05-17 07:39:57 -04:00
Eduard-Mihai Burtescu
ea1c6df81e
rustc: stop interning CodeExtent, it's small enough.
2017-05-13 17:43:32 +03:00
Eduard-Mihai Burtescu
6d4c2141b5
rustc: use DefId instead of CodeExtent for FreeRegion's scope.
2017-05-13 17:42:59 +03:00
Niko Matsakis
69c8f9dd25
move build_mir
into build
directory
2017-05-02 16:21:55 -04:00
Taylor Cramer
73cd9bde37
introduce per-fn RegionMaps
...
Instead of requesting the region maps for the entire crate, request for
a given item etc. Several bits of code were modified to take
`&RegionMaps` as input (e.g., the `resolve_regions_and_report_errors()`
function). I am not totally happy with this setup -- I *think* I'd
rather have the region maps be part of typeck tables -- but at least the
`RegionMaps` works in a "parallel" way to `FreeRegionMap`, so it's not
too bad. Given that I expect a lot of this code to go away with NLL, I
didn't want to invest *too* much energy tweaking it.
2017-04-30 17:03:30 -04:00
Niko Matsakis
c7dc39dbf0
intern CodeExtents
...
Make a `CodeExtent<'tcx>` be something allocated in an arena
instead of an index into the `RegionMaps`.
2017-04-30 17:02:59 -04:00
Niko Matsakis
55d6066c05
remove ROOT_CODE_EXTENT and DUMMY_CODE_EXTENT
...
Instead, thread around `Option<CodeExtent>` where applicable.
2017-04-30 17:02:58 -04:00
Taylor Cramer
eff39b73d1
On-demandify region mapping
2017-04-30 17:02:56 -04:00
Eduard-Mihai Burtescu
decf7598ef
rustc: use tcx.at(span) to set the location of a query.
2017-04-24 18:06:39 +03:00
Eduard-Mihai Burtescu
612bb1f54e
rustc: rename some of the queries to match tcx methods.
2017-04-24 15:20:52 +03:00
Eduard-Mihai Burtescu
e22873d912
rustc: make the const-eval cache polymorphic.
2017-04-23 11:11:54 +03:00
Eduard-Mihai Burtescu
0adfd810f8
rustc: combine type_needs_drop_given_env and may_drop into needs_drop.
2017-04-20 14:44:43 +03:00
Eduard-Mihai Burtescu
63064ec190
rustc: expose monomorphic const_eval through on-demand.
2017-04-16 01:31:06 +03:00
Eduard-Mihai Burtescu
8854164d0c
rustc_const_eval: move ConstEvalErr to the rustc crate.
2017-04-16 01:31:06 +03:00
Niko Matsakis
066d44bc0d
refactor the targeted_by_break
field
...
In master, this field was an arbitrary node-id (in fact, an id for
something that doesn't even exist in the HIR -- the `catch` node).
Breaks targeting this block used that id. In the newer system, this
field is a boolean, and any breaks targeted this block will use the
id of the block.
2017-03-30 07:55:29 -04:00
Niko Matsakis
276bba9039
refactor if so that the "then type" is an expression
2017-03-30 07:55:29 -04:00
Oliver Schneider
b0d9afbc04
Represent function pointers in mir-constants as a Value instead of Item
2017-03-24 16:19:31 +01:00
Taylor Cramer
fc04eaacc5
Implement ? in catch expressions and add tests
2017-03-17 21:01:04 -07:00
Simonas Kazlauskas
21c61336bb
Remove the TypedConstVal
...
Replace it with ConstUsize instead, which is more appropriate; we are not using the rest of the
TypedConstVal anyway
2017-02-28 17:12:56 +02:00
Eduard-Mihai Burtescu
e7a48821c0
rustc_const_eval: always demand typeck_tables for evaluating constants.
2017-02-25 18:35:26 +02:00