Florian Diebold
b82db68400
Handle tuple structs / enum variants properly in type inference
2019-02-17 20:53:13 +01:00
Florian Diebold
911e32bca9
Complete names from prelude
2019-02-13 21:13:08 +01:00
Florian Diebold
92c595a6a6
Handle extern crates better, so they work correctly in 2015 edition
...
(see the removed comment.)
2019-02-13 21:13:08 +01:00
Florian Diebold
d5ad38cbb8
Resolve 2015 style imports
2019-02-13 20:10:46 +01:00
Florian Diebold
1526eb25c9
Import the prelude
2019-02-13 20:10:09 +01:00
Pascal Hertleif
4fd3613434
Fix some typos
2019-02-12 15:02:57 +01:00
Aleksey Kladov
8cafdb3a99
rename combine -> or
...
This way we match API of Option
https://doc.rust-lang.org/std/option/enum.Option.html#method.or
2019-02-11 17:29:20 +03:00
Aleksey Kladov
58ed8ee665
use extern prelude in Resolver
...
This fixes two bugs:
- completion for paths works again
- we handle extern prelude shadowing more correctly
2019-02-11 15:41:39 +03:00
Florian Diebold
2f24e740db
Implement glob imports within the same crate
...
Fixes #231 .
2019-02-10 16:48:29 +01:00
Florian Diebold
2e1d739a80
Import glob imports from other crates
...
This is the easy part since we don't have to consider the fixpoint algorithm.
2019-02-10 16:20:01 +01:00
Florian Diebold
c1e295682e
Implement glob imports from enums
2019-02-10 16:20:01 +01:00
Aleksey Kladov
12e3b4c70b
reformat the world
2019-02-08 14:49:43 +03:00
Florian Diebold
de4c5e381f
Fix ReachedFixedPoint value for unresolved external prelude items
2019-02-04 23:26:25 +01:00
Florian Diebold
699ce06ac3
Complete extern prelude (again)
2019-02-04 22:09:56 +01:00
Florian Diebold
1056b480d6
Make extern crates in the root module add to the extern prelude
...
To accomplish this, separate the extern prelude from the per-module item maps.
2019-02-04 21:49:34 +01:00
Florian Diebold
d8ef8acb47
Use aliases in import resolution
2019-02-02 00:23:59 +01:00
Florian Diebold
d3df80dfe4
Cleanup
2019-02-01 22:54:21 +01:00
Florian Diebold
33ff7b56ff
Use the new Resolver API in completion
2019-02-01 22:45:25 +01:00
Florian Diebold
6b076f1931
Use new Resolver API in type inference
2019-02-01 22:45:23 +01:00
Florian Diebold
5208c2aa93
Sketching the resolver API
2019-02-01 22:14:34 +01:00
csmoe
4dffdcf14a
split HirDatabase api
2019-02-01 22:05:24 +08:00
Aleksey Kladov
ef7eb8c257
Use Crate instead of CrateId
2019-01-30 22:37:20 +03:00
Aleksey Kladov
95aa7e46fc
move item_map_query
2019-01-30 22:36:22 +03:00
Aleksey Kladov
a128075af9
remove Option<SourceFileItemId> hack
2019-01-26 23:27:01 +03:00
Aleksey Kladov
54f30bb6d8
nicer behavior in case of bugs
...
We should always reach a fixed point, but if we fail, let's fail
loudly!
2019-01-25 23:13:07 +03:00
Aleksey Kladov
87288d802c
pack enum variants into arena
2019-01-25 12:50:46 +03:00
Aleksey Kladov
0707f65806
drop obsolete fixme
2019-01-25 10:31:45 +03:00
Aleksey Kladov
3b45ddd984
deglobify
2019-01-25 10:29:55 +03:00
Aleksey Kladov
74beb5bfcb
simplify
2019-01-25 10:29:00 +03:00
Aleksey Kladov
b90b90cb95
fix comment
2019-01-25 10:17:50 +03:00
Aleksey Kladov
bc77f91cf6
rename def_id -> def
2019-01-25 10:16:28 +03:00
Aleksey Kladov
e884ab05c2
write path resolution code only once
2019-01-25 10:15:10 +03:00
Aleksey Kladov
857c35ddb0
refactor import resolution
...
extract path resolution
use enums instead of bools
2019-01-25 10:08:21 +03:00
Aleksey Kladov
3ab1519cb2
Change ids strategy
...
this is a part of larghish hir refactoring which aims to
* replace per-source-root module trees with per crate trees
* switch from a monotyped DedId to type-specific ids
2019-01-24 13:29:19 +03:00
Aleksey Kladov
59f830d3e8
assign DefIds when lowering
2019-01-23 19:49:11 +03:00
gfreezy
13d2fd32ab
fix completion bugs
2019-01-23 15:43:47 +08:00
Florian Diebold
5862542ded
Add AST/HIR for type args in path segments
2019-01-19 16:02:06 +01:00
Aleksey Kladov
63f7dadc11
rename LoweredImport -> ImportId
2019-01-19 15:37:25 +03:00
Aleksey Kladov
c0aeb5204c
switched to lowerd module
2019-01-19 15:37:25 +03:00
Aleksey Kladov
789772e8e5
move input module items to the lower module
2019-01-19 15:37:25 +03:00
Aleksey Kladov
490112dea1
remove Cancelable from nameres
2019-01-15 19:15:01 +03:00
Aleksey Kladov
8af9a18660
remove Cancelable from Crate API
2019-01-15 18:33:26 +03:00
Aleksey Kladov
fedd320cf2
check_canceled does not return Result
2019-01-15 15:45:48 +03:00
Marcus Klaas de Vries
0b8fbb4fad
Fix typos in ARCHITECTURE.md and a number of crates
...
specifically: gen_lsp_server, ra_arena, ra_cli, ra_db, ra_hir
2019-01-09 01:17:09 +01:00
Florian Diebold
946b0ba02c
Fix name resolution across source roots
...
It was using the wrong name in that case.
2019-01-08 15:16:24 +01:00
bors[bot]
3bb1cb7017
Merge #455
...
455: Import fixpoint loop for name resolution r=matklad a=flodiebold
This implements reexports, so only the glob import part of #231 remains.
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-01-08 12:02:06 +00:00
Florian Diebold
dc186c0fcc
Import fixpoint loop for name resolution
2019-01-08 12:53:31 +01:00
Aleksey Kladov
da0b348ae9
migrate ra_hir to rowan 2.0
2019-01-08 11:28:42 +03:00
Aleksey Kladov
8a3b489c2f
kill module source
2019-01-06 20:01:26 +03:00
Aleksey Kladov
fd4456d0ec
flatten module structure
2019-01-06 17:36:10 +03:00