Vadim Petrochenkov
8b026a6e48
Use numeric field Name
s ("0", "1" etc) for positional fields
2016-03-02 10:31:19 +03:00
Vadim Petrochenkov
8b60b948d9
Get rid of hir::StructFieldKind
2016-03-02 10:31:19 +03:00
Jeffrey Seyfried
3358fb11da
Fix the visibility of extern crate declarations and stop warning on pub extern crate
2016-02-24 01:34:14 +00:00
Jeffrey Seyfried
5ad84f1301
Replace the field imports
in Module with unresolved_imports
and refactor away resolved_import_count
2016-02-18 00:02:50 +00:00
Jeffrey Seyfried
81d5d02c37
Rename Module field anonymous_children to module_children, expand it to include both named an anonymous modules, and fix #31644
2016-02-14 09:05:37 +00:00
Jeffrey Seyfried
d881eee608
Change try_define_child to return a Result instead of an Option
2016-02-08 02:25:07 +00:00
Jeffrey Seyfried
16e7ff1bff
Write and use increment_outstanding_references_for and decrement_outstanding_references_for
2016-02-08 02:25:05 +00:00
Jeffrey Seyfried
96b4dc4b87
Refactor away the fields id and is_public of ImportResolution and rename ImportResolution to NameResolution
2016-02-08 02:25:03 +00:00
Jeffrey Seyfried
2e24c7410f
Expand NameBinding to better represent bindings from imports
2016-02-08 02:24:53 +00:00
Jeffrey Seyfried
22e189ed57
Add and use an arena for NameBinding
s
2016-02-08 02:24:16 +00:00
Jeffrey Seyfried
9c166cb671
Remove unneeded borrows and slices
2016-02-03 23:40:46 +00:00
Jeffrey Seyfried
23bdbb13f4
Refactor block_needs_anonymous_module
2016-02-03 23:39:13 +00:00
Jeffrey Seyfried
e768fa729f
Refactor away the field Module::external_module_children in resolve
2016-01-31 03:38:41 +00:00
Jeffrey Seyfried
1ca9f03ead
Nits and other local improvements in resolve
2016-01-29 21:18:15 +00:00
Jeffrey Seyfried
118c93ba5e
Refactor away NameBindings, NsDef, ImportResolutionPerNamespace, DuplicateCheckingMode, and NamespaceDefinition.
2016-01-29 21:18:12 +00:00
Vadim Petrochenkov
ff6b0aac6a
resolve: Fix variant namespacing
2016-01-21 23:22:01 +03: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
a8514d3ecc
resolve: use arena allocation instead of reference counting for Module
s to fix memory leaks from Rc cycles
2016-01-13 00:54:16 +00:00
Jeffrey Seyfried
834fb17e94
Fix bug in duplicate checking for extern crates.
2016-01-06 07:04:48 +00:00
Nick Cameron
aaa02b3ff9
Refactoring
2015-12-30 14:27:59 +13:00
Nick Cameron
95dc7efad0
use structured errors
2015-12-30 14:27:59 +13:00
Vadim Petrochenkov
73307475f9
Prohibit private variant reexports
2015-12-18 04:12:31 +03:00
bors
6734dccc31
Auto merge of #30325 - jseyfried:fixes_30078, r=nrc
...
This fixes a bug in which unused imports can get wrongly marked as used when checking for unused qualifications in `resolve_path` (issue #30078 ), and it removes unused imports that were previously undetected because of the bug.
2015-12-17 18:21:25 +00:00
Jeffrey Seyfried
8364a6feef
Remove unused imports
2015-12-17 05:43:27 +00:00
Vadim Petrochenkov
0cc69f0ea3
rustc: Remove def::DefUse
2015-12-16 18:19:11 +03:00
Nick Cameron
18b4fe0e3e
Make name resolution errors non-fatal
2015-12-11 21:00:15 +13:00
Jeffrey Seyfried
ada87fae5f
Rename (Ns)ImportResolution
2015-12-11 01:38:13 +00:00
Jeffrey Seyfried
27c4f9e7b1
Fix a bug in which the visibility of a use declaration defining a name in one namespace (e.g. the value namespace) is overridden by a later use declaration defining the same name in the other namespace (e.g. the type namespace).
2015-12-10 02:55:05 +00:00
Vadim Petrochenkov
ca88e9c536
Remove some unnecessary indirection from HIR structures
2015-12-07 17:17:41 +03:00
Ariel Ben-Yehuda
0a8bb4c509
split the metadata code into rustc_metadata
...
tests & rustdoc still broken
2015-11-26 18:22:40 +02:00
Ariel Ben-Yehuda
d45dd9423e
make CrateStore a trait object
...
rustdoc still broken
2015-11-26 18:21:17 +02:00
Ariel Ben-Yehuda
f5fbefa3af
remove csearch from resolve and typeck
2015-11-26 18:21:17 +02:00
bors
8e9a97529d
Auto merge of #29530 - jseyfried:resolve, r=nikomatsakis
...
Replace `TypeNsDef` and `ValueNsDef` with a more general type `NsDef`.
Define a newtype `NameBinding` for `Rc<RefCell<Option<NsDef>>>` and refactor `NameBindings` to be a `NameBinding` for each namespace.
Replace uses of `NameBindings` with `NameBinding` where only one binding is being used (in `NamespaceResult`, `Target,` etc).
Refactor away `resolve_definition_of_name_in_module` and `NameDefinition`, fixing issue #4952 .
2015-11-23 17:31:19 +00:00
Niko Matsakis
98b046e16e
Various straight-forward ports that override visit_nested_items
...
to do "in-situ" visits.
2015-11-18 19:23:29 -05:00
Jeffrey Seyfried
6a6e1dba55
Refactor away get_module_if_available and get_module and reformat one-liners
2015-11-18 01:22:32 +00:00
Jeffrey Seyfried
572c2f3e07
Fix issue #21546 and refactor NsDef
2015-11-17 09:10:41 +00:00
Jeffrey Seyfried
8a6187fde1
Refactor fields def_id and kind of Module into a single field def.
...
Change build_reduced_graph.rs so the fields def and module of NsDef are never both Some unless the NsDef represents a duplicate definition (see issue 26421).
2015-11-16 07:59:50 +00:00
Jeffrey Seyfried
ceda8383c9
Replace TypeNsDef
and ValueNsDef
with a more general type NsDef
.
...
Define a newtype `NameBinding` for `Rc<RefCell<Option<NsDef>>>` and refactor `NameBindings` to be a `NameBinding` for each namespace.
Replace uses of `NameBindings` with `NameBinding` where only one binding is being used (in `NamespaceResult`, `Target,` etc).
Refactor away `resolve_definition_of_name_in_module` and `NameDefinition`.
2015-11-16 02:10:09 +00:00
corentih
889b0e9ace
rustfmt librustc_resolve
2015-11-14 16:21:30 +01:00
bors
a1e2a5538a
Auto merge of #26421 - nham:fix_21546, r=pnkfelix
...
Fixes #21546 .
2015-10-27 19:15:29 +00: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
Nick Hamann
f0af1eb110
Warn when creating a module and a struct that both have the same name.
...
Currently it is possible to do the following:
- define a module named `Foo` and then a unit or tuple struct also named `Foo`
- define any struct named `Foo` and then a module named `Foo`
This commit introduces a warning for both of these cases.
2015-10-22 17:12:16 -05: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
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
Vadim Petrochenkov
2314ab29c2
Unify structures and enum variants in HIR
2015-10-13 15:19:16 +03:00
Niko Matsakis
01f32ace03
Convert DefId to use DefIndex, which is an index into a list of
...
paths, and construct paths for all definitions. Also, stop rewriting
DefIds for closures, and instead just load the closure data from
the original def-id, which may be in another crate.
2015-10-01 10:43:07 -04:00