Skip to content

Xcode 26.4 support#271

Merged
stephencelis merged 7 commits intomainfrom
xcode-26-4
Feb 19, 2026
Merged

Xcode 26.4 support#271
stephencelis merged 7 commits intomainfrom
xcode-26-4

Conversation

@stephencelis
Copy link
Copy Markdown
Member

This PR works around some issues with Xcode 26.4.

We allow use right now but strongly advise against them, as the
overloaded operators strain the compiler. But worse, they hide the
triple-valued logic of SQL, which can lead to bugs.

So let's finally, in a breaking change, fully make these operators
unavailable.
["Hello", "World"]
} onConflictDoUpdate: {
$0.notes = ["Goodnight", "Moon"]
$0.notes = #bind(["Goodnight", "Moon"])
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

#bind is needed more often when dealing with literal values.

after: .update { _, new in
Reminder
.update { $0.dueDate = Date(timeIntervalSinceReferenceDate: 0) }
.update { $0.dueDate = #bind(Date(timeIntervalSinceReferenceDate: 0)) }
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Optionals, too.

*,
unavailable,
message: """
Use '#bind' to explicitly wrap this value in a query expression: '$0.column = #bind(value)'
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

This unavailable overload at least surfaces a good error for folks to migrate.

Base automatically changed from unavailable-equals to main February 19, 2026 17:39
@stephencelis stephencelis merged commit 9b0ff18 into main Feb 19, 2026
2 checks passed
@stephencelis stephencelis deleted the xcode-26-4 branch February 19, 2026 17:40
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.

2 participants