# Extend LateLintPass by \`check\_trait\_item\_post\`

**URL:** <https://internals.rust-lang.org/t/extend-latelintpass-by-check-trait-item-post/23961>\
**Category:** compiler\
**Created:** [January 28, 2026, 12:45pm UTC](https://internals.rust-lang.org/t/extend-latelintpass-by-check-trait-item-post/23961 "2026-01-28T12:45:24Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![mrdgo](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/mrdgo/32/14051_2.png) [@mrdgo](https://internals.rust-lang.org/u/mrdgo)\
**Post date:** [January 28, 2026, 12:45pm UTC](https://internals.rust-lang.org/t/extend-latelintpass-by-check-trait-item-post/23961/1 "2026-01-28T12:45:24Z")

</div>

I really don't know what categories to pick, so I'm happy to change them.

I am working on a source-to-source compiler for rust. There are `check_item`/`check_item_post` and `check_impl_item`/`check_impl_item_post` pairs. But for `check_trait_item`, there is no `_post` partner. The pairs are really handy to write both an analysis (I need a full call graph) and for a transformation. In the pre method, I push a new empty entry for metadata to a stack and in the post method, I have it filled with what I collected in other `check_` methods. Is there a design choice that doesn't allow this for trait items? Or did just nobody care, yet?
