[Macros] Ignore the @TaskLocal
macro attached to vars with projected value vars.
#73832
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
VarDecls with
@_projectedValueProperty
have already had the property wrapper transform applied. This only impacts swiftinterfaces, and if a swiftinterface was produced against a Concurrency library that does not declareTaskLocal
as a macro, we need to ignore the macro to avoid producing duplicate declarations. This is only needed temporarily until all swiftinterfaces have been built against the Concurrency library containing the new macro declaration.Note that all of the property wrapper requests will not consider these declarations to have an attached property wrapper because the macro declaration always wins when resolving the custom attribute. I think this is okay, because the property wrapper transform has already been applied. As far as I can tell, the purpose of
@_projectedValueProperty
is to avoid synthesizing another projected value in the case where one has already been created.Resolves: rdar://128542258