Both Float16
and CGFloat
are "struct".
Why does Mirror API treat them differently?
func printMirror<T>(_ v: T) {
let mirror = Mirror(reflecting: v)
print("\ndisplayStyle: \(String(describing: mirror.displayStyle))")
print("subjectType: \(String(describing: mirror.subjectType))")
print("children count: \(mirror.children.count)")
mirror.children.forEach { child in
print(" \(String(describing: child.label)) \(child.value)")
}
}
printMirror(Float16(0))
displayStyle: Optional(Swift.Mirror.DisplayStyle.struct)
subjectType: Float16
children count: 1
Optional("_value") (Opaque Value)
printMirror(CGFloat(0))
displayStyle: nil
subjectType: Double
children count: 0