Ariel Ben-Yehuda
277eeb95c3
move destructors_for_type into AdtDef
2015-08-25 21:52:15 +03:00
Ariel Ben-Yehuda
65e9bc0c93
store the CodeExtent directly in FreeRegion
...
this makes the code cleaner
2015-08-24 20:46:52 +03:00
Ariel Ben-Yehuda
fc304384e6
Use a Vec instead of an HashMap for the scope hierarchy
...
This increases regionck performance greatly - type-checking on
librustc decreased from 9.1s to 8.1s. Because of Amdahl's law,
total performance is improved only by about 1.5% (LLVM wizards,
this is your opportunity to shine!).
before:
576.91user 4.26system 7:42.36elapsed 125%CPU (0avgtext+0avgdata 1142192maxresident)k
after:
566.50user 4.84system 7:36.84elapsed 125%CPU (0avgtext+0avgdata 1124304maxresident)k
I am somewhat worried really need to find out why we have this Red Queen's
Race going on here. Originally I suspected it may be a problem from RFC1214's
warnings, but it seems to be an effect from other changes.
However, the increase seems to be mostly in LLVM's time, so I guess
it's the LLVM wizards' problem.
2015-08-24 20:24:38 +03:00
Ariel Ben-Yehuda
316510f5e2
split ReInfer into ReVar and ReSkolemized
...
this should reduce the size of ty::Region to 24 bytes (from 32),
and they are treated differently in most cases anyway.
2015-08-24 20:10:25 +03:00
bors
797d0ba59c
Auto merge of #27857 - Manishearth:improve-fnkind, r=pnkfelix
...
Since enums are namespaced now, should we also remove the `Fk` prefixes from `FnKind` and remove the reexport? (The reexport must be removed because otherwise it clashes with glob imports containing `ItemFn`). IMO writing `FnKind::Method` is much clearer than `FkMethod`.
2015-08-24 12:47:57 +00:00
Niko Matsakis
c0de23de81
convert to use is_local
instead of == LOCAL_CRATE
2015-08-24 05:35:34 -04:00
Niko Matsakis
e91bef2e05
fallout from moving def-id
2015-08-24 05:35:34 -04:00
Manish Goregaokar
c03bf18b84
FnFnBlock -> FkClosure
2015-08-16 18:23:58 +05:30
Alex Crichton
2972b77134
Add issue for the rustc_private feature everywhere
2015-08-15 18:09:17 -07:00
bors
a4066271b7
Auto merge of #27758 - nathankleyn:diagnostics-386, r=Manishearth
...
This adds detailed diagnostics for E0386, 'cannot assign to data in an
immutable container'.
This is part of rust-lang/rust#24407 .
r? @Manishearth
2015-08-13 20:37:18 +00:00
Nathan Kleyn
b0b2952189
Improve interior mutability example for E0386.
2015-08-13 10:17:56 +01:00
Nathan Kleyn
75c6428e1b
Add details about types with interior mutability to E0386.
...
Types with interior mutability like `Cell` and `RefCell` can be used to
skirt the restriction on mutating mutable values inside an immutable
container.
2015-08-13 10:17:56 +01:00
Nathan Kleyn
55752a4bde
Add detailed diagnostics for E0386.
...
This adds detailed diagnostics for E0386, 'cannot assign to data in an
immutable container'.
2015-08-13 10:17:56 +01:00
Nathan Kleyn
67c7fd710b
Improve code examples for E0383 long diagnostic.
2015-08-13 09:11:06 +01:00
Nathan Kleyn
9c0d2b2465
Add detailed diagnostics for E0383.
...
This adds detailed diagnostics for E0383, 'partial reinitialization of
uninitialized structure'.
This is part of rust-lang/rust#24407 .
2015-08-13 09:06:29 +01:00
Alex Crichton
737397c584
rollup merge of #27622 : eefriedman/https-url
...
Also fixes a few outdated links.
2015-08-11 22:11:25 -07:00
Alex Crichton
93bb57e765
rollup merge of #27605 : AlisdairO/diagnostics387
...
As title :-)
Part of #24407 .
r? @Manishearth
2015-08-11 22:11:20 -07:00
Alisdair Owens
f0419661f0
fix import nit for long diagnostics on E0387
2015-08-10 20:35:27 +01:00
Alisdair Owens
78d28336fe
add info about cell types to diagnostic message E0387
2015-08-10 16:48:53 +01:00
Eli Friedman
bbbfed2f93
Use https URLs to refer to rust-lang.org where appropriate.
...
Also fixes a few outdated links.
2015-08-09 14:28:46 -07:00
Alisdair Owens
dadc717041
add long diagnostics for E0382
2015-08-08 20:17:03 +01:00
Alisdair Owens
d83a0fdf7d
add diagnostics for E0387
2015-08-08 17:38:50 +01:00
Ariel Ben-Yehuda
5f3c1412ad
use VariantDef instead of struct_fields
2015-08-06 16:54:40 +03:00
Ariel Ben-Yehuda
764310e7bb
introduce an ADTDef struct for struct/enum definitions
2015-08-06 14:16:56 +03:00
Agoston Szepessy
74787b98ba
Added error explanation for E0384.
2015-08-02 15:30:06 -04:00
bors
55ede7ed8e
Auto merge of #27234 - oli-obk:move_get_name_get_ident_to_impl, r=eddyb
...
this has quite some fallout. but also made lots of stuff more readable imo
[breaking-change] for plugin authors
2015-07-28 21:14:28 +00:00
Oliver Schneider
00a5e66f81
remove get_ident
and get_name
, make as_str
sound
2015-07-28 18:07:20 +02:00
Felix S. Klock II
22796c8bad
build fragmented map earlier to make its dependencies clearer.
2015-07-28 16:15:56 +02:00
Felix S. Klock II
d3d552b71b
rustc and rustc::borrowck: pass fragment info down into trans.
2015-07-28 16:12:32 +02:00
Alisdair Owens
38c5af86a1
Add long diagnostics for E0373
2015-07-23 15:07:26 +01:00
P1start
0bf9fbb6dd
Suggest using ref
inline in an error
2015-07-11 13:59:09 +12: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
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
2f45294a50
Clean-up assignment checking in borrowck
2015-07-01 00:12:12 +03: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
e2d7e904ca
Remove Typer + ClosureTyper impls for ParameterEnv
2015-06-30 02:40:17 -07:00
Eduard Burtescu
ad66c215aa
rustc: switch most remaining middle::ty functions to methods.
2015-06-26 07:34:57 +03:00
Nick Hamann
0cc26b2058
Use correct type for "use of moved value" error with closures.
...
Fixes #24357
2015-06-24 20:15:11 -05:00
Eduard Burtescu
0b58fdf925
rustc: remove Repr and UserString.
2015-06-19 01:39:26 +03:00
Eduard Burtescu
dfbc9608ce
rustc: replace Repr/UserString impls with Debug/Display ones.
2015-06-19 01:36:20 +03:00
Eduard Burtescu
b510ea1487
Clean up unused argument/variable warnings.
2015-06-19 01:32:45 +03:00
Eduard Burtescu
a3727559c6
rustc: use the TLS type context in Repr and UserString.
2015-06-19 01:32:44 +03:00
Eduard Burtescu
6061707348
rustc: leave only one free top-level function in ppaux, and private.
2015-06-19 01:18:43 +03:00
Eduard Burtescu
4e0cb86a5c
rustc: reduce ppaux's public footprint to 5 functions.
2015-06-19 01:18:42 +03:00
Eli Friedman
199e60aa22
Remove unused type InteriorSafety.
2015-06-16 13:05:07 -07:00
Eli Friedman
3c69db4c3c
Cleanup: rename middle::ty::sty and its variants.
...
Use camel-case naming, and use names which actually make sense in modern Rust.
2015-06-12 11:07:16 -07:00
bors
b5b3a99f84
Auto merge of #26190 - Veedrac:no-iter, r=alexcrichton
...
Pull request for #26188 .
2015-06-11 18:10:08 +00:00
Joshua Landau
d7f5fa4636
Conver reborrows to .iter() calls where appropriate
2015-06-11 13:56:07 +01:00
Joshua Landau
ca7418b846
Removed many pointless calls to *iter() and iter_mut()
2015-06-10 21:14:03 +01:00
bors
ae8a3c92a7
Auto merge of #26182 - Manishearth:rollup, r=Manishearth
...
- Successful merges: #26142 , #26143 , #26145 , #26146 , #26164 , #26174
- Failed merges:
2015-06-10 18:41:42 +00:00