Skip to content

Commit b6da135

Browse files
committed
Add 'bitPattern:' label to '(U)Int.init(ObjectIdentifier)'
SR-2064 rdar://27327186
1 parent 2c4c819 commit b6da135

File tree

2 files changed

+22
-5
lines changed

2 files changed

+22
-5
lines changed

stdlib/public/core/Reflection.swift

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ extension ObjectIdentifier : CustomDebugStringConvertible {
4848
}
4949

5050
public func <(lhs: ObjectIdentifier, rhs: ObjectIdentifier) -> Bool {
51-
return UInt(lhs) < UInt(rhs)
51+
return UInt(bitPattern: lhs) < UInt(bitPattern: rhs)
5252
}
5353

5454
public func ==(x: ObjectIdentifier, y: ObjectIdentifier) -> Bool {
@@ -57,15 +57,15 @@ public func ==(x: ObjectIdentifier, y: ObjectIdentifier) -> Bool {
5757

5858
extension UInt {
5959
/// Create a `UInt` that captures the full value of `objectID`.
60-
public init(_ objectID: ObjectIdentifier) {
60+
public init(bitPattern objectID: ObjectIdentifier) {
6161
self.init(Builtin.ptrtoint_Word(objectID._value))
6262
}
6363
}
6464

6565
extension Int {
6666
/// Create an `Int` that captures the full value of `objectID`.
67-
public init(_ objectID: ObjectIdentifier) {
68-
self.init(bitPattern: UInt(objectID))
67+
public init(bitPattern objectID: ObjectIdentifier) {
68+
self.init(bitPattern: UInt(bitPattern: objectID))
6969
}
7070
}
7171

@@ -631,3 +631,17 @@ extension ObjectIdentifier {
631631
Builtin.unreachable()
632632
}
633633
}
634+
635+
extension UInt {
636+
@available(*, unavailable, renamed: "init(bitPattern:)")
637+
public init(_ objectID: ObjectIdentifier) {
638+
Builtin.unreachable()
639+
}
640+
}
641+
642+
extension Int {
643+
@available(*, unavailable, renamed: "init(bitPattern:)")
644+
public init(_ objectID: ObjectIdentifier) {
645+
Builtin.unreachable()
646+
}
647+
}

test/1_stdlib/Runtime.swift.gyb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -995,8 +995,11 @@ Reflection.test("ObjectIdentifier/CustomDebugStringConvertible") {
995995
expectEqual(String(reflecting: oi1), String(reflecting: oi1))
996996
expectNotEqual(String(reflecting: oi1), String(reflecting: oi2))
997997

998-
let p1 = UnsafePointer<Void>(bitPattern: UInt(oi1))!
998+
let p1 = UnsafePointer<Void>(bitPattern: UInt(bitPattern: oi1))!
999999
expectPrinted("ObjectIdentifier(\(p1))", oi1)
1000+
let p2 = UnsafePointer<Void>(bitPattern: Int(bitPattern: oi1))!
1001+
expectPrinted("ObjectIdentifier(\(p2))", oi1)
1002+
10001003
}
10011004

10021005
Reflection.test("CustomMirrorIsInherited") {

0 commit comments

Comments
 (0)