Skip to content

Complete generalized mechanism for validation issue exemptions#92

Merged
dempseyatgithub merged 3 commits intoswiftlang:mainfrom
dempseyatgithub:issue-handling-refactor
Feb 12, 2026
Merged

Complete generalized mechanism for validation issue exemptions#92
dempseyatgithub merged 3 commits intoswiftlang:mainfrom
dempseyatgithub:issue-handling-refactor

Conversation

@dempseyatgithub
Copy link
Copy Markdown
Collaborator

Add IssueWrapper struct to encapsulate extraction issue operations

  • Add reportIssue method
    • Checks validation exemptions and
    • Routes errors and warnings to correct array by type
  • Add append method for returned errors and warnings
  • Replace errors and warnings arrays with issue wrappers

Complete generalized mechanism for validation issue exemptions

  • Add Range and RangeSet conveniences to improve clarity of exemption definitions
  • Move existing exemptions for Review field (Discussions) to generalized mechanism
  • Remove custom exemption mechanism from DiscussionExtractor
  • Resolves Add validation exemptions for early proposals #32

- Add `reportIssue` method
  - Checks validation exemptions and
  - Routes errors and warnings to correct array by type
- Add `append` method for returned errors and warnings
- Replace errors and warnings arrays with issue wrappers
- Add Range and RangeSet conveniences to improve clarity of exemption definitions
- Move existing exemptions for Review field (Discussions) to generalized mechanism
- Remove custom exemption mechanism from DiscussionExtractor
- Resolves swiftlang#32
Copy link
Copy Markdown
Member

@heckj heckj left a comment

Choose a reason for hiding this comment

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

Ha! I love it - these steps all align perfectly with other refactoring work I've seen in producing consistent parsing diagnostics for user feedback (Swift's diagnostics engine is crazy complex, but amazing - DocC has one as well that's lovely).

Wraps up the various possible diagnostics into a consistent type to make them easier to wrangle consistently down the road.

The retroactive conformance, that you noted was a low risk, raised my eyebrow, but not badly. I offered an alternative inline, If you're game to consider it.

Comment thread Sources/EvolutionMetadataExtraction/Utilities/Project.swift
@dempseyatgithub dempseyatgithub merged commit 810da67 into swiftlang:main Feb 12, 2026
11 checks passed
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.

Add validation exemptions for early proposals

2 participants