dotnet / dotnet/linker

Add conditional attribute removal annotation

Open
#1,670 0 comments 0 reactions 0 assignees View on GitHub
proposal
Dominant language
C#
Stars
392
Forks
128
Avg merge
2d 10h
Merged PRs (30d)
2

Description

Since 5.0 there is forced attribute removal annotation called `RemoveAttributeInstances ` which can be used to always remove an attribute. As we won't be easily able to run linker in the mode where it removes all unused attribute we could extend this model with conditional attribute removal which would remove the attribute unless there is type-ref to its type.

This is alternative proposal to #1378

This can be useful for widely used core attributes which are needed only in specific features (e.g. serialization). A few examples would be

ObsoleteAttribute
CompileGeneratedAttribute
Serializable* attributes

/cc @eerhardt @vitek-karas

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.