I'm finding that annotation changes on classes do not (consistently) dirty classes that use them. A user reported it
here and I was able to reproduce it in a test
here. I'm able to work around it by generating a synthetic holder function in a generated class and copying the annotations over + recording a fake lookup to LookupTracker for IC to kick, but I'm curious if there's a better way to do this for just class annotations? IIRC this was improved a couple years back but I can't find a link handy