While there was limited feedback during the review phase, the comments received were valuable and have been incorporated by the proposal’s author to improve the proposal. The Swift Testing Workgroup considered whether the low volume of feedback might suggest a lack of support for the feature. After careful consideration, we believe this feature will be a useful addition to Swift Testing and have therefore decided to accept the proposal.
As always, thank you to everyone who participated for helping improve Swift Testing.
After acceptance of the proposal, we identified a potential source compatibility issue caused by the addition of the severity:parameter to the Issue.record function. This issue primarily arises when storing a reference to the Issue.record function:
// ❌ Source breakage due to new Issue.Severity parameter
let myRecordFunc: (Comment?, SourceLocation) -> Issue = Issue.record
We discussed the implications of this finding within the Swift Testing Workgroup after the proposal review. Our considerations included:
The importance of preserving backward compatibility, especially since the original proposal did not foresee this potential source breakage;
The perceived rarity of this specific case;
Availability of potential solutions.
Ultimately, we decided to amend the proposal (and its implementation) to incorporate a compatibility solution aimed at preventing this source breakage. We believe this approach strikes the best balance: enabling the addition of different test issue severities while maintaining backward compatibility with existing codebases.