[BuilderTransform] NFC: Adjust variable declaration tests

With AST transform enabled by default most of the previously
invalid declarations became valid (due to SE-0373 being implemented
only for AST transform).
This commit is contained in:
Pavel Yaskevich
2022-11-18 15:22:12 -08:00
committed by Pavel Yaskevich
parent b01d21b1ec
commit 1e6e6e9634
3 changed files with 57 additions and 56 deletions

View File

@@ -6,7 +6,7 @@ enum Either<T,U> {
}
@resultBuilder
struct TupleBuilder { // expected-note 3 {{struct 'TupleBuilder' declared here}}
struct TupleBuilder { // expected-note {{struct 'TupleBuilder' declared here}}
static func buildBlock() -> () { }
static func buildBlock<T1>(_ t1: T1) -> T1 {
@@ -99,15 +99,13 @@ func testDiags() {
tuplify(true) { _ in
17
let x = 17
let y: Int // expected-error{{local variable 'y' requires explicit initializer to be used with result builder 'TupleBuilder'}} {{15-15= = <#value#>}}
let y: Int // Ok
x + 25
}
tuplify(true) { _ in
17
let y: Int, z: String
// expected-error@-1 {{local variable 'y' requires explicit initializer to be used with result builder 'TupleBuilder'}} {{15-15= = <#value#>}}
// expected-error@-2 {{local variable 'z' requires explicit initializer to be used with result builder 'TupleBuilder'}} {{26-26= = <#value#>}}
let y: Int, z: String // Ok
y + 25
}

View File

@@ -1,51 +0,0 @@
// RUN: %target-typecheck-verify-swift
@resultBuilder
struct DummyBuilder { // expected-note 5 {{struct 'DummyBuilder' declared here}}
static func buildBlock<T>(_ t: T) -> T {
return t
}
}
func dummy<T>(@DummyBuilder _: () -> T) {}
dummy {
var computedVar: Int { return 123 } // expected-error {{cannot declare local computed variable in result builder}}
()
}
dummy {
lazy var lazyVar: Int = 123 // expected-error {{cannot declare local lazy variable in result builder}}
()
}
dummy {
var observedVar: Int = 123 { // expected-error {{cannot declare local observed variable in result builder}}
didSet {}
}
()
}
dummy {
var observedVar: Int = 123 { // expected-error {{cannot declare local observed variable in result builder}}
willSet {}
}
()
}
@propertyWrapper struct Wrapper {
var wrappedValue: Int
}
dummy {
@Wrapper var wrappedVar: Int = 123 // expected-error {{cannot declare local wrapped variable in result builder}}
()
}
dummy {
@resultBuilder var attributedVar: Int = 123 // expected-error {{@resultBuilder' attribute cannot be applied to this declaration}}
// expected-warning@-1 {{variable 'attributedVar' was never used; consider replacing with '_' or removing it}}
()
}

View File

@@ -0,0 +1,54 @@
// RUN: %target-typecheck-verify-swift
@resultBuilder
struct DummyBuilder {
static func buildBlock<T>(_ t: T) -> T {
return t
}
}
func dummy<T>(@DummyBuilder _: () -> T) {}
dummy {
var computedVar: Int { return 123 }
()
}
dummy {
lazy var lazyVar: Int = 123
()
}
dummy {
var observedVar: Int = 123 {
// expected-warning@-1 {{variable 'observedVar' was never used; consider replacing with '_' or removing it}}
didSet {}
}
()
}
dummy {
var observedVar: Int = 123 {
// expected-warning@-1 {{variable 'observedVar' was never used; consider replacing with '_' or removing it}}
willSet {}
}
()
}
@propertyWrapper struct Wrapper {
var wrappedValue: Int
}
dummy {
@Wrapper var wrappedVar: Int = 123
()
}
dummy {
@resultBuilder var attributedVar: Int = 123
// expected-error@-1 {{'@resultBuilder' attribute cannot be applied to this declaration}}
// expected-warning@-2 {{variable 'attributedVar' was never used; consider replacing with '_' or removing it}}
()
}