Skip to content

Commit 8a5ed40

Browse files
committed
Make var parameters an error for Swift 3
This finishes up revisions to SE-0003 - only var function parameters are disallowed for Swift 3.
1 parent d45aa36 commit 8a5ed40

File tree

60 files changed

+344
-231
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+344
-231
lines changed

include/swift/AST/DiagnosticsParse.def

+2-2
Original file line numberDiff line numberDiff line change
@@ -657,8 +657,8 @@ ERROR(parameter_inout_var_let,none,
657657
"parameter may not have multiple 'inout', 'var', or 'let' specifiers",
658658
())
659659

660-
WARNING(var_parameter_not_allowed,none,
661-
"'var' parameters are deprecated and will be removed in Swift 3", ())
660+
ERROR(var_parameter_not_allowed,none,
661+
"parameters may not have the 'var' specifier", ())
662662
WARNING(parameter_extraneous_double_up,none,
663663
"extraneous duplicate parameter name; %0 already has an argument "
664664
"label", (Identifier))

stdlib/private/StdlibCollectionUnittest/CheckRangeReplaceableSliceType.swift

+6-3
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ extension TestSuite {
2222
Collection.SubSequence == Collection,
2323
CollectionWithEquatableElement.Generator.Element : Equatable
2424
>(
25-
var testNamePrefix: String = "",
25+
testNamePrefix: String = "",
2626
makeCollection: ([Collection.Generator.Element]) -> Collection,
2727
wrapValue: (OpaqueValue<Int>) -> Collection.Generator.Element,
2828
extractValue: (Collection.Generator.Element) -> OpaqueValue<Int>,
@@ -35,6 +35,7 @@ extension TestSuite {
3535
resiliencyChecks: CollectionMisuseResiliencyChecks = .all,
3636
outOfBoundsIndexOffset: Int = 1
3737
) {
38+
var testNamePrefix = testNamePrefix
3839

3940
// Don't run the same tests twice.
4041
if checksAdded.value.contains(__FUNCTION__) {
@@ -152,7 +153,7 @@ extension TestSuite {
152153
CollectionWithEquatableElement.SubSequence == CollectionWithEquatableElement,
153154
CollectionWithEquatableElement.Generator.Element : Equatable
154155
>(
155-
var testNamePrefix: String = "",
156+
testNamePrefix: String = "",
156157
makeCollection: ([Collection.Generator.Element]) -> Collection,
157158
wrapValue: (OpaqueValue<Int>) -> Collection.Generator.Element,
158159
extractValue: (Collection.Generator.Element) -> OpaqueValue<Int>,
@@ -165,6 +166,7 @@ extension TestSuite {
165166
resiliencyChecks: CollectionMisuseResiliencyChecks = .all,
166167
outOfBoundsIndexOffset: Int = 1
167168
) {
169+
var testNamePrefix = testNamePrefix
168170

169171
// Don't run the same tests twice.
170172
if checksAdded.value.contains(__FUNCTION__) {
@@ -296,7 +298,7 @@ extension TestSuite {
296298
CollectionWithEquatableElement.SubSequence == CollectionWithEquatableElement,
297299
CollectionWithEquatableElement.Generator.Element : Equatable
298300
>(
299-
var testNamePrefix: String = "",
301+
testNamePrefix: String = "",
300302
makeCollection: ([Collection.Generator.Element]) -> Collection,
301303
wrapValue: (OpaqueValue<Int>) -> Collection.Generator.Element,
302304
extractValue: (Collection.Generator.Element) -> OpaqueValue<Int>,
@@ -309,6 +311,7 @@ extension TestSuite {
309311
resiliencyChecks: CollectionMisuseResiliencyChecks = .all,
310312
outOfBoundsIndexOffset: Int = 1
311313
) {
314+
var testNamePrefix = testNamePrefix
312315

313316
// Don't run the same tests twice.
314317
if checksAdded.value.contains(__FUNCTION__) {

test/1_stdlib/NewArray.swift.gyb

+2-1
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,9 @@ where T.Generator.Element == T._Buffer.Element,
143143
checkEqual(x, y, false)
144144

145145
func checkReallocations(
146-
var a: T, _ growthDescription: String, _ growBy1: (inout _: T)->()
146+
a: T, _ growthDescription: String, _ growBy1: (inout _: T)->()
147147
) {
148+
var a = a
148149
var reallocations = 0
149150

150151
// Note: right now this test is dependent on a growth factor of 2.

test/1_stdlib/Runtime.swift

+2-1
Original file line numberDiff line numberDiff line change
@@ -1420,7 +1420,8 @@ Reflection.test("SetGenerator/Mirror") {
14201420

14211421
var BitTwiddlingTestSuite = TestSuite("BitTwiddling")
14221422

1423-
func computeCountLeadingZeroes(var x: Int64) -> Int64 {
1423+
func computeCountLeadingZeroes(x: Int64) -> Int64 {
1424+
var x = x
14241425
var r: Int64 = 64
14251426
while x != 0 {
14261427
x >>= 1

test/DebugInfo/ProtocolContainer.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ class AClass : AProtocol {
1616
// CHECK-NEXT: %[[X:.*]] = alloca %P17ProtocolContainer9AProtocol_, align {{(4|8)}}
1717
// CHECK: call void @llvm.dbg.declare(metadata %P17ProtocolContainer9AProtocol_* %[[X]], metadata ![[XMD:.*]], metadata !{{[0-9]+}})
1818
// CHECK-NOT: !DILocalVariable({{.*}} name: "x"
19-
// CHECK: ![[XMD]] = !DILocalVariable(name: "x", arg: 1,{{.*}}line: [[@LINE+2]]
2019
// CHECK-NOT: !DILocalVariable({{.*}} name: "x"
21-
func foo (var x : AProtocol) {
20+
func foo (x : AProtocol) {
21+
var x = x
2222
x.print() // Set breakpoint here
2323
}
2424
var aProtocol : AProtocol = AClass()

test/DebugInfo/autoclosure.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ func &&&&&(lhs: BooleanType, @autoclosure rhs: () -> BooleanType) -> Bool {
2121
return lhs.boolValue ? rhs().boolValue : false
2222
}
2323

24-
func call_me(var input: Int64) -> Void {
24+
func call_me(input: Int64) -> Void {
2525
// rdar://problem/14627460
2626
// An autoclosure should have a line number in the debug info and a scope line of 0.
2727
// CHECK-DAG: !DISubprogram({{.*}}linkageName: "_TFF11autoclosure7call_meFVs5Int64T_u_KT_Ps11BooleanType_",{{.*}} line: [[@LINE+3]],{{.*}} isLocal: false, isDefinition: true

test/DebugInfo/basic.swift

+11-9
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,18 @@
2424
// CHECK-DAG: ret{{.*}}, !dbg ![[RET:[0-9]+]]
2525
// CHECK-DAG: ![[FOO:[0-9]+]] = distinct !DISubprogram(name: "foo",{{.*}} line: [[@LINE+2]],{{.*}} type: ![[FOOTYPE:[0-9]+]]
2626
public
27-
func foo(var a: Int64, var _ b: Int64) -> Int64 {
28-
// CHECK-DAG: !DILexicalBlock(scope: ![[FOO]],{{.*}} line: [[@LINE-1]], column: 49)
29-
// CHECK-DAG: ![[ASCOPE:.*]] = !DILocation(line: [[@LINE-2]], column: 14, scope: ![[FOO]])
27+
func foo(a: Int64, _ b: Int64) -> Int64 {
28+
var a = a
29+
var b = b
30+
// CHECK-DAG: !DILexicalBlock(scope: ![[FOO]],{{.*}} line: [[@LINE-3]], column: 41)
31+
// CHECK-DAG: ![[ASCOPE:.*]] = !DILocation(line: [[@LINE-4]], column: 10, scope: ![[FOO]])
3032
// Check that a is the first and b is the second argument.
31-
// CHECK-DAG: store i64 %0, i64* [[AVAL:.*]], align 8
32-
// CHECK-DAG: store i64 %1, i64* [[BVAL:.*]], align 8
33-
// CHECK-DAG: [[AVAL]] = getelementptr inbounds {{.*}}, [[AMEM:.*]], i32 0, i32 0
34-
// CHECK-DAG: [[BVAL]] = getelementptr inbounds {{.*}}, [[BMEM:.*]], i32 0, i32 0
35-
// CHECK-DAG: call void @llvm.dbg.declare(metadata [[AMEM]], metadata ![[AARG:.*]], metadata !{{[0-9]+}}), !dbg ![[ASCOPE]]
36-
// CHECK-DAG: call void @llvm.dbg.declare(metadata [[BMEM]], metadata ![[BARG:.*]], metadata !{{[0-9]+}})
33+
// CHECK-DAG: store i64 %0, i64* [[AADDR:.*]], align 8
34+
// CHECK-DAG: store i64 %1, i64* [[BADDR:.*]], align 8
35+
// CHECK-DAG: [[AVAL:%.*]] = getelementptr inbounds {{.*}}, [[AMEM:.*]], i32 0, i32 0
36+
// CHECK-DAG: [[BVAL:%.*]] = getelementptr inbounds {{.*}}, [[BMEM:.*]], i32 0, i32 0
37+
// CHECK-DAG: call void @llvm.dbg.declare(metadata i64* [[AADDR]], metadata ![[AARG:.*]], metadata !{{[0-9]+}}), !dbg ![[ASCOPE]]
38+
// CHECK-DAG: call void @llvm.dbg.declare(metadata i64* [[BADDR]], metadata ![[BARG:.*]], metadata !{{[0-9]+}})
3739
// CHECK-DAG: ![[AARG]] = !DILocalVariable(name: "a", arg: 1
3840
// CHECK-DAG: ![[BARG]] = !DILocalVariable(name: "b", arg: 2
3941
if b != 0 {

test/DebugInfo/generic_arg2.swift

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
// RUN: %target-swift-frontend %s -emit-ir -g -o - | FileCheck %s
22

3-
// CHECK: @_TFC12generic_arg25Class3foo{{.*}}, %swift.type* %U
4-
// CHECK: %[[Y:.*]] = call %swift.opaque* %initializeBufferWithTake{{.*}}([{{(24|12)}} x i8]* %{{.*}}, %swift.opaque* %{{.*}}, %swift.type* %U)
3+
// CHECK: define hidden void @_TFC12generic_arg25Class3foo{{.*}}, %swift.type* %U
4+
// CHECK: [[Y:%.*]] = getelementptr inbounds %C12generic_arg25Class, %C12generic_arg25Class* %2, i32 0, i32 0, i32 0
55
// store %swift.opaque* %[[Y]], %swift.opaque** %[[Y_SHADOW:.*]], align
6-
// CHECK: call void @llvm.dbg.value(metadata %swift.opaque* %[[Y]], {{.*}}metadata ![[U:.*]], metadata !{{[0-9]+}}), !dbg
6+
// CHECK: call void @llvm.dbg.declare(metadata %swift.opaque** %y.addr, metadata ![[U:.*]], metadata !{{[0-9]+}})
77
// Make sure there is no conflicting dbg.value for this variable.x
88
// CHECK-NOT: dbg.value{{.*}}metadata ![[U]]
99
class Class <T> {
1010
// CHECK: ![[U]] = !DILocalVariable(name: "y", arg: 2{{.*}} line: [[@LINE+1]],
11-
func foo<U>(var x: T, var y: U) {}
11+
func foo<U>(x: T, y: U) {}
1212

13-
func bar(var x: String, var y: Int64) {}
13+
func bar(x: String, y: Int64) {}
1414

1515
init() {}
1616
}

test/DebugInfo/inout.swift

+3-4
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,9 @@ typealias MyFloat = Float
2626
// PROMO-CHECK-SAME: type: !"_TtVs5Int64"
2727
func modifyFooHeap(inout a: Int64,
2828
// CHECK-DAG: ![[A]] = !DILocalVariable(name: "a", arg: 1{{.*}} line: [[@LINE-1]],{{.*}} type: !"_TtRVs5Int64"
29-
// CHECK-DAG: ![[B]] = !DILocalVariable(name: "b", arg: 2{{.*}} line: [[@LINE+2]],{{.*}} type: ![[MYFLOAT:[0-9]+]]
30-
// CHECK-DAG: ![[MYFLOAT]] = !DIDerivedType(tag: DW_TAG_typedef, name: "_Tta5inout7MyFloat",{{.*}} baseType: !"_TtSf"
31-
var _ b: MyFloat)
29+
_ b: MyFloat)
3230
{
31+
var b = b
3332
if (b > 2.71) {
3433
a = a + 12// Set breakpoint here
3534
}
@@ -46,7 +45,7 @@ func modifyFooHeap(inout a: Int64,
4645
func modifyFoo(inout u: Int64,
4746
// FOO-CHECK-DAG: !DILocalVariable(name: "v", arg: 2{{.*}} line: [[@LINE+2]],{{.*}} type: ![[MYFLOAT:[0-9]+]]
4847
// FOO-CHECK-DAG: [[U]] = !DILocalVariable(name: "u", arg: 1{{.*}} line: [[@LINE-2]],{{.*}} type: !"_TtRVs5Int64"
49-
var _ v: MyFloat)
48+
_ v: MyFloat)
5049
// FOO-CHECK-DAG: ![[MYFLOAT]] = !DIDerivedType(tag: DW_TAG_typedef, name: "_Tta5inout7MyFloat",{{.*}} baseType: !"_TtSf"
5150
{
5251
if (v > 2.71) {

test/DebugInfo/patternmatching.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
func markUsed<T>(t: T) {}
77

88
func classifyPoint2(p: (Double, Double)) {
9-
func return_same (var input : Double) -> Double
9+
func return_same (input : Double) -> Double
1010
{
1111
return input; // return_same gets called in both where statements
1212
}

test/DebugInfo/test-foundation.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public func date() {
8383
}
8484

8585
// Make sure we build some witness tables for enums.
86-
func useOptions(var opt: NSURLBookmarkCreationOptions)
86+
func useOptions(opt: NSURLBookmarkCreationOptions)
8787
-> NSURLBookmarkCreationOptions {
8888
return [opt, opt]
8989
}

test/FixCode/fixits-apply.swift.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ func foo() -> Int {
3838
}
3939
}
4040

41-
func goo(var e : ErrorType) {}
41+
func goo(e : ErrorType) {}
4242

4343
struct Test1 : OptionSetType {
4444
init(rawValue: Int) {}

test/IRGen/closure.swift

+5-5
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,23 @@
66

77
// CHECK: [[METADATA:@.*]] = private constant %swift.full_boxmetadata { void (%swift.refcounted*)* [[DESTROY:@objectdestroy.1]], i8** null, %swift.type { i64 64 }, i32 16 }
88

9-
func a(var i i: Int) -> (Int) -> Int {
9+
func a(i i: Int) -> (Int) -> Int {
1010
return { x in i }
1111
}
1212

1313
// -- Closure entry point
14-
// CHECK: define linkonce_odr hidden i64 @_TTSf2n_i___TFF7closure1aFT1iSi_FSiSiU_FSiSi(i64, i64)
14+
// CHECK: define linkonce_odr hidden i64 @_TFF7closure1aFT1iSi_FSiSiU_FSiSi(i64, i64)
1515

1616
protocol Ordinable {
1717
func ord() -> Int
1818
}
1919

20-
func b<T : Ordinable>(var seq seq: T) -> (Int) -> Int {
20+
func b<T : Ordinable>(seq seq: T) -> (Int) -> Int {
2121
return { i in i + seq.ord() }
2222
}
2323

2424
// -- partial_apply stub
25-
// CHECK: define internal i64 @_TPA__TTSf2n_i___TFF7closure1aFT1iSi_FSiSiU_FSiSi(i64, %swift.refcounted*)
25+
// CHECK: define internal i64 @_TPA__TFF7closure1aFT1iSi_FSiSiU_FSiSi(i64, %swift.refcounted*)
2626
// CHECK: }
2727

2828
// -- Closure entry point
@@ -48,7 +48,7 @@ func b<T : Ordinable>(var seq seq: T) -> (Int) -> Int {
4848

4949
// -- <rdar://problem/14443343> Boxing of tuples with generic elements
5050
// CHECK: define hidden { i8*, %swift.refcounted* } @_TF7closure14captures_tupleu0_rFT1xTxq___FT_Txq__(%swift.opaque* noalias nocapture, %swift.opaque* noalias nocapture, %swift.type* %T, %swift.type* %U)
51-
func captures_tuple<T, U>(var x x: (T, U)) -> () -> (T, U) {
51+
func captures_tuple<T, U>(x x: (T, U)) -> () -> (T, U) {
5252
// CHECK: [[METADATA:%.*]] = call %swift.type* @swift_getTupleTypeMetadata2(%swift.type* %T, %swift.type* %U, i8* null, i8** null)
5353
// CHECK-NOT: @swift_getTupleTypeMetadata2
5454
// CHECK: [[BOX:%.*]] = call { %swift.refcounted*, %swift.opaque* } @swift_allocBox(%swift.type* [[METADATA]])

test/IRGen/generic_casts.swift

+2-1
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,8 @@ func protoCast(x: ObjCClass) -> protocol<ObjCProto1, NSRuncing> {
8888
// <rdar://problem/15313840>
8989
// Class existential to opaque archetype cast
9090
// CHECK: define hidden void @_TF13generic_casts33classExistentialToOpaqueArchetype{{.*}}(%swift.opaque* noalias nocapture sret, %objc_object*, %swift.type* %T)
91-
func classExistentialToOpaqueArchetype<T>(var x: ObjCProto1) -> T {
91+
func classExistentialToOpaqueArchetype<T>(x: ObjCProto1) -> T {
92+
var x = x
9293
// CHECK: [[X:%.*]] = alloca %P13generic_casts10ObjCProto1_
9394
// CHECK: [[LOCAL:%.*]] = alloca %P13generic_casts10ObjCProto1_
9495
// CHECK: [[LOCAL_OPAQUE:%.*]] = bitcast %P13generic_casts10ObjCProto1_* [[LOCAL]] to %swift.opaque*

test/IRGen/generic_tuples.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
// CHECK: [[TUPLE_TYPE:%swift.tuple_type]] = type { [[TYPE]], i64, i8*, [0 x %swift.tuple_element_type] }
1111
// CHECK: %swift.tuple_element_type = type { [[TYPE]]*, i64 }
1212

13-
func dup<T>(var x: T) -> (T, T) { return (x,x) }
13+
func dup<T>(x: T) -> (T, T) { var x = x; return (x,x) }
1414
// CHECK: define hidden void @_TF14generic_tuples3dup{{.*}}(<{}>* noalias nocapture sret
1515
// CHECK: entry:
1616
// Allocate a local variable for 'x'.
@@ -20,7 +20,7 @@ func dup<T>(var x: T) -> (T, T) { return (x,x) }
2020
// CHECK-NEXT: [[T0:%.*]] = bitcast [[TYPE]]* %T to i8***
2121
// CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds i8**, i8*** [[T0]], i64 -1
2222
// CHECK-NEXT: [[T_VALUE:%.*]] = load i8**, i8*** [[T1]], align 8
23-
// CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds i8*, i8** [[T_VALUE]], i32 8
23+
// CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds i8*, i8** [[T_VALUE]]
2424
// CHECK-NEXT: [[T1:%.*]] = load i8*, i8** [[T0]], align 8
2525
// CHECK-NEXT: [[INITIALIZE_BUFFER_FN:%.*]] = bitcast i8* [[T1]] to [[OPAQUE]]* ([[BUFFER]]*, [[OPAQUE]]*, [[TYPE]]*)*
2626
// CHECK-NEXT: [[X:%.*]] = call [[OPAQUE]]* [[INITIALIZE_BUFFER_FN]]([[BUFFER]]* [[XBUF]], [[OPAQUE]]* {{.*}}, [[TYPE]]* %T)

test/IRGen/sil_generic_witness_methods.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ func call_methods<T: P, U>(x: T, y: S, z: U) {
3838
}
3939

4040
// CHECK-LABEL: define hidden void @_TF27sil_generic_witness_methods24call_existential_methods{{.*}}(%P27sil_generic_witness_methods1P_* noalias nocapture dereferenceable({{.*}}))
41-
func call_existential_methods(x: P, var y: S) {
41+
func call_existential_methods(x: P, y: S) {
4242
// CHECK: [[METADATA_ADDR:%.*]] = getelementptr inbounds %P27sil_generic_witness_methods1P_, %P27sil_generic_witness_methods1P_* [[X:%0]], i32 0, i32 1
4343
// CHECK: [[METADATA:%.*]] = load %swift.type*, %swift.type** [[METADATA_ADDR]], align 8
4444
// CHECK: [[WTABLE_ADDR:%.*]] = getelementptr inbounds %P27sil_generic_witness_methods1P_, %P27sil_generic_witness_methods1P_* [[X]], i32 0, i32 2

test/Interpreter/SDK/Accelerate.swift

+13-5
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
import Accelerate
88

99
extension vU1024: IntegerLiteralConvertible, CustomStringConvertible, Equatable {
10-
public init(var integerLiteral: Int) {
10+
public init(integerLiteral: Int) {
11+
var integerLiteral = integerLiteral
1112
self.init()
1213
memcpy(&self, &integerLiteral, sizeof(Int.self))
1314
}
@@ -32,27 +33,34 @@ extension vU1024: IntegerLiteralConvertible, CustomStringConvertible, Equatable
3233
}
3334

3435
extension Int {
35-
init(var _ u1024: vU1024) {
36+
init(_ u1024: vU1024) {
37+
var u1024 = u1024
3638
// NB: Doesn't overflow check
3739
self.init()
3840
memcpy(&self, &u1024, sizeof(Int.self))
3941
}
4042
}
4143

42-
func *(var x: vU1024, var y: vU1024) -> vU1024 {
44+
func *(x: vU1024, y: vU1024) -> vU1024 {
45+
var x = x
46+
var y = y
4347
var result = vU1024()
4448
vU1024HalfMultiply(&x, &y, &result)
4549
return result
4650
}
4751

48-
func quorem(var x: vU1024, var _ y: vU1024) -> (vU1024, vU1024) {
52+
func quorem(x: vU1024, _ y: vU1024) -> (vU1024, vU1024) {
53+
var x = x
54+
var y = y
4955
var quo = vU1024()
5056
var rem = vU1024()
5157
vU1024Divide(&x, &y, &quo, &rem)
5258
return (quo, rem)
5359
}
5460

55-
public func ==(var x: vU1024, var y: vU1024) -> Bool {
61+
public func ==(x: vU1024, y: vU1024) -> Bool {
62+
var x = x
63+
var y = y
5664
return memcmp(&x, &y, sizeof(vU1024.self)) == 0
5765
}
5866

test/Interpreter/currying_generics.swift

+4-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ func concat(x: String, _ y: String, _ z: String) -> String {
1414
}
1515

1616
@inline(never)
17-
public func test_concat_closure(var x: Int) -> String {
17+
public func test_concat_closure(x: Int) -> String {
18+
var x = x
1819
let insult = curry(concat)("one ")(" two ")
1920
var gs = insult(" three ")
2021
if (x > 0) {
@@ -52,7 +53,8 @@ func compose(x: P, _ y: P, _ z: P) -> Int32 {
5253

5354

5455
@inline(never)
55-
public func test_compose_closure(var x:Int) -> Int32 {
56+
public func test_compose_closure(x: Int) -> Int32 {
57+
var x = x
5658
let insult = curry(compose)(CP(1))(CP(2))
5759
var gs = insult(CP(3))
5860
if (x > 0) {

test/PrintAsObjC/classes.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ class NotObjC {}
162162

163163
func testPrimitives(b: Bool, i: Int, f: Float, d: Double, u: UInt)
164164
-> COpaquePointer { return COpaquePointer() }
165-
func testString(var s: String) {}
165+
func testString(s: String) {}
166166
func testSelector(sel: Selector, boolean b: ObjCBool) {}
167167

168168
func testCSignedTypes(a: CSignedChar, b: CShort, c: CInt, d: CLong, e: CLongLong) {}

test/Prototypes/Integers.swift.gyb

+2-1
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,8 @@ public protocol ArithmeticType {
154154
% for x in binaryArithmetic:
155155
@_transparent
156156
@warn_unused_result
157-
public func ${x.operator} <T: ArithmeticType>(var lhs: T, rhs: T) -> T {
157+
public func ${x.operator} <T: ArithmeticType>(lhs: T, rhs: T) -> T {
158+
var lhs = lhs
158159
lhs.${x.name}InPlace(rhs)
159160
return lhs
160161
}

test/SIL/Parser/generic_signature_with_depth.swift

+2-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ func test<
2727
EC2 : mmExt
2828
where EC1.Generator.Element == EC2.Generator.Element
2929
>
30-
(var lhs: EC1, _ rhs: EC2) -> EC1 {
30+
(lhs: EC1, _ rhs: EC2) -> EC1 {
31+
var lhs = lhs
3132
lhs.extend(rhs)
3233
return lhs
3334
}

test/SIL/Serialization/Inputs/def_generic_marker.swift

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ public func test<
1717
EC1 : mmCollectionType,
1818
EC2 : mmCollectionType
1919
where EC1.Generator.Element == EC2.Generator.Element
20-
> (var lhs: EC1, _ rhs: EC2) -> EC1 {
20+
> (lhs: EC1, _ rhs: EC2) -> EC1 {
21+
var lhs = lhs
2122
lhs.extend(rhs)
2223
return lhs
2324
}

0 commit comments

Comments
 (0)