> Isn’t this a short-term concern? I thought that requirement was going away.
AFAIK there are still concerns about ambiguity - [Int] - is it an array with one element (Int.self), or is it [Int].self? > >> For this reason, this proposal prefers using no-label calls for types >> (otherwise they would have been ofType) and labeled calls for values: >> >> print(sizeof(Int)) // works >> print(sizeof(Int.self)) // works >> >> func withoutLabel<T>(thetype: T.Type) -> Int { return sizeof(T) } >> func withLabel<T>(label label: T.Type) -> Int { return sizeof(T) } >> >> >> // Works >> print(withoutLabel(Int)) >> >> // Works >> print(withLabel(label: Int.self)) >> >> // Does not work >> // error: cannot create a single-element tuple with an element label >> // print(withLabel(label: Int)) >> >> >> So with this in mind: >> >> /// Returns the contiguous memory footprint of `T`. >> /// >> /// Does not include any dynamically-allocated or "remote" storage. >> /// In particular, `size(X.self)`, when `X` is a class type, is the >> /// same regardless of how many stored properties `X` has. >> public func size<T>(_: T.Type) -> Int >> >> /// Returns the contiguous memory footprint of `T`. >> /// >> /// Does not include any dynamically-allocated or "remote" storage. >> /// In particular, `size(of: a)`, when `a` is a class instance, is the >> /// same regardless of how many stored properties `a` has. >> public func size<T>(of: T) -> Int >> >> /// Returns the least possible interval between distinct instances of >> /// `T` in memory. The result is always positive. >> public func spacing<T>(_: T.Type) -> Int >> >> /// Returns the least possible interval between distinct instances of >> /// `T` in memory. The result is always positive. >> public func spacing<T>(of: T) -> Int >> >> /// Returns the minimum memory alignment of `T`. >> public func alignment<T>(_: T.Type) -> Int >> >> /// Returns the minimum memory alignment of `T`. >> public func alignment<T>(of: T) -> Int >> -- E > > _______________________________________________ > swift-evolution mailing list > swift-evolution@swift.org > https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution