Skip to content

Commit 0ac862e

Browse files
authored
Merge pull request #4379 from nkcsgexi/init-fixit
[FixCode] Apply coercion fixits on return statement and initialization.
2 parents 171a2df + 2ebab52 commit 0ac862e

File tree

4 files changed

+19
-1
lines changed

4 files changed

+19
-1
lines changed

lib/Sema/CSDiag.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4040,6 +4040,8 @@ bool FailureDiagnosis::diagnoseContextualConversionError() {
40404040
case CTP_DictionaryKey:
40414041
case CTP_DictionaryValue:
40424042
case CTP_AssignSource:
4043+
case CTP_Initialization:
4044+
case CTP_ReturnStmt:
40434045
tryRawRepresentableFixIts(diag, CS, exprType, contextualType,
40444046
KnownProtocolKind::ExpressibleByIntegerLiteral,
40454047
expr) ||

test/FixCode/fixits-apply-objc.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,11 @@ func foo(an : Any) {
2121
let a3 : AnyObject!
2222
a3 = an
2323
}
24+
25+
func foo1(_ an : Any) {
26+
let obj: AnyObject = an
27+
}
28+
29+
func foo2(_ messageData: Any?) -> AnyObject? {
30+
return messageData
31+
}

test/FixCode/fixits-apply-objc.swift.result

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,11 @@ func foo(an : Any) {
2121
let a3 : AnyObject!
2222
a3 = an as AnyObject!
2323
}
24+
25+
func foo1(_ an : Any) {
26+
let obj: AnyObject = an as AnyObject
27+
}
28+
29+
func foo2(_ messageData: Any?) -> AnyObject? {
30+
return messageData as AnyObject?
31+
}

test/FixCode/fixits-apply.swift.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ struct MyMask : OptionSet {
2828
}
2929

3030
func supported() -> MyMask {
31-
return MyMask.Bingo
31+
return MyMask(rawValue: UInt(MyMask.Bingo))
3232
}
3333

3434
struct MyEventMask2 : OptionSet {

0 commit comments

Comments
 (0)