Vadim Petrochenkov
46750d0409
Merge VariantData and VariantData_
2015-10-13 15:19:27 +03:00
Vadim Petrochenkov
40aa09e4c9
Merge struct fields and struct kind
2015-10-13 15:19:25 +03:00
Vadim Petrochenkov
30af54dede
Dict -> Struct, StructDef -> VariantData, def -> data
2015-10-13 15:19:24 +03:00
Vadim Petrochenkov
b404ded15b
Fix failing privacy test
2015-10-13 15:19:21 +03:00
Vadim Petrochenkov
beda1f88a7
Provide span for visit_struct_def + remove some dead code
2015-10-13 15:19:19 +03:00
Vadim Petrochenkov
877c35e8a2
Remove now redundant NodeId from Variant
2015-10-13 15:19:18 +03:00
Vadim Petrochenkov
495566ee61
Decouple structure kinds from NodeIds
2015-10-13 15:19:17 +03:00
Niko Matsakis
3b1399df2d
Make calling def_id on a DefSelfTy an error; the previous defids that
...
were returned, either the trait or the *self type itself*, were not
particularly representative of what the Def is (a type parameter).
Rewrite paths to handle this case specially, just as they handle the
primitive case specifically. This entire `def_id` codepath is kind of a
mess.
2015-10-01 10:37:19 -04:00
Niko Matsakis
5600c6282e
move direct accesses of node
to go through as_local_node_id
, unless
...
they are being used as an opaque "position identifier"
2015-10-01 10:37:19 -04:00
Niko Matsakis
9ff4f57cd0
move job of creating local-def-ids to ast-map (with a few stragglers)
2015-10-01 10:28:28 -04:00
Ariel Ben-Yehuda
709ce9f96d
kill the fake provided method stubs
...
this simplifies the code while reducing the size of libcore.rlib by
3.3 MiB (~1M of which is bloat a separate patch of mine removes
too), while reducing rustc memory usage on small crates by 18MiB.
This also simplifies the code considerably.
2015-10-01 00:14:56 +03:00
Vadim Petrochenkov
40ce80484c
Remove random Idents outside of libsyntax
2015-09-23 20:04:49 +03:00
bors
b2f379cdc2
Auto merge of #28535 - petrochenkov:name, r=nrc
...
Part of https://github.com/rust-lang/rust/issues/6993
This patch replaces `Ident`s with `Name`s in data structures of HIR and updates the dependent crates to compile and pass `make check`.
Some HIR structures still use `Ident`s, namely `PathSegment`, `PatIdent`, `ExprWhile`, `ExprLoop`, `ExprBreak` and `ExprAgain`, they need them for resolve (but `PathSegment` is special, see https://github.com/rust-lang/rust/issues/6993#issuecomment-141256292 ).
r? @nrc
2015-09-23 00:25:42 +00:00
bors
ad82e0ac18
Auto merge of #28504 - Eljay:fix-trait-privacy, r=nrc
...
Fixes #16264 / #18241 .
As far as I can tell, it should be impossible for a trait to be inaccessible if it's in scope, so this check is unnecessary. Are there any cases where this check is actually needed?
2015-09-22 22:42:00 +00:00
Vadim Petrochenkov
0af8e47546
Fix rebase
2015-09-22 20:46:23 +03:00
Vadim Petrochenkov
2a779062d8
Use Names in the remaining HIR structures with exception of...
...
PathSegment, PatIdent, ExprWhile, ExprLoop, ExprBreak and ExprAgain - they need Idents for resolve
2015-09-22 19:58:29 +03:00
Vadim Petrochenkov
64fb709f99
Use Names in hir::{Field, ExprMethodCall, ExprField}
2015-09-22 19:53:53 +03:00
Vadim Petrochenkov
a4af958786
Use Names in HIR Items
2015-09-22 19:53:52 +03:00
Vadim Petrochenkov
ae77dbb835
Use Names in HIR visitors and folders
2015-09-22 19:52:53 +03:00
bors
e9d2587766
Auto merge of #28364 - petrochenkov:usegate, r=alexcrichton
...
Closes https://github.com/rust-lang/rust/issues/28075
Closes https://github.com/rust-lang/rust/issues/28388
r? @eddyb
cc @brson
2015-09-22 01:12:26 +00:00
Eljay
f4f95eb3a9
Remove unnecessary trait accessibility check.
2015-09-19 00:58:36 +01:00
Vadim Petrochenkov
357982fae4
Workaround for imports with empty braces
2015-09-17 14:13:13 +03:00
Vadim Petrochenkov
50e42ea9f7
Correctly walk import lists in AST visitors
2015-09-17 14:13:12 +03:00
Simonas Kazlauskas
f5a99ae7fb
Remove Visibility field from enum variants
...
Followup on #28440
2015-09-17 10:02:59 +03:00
Guillaume Gomez
0477976867
Add error code for private struct field issue
2015-09-10 14:19:01 +02:00
Guillaume Gomez
a056d5869e
Add error code for tuple struct constructor error
2015-09-09 12:08:21 +02:00
Guillaume Gomez
6090cea184
Add error code for unnecessary visibility qualifier
2015-09-09 11:59:55 +02:00
Guillaume Gomez
bda7ec0755
Add error code for enum item visibility error
2015-09-09 11:50:26 +02:00
Guillaume Gomez
42e16223cf
Add new error code for visibility inside a function
2015-09-09 11:25:32 +02:00
Guillaume Gomez
c4a3936327
Add error code for privacy error on exported signature
2015-09-09 11:08:35 +02:00
Guillaume Gomez
5e9bfcd6d6
Add new error code for trait privacy error
2015-09-09 11:02:52 +02:00
Nick Cameron
facdf2ebb1
Add an intital HIR and lowering step
2015-09-03 10:02:36 +12:00
Niko Matsakis
e91bef2e05
fallout from moving def-id
2015-08-24 05:35:34 -04:00
Alex Crichton
2972b77134
Add issue for the rustc_private feature everywhere
2015-08-15 18:09:17 -07: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
bors
8856927f64
Auto merge of #27451 - seanmonstar:use-groups-as, r=alexcrichton
...
An implementation of [RFC 1219](https://github.com/rust-lang/rfcs/pull/1219 ).
The RFC is not merged yet, but once merged, this could be.
2015-08-10 20:24:06 +00: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
Sean McArthur
cfcd449c4c
rustc: rename multiple imports in a list
2015-08-08 11:54:15 -07:00
Ariel Ben-Yehuda
eedb1cc576
rename ADTDef to AdtDef etc.
2015-08-07 15:03:09 +03: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
Oliver Schneider
00a5e66f81
remove get_ident
and get_name
, make as_str
sound
2015-07-28 18:07:20 +02:00
Eduard Burtescu
d256eb1c5d
rustc: remove MethodOrigin and use the container to distinguish inherent methods.
2015-07-04 17:51:31 +03:00
Eduard Burtescu
96d24a5c58
rustc: remove MethodOrigin::Object and use traits::VtableObject instead.
2015-07-04 06:21:00 +03:00
Eduard Burtescu
5620a58791
rustc_lint: use traits::select for methods in unconditional_recursion.
2015-07-04 06:21:00 +03:00
Eduard Burtescu
70365ed911
rustc: simplify ty::MethodOrigin and avoid trait item indices.
2015-07-04 06:21:00 +03:00
Eduard Burtescu
fe354e58bd
rustc: remove unused MethodStaticClosure variant of MethodOrigin.
2015-07-04 06:21:00 +03: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
Eduard Burtescu
ad66c215aa
rustc: switch most remaining middle::ty functions to methods.
2015-06-26 07:34:57 +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