> 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

Reply via email to