// RUN: %batch-code-completion protocol View {} @resultBuilder struct Builder { static func buildBlock(_ c0: C0) -> C0 {} static func buildBlock(_ c0: C0, _ c1: C1) -> C1 {} static func buildBlock(_ c0: C0, _ c1: C1, _ c2: C2) -> C1 {} } struct ForEach: View where Data: RandomAccessCollection { init(_ dat: Data, @Builder content: (Data.Element) -> Content) {} } struct Text: View { init(_ text: String) {} } struct Value { var name: String } func test(values: [Value]) { _ = ForEach(values) { value in Text("foobar") Text("value \(value.#^STRINGLITERAL?check=CHECK^#)") } _ = ForEach(values) { value in Text("foobar") Text(value.#^NORMAL?check=CHECK^#) } } // CHECK: Begin completions, 2 items // CHECK-DAG: Keyword[self]/CurrNominal: self[#Value#]; // CHECK-DAG: Decl[InstanceVar]/CurrNominal/TypeRelation[Convertible]: name[#String#];