Commit Graph

198 Commits

Author SHA1 Message Date
athulappadan
49e77dbf25 Documentation of what does for each type 2016-09-11 17:00:09 +05:30
bors
f707582a43 Auto merge of #36289 - euclio:self-suggestion, r=jseyfried
resolve: Suggest `use self` when import resolves

Improves errors messages by replacing "Maybe a missing `extern crate`" messages
with "Did you mean `self::...`" when the `self` import would succeed.

Fixes #34191.

Thank you for the help @jseyfried!
2016-09-07 05:59:50 -07:00
Jeffrey Seyfried
888a968139 Add field used: Cell<bool> to variant NameBindingKind::Import. 2016-09-06 03:43:46 +00:00
Andy Russell
288e7caf19 show self suggestion when items are in the block 2016-09-05 23:08:21 -04:00
Andy Russell
41ee2e9124 resolve: Suggest use self when import resolves
Improves errors messages by replacing "Maybe a missing `extern crate`" messages
with "Did you mean `self::...`" when the `self` import would succeed.
2016-09-05 21:48:02 -04:00
Jeffrey Seyfried
90ce504c1c Address comments. 2016-09-02 00:35:16 +00:00
Jeffrey Seyfried
4f5616e3c4 Avoid cascading name resolution errors caused by an ambiguous module. 2016-09-01 22:30:29 +00:00
Jeffrey Seyfried
681a14f29b item_like_imports: Allow unused ambiguous glob imports. 2016-09-01 22:30:27 +00:00
Jeffrey Seyfried
f582fa327e item_like_imports: Allow multiple glob imports of the same item. 2016-09-01 22:30:26 +00:00
Jeffrey Seyfried
245a0c5530 item_like_imports: Make all visible items glob importable. 2016-09-01 22:30:26 +00:00
Jeffrey Seyfried
097b6d62fc item_like_imports: Allow glob imports with a given visibility
to reexport some (but not all) names with less visibility.
2016-09-01 22:30:25 +00:00
Jeffrey Seyfried
c56a5afd4d item_like_imports: Allow single imports with a given visibility
to reexport some (but not all) namespaces with less visibility.
2016-09-01 22:30:24 +00:00
Jeffrey Seyfried
aad1f3cbf3 item_like_imports: Allow glob imports to be shadowed by items and single imports. 2016-09-01 22:30:24 +00:00
Jeffrey Seyfried
efc0bea687 item_like_imports: Treat private imports like private items. 2016-09-01 22:30:21 +00:00
Jeffrey Seyfried
513e955a18 Add field dummy_binding to Resolver. 2016-09-01 22:29:30 +00:00
Jeffrey Seyfried
95528d1a98 Refactor away resolver.current_vis and add module.normal_ancestor_id. 2016-09-01 22:29:29 +00:00
Jeffrey Seyfried
87ae68c1d6 Refactor binding.def() to return a Def instead of an Option<Def>. 2016-09-01 22:29:27 +00:00
Jeffrey Seyfried
691d10c3c9 Rename new_binding -> binding. 2016-09-01 22:29:27 +00:00
Jeffrey Seyfried
5dc1196191 Refactor away binding.is_pseudo_public(). 2016-09-01 22:29:26 +00:00
Knight
a4c6307a15 Updated E0432 to new format 2016-08-22 13:57:10 +08:00
Jeffrey Seyfried
a6e8f3ba83 Add type Determinacy. 2016-08-18 08:09:24 +00:00
Jeffrey Seyfried
cc079c3af2 Refactor away ImportResolvingError. 2016-08-18 08:09:24 +00:00
Jeffrey Seyfried
6cd43f6ee9 Rename source -> name in finalize_import. 2016-08-18 08:09:24 +00:00
Jeffrey Seyfried
11c38fdce0 Rename target_module to module or imported_module. 2016-08-18 08:09:24 +00:00
Jeffrey Seyfried
5b969a2a58 Improve import failure detection. 2016-08-18 08:09:22 +00:00
Jeffrey Seyfried
fbc322975f Refactor out finalize_import() from resolve_import(). 2016-08-18 03:31:10 +00:00
Jeffrey Seyfried
165b0b618c Check privacy in resolve_name_in_module. 2016-08-18 03:22:48 +00:00
Jeffrey Seyfried
e1c9efcba4 Refactor value_determined -> value_result, type_determined -> type_result. 2016-08-18 03:22:48 +00:00
Jeffrey Seyfried
7608bbdea8 Refactor resolve_module_path to take an Option<Span> instead of a Span. 2016-08-18 03:22:47 +00:00
Jeffrey Seyfried
05afe15d1f Refactor record_used: bool -> record_used: Option<Span>. 2016-08-18 03:22:47 +00:00
Jeffrey Seyfried
75c3fd89d4 Refactor away the field arenas of ModuleS. 2016-08-18 03:22:47 +00:00
Jeffrey Seyfried
bfc98f59a4 Refactor away module.resolve_name(). 2016-08-18 03:22:47 +00:00
Jeffrey Seyfried
89de52eff0 Add field current_vis to Resolver. 2016-08-18 03:22:43 +00:00
Jeffrey Seyfried
37154ca95d Refactor unresolved_imports -> indeterminate_imports. 2016-08-18 03:13:42 +00:00
Jeffrey Seyfried
c64cd86be8 Add field parent to ImportDirective. 2016-08-18 03:13:41 +00:00
Jeffrey Seyfried
d107d22590 Refactor module.add_import_directive() -> resolver.add_import_directive(). 2016-08-18 03:13:39 +00:00
Jonathan Turner
02a8e2c285 Rollup merge of #35670 - RockyTV:e0365, r=jonathandturner
Update error E0365 to new format

Fixes #35633 as part of #35233.

r? @jonathandturner
2016-08-17 06:25:25 -07:00
Alexandre Oliveira
a026e2c727 Update error E0365 to new format 2016-08-14 16:33:25 -03:00
Luke Hinds
5c2c19aa89 Update error message for E0253 #35512
Fixes #35512. Part of #35233.
2016-08-09 22:34:23 +01:00
Jeffrey Seyfried
a18fc76049 Refactor directive.import(binding) -> resolver.import(binding, directive). 2016-08-01 19:10:07 +00:00
Jeffrey Seyfried
0db8ca6ca2 nit: rename module_ -> module 2016-08-01 19:10:05 +00:00
Jeffrey Seyfried
b107a4e4f6 Refactor module.try_define_child(..) -> resolver.try_define(module, ..). 2016-08-01 19:06:45 +00:00
Jeffrey Seyfried
096c3ed6c6 Refactor away resolution.try_define(). 2016-08-01 19:06:44 +00:00
Jeffrey Seyfried
5868e78b09 Refactor away resolution.report_conflicts(). 2016-08-01 19:06:43 +00:00
Jeffrey Seyfried
79e82b5c41 Implement Deref for ImportResolver to Resolver. 2016-08-01 19:06:41 +00:00
Jeffrey Seyfried
132bff9933 If a single import resolves to an inaccessible name in some but not all namespaces,
avoid importing the name in the inaccessible namespaces.

Currently, the inaccessible namespaces are imported but cause a privacy error when used.
2016-07-27 05:17:04 +00:00
Michael Rosenberg
5a99d79857 Fixed issue where importing a trait method directly and then calling the method causes a compiler panic 2016-07-13 02:34:10 -04:00
Jeffrey Seyfried
d1e3d6272e Add the after_expand entry point between import resolution and the rest of name resolution 2016-07-01 00:07:32 +00:00
Jonathan Turner
6ae3502134 Move errors from libsyntax to its own crate 2016-06-23 08:07:35 -04:00
Vadim Petrochenkov
ee4e55398b Introduce TyCtxt::expect_def/expect_resolution helpers and use them where possible 2016-06-10 01:03:54 +03:00