-
Notifications
You must be signed in to change notification settings - Fork 10.4k
/
Copy pathinvalid_code.swift
48 lines (41 loc) · 1.18 KB
/
invalid_code.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// RUN: %target-swift-ide-test -print-indexed-symbols -include-locals -source-filename %s | %FileCheck %s
var _: Int { get { return 1 } }
func test() {
for o in allObjects {
_ = o.something // don't crash
}
}
class CrashTest {
var something = 0
func returnSelf(_ h: [AnyHashable: Any?]) -> CrashTest {
return self
}
init() { }
}
// CHECK: [[@LINE+1]]:13 | instance-method/Swift | returnSelf
CrashTest().returnSelf(["": 0]).something
class CrashTest2 {
// CHECK: [[@LINE+1]]:8 | instance-method/Swift | bar
func bar() {
someClosure { [weak self] in
guard let sSelf = self else { return }
let newDataProvider = Foo()
newDataProvider.delegate = sSelf
}
}
}
public struct BadCollection: Collection {
public var startIndex: Index { }
public var endIndex: Index { }
public func index(after index: Index) -> Index { }
public subscript(position: Index) -> Element { }
}
struct Protector<T> {}
extension Protector where T: RangeReplaceableCollection {
func append(_ newElement: T.Iterator.Element) {
undefined { (foo: T) in
// CHECK: [[@LINE-1]]:18 | param(local)/Swift | foo | {{.*}} | Def,RelChild
_ = newElement
}
}
}