swift
f5f0c004 - [Compile Time Constant Extraction] Query nominal type conformances to get at the protocols, instead of `getAllProtocols`.

Commit
1 year ago
[Compile Time Constant Extraction] Query nominal type conformances to get at the protocols, instead of `getAllProtocols`. As it stands, for extension macros which add protocol conformances, the list of protocols specified on the macro's 'conformances:' parameter gets added in its entirety to the list of a nominal type's protocols in 'ConformanceLookupTable::addMacroGeneratedProtocols'. Whereas the macro itself, may only add *some* of the specified conformances. This means that `getAllProtocols` may contain a super-set of protocols captured in `getAllConformances`, some of which may not actually be generated by the macro. This change narrowly fixes ConstExtract to query actual generated conformances. Though, potentially we should make 'ConformanceLookupTable::addMacroGeneratedProtocols' behave in a way that reflects the protocols the macro actually adds the conformances to, instead of the ones it may add conformances to. Resolves rdar://130316531
Author
Parents
Loading