Aleksey Kladov
254ef1860b
Minimize API
2020-03-09 11:16:06 +01:00
Aleksey Kladov
0320ebdd10
Use Index
for CrateGraph
2020-03-09 11:11:59 +01:00
Kirill Bulatov
e1aa96f2c5
Less abstract CrateData api
2020-03-09 11:26:46 +02:00
bors[bot]
ea67e2346e
Merge #3384
...
3384: fix #2377 super::super::* r=flodiebold a=JoshMcguigan
Thanks @matklad for the detailed explanation on #2377 . I believe this fixes it.
One thing I'm not sure about is you said the fix would involve changing `crates/ra_hir_def/src/path/lower/lower.rs`, but I only changed `crates/ra_hir_def/src/path/lower/lower_use.rs`. I'm not sure what kind of test code I'd have to write to expose the issue in `lower.rs`, but I'd be happy to add it if you are able to provide additional guidance.
closes #2377
Co-authored-by: Josh Mcguigan <joshmcg88@gmail.com>
2020-03-01 13:36:44 +00:00
Josh Mcguigan
69faf81e0d
fix #2377 super::super::*
2020-02-29 19:48:55 -08:00
Aleksey Kladov
a1e1869554
Rename ast::ImplBlock -> ast::ImplDef
2020-02-29 21:33:15 +01:00
Florian Diebold
31af774254
Refactor how builtins are resolved
...
This fixes autocompletion suggesting e.g. self::usize.
2020-02-21 15:39:51 +01:00
Kirill Bulatov
b8ddcb0652
Run cargo +nightly fix --clippy -Z unstable-options
2020-02-18 16:03:08 +02:00
Edwin Cheng
2d4e79e1e6
Introduce AsMacroCall trait
2020-02-17 12:57:24 +08:00
Benjamin Brittain
843f03a3d2
Bump crate resolution limit for large projects
...
Change-Id: Ie0221e5bcfd1779cd5e241f96b4489e5bd3854c1
2020-02-14 16:15:59 -05:00
zombiefungus
f4f71e361e
include requested changes
2020-02-02 08:04:24 -05:00
zombiefungus
7d52715945
add new ImportAlias enum to differentiate no alias from an _ alias
2020-02-02 08:04:24 -05:00
Aleksey Kladov
4b9e5d5dd9
Publicize debug printing of CrateDefMap
2020-01-28 16:29:31 +01:00
Florian Diebold
9dc1826cfa
Fix various names, e.g. Iterator not resolving in core prelude
...
Basically, `Iterator` is re-exported via several steps, which happened to not be
resolved yet when we got to the prelude import, but since the name resolved to
the reexport from `core::iter` (just to no actual items), we gave up trying to
resolve it further.
Maybe part of the problem is that we can have
`PartialResolvedImport::Unresolved` or `PartialResolvedImport::Indeterminate`
with `None` in all namespaces, and handle them differently.
Fixes #2683 .
2020-01-11 23:37:58 +01:00
Michal Terepeta
84e2e173ee
Remove a duplicate line in collect_defs
...
Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
2020-01-03 12:40:50 +01:00
Florian Diebold
9fd2c813ca
visible_from -> is_visible_from
2019-12-27 11:25:04 +01:00
Florian Diebold
04cf98f8a6
Fix cross-crate glob privacy handling
2019-12-26 16:31:38 +01:00
Florian Diebold
50ebff257d
Rename ResolvedVisibility -> Visibility
2019-12-26 16:23:40 +01:00
Florian Diebold
e1a2961273
Rename Visibility -> RawVisibility
2019-12-26 16:23:40 +01:00
Florian Diebold
04e8eaa14b
Handle privacy for modules
2019-12-26 16:23:40 +01:00
Florian Diebold
21359c3ab5
Take visibility into account for glob imports
2019-12-26 16:23:40 +01:00
Florian Diebold
8ac25f119e
Keep track of visibility during def collection
2019-12-26 16:23:40 +01:00
Florian Diebold
79c90b5641
Collect visibility of items during nameres
2019-12-26 16:23:40 +01:00
Aleksey Kladov
e424545c0f
Rudimentary name resolution for local items
2019-12-22 22:41:21 +01:00
Aleksey Kladov
7c405c0156
Simplify
2019-12-22 19:32:35 +01:00
Aleksey Kladov
007032f850
Refactor
2019-12-22 19:31:01 +01:00
Aleksey Kladov
6c3ddcfa50
Simplify
2019-12-22 15:37:53 +01:00
Aleksey Kladov
e8da7d4061
Remove unused parameters
2019-12-22 15:31:30 +01:00
Aleksey Kladov
558956c84b
Remove import field
2019-12-22 15:28:55 +01:00
Aleksey Kladov
2c60f42825
Separate defs from imports
2019-12-22 15:21:48 +01:00
Aleksey Kladov
e69af85962
Refactor PerNs construction
2019-12-22 15:10:19 +01:00
Aleksey Kladov
e903f58d29
More profiling
2019-12-21 19:44:08 +01:00
Aleksey Kladov
1a8f2aa024
Move LocalImportId
2019-12-21 17:34:28 +01:00
Aleksey Kladov
02f79e37ca
Remove import source map
2019-12-21 17:26:28 +01:00
Aleksey Kladov
ec56f59ac1
Remove import from resolution
2019-12-21 17:26:28 +01:00
Aleksey Kladov
4e0168ec14
Remove imports from hir
2019-12-21 15:18:14 +01:00
Aleksey Kladov
973b5cf7e2
Revert "Merge #2629 "
...
This reverts commit cdc9d682b0
, reversing
changes made to 90ef070db3
.
2019-12-21 15:04:33 +01:00
Aleksey Kladov
2d3fdf3fb5
Privatize LocalImportID
2019-12-21 12:47:34 +01:00
Aleksey Kladov
d335311893
Remove import source map
2019-12-21 12:45:33 +01:00
Aleksey Kladov
ab7a70fb14
Don't track imports
2019-12-21 12:38:40 +01:00
bors[bot]
1cbef27ff8
Merge #2625
...
2625: Clippy lints r=matklad a=kjeremy
Co-authored-by: kjeremy <kjeremy@gmail.com>
2019-12-21 06:12:36 +00:00
kjeremy
0d5d63a80e
Clippy lints
2019-12-20 15:14:30 -05:00
Aleksey Kladov
7a862f0d47
Make legacy macros private
2019-12-20 17:12:20 +01:00
Aleksey Kladov
af42cb5981
Privitize impls
2019-12-20 16:55:38 +01:00
Aleksey Kladov
7adb53319d
Make items private
2019-12-20 16:52:02 +01:00
Aleksey Kladov
e6b1194f2f
Move some code to scope
2019-12-20 16:52:02 +01:00
Aleksey Kladov
4f9e3f3632
Fix typos
2019-12-20 16:52:02 +01:00
Aleksey Kladov
1b8ce5b37b
Move impls to ItemScope
2019-12-20 16:52:02 +01:00
Aleksey Kladov
0f212b3798
Move ModuleScope to a new module
2019-12-20 16:52:02 +01:00
Aleksey Kladov
1234dda9ee
Use generic ItemLoc for impls
2019-12-20 13:47:44 +01:00
Aleksey Kladov
f42697e54b
Support for nested traits
2019-12-20 12:29:25 +01:00
Aleksey Kladov
fe1b160dcf
Support for nested statics, consts and type aliases
2019-12-20 12:22:55 +01:00
Aleksey Kladov
ac5a3f611b
Support for nested ADT
2019-12-20 12:20:49 +01:00
Aleksey Kladov
94ad07af4b
Introduce ContainerId
2019-12-20 12:07:23 +01:00
Aleksey Kladov
8fc20b6503
Rename ContainerId -> AssocContainerId
2019-12-20 12:00:05 +01:00
Aleksey Kladov
43ed3d1196
Handle start imports in import groups
2019-12-19 16:57:22 +01:00
Aleksey Kladov
04715cbe1c
Forbid <T>::foo syntax in mod paths
2019-12-18 17:41:33 +01:00
Aleksey Kladov
0630f8110f
Drop dead code
2019-12-17 16:03:15 +01:00
Aleksey Kladov
aca022f1d4
Refactor PathKind
2019-12-17 15:38:28 +01:00
Aleksey Kladov
2619950b3b
Use different types for path with and without generics
2019-12-14 19:15:40 +01:00
Florian Diebold
6911bc89a7
Rename N! to name!
2019-12-13 22:33:38 +01:00
Florian Diebold
259c42f00e
Add macros for known names and paths
2019-12-13 22:33:37 +01:00
Aleksey Kladov
56710f119b
Move enum&union to new loc
2019-12-12 15:11:57 +01:00
Aleksey Kladov
f135a8ea55
Move structs to new loc
2019-12-12 14:58:04 +01:00
Aleksey Kladov
82e9b24558
Move traits to the new loc
2019-12-12 14:36:14 +01:00
Aleksey Kladov
7b0644d81e
Switch to the new location for impls
2019-12-12 14:25:34 +01:00
Edwin Cheng
3a95d01d0c
Delay legacy macro expansion
2019-12-08 20:33:42 +08:00
bors[bot]
b236f6aa49
Merge #2466
...
2466: Handle partial resolve cases r=matklad a=edwin0cheng
Another try to fix #2443 :
We resolve all imports every time in `DefCollector::collect` loop even it is resolved previously.
This is because other unresolved imports and macros will bring in another `PerNs`, so we can only assume that it has been partially resolved.
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2019-12-08 10:44:30 +00:00
Edwin Cheng
509fedd9d2
Remove MacroFileKind
2019-12-08 16:16:52 +08:00
Edwin Cheng
51f4fb448f
Refactor resolve_imports logic
2019-12-07 19:24:15 +08:00
Edwin Cheng
e5997e1746
Push glob_imports only if non-exists
2019-12-07 09:50:21 +08:00
Edwin Cheng
76ff5b7c15
Add tests
2019-12-06 23:48:45 +08:00
Florian Diebold
18f6a995d0
Add expansion infrastructure for derive macros
2019-12-05 17:23:09 +01:00
ice1000
006a583381
Use placeholder instead of Option
2019-12-05 08:33:29 -05:00
ice1000
1bb59a7d08
Three-state enum for module origin
2019-12-04 18:30:42 -05:00
ice1000
009437f5d9
Replace ra_hir_expand::either
with crate
2019-12-03 11:07:56 -05:00
Edwin Cheng
cfc6e9e366
Remove some empty lines
2019-12-01 12:17:52 +08:00
Edwin Cheng
13c54685ff
Use index instead of peekable
2019-12-01 12:14:35 +08:00
Edwin Cheng
bb601e7eaf
Add BuiltinShadowMode
2019-11-30 23:29:21 +08:00
Aleksey Kladov
e823c578c9
Use InFile for AstId
2019-11-28 16:02:38 +03:00
Aleksey Kladov
ccd1b0800a
Rename Source -> InFile
2019-11-28 12:50:26 +03:00
Aleksey Kladov
1d14fd1737
Use Name::missing consistently
2019-11-27 23:22:20 +03:00
Aleksey Kladov
27b362b059
Reformat
2019-11-27 21:44:38 +03:00
Aleksey Kladov
d9a36a736b
Rename module_id -> local_id
2019-11-27 21:31:51 +03:00
Edwin Cheng
447268ceac
Hide MacroCallLoc
2019-11-27 01:33:08 +08:00
Aleksey Kladov
5fd68b5929
Fix hir for ast::UnionDef
2019-11-25 17:50:49 +03:00
Aleksey Kladov
434f108ada
Simplify
2019-11-24 19:01:19 +03:00
Aleksey Kladov
f5e0a31eaf
Cleanup nameres
2019-11-24 18:05:12 +03:00
Aleksey Kladov
855a629b14
Use Trace in raw_items
2019-11-24 17:49:49 +03:00
Aleksey Kladov
21cfa6d529
Some docs
2019-11-24 17:36:06 +03:00
Aleksey Kladov
99af523b68
Cleanup
2019-11-24 17:36:06 +03:00
Aleksey Kladov
4b74fb1d89
Nicer API for attrs
2019-11-24 16:03:02 +03:00
Aleksey Kladov
1956d57ed4
Slightly reduce code duplication
2019-11-24 15:50:45 +03:00
Aleksey Kladov
8e36cb5860
Simplify
2019-11-24 15:28:45 +03:00
Aleksey Kladov
e0b06cb672
Switch to StaticLoc for statics
2019-11-24 15:18:12 +03:00
Aleksey Kladov
cfffea6dc8
Push poison_macros down
2019-11-24 13:57:45 +03:00
Aleksey Kladov
ffc2325d19
Move ModuleSource back to hir
2019-11-23 17:12:49 +03:00
Aleksey Kladov
6bdd5fa461
Privatise nameres
2019-11-23 17:12:49 +03:00
Aleksey Kladov
158b1cb524
Rename CrateModuleId
2019-11-23 17:12:49 +03:00
Aleksey Kladov
dd5c2dc5bf
Move ImportId
2019-11-23 16:49:05 +03:00