Optional parameters?

Boris-Barboris ismailsiege at gmail.com
Sun Apr 1 22:58:31 UTC 2018


On Sunday, 1 April 2018 at 22:44:45 UTC, Jonathan M Davis wrote:
> Which doesn't work in @safe code and doesn't work when you have 
> an rvalue as you would when passing 42. Ultimately, using 
> pointers ultimately either requires explicitly allocating stuff 
> on the heap to be able to pass rvalues, or it has the same 
> restrictions that ref does in terms of passing rvalues. You can 
> certainly take that approach if you'd like, but overall, I 
> think that it's safe to say that using Nullable generally 
> causes fewer problems.

1). There's nothing wrong with @trusted.
2). Rvalue it trivially converted to lvalue on the stack using 
local variable.
3). You haven't shown syntax for passing null. Pointer is 
foo(null). Yours will probably be foo(nullable!int());
4). I certanly wouldn't like typing nullable(...) for each 
optional parameter, I see it as a much bigger problem.


More information about the Digitalmars-d-learn mailing list