| // RUN: %target-swift-frontend -emit-silgen -enable-sil-ownership -verify %s |
| |
| struct Butt { |
| subscript(butts: Int...) -> Int { |
| return 0 |
| } |
| } |
| |
| _ = Butt()[1] |
| |
| struct A { |
| subscript(indices: Int...) -> Int { |
| get { return 0 } |
| set {} |
| } |
| } |
| |
| func testSetVariadicSubscriptNone() { |
| var a = A() |
| a[] = 1 |
| } |
| |
| |
| func testSetVariadicSubscriptSingle() { |
| var a = A() |
| a[1] = 1 |
| } |
| |
| func testSetVariadicSubscriptMultiple() { |
| var a = A() |
| a[1,2,3] = 1 |
| } |
| |
| struct B { |
| subscript(indices: (Int, Int)...) -> Int { |
| get { return 0 } |
| set {} |
| } |
| } |
| |
| func testSetVariadicTupleSubscriptNone() { |
| var b = B() |
| b[] = 1 |
| } |
| |
| |
| func testSetVariadicTupleSubscriptSingle() { |
| var b = B() |
| b[(1,2)] = 1 |
| } |
| |
| func testSetVariadicTupleSubscriptMultiple() { |
| var b = B() |
| b[(1,2),(2,3)] = 1 |
| } |