Niko Matsakis
db5f3bc65c
Fix some merge conflicts
2015-07-03 19:42:55 -04:00
Niko Matsakis
1e7a6b880c
After inferring regions, scan for any bounds that are due to a lifetime
...
bound that is likely to change. In that case, it will change to 'static,
so then scan down the graph to see whether there are any hard
constraints that would prevent 'static from being a valid value
here. Report a warning.
2015-07-03 19:42:35 -04:00
Niko Matsakis
909957793e
Add a boolean flag to ExistentialBounds tracking whether the
...
region-bound is expected to change in Rust 1.3, but don't use it for
anything in this commit. Note that this is not a "significant" part of
the type (it's not part of the formal model) so we have to normalize
this away or trans starts to get confused because two equal types wind
up with distinct LLVM types.
2015-07-03 19:42:35 -04:00
Niko Matsakis
ef85338175
Code up the new lifetime default rules, but leave them disabled
...
for now.
2015-07-03 19:42:35 -04:00
bors
f027bdc1c8
Auto merge of #26378 - arielb1:unused-mut, r=pnkfelix
...
This makes it somewhat more aggressive, so this is kind-of a [breaking-change] for these compiling with `#[deny(unused_mut)]`.
r? @pnkfelix
2015-07-03 21:31:46 +00:00
bors
50cb22f8e0
Auto merge of #26713 - GuillaumeGomez:patch-3, r=Manishearth
...
r? @Manishearth
2015-07-02 14:23:02 +00:00
bors
99ca63fbd8
Auto merge of #26712 - GuillaumeGomez:patch-2, r=Manishearth
...
Part of #24407 .
cc @michaelsproul
r? @Manishearth
2015-07-02 10:51:50 +00:00
bors
f635b2f0ad
Auto merge of #26722 - arielb1:log-deadlock, r=eddyb
...
These are RefCell deadlocks that cause the rustc task to die with the stderr
lock held, causing a real deadlock.
Fixes #26717 .
r? @eddyb
2015-07-02 07:47:29 +00:00
bors
dd8fee0ae6
Auto merge of #26691 - nrc:mem, r=alexcrichton
...
Reports the resident set size after each pass (linux-only).
r? @huonw or @alexcrichton
2015-07-02 04:42:50 +00:00
bors
560b1dab15
Auto merge of #26677 - jroesch:fulfillment-context-refactor, r=nrc
...
This patch implements the next chunk of flattening out the type checking context. In a series of patches I moved around the necessary state and logic in order to delete the `Typer` and `ClosureTyper` traits. My next goal is to clean the interfaces and start to move the normalization code behind them.
r? @nrc I hope my PR is coherent, doing this too late at night ;)
2015-07-02 03:10:25 +00:00
bors
1768b1090a
Auto merge of #26688 - nrc:map-parent-2, r=manishearth
...
r? @Manishearth
2015-07-02 01:40:28 +00:00
Nick Cameron
7713e141b7
Report memory use in time-passes
...
Reports the resident set size after each pass (linux-only).
2015-07-02 09:36:32 +12:00
Nick Cameron
8261599e62
Refactoring
2015-07-02 08:56:55 +12:00
Ariel Ben-Yehuda
2fc8571861
Fix deadlocks with RUST_LOG=rustc::middle::ty
...
These are RefCell deadlocks that cause the rustc task to die with the stderr
lock held, causing a real deadlock.
Fixes #26717 .
2015-07-01 23:08:40 +03:00
Jared Roesch
ce089e50a4
Address nits
2015-07-01 13:08:25 -07:00
Guillaume Gomez
28d2b39f45
Add E0277 error explanation
2015-07-01 19:15:53 +02:00
Guillaume Gomez
0ca7699837
Add examples in error explanation E0267 and E0268
2015-07-01 19:14:27 +02:00
bors
dc309d79e9
Auto merge of #26686 - arielb1:associated-type-defaults-actually-work, r=eddyb
...
Fixes #26636 .
r? @eddyb
2015-06-30 21:39:46 +00:00
Ariel Ben-Yehuda
a18d9842ed
Make the unused_mut lint smarter with respect to locals.
...
Fixes #26332
2015-07-01 00:12:12 +03:00
Ariel Ben-Yehuda
cebb118bff
Actually encode default associated types
...
Fixes #26636
2015-06-30 22:03:25 +03:00
bors
85361528bc
Auto merge of #26669 - frewsxcv:diagnostics-https, r=huonw
...
None
2015-06-30 15:13:05 +00:00
Jared Roesch
7a8f83a6e5
Clean up patch
2015-06-30 02:41:40 -07:00
Jared Roesch
9faae6a5ca
Remove Typer and ClosureTyper
...
This commit finalizes the work of the past commits by fully moving the fulfillment context into
the InferCtxt, cleaning up related context interfaces, removing the Typer and ClosureTyper
traits and cleaning up related intefaces
2015-06-30 02:41:40 -07:00
Jared Roesch
05c57e0e6a
Remove Typer + ClosureTyper impls for BlockS
2015-06-30 02:41:02 -07:00
Jared Roesch
e2d7e904ca
Remove Typer + ClosureTyper impls for ParameterEnv
2015-06-30 02:40:17 -07:00
Jared Roesch
fb295a60b3
Remove NormalizingClosureTyper
2015-06-30 02:40:17 -07:00
Jared Roesch
0f13a3f361
Use fresh FulfillmentContexts in select locations
2015-06-30 02:40:17 -07:00
Jared Roesch
64f1a59daf
Update all uses of FulfillmentContext
...
Update all uses of FulfillmentContext to be ones obtained via
an InferCtxt. This is another step of flattening the type
checking context into a single piece of state.
2015-06-30 02:40:16 -07:00
Jared Roesch
6947948b4d
Move FufillmentContext into InferContext
2015-06-30 02:40:16 -07:00
Nick Cameron
15dcb5bfc5
Alternate method
2015-06-30 17:21:26 +12:00
Nick Cameron
b23ddc60e9
Implement get_enclosing_scope and use it in save-analysis
2015-06-30 17:21:26 +12:00
Nick Cameron
bbf0daa192
Add parent_node to ast_map
2015-06-30 17:21:26 +12:00
Corey Farwell
e834c0348f
Link to docs from error explanations via HTTPS
2015-06-29 17:23:02 -07:00
Ariel Ben-Yehuda
a5e21daa19
Kill count_late_bound_regions
...
No, it didn't show up in my profiler. It still needs to die.
2015-06-30 02:24:46 +03:00
Ariel Ben-Yehuda
bf164bc6e3
Fix lifetime elision region accounting
...
This merges accumulate_regions_in_type with ty_fold::collect_regions.
Fixes #26638
2015-06-30 01:33:16 +03:00
Manish Goregaokar
4adcc78e00
Rollup merge of #26593 - GuillaumeGomez:patch-2, r=Manishearth
...
Part of #24407 .
cc @michaelsproul
2015-06-29 13:59:33 +05:30
Guillaume Gomez
7f830a874c
The come back of the "a" eaten by the void
2015-06-29 10:21:39 +02:00
Guillaume Gomez
b442530671
Add more details in error explanation
2015-06-29 10:03:02 +02:00
Guillaume Gomez
14e3d26b8a
Add E0110 error explanation
2015-06-29 07:36:59 +02:00
Jared Roesch
15bc4a30c3
Address nits
2015-06-27 19:52:25 -07:00
Jared Roesch
e5b3684872
Remove ClosureTyper impl for FnCtxt
2015-06-27 14:26:13 -07:00
Jared Roesch
480cd8fe67
Ground work for replacing the ClosureTyper trait
2015-06-27 14:15:49 -07:00
Jared Roesch
79d02895ff
Begin refactor type checking state
...
This first patch starts by moving around pieces of state related to
type checking. The goal is to slowly unify the type checking state
into a single typing context. This initial patch moves the
ParameterEnvironment into the InferCtxt and moves shared tables
from Inherited and ty::ctxt into their own struct Tables. This
is the foundational work to refactoring the type checker to
enable future evolution of the language and tooling.
2015-06-27 13:43:20 -07:00
Guillaume Gomez
d73cc56565
Add E0109 error explanation
2015-06-27 14:23:53 +02:00
Eduard Burtescu
ad66c215aa
rustc: switch most remaining middle::ty functions to methods.
2015-06-26 07:34:57 +03:00
Eduard Burtescu
5cedd66a6c
rustc: remove 3 dead functions in middle::ty.
2015-06-26 07:34:56 +03:00
Eduard Burtescu
6db5126240
rustc: make ty::mk_* constructors into methods on ty::ctxt.
2015-06-26 07:34:56 +03:00
Eduard Burtescu
2332765cbc
rustc: prefer unqualified ctxt to ty::ctxt in middle::ty.
2015-06-26 07:34:56 +03:00
Eduard Burtescu
59935f70e0
rustc: move some functions in middle::ty working on Ty to methods.
2015-06-26 07:34:56 +03:00
Eduard Burtescu
aa03871a6e
rustc: combine type-flag-checking traits and fns and into one trait.
2015-06-26 07:34:56 +03:00