Skip to content

Commit 5601840

Browse files
committed
Fix unsafe expressions in NoAssignmentInExpressions
fixes #977
1 parent 7156f95 commit 5601840

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

Sources/SwiftFormat/Rules/NoAssignmentInExpressions.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ public final class NoAssignmentInExpressions: SyntaxFormatRule {
121121
private func isStandaloneAssignmentStatement(_ node: InfixOperatorExprSyntax) -> Bool {
122122
var node = Syntax(node)
123123
while let parent = node.parent,
124-
parent.is(TryExprSyntax.self) || parent.is(AwaitExprSyntax.self)
124+
parent.is(TryExprSyntax.self) || parent.is(AwaitExprSyntax.self) || parent.is(UnsafeExprSyntax.self)
125125
{
126126
node = parent
127127
}

Tests/SwiftFormatTests/Rules/NoAssignmentInExpressionsTests.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,19 +187,21 @@ final class NoAssignmentInExpressionsTests: LintOrFormatRuleTestCase {
187187
)
188188
}
189189

190-
func testTryAndAwaitAssignmentExpressionsAreUnchanged() {
190+
func testTryAndAwaitAndUnsafeAssignmentExpressionsAreUnchanged() {
191191
assertFormatting(
192192
NoAssignmentInExpressions.self,
193193
input: """
194194
func foo() {
195195
try a.b = c
196196
await a.b = c
197+
unsafe a.b = c
197198
}
198199
""",
199200
expected: """
200201
func foo() {
201202
try a.b = c
202203
await a.b = c
204+
unsafe a.b = c
203205
}
204206
""",
205207
findings: []

0 commit comments

Comments
 (0)