-
Notifications
You must be signed in to change notification settings - Fork 10.5k
/
Copy pathsr14494.swift
37 lines (30 loc) · 1.13 KB
/
sr14494.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
// RUN: %target-swift-ide-test -code-completion -code-completion-token=COMPLETE -source-filename=%s | %FileCheck %s
protocol MyView {
associatedtype Body : MyView
@MyViewBuilder var body: Self.Body { get }
}
@resultBuilder public struct MyViewBuilder {
static func buildBlock() -> MyZStack<Never> { fatalError() }
static func buildBlock<Content>(_ content: Content) -> Content { content }
}
struct MyAlignment {
static let center: MyAlignment
}
struct MyZStack<Content> : MyView {
init(alignment: MyAlignment, @MyViewBuilder content: () -> Content) {
fatalError()
}
func my_updating<State>(body: (inout State) -> Void) {}
}
struct BottomMenu: MyView {
var body: some MyView {
let a = MyZStack(alignment: .#^COMPLETE^#center, content: {})
.my_updating(body: { state in
state = false
})
}
}
// CHECK: Begin completions, 2 items
// CHECK: Decl[StaticVar]/CurrNominal/Flair[ExprSpecific]/TypeRelation[Identical]: center[#MyAlignment#]; name=center
// CHECK: Decl[Constructor]/CurrNominal/TypeRelation[Identical]: init()[#MyAlignment#]; name=init()
// CHECK: End completions