bors
95fb8d1c87
Auto merge of #29325 - alexcrichton:revert-trait-accessibility, r=nrc
...
These commits revert https://github.com/rust-lang/rust/pull/28504 and add a regression test pointed out by @petrochenkov, it's not immediately clear with the regression that the accessibility check should be removed, so for now preserve the behavior on stable by default.
r? @nrc
2015-10-27 01:04:14 +00:00
Alex Crichton
cb0ce69026
Revert "Remove unnecessary trait accessibility check."
...
This reverts commit f4f95eb3a9
.
2015-10-26 09:16:05 -07:00
Vadim Petrochenkov
e8ddbba2ed
syntax/rustc_front: Simplify VariantData::fields
...
And use VariantData instead of P<VariantData> in Item_ and Variant_
2015-10-25 18:33:51 +03:00
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