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
Eduard Burtescu
ad66c215aa
rustc: switch most remaining middle::ty functions to methods.
2015-06-26 07:34:57 +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
aa03871a6e
rustc: combine type-flag-checking traits and fns and into one trait.
2015-06-26 07:34:56 +03: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
a3727559c6
rustc: use the TLS type context in Repr and UserString.
2015-06-19 01:32:44 +03: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
Eduard Burtescu
76eaed44d9
syntax: move ast_map to librustc.
2015-06-10 02:40:45 +03:00
Ariel Ben-Yehuda
595409df06
Introduce a fast-path for type_is_sized/type_moves_by_default
...
This seems to improve performance by the same 2-3% of my selection
fast-path.
2015-06-05 03:50:49 +03:00
Alex Crichton
43bfaa4a33
Mass rename uint/int to usize/isize
...
Now that support has been removed, all lingering use cases are renamed.
2015-03-26 12:10:22 -07:00
Alex Crichton
e2f97f51ad
Register new snapshots
...
Conflicts:
src/librbml/lib.rs
src/libserialize/json_stage0.rs
src/libserialize/serialize_stage0.rs
src/libsyntax/ast.rs
src/libsyntax/ext/deriving/generic/mod.rs
src/libsyntax/parse/token.rs
2015-01-06 15:24:24 -08:00
Sean McArthur
44440e5c18
core: split into fmt::Show and fmt::String
...
fmt::Show is for debugging, and can and should be implemented for
all public types. This trait is used with `{:?}` syntax. There still
exists #[derive(Show)].
fmt::String is for types that faithfully be represented as a String.
Because of this, there is no way to derive fmt::String, all
implementations must be purposeful. It is used by the default format
syntax, `{}`.
This will break most instances of `{}`, since that now requires the type
to impl fmt::String. In most cases, replacing `{}` with `{:?}` is the
correct fix. Types that were being printed specifically for users should
receive a fmt::String implementation to fix this.
Part of #20013
[breaking-change]
2015-01-06 14:49:42 -08:00
Nick Cameron
e0684e8769
Fallout
2015-01-06 14:20:48 +13:00
Jorge Aparicio
56dcbd17fd
sed -i -s 's/\bmod,/self,/g' **/*.rs
2015-01-03 22:42:21 -05:00
Niko Matsakis
7474be0660
Make ty::ParameterEnvironment
, not ty::ctxt
, implement Typer
and
...
`UnboxedClosureTyper`. This requires adding a `tcx` field to
`ParameterEnvironment` but generally simplifies everything since we
only need to pass along an `UnboxedClosureTyper` or `Typer`.
2015-01-03 07:01:21 -05:00
Niko Matsakis
83ef3042de
Modify type_known_to_meet_builtin_bound
so that it doesn't suppress overflow,
...
which should always result in an error.
NB. Some of the hunks in this commit rely on a later commit which adds
`tcx` into `param_env` and modifies `ParameterEnvironment` to
implement `Typer`.
2015-01-03 07:01:21 -05:00
Niko Matsakis
f95bb55a1c
Move the scalar types out of static data so that we can put Rc
into sty.
2014-12-30 09:34:38 -05:00