Skip to content

Fix CustomStringConvertible warning#155

Draft
marciniwanicki wants to merge 1 commit intomainfrom
mi/silence-CustomStringConvertible-warnings
Draft

Fix CustomStringConvertible warning#155
marciniwanicki wants to merge 1 commit intomainfrom
mi/silence-CustomStringConvertible-warnings

Conversation

@marciniwanicki
Copy link
Copy Markdown
Contributor

The @retroactive attribute in Swift is a compiler directive used in extensions to explicitly acknowledge that a type is being conformed to a protocol when the developer owns neither. When applied to CustomStringConvertible, it instructs the compiler to accept our custom description implementation despite the "retroactive" conformance, which could conflict with future versions of the original module.

Currently, CustomStringConvertible is not implemented in XcodeProj. However, if an implementation is added there in the future, the resolution behavior (whether the XcodeProj or local xcdiff implementation is used) will be non-deterministic (as far as I understand). We will likely need to revisit our approach at that time.

Test Plan:

  • Ensure all CI checks pass

Signed-off-by: Marcin Iwanicki <iwan@icode.pl>
@marciniwanicki marciniwanicki force-pushed the mi/silence-CustomStringConvertible-warnings branch from 91ec5b3 to aa365a2 Compare March 8, 2026 11:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant