Skip to content

Commit c269d4b

Browse files
committed
WIP
1 parent 610d07e commit c269d4b

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

lib/Sema/TypeCheckAvailability.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1436,6 +1436,13 @@ class AvailabilityScopeBuilder : private ASTWalker {
14361436

14371437
PreWalkResult<Expr *> walkToExprPre(Expr *E) override {
14381438
(void)consumeDeclBodyContextIfNecessary(E);
1439+
1440+
if (auto *SE = dyn_cast<SequenceExpr>(E)) {
1441+
if (SE->getNumElements() > 2) {
1442+
build(SE->getElement(1));
1443+
}
1444+
return Action::SkipChildren(E);
1445+
}
14391446
return Action::Continue(E);
14401447
}
14411448

test/Sema/availability_scopes.swift

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,22 @@ func testStringInterpolation() {
321321
"""
322322
}
323323

324+
// CHECK-NEXT: {{^}} (decl_implicit version=50 decl=result
325+
// CHECK-NEXT: {{^}} (decl_implicit version=50 decl=unusedA
326+
// CHECK-NEXT: {{^}} (decl_implicit version=50 decl=unusedB
327+
328+
func testGH78567(b: Bool, x: Int?) {
329+
let result = b
330+
? x.map {
331+
let unusedA: Int
332+
return $0
333+
}
334+
: x.map {
335+
let unusedB: Int
336+
return $0
337+
}
338+
}
339+
324340
// CHECK-NEXT: {{^}} (decl version=50 unavailable=macOS decl=unavailableOnMacOS()
325341
// CHECK-NEXT: {{^}} (decl_implicit version=50 unavailable=macOS decl=x
326342

0 commit comments

Comments
 (0)