The Character type is essentially defined like this [1]: struct Character { enum Representation { // A _StringBuffer whose first grapheme cluster is self. // NOTE: may be more than 1 Character long. case large(_StringBuffer._Storage) case small(Builtin.Int63) }
var _representation: Representation } Note the type of the associated value for `case .small`, `Builtin.Int63`. Presumably, this is so that the type fits into a single word, including the single bit that is needed for the enum case. However, `MemoryLayout<Character>.size` returns 9. Given the above, I would have expected 8 bytes. Why? Is this a potential optimization that hasn't been implemented? Or am I missing something? Thanks Ole [1]: https://github.com/apple/swift/blob/master/stdlib/public/core/Character.swift _______________________________________________ swift-dev mailing list swift-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-dev