Aleksey Kladov
ff0312fa32
Semantical call info
2020-07-16 18:03:04 +02:00
Aleksey Kladov
4c08fc9be3
Cleanup limits
2020-07-15 15:53:33 +02:00
Aleksey Kladov
8baa2b727d
Check cancellation when updating imports recursively
...
For winapi, this takes a lot of CPU time without doing queries and
causes the main event loop to stall on cancellation.
2020-07-15 15:49:20 +02:00
Aleksey Kladov
760ee8173c
Micro-optimize update
2020-07-15 15:45:34 +02:00
Aleksey Kladov
d47834ee1b
Guard against infinite macro expansions
...
closes #4463
2020-07-14 18:31:48 +02:00
Aleksey Kladov
dab7f3d2c6
Remove relative_path dependency
2020-07-08 19:32:36 +02:00
bors[bot]
656cbc68a1
Merge #5033
...
5033: Order of glob imports should not affect import shadowing r=Nashenas88 a=Nashenas88
Fixes #5032
Co-authored-by: Paul Daniel Faria <Nashenas88@users.noreply.github.com>
2020-06-27 02:51:54 +00:00
Paul Daniel Faria
b700443e78
Remove comment that's no longer valid
2020-06-26 11:13:58 -04:00
Paul Daniel Faria
76755ce176
Split glob import map to per-ns, switch ExprCollector to use a simpler push_res
2020-06-26 11:11:51 -04:00
Jonas Schievink
72fe70f2f8
Make VFS join methods fallible
2020-06-26 16:30:50 +02:00
Paul Daniel Faria
de9e964e4a
Track import type outside of , use enum rather than bool to improve readability
2020-06-25 12:42:12 -04:00
Paul Daniel Faria
0b657ddbfe
Revert resolution of all glob imports first, replace with tracking of glob imports and shadowing when more specific
2020-06-25 09:27:00 -04:00
Paul Daniel Faria
70d4829560
Order of glob imports should not affect import shadowing
2020-06-25 09:23:34 -04:00
Jonas Schievink
d84b3ff6a1
Collect field/variant attrs in ItemTree
2020-06-25 14:39:27 +02:00
Jonas Schievink
43cad21623
Don't allocate common visibilities
2020-06-24 16:54:20 +02:00
Jonas Schievink
4b03b39d5b
draw the rest of the owl
2020-06-24 16:53:16 +02:00
Jonas Schievink
864b650f92
ItemTree: use a newtyped ID
2020-06-24 16:53:16 +02:00
Jonas Schievink
f9e5ba7d40
Remove now-broken incremental test
...
The ItemTree tracks impl and trait items, so the CrateDefMap now needs
recomputing when those change
2020-06-24 16:53:16 +02:00
Jonas Schievink
0e2602f75e
Remove raw item query
2020-06-24 16:53:16 +02:00
Jonas Schievink
7054e89d18
Fix test
2020-06-24 16:53:16 +02:00
Jonas Schievink
9d24412929
Move collector
2020-06-24 16:53:14 +02:00
Jonas Schievink
e24de2007f
collector changes WIP
2020-06-24 16:52:37 +02:00
Paul Daniel Faria
43c6f6c039
Fix formatting issue with glob shadow test
2020-06-24 08:50:59 -04:00
Paul Daniel Faria
dfd79907b8
Use a macro in push_res to simplify code, simplify glob_shadowed_def assertion
2020-06-24 08:20:41 -04:00
Paul Daniel Faria
38af81f183
Account for updated module ids when determining whether a resolution is "changed"
2020-06-23 22:10:01 -04:00
Aleksey Kladov
6996ec860b
Drop rarely used fixture functionality
2020-06-23 18:37:26 +02:00
Aleksey Kladov
dad1333b48
New VFS
2020-06-23 17:51:06 +02:00
Florian Diebold
584bddef0c
Don't panic on crates depending on themselves
...
Fixes #3883 .
2020-06-19 18:38:03 +02:00
Aleksey Kladov
42be05a335
Simplify
2020-06-18 16:02:45 +02:00
Aleksey Kladov
3c72fc0573
Anchor file-system operations to the file, and not to the source root.
...
Anchoring to the SourceRoot wont' work if the path is absolute:
#[path = "/tmp/foo.rs"]
mod foo;
Anchoring to a file will.
However, we *should* anchor, instead of just producing an abs path.
I can imagine a situation where, for example, rust-analyzer processes
crates from different machines (or, for example, from in-memory git
branch), where the same absolute path in different crates might refer
to different files in the end!
2020-06-16 18:45:58 +02:00
Aleksey Kladov
fac7b0e252
Don't guess macro expansion crate
2020-06-11 12:13:14 +02:00
Aleksey Kladov
bba374bab2
More direct signature for resolve_path
2020-06-05 15:07:30 +02:00
Aleksey Kladov
e63c00f100
Rename resolve_relative_path -> resolve_path
...
For things like `concant!(env!("OUT_DIR"))`, we need to support abs paths
2020-06-05 14:58:30 +02:00
kjeremy
bee4f8f9fe
Pass trivially copy types as copy
2020-05-26 14:12:13 -04:00
Aleksey Kladov
ecac5d7de2
Switch to new magic marks
2020-05-20 13:02:53 +02:00
Edwin Cheng
cf821cc332
Change union resolve types only
2020-05-05 01:19:54 +08:00
Edwin Cheng
e921195d93
Change favor_types to has_constructor
2020-05-05 01:15:27 +08:00
Edwin Cheng
af001677d1
Fix test
2020-05-05 00:17:30 +08:00
Edwin Cheng
8d96db3417
Favor types for Record in name resolution
2020-05-05 00:17:22 +08:00
Edwin Cheng
291d03949b
Add test in name resolutions
2020-05-02 10:06:17 +08:00
Edwin Cheng
7bbdeb43a4
Make AttrQuery copyable
2020-05-01 20:58:24 +08:00
Edwin Cheng
e4267967a8
Support local_inner_macros
2020-05-01 11:23:03 +08:00
Jonas Schievink
5cc9546ca0
Record definitions in extern
blocks
2020-04-23 23:36:23 +02:00
Aleksey Kladov
f980b07529
Make incremental nameres test harder
2020-04-11 17:54:46 +02:00
Aleksey Kladov
38c67e5c0d
Avoid cyclic queries in name resolution when processing enums
2020-04-11 17:52:26 +02:00
Aleksey Kladov
55356332bf
Remove code duplication
2020-04-11 17:18:42 +02:00
Aleksey Kladov
c8b4c36f81
Semicolon token
2020-04-10 16:10:28 +02:00
Aleksey Kladov
2bfb65db93
Be consistent about token accesors
2020-04-09 18:48:13 +02:00
Luca Barbieri
60f4d7bd8c
Provide more complete AST accessors to support usage in rustc
2020-04-09 11:50:37 +02:00
bors[bot]
b1594f1080
Merge #3727
...
3727: Introduce ra_proc_macro r=matklad a=edwin0cheng
This PR implemented:
1. Reading dylib path of proc-macro crate from cargo check , similar to how `OUTDIR` is obtained.
2. Added a new crate `ra_proc_macro` and implement the foot-work for reading result from external proc-macro expander.
3. Added a struct `ProcMacroClient` , which will be responsible to the client side communication to the External process.
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2020-03-26 17:09:32 +00:00