bors[bot]
419eec3d2f
Merge #1771
...
1771: Further tweak for macro_use on extern crate r=matklad a=uHOOCCOOHu
Some more tweaks to #1743 to behave more like `rustc`
1. Hoist macros from `#[macro_use] extern crate`, so that they can be used before `extern crate`.
2. Implicit `#[macro_use]` for `prelude` if exists
Co-authored-by: uHOOCCOOHu <hooccooh1896@gmail.com>
2019-09-05 19:50:06 +00:00
Aleksey Kladov
3e5f7299e1
move mod resolution to a separate file
2019-09-05 20:27:10 +03:00
uHOOCCOOHu
67d33cc21a
Hoist macros from extern crate with macro_use
2019-09-05 18:50:04 +08:00
uHOOCCOOHu
dec43a0c5d
Consider prelude to be macro_use
2019-09-05 18:50:04 +08:00
uHOOCCOOHu
0d23286caf
Let macro_use
bypass module scope
2019-09-05 11:46:00 +08:00
uHOOCCOOHu
a66214b34e
Fix import strategy of macro_use
and its test
2019-09-02 14:36:20 +08:00
uHOOCCOOHu
f5bea9051b
Support resolution of #[macro_use] extern crate
2019-09-01 01:54:41 +08:00
Alexander Andreev
83fe7b5fcb
Resolve out of line modules inside inline module with attribute path
...
Fixed #1510
Fixed #1529
2019-08-03 19:44:59 +03:00
Alexander Andreev
3629268f71
Fixed request changes.
2019-07-29 15:16:58 +03:00
Alexander Andreev
538ec1122b
Added resolve modules inside inline module
...
#1510
2019-07-29 09:54:40 +03:00
Alexander Andreev
9c75f30272
Fixed request comments
2019-07-14 09:24:18 +03:00
Alexander Andreev
22b863c534
Fixed comments
2019-07-13 21:51:20 +03:00
Alexander Andreev
1f0e9c149f
More resolution modules with attribute path
...
#1211
2019-07-13 21:26:04 +03:00
Muhammad Mominul Huque
09b72489dd
cargo format
2019-07-08 04:09:35 +06:00
Muhammad Mominul Huque
012fec54dc
Constify KnownName's
2019-07-08 03:29:38 +06:00
Alexander Andreev
8579a9b834
Added support attribute path in resolusion module fn
2019-07-06 21:54:21 +03:00
Alexander Andreev
35a0f04128
Added extract path attribute for current module
...
#1211
2019-07-06 14:04:56 +03:00
Jeremy Kolb
4ad9e986ad
Some clippy fixes for 1.36
2019-07-04 17:43:00 -04:00
Aleksey Kladov
1834bae5b8
allow rustfmt to reorder imports
...
This wasn't a right decision in the first place, the feature flag was
broken in the last rustfmt release, and syntax highlighting of imports
is more important anyway
2019-07-04 23:09:09 +03:00
Aleksey Kladov
6e2369938a
make sure that CrateDefMap is independent from syntax
2019-06-26 21:50:42 +03:00
Aleksey Kladov
156b7ee842
use single version of either in hir
2019-06-11 01:26:20 +03:00
Aleksey Kladov
caefa6982b
remove some hacks from nameresolution for macros
2019-06-08 20:42:02 +03:00
Alan Du
40424d4222
Fix clippy::identity_conversion
2019-06-04 18:05:07 -04:00
Aleksey Kladov
5af9e475f4
add AstDatabase
2019-06-02 12:27:36 +03:00
Aleksey Kladov
6bcc1b8b9e
add cacellation checks to expensive queries
2019-05-29 22:13:03 +03:00
Edwin Cheng
b72074a715
Use ItemOrMacro in item resolution
2019-05-26 20:10:56 +08:00
Edwin Cheng
d5fbce4458
Put back unexpaned_macros after resolve
2019-05-26 13:38:03 +08:00
Aleksey Kladov
5d54aa6781
add union to code_model
2019-05-23 20:18:47 +03:00
Aleksey Kladov
101b3abfd7
store macro kind in HirFileId
2019-05-14 09:03:43 +03:00
Felix S. Klock II
d694b0174a
Sidestep two-phase borrow violation signaled by mutable_borrow_reservation_conflict.
...
See rust-lang/rust#59159 for further information/discussion.
2019-04-29 14:03:51 +02:00
Lenard Pratt
1ab7066e32
Introduced resolve_macro_call on resolver
...
changed to manual expansion
fix for nested macros
2019-04-23 10:17:31 +01:00
Lenard Pratt
ce211434a6
Added macro resolution and expansion
2019-04-22 21:35:44 +01:00
Edwin Cheng
d6d9aa2003
Change macro stack monitor test to func ptr based
2019-04-22 17:15:22 +08:00
Edwin Cheng
b177813f3b
Add mbe expand limit and poision macro set
2019-04-22 15:33:55 +08:00
Edwin Cheng
9e35bf91b8
Fix bugs
2019-04-20 23:53:39 +08:00
Aleksey Kladov
8f32477312
more type safety
2019-03-26 18:27:22 +03:00
Aleksey Kladov
071a19537d
strongy-typed ids for macros
2019-03-26 18:03:17 +03:00
Aleksey Kladov
fb8b354dcc
add typed ids
2019-03-26 17:25:14 +03:00
Aleksey Kladov
0b820cacab
move source_id to a separate file
2019-03-26 14:42:28 +03:00
Aleksey Kladov
5270bca5f7
store macro def inside macro id
...
This solves the problem of "macro expansion can't call into name
resolution, because name resolution calls back into macro expansion"
Because we store macro def as a part of call id, macro expansion just
knows the def!
2019-03-26 13:20:54 +03:00
Aleksey Kladov
79df62bc74
cleanup
2019-03-25 10:52:50 +03:00
Aleksey Kladov
3fb88e95aa
switch modules to new diagnostics
2019-03-25 10:52:50 +03:00
Aleksey Kladov
3f0cf6ebe1
rename persistent hir database -> def database
2019-03-23 15:44:24 +03:00
Aleksey Kladov
5641feeddb
import resolution is immutable
2019-03-19 18:35:03 +03:00
Aleksey Kladov
4d7fa6d30b
remove fixme
2019-03-17 12:53:22 +03:00
Aleksey Kladov
6955e392f8
remove old macro support
2019-03-17 12:53:22 +03:00
Aleksey Kladov
ee3cf6172b
rename ModuleId -> CrateModuleId
2019-03-17 12:53:22 +03:00
Aleksey Kladov
c51a6a7bdd
fix error on wrong path
2019-03-17 12:53:22 +03:00
Aleksey Kladov
967a4b64af
Reorganize name resolution
2019-03-17 12:53:22 +03:00