Files
swift-mirror/test/Interpreter/SDK/objc_nil.swift
practicalswift fa7fbdb8b0 [gardening] Remove redundant nil-initialization of optional variable
From the Swift documentation:

"If you define an optional variable without providing a default value,
 the variable is automatically set to nil for you."
2016-09-18 07:40:07 +02:00

35 lines
779 B
Swift

// RUN: %target-run-simple-swift | %FileCheck %s
// REQUIRES: executable_test
// REQUIRES: objc_interop
import Foundation
var str : NSString?
var url : NSURL?
print("\(str == nil) \(nil == url) \(str == url)")
// CHECK: true true true
str = "abc"
url = NSURL(string: "file:///")
print("\(str == nil) \(nil == url)")
// CHECK: false false
@inline(never)
func isNilGeneric<T>(_ x: T?) -> Bool {
if let x2 = x {
return false
} else {
return true
}
}
let noClass = NSClassFromString("A Class With This Name Should Not Exist!@#!")
let yesClass = NSClassFromString("NSString")
print(noClass == nil) // CHECK-NEXT: true
print(yesClass == nil) // CHECK-NEXT: false
print(isNilGeneric(noClass)) // CHECK-NEXT: true
print(isNilGeneric(yesClass)) // CHECK-NEXT: false