Eduard-Mihai Burtescu
864928297d
rustc: separate TraitItem from their parent Item, just like ImplItem.
2016-12-28 11:21:45 +02:00
Mark-Simulacrum
1eab19dba8
Refactor ty::FnSig to privatize all fields
2016-12-05 22:22:49 -07:00
Niko Matsakis
104125d5f7
revamp Visitor
with a single method for controlling nested visits
2016-11-29 13:04:27 +01:00
Florian Diebold
f0ce5bb66b
Split nested_visit_mode function off from nested_visit_map
...
... and make the latter mandatory to implement.
2016-11-29 13:04:27 +01:00
Florian Diebold
f55482e7c9
rustc: replace body exprs by their ids
2016-11-29 13:04:27 +01:00
Eduard-Mihai Burtescu
962633cdbb
rustc: embed path resolutions into the HIR instead of keeping DefMap.
2016-11-28 04:18:10 +02:00
Eduard Burtescu
16b5c2cfef
rustc: desugar UFCS as much as possible during HIR lowering.
2016-11-28 04:18:10 +02:00
Jeffrey Seyfried
36c8f6b0d3
Cleanup InternedString
.
2016-11-21 09:00:56 +00:00
Niko Matsakis
36fbf8c53c
refactor Visitor into ItemLikeVisitor and intravisit::Visitor
...
There are now three patterns (shallow, deep, and nested visit). These
are described in detail on the docs in `itemlikevisit::ItemLikeVisitor`.
2016-11-16 13:51:36 -05:00
Eduard Burtescu
3f9eba1c7c
rustc: clean up lookup_item_type and remove TypeScheme.
2016-11-10 16:49:53 +02:00
Eduard Burtescu
ff0830d749
rustc: use an Expr instead of a Block for function bodies.
2016-11-10 01:44:45 +02:00
Eduard Burtescu
6a8d131e5d
rustc: make all read access to tcx.tables go through a method.
2016-11-02 03:50:32 +02:00
Andrew Lygin
157208b046
New error format for E0512
2016-09-26 22:49:22 +03:00
Vadim Petrochenkov
e05e74ac83
Replace _, _
with ..
2016-09-04 12:30:33 +03:00
Andrew Cann
ed02344fbc
Remove obsolete divergence related stuff
...
Replace FnOutput with Ty
Replace FnConverging(ty) with ty
Purge FnDiverging, FunctionRetTy::NoReturn and FunctionRetTy::None
2016-08-13 21:37:09 +08:00
Eduard Burtescu
d1d16c94c5
rustc: rename ProjectionMode and its variant to be more memorable.
2016-08-12 06:43:34 +03:00
Jonathan Turner
6ae3502134
Move errors from libsyntax to its own crate
2016-06-23 08:07:35 -04:00
Vadim Petrochenkov
ee4e55398b
Introduce TyCtxt::expect_def/expect_resolution helpers and use them where possible
2016-06-10 01:03:54 +03:00
Eduard Burtescu
a1c170fc35
rustc: Split local type contexts interners from the global one.
2016-05-11 04:14:58 +03:00
Eduard Burtescu
12e56ea56b
rustc: Wrap users of InferCtxt in an anonymous scope.
2016-05-11 04:14:58 +03:00
Eduard Burtescu
76affa5d6f
rustc: Split 'tcx into 'gcx and 'tcx for InferCtxt and its users.
2016-05-11 04:14:58 +03:00
Eduard Burtescu
513d392f7e
rustc: Replace &'a TyCtxt<'tcx> with a TyCtxt<'a, 'tcx> wrapper.
2016-05-11 04:14:58 +03:00
Eduard Burtescu
0907c198c4
infer: Use methods for creating an InferCtxt.
2016-05-11 04:14:58 +03:00
Eduard Burtescu
c7d564d8c9
Check transmutes between types without statically known sizes.
2016-04-19 17:03:30 +03:00
Eduard Burtescu
ffca6c3e15
rustc: move middle::{def,def_id,pat_util} to hir.
2016-04-06 09:14:21 +03:00
Eduard Burtescu
8b0937293b
rustc: move rustc_front to rustc::hir.
2016-04-06 09:01:55 +03:00
Benjamin Herr
bcdaccfbbe
librustc: replace span_bug calls with span_bug!()
2016-03-31 22:04:23 +02:00
Eduard Burtescu
5efdde0de1
rustc: move cfg, infer, traits and ty from middle to top-level.
2016-03-27 01:05:54 +02:00
Eduard Burtescu
5647586ed3
rustc: move middle::subst into middle::ty.
2016-03-27 01:05:53 +02:00
Felix S. Klock II
213d57983d
Expose attached attributes to FnKind
abstraction so that I can look at them in borrowck.
2016-03-21 18:36:22 +01:00
Eduard Burtescu
ffa0860467
Track fn type and lifetime parameters in TyFnDef.
2016-03-09 16:45:28 +02:00
Eli Friedman
b423a0f9ef
Split TyBareFn into TyFnDef and TyFnPtr.
...
There's a lot of stuff wrong with the representation of these types:
TyFnDef doesn't actually uniquely identify a function, TyFnPtr is used to
represent method calls, TyFnDef in the sub-expression of a cast isn't
correctly reified, and probably some other stuff I haven't discovered yet.
Splitting them seems like the right first step, though.
2016-03-09 16:45:28 +02:00
Jeffrey Seyfried
37ba66a66e
Rename middle::ty::ctxt to TyCtxt
2016-03-03 07:37:56 +00:00
Oliver Schneider
243a30c931
[breaking-change] don't glob import/export syntax::abi enum variants
2016-02-11 12:34:48 +01:00
Vadim Petrochenkov
2084c2c33a
Rename Def's variants and don't reexport them
2016-01-20 22:31:10 +03:00
Vadim Petrochenkov
ceaaa1bc33
Refactor definitions of ADTs in rustc::middle::def
2016-01-20 21:50:57 +03:00
Jeffrey Seyfried
76021d84b3
Refactor away extension traits RegionEscape and HasTypeFlags
2016-01-07 00:42:12 +00:00
Niko Matsakis
005fa14358
Annotate the compiler with information about what it is doing when.
2016-01-05 21:05:50 -05:00
Vadim Petrochenkov
35749923ee
Fix the fallout
2015-11-19 11:41:09 +03:00
Niko Matsakis
e4ff9f71db
Port a bunch of code new-visitor; all of these ports were
...
straightforward uses of `visit_all_items`. In some cases I had to remove
empty `visit_item` calls that were just to suppress visiting nested
items.
2015-11-18 19:22:18 -05:00
Vadim Petrochenkov
f284cbc7af
Cleanup interfaces of Name, SyntaxContext and Ident
...
Make sure Name, SyntaxContext and Ident are passed by value
Make sure Idents don't serve as keys (or parts of keys) in maps, Ident comparison is not well defined
2015-09-24 23:05:02 +03:00
Nick Cameron
facdf2ebb1
Add an intital HIR and lowering step
2015-09-03 10:02:36 +12:00
Ms2ger
2076cddcf2
Rename FnKind variants and stop re-exporting them from the visit module.
...
There is no longer a need for that pattern, since enums are now qualified.
2015-08-26 12:02:58 +02: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
mitaa
f357d559ca
Replace get_item_path[-1] with get_item_name
2015-08-12 20:22:25 +02:00
Oliver Schneider
00a5e66f81
remove get_ident
and get_name
, make as_str
sound
2015-07-28 18:07:20 +02:00
Alisdair Owens
686d326439
Add diagnostics for E0172, fix inline error message for E0139
2015-07-20 18:49:05 +01:00