Skip to content

Merge 'main' branch to 'release/6.2' #1095

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Apr 24, 2025

Conversation

stmontgomery
Copy link
Contributor

This merges the main branch into the release/6.2 branch.

Note: The Swift Testing project will be periodically performing "backwards" merges like this for a period which extends beyond the date when the 6.2 branches were cut, since nearly all contributions are intended to be included in the 6.2 release.

Once this PR has been merged, I will adjust the milestones on the PRs included in this merge to be 6.2 wherever appropriate.

Checklist:

  • Code and documentation should follow the style of the Style Guide.
  • If public symbols are renamed or modified, DocC references should be updated.

This defines the `'play'` test content kind in the `TestContentKind`
enum and corresponding documentation.

### Motivation:

This is intended to "reserve" this FourCC code for eventual use by the
[swift-play-experimental](https://github.com/apple/swift-play-experimental)
project, which has adopted the `_TestDiscovery` library from this
package.

### Checklist:

- [x] Code and documentation should follow the style of the [Style
Guide](https://github.com/apple/swift-testing/blob/main/Documentation/StyleGuide.md).
- [x] If public symbols are renamed or modified, DocC references should
be updated.

Fixes swiftlang#1089
Fixes rdar://147585572
This PR updates the `CODEOWNERS` file to remove @SeanROlszewski as a
code owner. We sincerely thank him for his valuable contributions and
past collaboration!

### Checklist:

- [x] Code and documentation should follow the style of the [Style
Guide](https://github.com/apple/swift-testing/blob/main/Documentation/StyleGuide.md).
- [x] If public symbols are renamed or modified, DocC references should
be updated.
…n empty string (swiftlang#1091)

This fixes a crash which can occur when recording an issue with a
comment whose string is empty. It also adds some test coverage of this
scenario and other "uncommon" comment examples.

### Checklist:

- [x] Code and documentation should follow the style of the [Style
Guide](https://github.com/apple/swift-testing/blob/main/Documentation/StyleGuide.md).
- [x] If public symbols are renamed or modified, DocC references should
be updated.

Fixes rdar://149482060
…nized `unsafe` keyword (swiftlang#1093)

This fixes another bit of fallout from swiftlang#1069 when building this
project's test targets with a 6.1 (or any pre-6.2) toolchain.

The `unsafe` keyword was introduced in 6.2 as part of [SE-0458: Opt-in
Strict Memory Safety
Checking](https://github.com/swiftlang/swift-evolution/blob/main/proposals/0458-strict-memory-safety.md).
Older toolchains are not aware of it, so the fix is to avoid emitting
expressions involving that keyword when the macro plugin has been built
using an older toolchain.

### Checklist:

- [x] Code and documentation should follow the style of the [Style
Guide](https://github.com/apple/swift-testing/blob/main/Documentation/StyleGuide.md).
- [x] If public symbols are renamed or modified, DocC references should
be updated.
@stmontgomery stmontgomery added the integration ⚙️ Integrating work to release branches label Apr 24, 2025
@stmontgomery stmontgomery added this to the Swift 6.2 milestone Apr 24, 2025
@stmontgomery stmontgomery self-assigned this Apr 24, 2025
@stmontgomery
Copy link
Contributor Author

@swift-ci please test

…wait in recorded issues (swiftlang#1092)

This fixes an issue where code comments placed before an expectation
like `#expect()` which has effect introducer keywords like `try` or
`await` are ignored, and ensures they are included in the recorded issue
if the expectation fails.

Consider this example of two failing expectations:

```swift
// Uh oh!
#expect(try x() == 2)

// Uh oh!
try #expect(x() == 2)
```

Prior to this PR, if `x()` returned a value other than `2`, there would
be two issues recorded, but the second one would not have the comment
`“Uh oh!”` because from the macro’s perspective, that code comment was
on the `try` keyword and it could only see trivia associated with
`#expect()`.

Now, with the recent swift-syntax fix from
swiftlang/swift-syntax#3037, the `try` keyword
and its associated trivia can be included and this bug can be fixed. We
recently adopted a new-enough swift-syntax in swiftlang#1069, so the only fix
needed is to adopt `lexicalContext` for this new purpose in our macro.

### Checklist:

- [x] Code and documentation should follow the style of the [Style
Guide](https://github.com/apple/swift-testing/blob/main/Documentation/StyleGuide.md).
- [x] If public symbols are renamed or modified, DocC references should
be updated.
@stmontgomery
Copy link
Contributor Author

@swift-ci please test

briancroom
briancroom previously approved these changes Apr 24, 2025
@stmontgomery
Copy link
Contributor Author

The macOS and Linux CI failures are expected to be resolved by swiftlang/swift#80830, but the release of a new main snapshot toolchain is currently blocked for unrelated reasons. Proceeding to merge.

@briancroom briancroom self-requested a review April 24, 2025 16:48
@briancroom briancroom dismissed their stale review April 24, 2025 16:50

Experimenting with approval requirements for the release/6.2 branch.

@stmontgomery stmontgomery merged commit 1d7ba1f into swiftlang:release/6.2 Apr 24, 2025
1 of 3 checks passed
@stmontgomery stmontgomery deleted the main-6.2-merge branch April 24, 2025 16:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
integration ⚙️ Integrating work to release branches
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants