File tree Expand file tree Collapse file tree 2 files changed +44
-2
lines changed
Sources/SwiftFormat/Rules
Tests/SwiftFormatTests/Rules Expand file tree Collapse file tree 2 files changed +44
-2
lines changed Original file line number Diff line number Diff line change @@ -60,7 +60,7 @@ public final class OmitExplicitReturns: SyntaxFormatRule {
6060 guard let accessorBlock = binding. accessorBlock,
6161 let transformed = transformAccessorBlock ( accessorBlock)
6262 else {
63- return node
63+ return super . visit ( node)
6464 }
6565
6666 binding. accessorBlock = transformed
@@ -145,7 +145,7 @@ public final class OmitExplicitReturns: SyntaxFormatRule {
145145 CodeBlockItemListSyntax ( [
146146 CodeBlockItemSyntax (
147147 leadingTrivia: returnStmt. leadingTrivia,
148- item: . expr( returnStmt. expression!) ,
148+ item: . expr( returnStmt. expression!. detached . with ( \ . trailingTrivia , [ ] ) ) ,
149149 semicolon: nil ,
150150 trailingTrivia: returnStmt. trailingTrivia
151151 )
Original file line number Diff line number Diff line change @@ -119,4 +119,46 @@ final class OmitReturnsTests: LintOrFormatRuleTestCase {
119119 ]
120120 )
121121 }
122+
123+ func testInVariableBindings( ) {
124+ assertFormatting (
125+ OmitExplicitReturns . self,
126+ input: """
127+ var f = l.filter { 1️⃣return $0.a != o }
128+ var bar = l.filter {
129+ 2️⃣return $0.a != o
130+ }
131+ """ ,
132+ expected: """
133+ var f = l.filter { $0.a != o }
134+ var bar = l.filter {
135+ $0.a != o
136+ }
137+ """ ,
138+ findings: [
139+ FindingSpec ( " 1️⃣ " , message: " 'return' can be omitted because body consists of a single expression " ) ,
140+ FindingSpec ( " 2️⃣ " , message: " 'return' can be omitted because body consists of a single expression " ) ,
141+ ]
142+ )
143+ }
144+
145+ func testInVariableBindingWithTrailingTrivia( ) {
146+ assertFormatting (
147+ OmitExplicitReturns . self,
148+ input: """
149+ var f = l.filter {
150+ 1️⃣return $0.a != o // comment
151+ }
152+ """ ,
153+ expected: """
154+ var f = l.filter {
155+ $0.a != o // comment
156+ }
157+ """ ,
158+ findings: [
159+ FindingSpec ( " 1️⃣ " , message: " 'return' can be omitted because body consists of a single expression " )
160+ ]
161+ )
162+ }
163+
122164}
You can’t perform that action at this time.
0 commit comments