On Monday, 27 August 2012 at 12:51:48 UTC, F i L wrote:
    auto a = Point(int)[].new(5).new(1, 2);

but then, I can see why someone would want the distinction so it's easier to understand what constructor belongs to the Array.

Either way, I don't see any conflicts with the syntax I purposed.

Except being somewhat unfamiliar with it, I can only look it over and go 'huh? what's going on?'.

new being a keyword from C++ for allocate on the heap immediately makes this whole thing confusing. I would wonder myself: Is this on the stack or in the heap for the whole thing? Is Point a struct or a class? Then I wonder assuming that you get 5 for the length, then would all the elements be set the same or just the first one?

Would new still be a key word? If not (and uses a regular function signature as you propose), then what if someone decided to use new for something other than allocation and returned something other than the type you were expecting from the view above? (Say, making a 2d matrix?)

Sorry, there are just coming forward for me as I sit here reading it.

Reply via email to