Jeffrey Seyfried
07957ffb2e
Refactor Module's field extern_crate_did: Option<DefId> to extern_crate_id: Option<NodeId>
2016-02-26 00:37:27 +00:00
Jeffrey Seyfried
8f32fdecfb
Remove LastPrivate
2016-02-26 00:37:27 +00:00
Jeffrey Seyfried
2942cf7b0a
Improve unused import detection
2016-02-24 13:13:46 +00:00
Jeffrey Seyfried
7ad7065c35
Uncapitalize note messages
2016-02-24 13:12:13 +00:00
Jeffrey Seyfried
197326d17b
Resolve: include normal modules in the ribs
2016-02-24 06:31:55 +00:00
Jeffrey Seyfried
f8d6dcf46e
Warn when reexporting a private extern crate
2016-02-24 01:34:20 +00: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
bors
e628398f34
Auto merge of #31811 - alexcrichton:clean-deps, r=sanxiyn
...
The standard library doesn't depend on rustc_bitflags, so move it to explicit
dependencies on all other crates. Additionally, the arena/fmt_macros deps could
be dropped from libsyntax.
2016-02-22 05:20:39 +00:00
Alex Crichton
95761417c3
rustbuild: Sync some Cargo.toml/lib.rs dependencies
...
The standard library doesn't depend on rustc_bitflags, so move it to explicit
dependencies on all other crates. Additionally, the arena/fmt_macros deps could
be dropped from libsyntax.
2016-02-21 09:49:13 -08:00
bors
2d14b39204
Auto merge of #31747 - jseyfried:stop_resolve_after_fail, r=nrc
...
Now that #31461 is merged, a failing resolution can never become indeterminate or succeed, so we no longer have to keep trying to resolve failing import directives.
r? @nrc
2016-02-20 14:33:13 +00:00
bors
cfabd17372
Auto merge of #31674 - VladUreche:issue/21221, r=nikomatsakis
...
This commit adds functionality that allows the name resolution pass
to search for entities (traits/types/enums/structs) by name, in
order to show recommendations along with the errors.
For now, only E0405 and E0412 have suggestions attached, as per the
request in bug #21221 , but it's likely other errors can also benefit
from the ability to generate suggestions.
2016-02-20 10:40:42 +00:00
bors
28a3e8bb51
Auto merge of #31742 - frewsxcv:needless-lifetimes, r=pnkfelix
...
These explicit lifetimes can be ommitted because of lifetime elision
rules. Instances were found using rust-clippy.
2016-02-19 13:49:46 +00:00
bors
917db28b55
Auto merge of #31716 - jseyfried:fix_privacy_for_def_err, r=nrc
...
Fixes #31714
2016-02-19 02:18:25 +00:00
Jeffrey Seyfried
08b9097197
Improve dummy bindings for unresolved imports
2016-02-19 00:43:52 +00:00
Vlad Ureche
88af8fa0b1
Show candidates for names not in scope
...
This commit adds functionality that allows the name resolution pass
to search for entities (traits/types/enums/structs) by name, in
order to show recommendations along with the errors.
For now, only E0405 and E0412 have suggestions attached, as per the
request in bug #21221 , but it's likely other errors can also benefit
from the ability to generate suggestions.
2016-02-19 01:10:36 +01:00
Corey Farwell
5850d16d52
Remove unnecessary explicit lifetime bounds.
...
These explicit lifetimes can be ommitted because of lifetime elision
rules. Instances were found using rust-clippy.
2016-02-18 08:37:10 -05: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
845ad1b4ed
Stop trying to resolve an import directive after the resolution fails
2016-02-17 23:55:00 +00:00
Steve Klabnik
0a88c8fb19
Rollup merge of #31679 - GuillaumeGomez:long_error_explanation, r=Manishearth
...
r? @Manishearth
2016-02-17 18:14:36 -05:00
bors
0d1cd9bd6a
Auto merge of #31685 - petrochenkov:patrefact2, r=eddyb
...
And split `PatKind::Enum` into `PatKind::TupleStruct` and `PatKind::Path`.
This is the HIR part of https://github.com/rust-lang/rust/pull/31581 .
This is also kind of a preparation for https://github.com/rust-lang/rfcs/pull/1492 .
r? @eddyb
2016-02-17 06:01:49 +00:00
Jeffrey Seyfried
1b5d2f21d6
Don't compute LastPrivate data for Def::Err.
2016-02-16 22:22:57 +00:00
Vadim Petrochenkov
06755d90ce
Split PatKind::Enum into PatKind::TupleStruct and PatKind::Path
2016-02-16 00:40:38 +03:00
ggomez
1c8766761e
Global error explanations improvements
2016-02-15 17:57:21 +01:00
bors
4ce803837e
Auto merge of #31648 - jseyfried:fix_diagnostics, r=nrc
...
This PR fixes two unrelated diagnostics bugs in resolve.
First, it reports privacy errors for an import only after the import resolution is determined, fixing #31402 .
Second, it expands the per-module map from block ids to anonymous modules so that it also maps module declarations ids to modules, and it uses this map to in `with_scope` to fix #31644 .
r? @nrc
2016-02-15 07:13:02 +00:00
bors
69ad91290d
Auto merge of #31566 - jseyfried:fix_regression, r=nrc
...
This fixes a regression caused by #31461 allowing extern crates to be glob imported, and it fixes the test that was supposed to catch it.
r? @nrc
2016-02-15 05:19:29 +00:00
Vadim Petrochenkov
9b40e1e5b3
Rename hir::Pat_ and its variants
2016-02-14 15:25:12 +03: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
4af85643b1
Rename Module field children to resolutions
2016-02-14 08:47:55 +00:00
Jeffrey Seyfried
b7889ef235
Report privacy errors at most once per import ( fixes #31402 )
2016-02-13 21:35:32 +00:00
bors
3548b8c273
Auto merge of #31524 - jonas-schievink:autoderef, r=steveklabnik
2016-02-13 00:16:03 +00:00
Jonas Schievink
8ac5f87db8
Autoderef in librustc_resolve
2016-02-12 19:28:42 +01:00
bors
ce4b75f256
Auto merge of #30726 - GuillaumeGomez:compile-fail, r=brson
...
r? @brson
cc @alexcrichton
I still need to add error code explanation test with this, but I can't figure out a way to generate the `.md` files in order to test example source codes.
Will fix #27328 .
2016-02-12 18:25:08 +00:00
Alex Crichton
2581b14147
bootstrap: Add a bunch of Cargo.toml files
...
These describe the structure of all our crate dependencies.
2016-02-11 11:12:32 -08:00
Oliver Schneider
625e78b700
[breaking-change] don't glob export ast::{UintTy, IntTy} variants
2016-02-11 12:34:48 +01:00
Oliver Schneider
ccf48bcd40
[breaking-change] don't glob export ast::FloatTy variants
2016-02-11 12:34:48 +01:00
Jeffrey Seyfried
91894631d0
Fix regression from #31461 and fix the test that was supposed to catch it.
2016-02-11 07:27:12 +00:00
Jeffrey Seyfried
3df40c09ec
Allow prelude imports to shadow eachother (needed for the [pretty] tests)
...
Derive the Default impl for NameResolution
2016-02-09 17:30:45 +00:00
Jeffrey Seyfried
3c62d90202
Reallow methods from traits that are shadowed by non-import items
2016-02-08 02:25:10 +00:00
Jeffrey Seyfried
d7734aebec
Refactor away add_export and cleanup the end of resolve_single_import
2016-02-08 02:25:09 +00:00
Jeffrey Seyfried
7000e70825
Replace children and import_resolutions with a single NameResolution-valued map.
...
Refactor away resolve_name_in_module in resolve_imports.rs
Rewrite and improve the core name resolution procedure in NameResolution::result and Module::resolve_name
Refactor the duplicate checking code into NameResolution::try_define
2016-02-08 02:25:08 +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
4428b1cfdf
Refactor away separate tracking of used_public and used_reexport.
...
NameBinding now encodes these directly with binding.is_public() and (binding.is_public() && binding.is_import()) (respectively)
2016-02-08 02:25:00 +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
7366d105cb
Refactor away Target
2016-02-08 02:22:41 +00:00
Jeffrey Seyfried
661b7ce830
Make resolve_name_in_module solely responsible for tracking used crates in lib.rs
2016-02-08 02:21:36 +00:00
Guillaume Gomez
6407b9405f
Update long error explanations
2016-02-07 13:03:35 +01:00
Niko Matsakis
35b6e2b0bb
Instrument a bunch of tasks that employ the HIR map in one way or
...
another and were not previously instrumented.
2016-02-05 13:19:55 -05:00