Skip to content

Commit c15772b

Browse files
nkcsgexibenlangmuir
authored andcommitted
[FixCode] Apply coercion fixit for assignment types' mismatch too. rdar://27681428
1 parent bc0cfad commit c15772b

File tree

3 files changed

+19
-0
lines changed

3 files changed

+19
-0
lines changed

lib/Sema/CSDiag.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4014,6 +4014,7 @@ bool FailureDiagnosis::diagnoseContextualConversionError() {
40144014
case CTP_ArrayElement:
40154015
case CTP_DictionaryKey:
40164016
case CTP_DictionaryValue:
4017+
case CTP_AssignSource:
40174018
tryRawRepresentableFixIts(diag, CS, exprType, contextualType,
40184019
KnownProtocolKind::ExpressibleByIntegerLiteral,
40194020
expr) ||

test/FixCode/fixits-apply.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,3 +261,12 @@ func disable_unnamed_param_reorder(p: Int, _: String) {}
261261
disable_unnamed_param_reorder(0, "") // no change.
262262

263263
prefix operator ***** {}
264+
265+
func foo(an : Any) {
266+
let a1 : AnyObject
267+
a1 = an
268+
let a2 : AnyObject?
269+
a2 = an
270+
let a3 : AnyObject!
271+
a3 = an
272+
}

test/FixCode/fixits-apply.swift.result

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,3 +264,12 @@ func disable_unnamed_param_reorder(p: Int, _: String) {}
264264
disable_unnamed_param_reorder(0, "") // no change.
265265

266266
prefix operator *****
267+
268+
func foo(an : Any) {
269+
let a1 : AnyObject
270+
a1 = an as AnyObject
271+
let a2 : AnyObject?
272+
a2 = an as AnyObject?
273+
let a3 : AnyObject!
274+
a3 = an as AnyObject!
275+
}

0 commit comments

Comments
 (0)