> On Jun 11, 2016, at 3:35 PM, Adrian Zubarev via swift-evolution > <[email protected]> wrote: > > I just installed the current Swift 3 snapshot to play around with it (last > from may crashed my Xcode all the time). > > I wanted to re-build a small project with (currently implemented) Swift 3 > changes. Basically I had to look up on GitHub what the default value for > deinitialize(count:) function was for UnsafeMutablePointer, just because > Xcode and the docs can’t tell me that: > > /// De-initialize the `count` `Pointee`s starting at `self`, returning > /// their memory to an uninitialized state. > /// > /// - Precondition: The `Pointee`s at `self..<self + count` are > /// initialized. > /// > /// - Postcondition: The memory is uninitialized. > public func deinitialize(count: Int = default) > To cut it short: > > Could we make default function parameter values more transparent in Swift 3? > Why are default parameter values translated to default rather than the actual > value? I guess that in some cases you don't want the default value to be known, or is irrelevant. Most importantly, it can be a more complex expression - e.g. creating an object and calling something on it:
private let mySecretNumber = 0x999 public func deinitialize(count: Int = NSProcessInfo().processorCount + mySecretNumber) And that's a pretty example, it can get much nastier. Since mySecretNumber is private, it definitely cannot be exposed. > Can we make this independent from docs? > > > > -- > Adrian Zubarev > Sent with Airmail > > _______________________________________________ > swift-evolution mailing list > [email protected] <mailto:[email protected]> > https://lists.swift.org/mailman/listinfo/swift-evolution > <https://lists.swift.org/mailman/listinfo/swift-evolution>
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
