Skip to content

Commit 01fe073

Browse files
authored
Merge pull request #3480 from xwu/master
Conform ObjectIdentifier to CustomDebugStringConvertible [SR-2014]
2 parents 856e298 + 3b81fc2 commit 01fe073

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

stdlib/public/core/Reflection.swift

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,13 @@ public struct ObjectIdentifier : Hashable, Comparable {
4040
}
4141
}
4242

43+
extension ObjectIdentifier : CustomDebugStringConvertible {
44+
/// A textual representation of `self`, suitable for debugging.
45+
public var debugDescription: String {
46+
return "ObjectIdentifier(\(_rawPointerToString(_value)))"
47+
}
48+
}
49+
4350
public func <(lhs: ObjectIdentifier, rhs: ObjectIdentifier) -> Bool {
4451
return UInt(lhs) < UInt(rhs)
4552
}

test/1_stdlib/Runtime.swift.gyb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -975,6 +975,14 @@ Reflection.test("CustomMirror") {
975975
expectEqual(
976976
[ ObjectIdentifier(a), ObjectIdentifier(b), ObjectIdentifier(c) ].sorted(),
977977
[ ObjectIdentifier(c), ObjectIdentifier(b), ObjectIdentifier(a) ].sorted())
978+
979+
// CustomDebugStringConvertible
980+
expectEqual(
981+
String(reflecting: ObjectIdentifier(a)),
982+
String(reflecting: ObjectIdentifier(a)))
983+
expectNotEqual(
984+
String(reflecting: ObjectIdentifier(a)),
985+
String(reflecting: ObjectIdentifier(b)))
978986
}
979987
}
980988

0 commit comments

Comments
 (0)