Files
swift-mirror/test/APINotes/basic.swift
Jordan Rose abaf05f1b4 [test] Update APINotes tests for Swift 3 removal
For the most part, this moves 3/4 tests to 4/5 tests. There are
some interesting changes here because API notes for 4 also apply
to 3 unless otherwise specified, and 4.2 is the next version after
4 rather than 5, but everything should still be correct and testing
useful stuff.
2018-07-12 15:44:10 -07:00

46 lines
1.3 KiB
Swift

// RUN: %target-typecheck-verify-swift -I %S/Inputs/custom-modules -F %S/Inputs/custom-frameworks
import APINotesTest
import APINotesFrameworkTest
#if _runtime(_ObjC)
extension A {
func implicitlyObjC() { }
}
extension C {
func alsoImplicitlyObjC() { }
}
class D : C {
func yetAnotherImplicitlyObjC() { }
}
func testSelectors(a: AnyObject) {
a.implicitlyObjC?() // okay: would complain without SwiftObjCMembers
a.alsoImplicitlyObjC?() // okay: would complain without SwiftObjCMembers
a.yetAnotherImplicitlyObjC?() // okay: would complain without SwiftObjCMembers
}
#endif
func testSwiftName() {
moveTo(x: 0, y: 0, z: 0)
moveTo(0, 0, 0) // expected-error{{missing argument labels 'x:y:z:' in call}}
_ = global
_ = ANTGlobalValue // expected-error{{'ANTGlobalValue' has been renamed to 'global'}}
let ps = Point(x: 0.0, y: 0.0)
let ps2 = PointStruct(x: 0.0, y: 0.0) // expected-error{{'PointStruct' has been renamed to 'Point'}}
let r: Real = 0.0
let r2: real_t = 0.0 // expected-error{{'real_t' has been renamed to 'Real'}}
let rect: Rect
let rect2: RectStruct // expected-error{{'RectStruct' has been renamed to 'Rect'}}
let d: Double = __will_be_private
// From APINotesFrameworkTest.
jumpTo(x: 0, y: 0, z: 0)
jumpTo(0, 0, 0) // expected-error{{missing argument labels 'x:y:z:' in call}}
}