aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_def/src/nameres
Commit message (Collapse)AuthorAgeFilesLines
* Use body lowering for block_def_map testsJonas Schievink2021-02-012-252/+2
| | | | Removes the hacky and buggy custom lowering code
* Honor #![macro_use] in mod source filesLukas Wirth2021-01-312-8/+23
|
* Fix incorrect `FileId` and remove broken shortcutJonas Schievink2021-01-281-7/+6
| | | | | Apparently we were using the crate's root file instead of the file containing the block.
* block_def_map: add a few macro testsJonas Schievink2021-01-281-0/+63
|
* Update `original_module` when ascending `DefMap`sJonas Schievink2021-01-281-2/+5
|
* Fix legacy macro resolution in block expressionsJonas Schievink2021-01-271-1/+4
|
* Traverse parent DefMap for `super` pathsJonas Schievink2021-01-252-9/+54
|
* Intern block locations and handle them in ModuleIdJonas Schievink2021-01-252-11/+55
|
* Create all `ModuleId`s through a `DefMap` methodJonas Schievink2021-01-252-35/+16
| | | | | `ModuleId` needs to be able to represent blocks, and only the associated `DefMap` will know how to construct that `ModuleId`
* Merge #7391bors[bot]2021-01-232-0/+24
|\ | | | | | | | | | | | | | | 7391: Fix error when using "extern crate self as" r=kazatsuyu a=kazatsuyu Fix #6957 Co-authored-by: kazatsuyu <[email protected]>
| * Add mark::check! and mark::hit!kazatsuyu2021-01-222-0/+2
| |
| * cargo fmtkazatsuyu2021-01-221-2/+3
| |
| * Fix error when using "extern crate self as"kazatsuyu2021-01-222-0/+21
| |
* | Obtain `ModuleId`'s `DefMap` through a methodJonas Schievink2021-01-222-3/+3
|/
* Remove unnecessary annotations from testsJonas Schievink2021-01-211-4/+0
|
* Add test for nameres in nested blocksJonas Schievink2021-01-211-0/+29
|
* Add test that merges inner and outer namesJonas Schievink2021-01-211-0/+25
|
* Fall back to parent DefMaps when resolving pathsJonas Schievink2021-01-211-0/+37
|
* Add name resolution query for block expressionsJonas Schievink2021-01-213-17/+108
|
* Rename `CrateDefMap` to `DefMap`Jonas Schievink2021-01-183-10/+10
|
* prepare to publish el libro de arenaAleksey Kladov2021-01-141-1/+1
|
* Fixed typos in code commentsVincent Esche2021-01-091-4/+4
|
* Change <|> to $0 - RebaseKevaundray Wedderburn2021-01-071-2/+2
|
* Emit diagnostics for unresolved item-level macrosJonas Schievink2021-01-051-1/+32
|
* Fixed old failed test due to new fixesEdwin Cheng2020-12-281-2/+2
|
* Don't think that /submod.rs is /mod.rsAleksey Kladov2020-12-231-1/+1
|
* fixture -> ra_fixtureJonas Schievink2020-12-192-4/+4
|
* Test paths to derive macrosJonas Schievink2020-12-191-2/+2
|
* More accurate `#[derive]` parsingJonas Schievink2020-12-191-14/+14
| | | | This now allows full paths to the derive macro
* Merge #6935bors[bot]2020-12-181-5/+26
|\ | | | | | | | | | | | | | | | | | | 6935: Don't look at attributes when lowering to ItemTree r=jonas-schievink a=jonas-schievink Resolves 2 `cfg_attr` FIXMEs bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Don't look at attributes when lowering to ItemTreeJonas Schievink2020-12-181-5/+26
| | | | | | | | Resolves 2 `cfg_attr` FIXMEs
* | Hit a markJonas Schievink2020-12-181-0/+2
| |
* | Add testJonas Schievink2020-12-181-0/+16
|/
* Refactor attributes API to allow handling cfg_attrJonas Schievink2020-12-181-19/+29
|
* Avoid querying attributes in item tree loweringJonas Schievink2020-12-161-8/+26
| | | | | | | | ItemTree is per-file, so there is no unique crate associated with it. This means that it cannot know the active CfgOptions and thus couldn't handle `cfg_attr`. Prepare it for `cfg_attr`s by avoiding accessing attributes.
* Make macro def krate mandatoryJonas Schievink2020-12-152-13/+36
| | | | Refactors builtin derive support to go through proper name resolution
* Basic support for decl macros 2.0Jonas Schievink2020-12-151-1/+28
|
* Move to upstream `macro_rules!` modelJonas Schievink2020-12-151-37/+28
|
* Introduce anchored_pathAleksey Kladov2020-12-091-2/+3
| | | | | They allow to represent paths like `#[path = "C:\path.rs"] mod foo;` in a lossless cross-platform & network-transparent way.
* Escape string literals in Attr::from_srcLukas Wirth2020-12-081-1/+1
|
* Don't discard PathKind::Abs information in lower_use::convert_pathLukas Wirth2020-12-021-0/+21
|
* Publish diagnostics for macro expansion errorsJonas Schievink2020-11-271-2/+25
|
* Don't store `SyntaxNodePtr` in `CrateDefMap`Jonas Schievink2020-11-261-4/+2
| | | | It is volatile across reparses and makes incrementality worse.
* Test def map invalidation with #[cfg] below changeJonas Schievink2020-11-261-0/+6
|
* Don't stack overflow on circular modulesAleksey Kladov2020-11-044-18/+62
| | | | closes #6453
* Merge #6435bors[bot]2020-11-031-2/+15
|\ | | | | | | | | | | | | | | 6435: Test Fixture ExplicitRoot + ModuleResolutionRelativePathOutsideRoot. r=matklad a=rickvanprim Updates `module_resolution_relative_path_outside_root` test to check valid paths outside of the root, by moving the root to a subpath so that paths outside of it are possible. If this would be more appropriate as a new test, or if the original check for an invalid path should be left, I'm happy to update. Co-authored-by: James Leitch <[email protected]>
| * Feedback.James Leitch2020-11-021-1/+1
| |
| * Test Fixture ExplicitRoot + ModuleResolutionRelativePathOutsideRoot.James Leitch2020-11-021-2/+15
| |
* | Deny unreachable-pubAleksey Kladov2020-11-021-7/+7
| | | | | | | | | | | | | | | | It's very useful when `pub` is equivalent to "this is crate's public API", let's enforce this! Ideally, we should enforce it for local `cargo test`, and only during CI, but that needs https://github.com/rust-lang/cargo/issues/5034.
* | Handle #![cfg] in crate rootJonas Schievink2020-10-262-2/+22
|/