AeneasVerif / charon

Interface with the rustc compiler for the purpose of program verification
Apache License 2.0
62 stars 15 forks source link

Cleanup `ItemMeta` and attributes #266

Closed Nadrieril closed 1 week ago

Nadrieril commented 1 week ago

https://github.com/AeneasVerif/charon/pull/237 introduced a new attribute and reused ItemMeta in fields and variants. This Pr splits off ItemMeta so that fields and variants can have attribute information and items can have item-specific information in ItemMeta. I then move some shared item fields to ItemMeta. This also parses attributes into a high-level representation.

Nadrieril commented 1 week ago

cc @sonmarcho @msprotz This changes where we store the name of an item: decl.name has to be replaced with decl.item_meta.name now. (I'll do the necessary changes in Aeneas and Eurydice of course).