about summary refs log tree commit diff
path: root/src/test/codegen/src-hash-algorithm/src-hash-algorithm-sha256.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2021-03-10 08:40:51 +0000
committerbors <bors@rust-lang.org>2021-03-10 08:40:51 +0000
commit36a27ecaacad74f69b21a12bc66b826f11f2d44e (patch)
tree1c796add0157cc072c2fa3316e28b3a6cbec367b /src/test/codegen/src-hash-algorithm/src-hash-algorithm-sha256.rs
parentcb8bc0b6e659cc82b80a056dbe7b7df3acda7df6 (diff)
parent6c668266c0d4a949e534bb2770fa3fcc8b64ef1d (diff)
downloadrust-36a27ecaacad74f69b21a12bc66b826f11f2d44e.tar.gz
rust-36a27ecaacad74f69b21a12bc66b826f11f2d44e.zip
Auto merge of #79519 - cjgillot:noattr, r=wesleywiser
Store HIR attributes in a side table

Same idea as #72015 but for attributes.
The objective is to reduce incr-comp invalidations due to modified attributes.
Notably, those due to modified doc comments.

Implementation:
- collect attributes during AST->HIR lowering, in `LocalDefId -> ItemLocalId -> &[Attributes]` nested tables;
- access the attributes through a `hir_owner_attrs` query;
- local refactorings to use this access;
- remove `attrs` from HIR data structures one-by-one.

Change in behaviour:
- the HIR visitor traverses all attributes at once instead of parent-by-parent;
- attribute arrays are sometimes duplicated: for statements and variant constructors;
- as a consequence, attributes are marked as used after unused-attribute lint emission to avoid duplicate lints.

~~Current bug: the lint level is not correctly applied in `std::backtrace_rs`, triggering an unused attribute warning on `#![no_std]`. I welcome suggestions.~~
Diffstat (limited to 'src/test/codegen/src-hash-algorithm/src-hash-algorithm-sha256.rs')
0 files changed, 0 insertions, 0 deletions