Skip to content

Conversation

@supersonicbyte
Copy link
Collaborator

@supersonicbyte supersonicbyte commented Sep 29, 2025

Description

As discussed here this PR implements a way to allow the user to specify the isolation of the generated conformances.

How Has This Been Tested?

Please describe the tests that you ran to verify your changes.

Minimal checklist:

  • I have performed a self-review of my own code
  • I have added DocC code-level documentation for any public interfaces exported by the package
  • I have added unit and/or integration tests that prove my fix is effective or that my feature works

@supersonicbyte supersonicbyte self-assigned this Sep 29, 2025
@supersonicbyte supersonicbyte changed the title feat(min): [sc-24016] enable isolation specification in generated equatable confomance feat(minor): [sc-24016] enable isolation specification in generated equatable confomance Sep 29, 2025
Copy link
Contributor

@hassila hassila left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, I tried it with a sample view with 6.2 and .main isolation, looks working now!

@supersonicbyte
Copy link
Collaborator Author

LGTM, I tried it with a sample view with 6.2 and .main isolation, looks working now!

Awesome! Let's wait to see does @vanvoorden has anything to say and we can merge it.

@codecov
Copy link

codecov bot commented Sep 29, 2025

Codecov Report

❌ Patch coverage is 88.11189% with 34 lines in your changes missing coverage. Please review.
✅ Project coverage is 87.27%. Comparing base (31e351e) to head (317d3c6).
⚠️ Report is 4 commits behind head on main.

Files with missing lines Patch % Lines
...ions/EquatableMacro/EquatableMacro+Equatable.swift 79.10% 14 Missing ⚠️
...sions/EquatableMacro/EquatableMacro+Hashable.swift 80.00% 12 Missing ⚠️
...ions/EquatableMacro/EquatableMacro+Isolation.swift 82.35% 3 Missing ⚠️
...EquatableMacro/EquatableMacro+TypeComplexity.swift 91.18% 3 Missing ⚠️
...nsions/EquatableMacro/EquatableMacro+Helpers.swift 96.49% 2 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main      #29      +/-   ##
==========================================
- Coverage   96.97%   87.27%   -9.70%     
==========================================
  Files          11       16       +5     
  Lines        1122      495     -627     
==========================================
- Hits         1088      432     -656     
- Misses         34       63      +29     
Files with missing lines Coverage Δ
...ources/EquatableMacros/EquatableIgnoredMacro.swift 84.21% <100.00%> (ø)
Sources/EquatableMacros/EquatableMacro.swift 97.22% <100.00%> (+0.08%) ⬆️
...ons/EquatableMacro/EquatableMacro+Diagnostic.swift 100.00% <100.00%> (ø)
...s/Extensions/IdentifierTypeSyntax+Extensions.swift 94.44% <100.00%> (ø)
...acros/Extensions/MemberTypeSyntax+Extensions.swift 92.86% <100.00%> (ø)
...acros/Extensions/StructDeclSyntax+Extensions.swift 100.00% <100.00%> (ø)
...ros/Extensions/VariableDeclSyntax+Extensions.swift 100.00% <100.00%> (ø)
...nsions/EquatableMacro/EquatableMacro+Helpers.swift 96.49% <96.49%> (ø)
...ions/EquatableMacro/EquatableMacro+Isolation.swift 82.35% <82.35%> (ø)
...EquatableMacro/EquatableMacro+TypeComplexity.swift 91.18% <91.18%> (ø)
... and 2 more

... and 1 file with indirect coverage changes

Files with missing lines Coverage Δ
...ources/EquatableMacros/EquatableIgnoredMacro.swift 84.21% <100.00%> (ø)
Sources/EquatableMacros/EquatableMacro.swift 97.22% <100.00%> (+0.08%) ⬆️
...ons/EquatableMacro/EquatableMacro+Diagnostic.swift 100.00% <100.00%> (ø)
...s/Extensions/IdentifierTypeSyntax+Extensions.swift 94.44% <100.00%> (ø)
...acros/Extensions/MemberTypeSyntax+Extensions.swift 92.86% <100.00%> (ø)
...acros/Extensions/StructDeclSyntax+Extensions.swift 100.00% <100.00%> (ø)
...ros/Extensions/VariableDeclSyntax+Extensions.swift 100.00% <100.00%> (ø)
...nsions/EquatableMacro/EquatableMacro+Helpers.swift 96.49% <96.49%> (ø)
...ions/EquatableMacro/EquatableMacro+Isolation.swift 82.35% <82.35%> (ø)
...EquatableMacro/EquatableMacro+TypeComplexity.swift 91.18% <91.18%> (ø)
... and 2 more

... and 1 file with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 63e597c...317d3c6. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@supersonicbyte supersonicbyte merged commit d110ff5 into main Sep 30, 2025
10 of 12 checks passed
@supersonicbyte supersonicbyte deleted the feature/sc-24016/implement-isolation-specification-in branch September 30, 2025 08:57
@vanvoorden
Copy link
Contributor

@supersonicbyte Ahh… so we ended up bumping the min requirement to 602. I was thinking to leave the min requirement where it was but just bump the max requirement to 603. I would generally not always recommend bumping min requirements on point releases. These can be "breaking" changes if clients depend on more than one macro package. If package A has a max requirement of 601 and package B has a min requirement of 602 then trying to import them both together in one place means that SPM might not be able to resolve the dependencies.

@supersonicbyte
Copy link
Collaborator Author

supersonicbyte commented Sep 30, 2025

@vanvoorden you're right, definetely a break, sorry! I kinda confused this with something internal and forgot it's open source 😅 .

EDIT:
Made a PR for it: #31

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants