Description
In general adding an attribute is considered backwards compatible and removing an attribute requires judgement since it can be a breaking change if external people were relying on its presence.
For RequiredUnreferenceCodeAttribute it works in the opposite direction. Removing it is always backwards compatible and adding it is always a breaking change.
Are we able to update the tool to have special handling for these AOT attributes that we know should work in the opposite direction? @eerhardt mentioned a couple other attributes that also might fit into this bucket.
To reproduce you can add RequiredUnreferenceCodeAttribute to any api in any library that didn't already have it and run apicompat.
Expected: We should see an error saying adding this attribute is not backwards compatible.
Actual: We do not see any errors.