Skip to content

Proc Macro Expansion with a rust-project.json Regressed with #14405 #14417

@davidbarsky

Description

@davidbarsky

rust-analyzer version: rust-analyzer version: 0.0.0 (f85fc28 2023-03-26) (I'm building from source.)

rustc version: (eg. output of rustc -V): rustc 1.68.1 (8460ca823 2023-03-20)

relevant settings: I'm using this with a rust-project.json sourced from Buck. I can't provide a minimal reproduction at the moment.

Hi! This is not particularly urgent issue, but I've noticed that procedural macro expansion has regressed when used with a rust-project.json since #14405 (this issue does not exist with #14404). This manifests with the error:

> `proc macro `Serialize` not expanded: No proc-macros present for crate`

However, rust-analyzer still correctly identifies the source crate, _serde_derive_1.0.152.

I haven't fully tracked down the issue, but I've noticed that in hir-def/src/nameres/collector.rs the CrateId for serde_derive in db.crate_graph() is 27, but in db.proc_macros(), serde_derive has a CrateId of 16. I'll dig into this more tomorrow.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions