This functionality is definitely needed for Swift, and it's good to see this being addressed.
That being said, I don't really like the use of 'take' for this kind of modifier. It feels weird to me that take x
would end a variable's lifetime, while passing x
to a take
parameter wouldn't. Additionally, as Dave Abrahams pointed out on the last thread, function parameters are already described as 'taking': a function of type (Int) -> Void
is described as taking an Int
.