[swift-evolution] [Review] SE-0006 Apply API Guidelines to the Standard Library
Guillaume Lessard
glessard at tffenterprises.com
Sat Jan 23 01:31:31 CST 2016
Hello,
I disagree with the following change to UnsafeMutablePointer:
- public static func alloc(num: Int) -> UnsafeMutablePointer<Pointee>
+ public init(allocatingCapacity count: Int)
This would make it the only constructor in any of OpaquePointer, UnsafePointer, UnsafeMutablePointer and UnsafeReference to have the side-effect of allocating memory. All the others are relatively cheap transformations on pointer values, and get used a lot for typecasting. An allocating constructor would be less locatable among such uses of typecasting-via-constructor. The memory-allocating static method has the merit of sticking out, and pairs nicely with the necessary deallocation call, like the malloc/free pair.
Cheers,
Guillaume Lessard
More information about the swift-evolution
mailing list