Skip to content

Macro expansion notes appearing without reason #17299

Closed
@Manishearth

Description

@Manishearth

I don't yet have an MWE, however I've been getting macro expansion notes for errors where no macro is nearby.

For example, compiling this branch

will give


--- stderr
dom/performance.rs:20:13: 20:34 error: unrooted JS<T> is not allowed here, #[deny(unrooted_must_root)] on by default
dom/performance.rs:20     timing: JS<PerformanceTiming>,
                                  ^~~~~~~~~~~~~~~~~~~~~
dom/macros.rs:21:1: 31:2 note: in expansion of make_bool_getter!
dom/htmltextareaelement.rs:47:5: 50:7 note: expansion site
dom/macros.rs:21:1: 31:2 note: in expansion of make_bool_getter!
dom/htmlselectelement.rs:59:5: 62:7 note: expansion site
dom/macros.rs:21:1: 31:2 note: in expansion of make_bool_getter!
dom/htmloptionelement.rs:47:5: 50:7 note: expansion site
dom/macros.rs:21:1: 31:2 note: in expansion of make_bool_getter!
dom/htmloptgroupelement.rs:47:5: 50:7 note: expansion site
dom/macros.rs:21:1: 31:2 note: in expansion of make_bool_getter!
dom/htmlinputelement.rs:47:5: 50:7 note: expansion site
dom/macros.rs:8:1: 18:2 note: in expansion of make_getter!
dom/htmlimageelement.rs:183:5: 185:7 note: expansion site
dom/macros.rs:8:1: 18:2 note: in expansion of make_getter!
dom/htmlimageelement.rs:176:5: 178:7 note: expansion site
dom/macros.rs:34:1: 44:2 note: in expansion of make_uint_getter!
dom/htmlimageelement.rs:169:5: 171:7 note: expansion site
dom/macros.rs:34:1: 44:2 note: in expansion of make_uint_getter!
dom/htmlimageelement.rs:162:5: 164:7 note: expansion site
dom/macros.rs:8:1: 18:2 note: in expansion of make_getter!
dom/htmlimageelement.rs:155:5: 157:7 note: expansion site
dom/macros.rs:8:1: 18:2 note: in expansion of make_getter!
dom/htmlimageelement.rs:148:5: 150:7 note: expansion site
dom/macros.rs:21:1: 31:2 note: in expansion of make_bool_getter!
dom/htmlimageelement.rs:119:5: 121:7 note: expansion site
dom/macros.rs:8:1: 18:2 note: in expansion of make_getter!
dom/htmlimageelement.rs:112:5: 114:7 note: expansion site
dom/macros.rs:8:1: 18:2 note: in expansion of make_getter!
dom/htmlimageelement.rs:105:5: 107:7 note: expansion site
dom/macros.rs:8:1: 18:2 note: in expansion of make_getter!
dom/htmlimageelement.rs:98:5: 100:7 note: expansion site
dom/macros.rs:21:1: 31:2 note: in expansion of make_bool_getter!
dom/htmlfieldsetelement.rs:72:5: 75:7 note: expansion site
dom/macros.rs:21:1: 31:2 note: in expansion of make_bool_getter!
dom/htmlbuttonelement.rs:53:5: 56:7 note: expansion site
error: aborting due to previous error 

The macros being expanded are defined in script/dom/macros.rs and just expand into methods. Each occurrence of the macro is getting noted in the error.

However, the actual error is in performance.rs due to the commented out #[unrooted_js_managed] attribute at the top which is caught by the lint defined in this branch. This has nothing to do with the macro expansions listed.

This happens for other errors too (sometimes), but interestingly if I trigger the same error by commenting out the attribute in formdata.rs instead of performance.rs, the error doesn't appear.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-diagnosticsArea: Messages for errors, warnings, and lintsA-syntaxextArea: Syntax extensions

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions