You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Multiple vec fixes that are useful to implement canvas_ity. I found quite a bit of oddity in vector still.
- Remove bizzarre idata() method, normally inout should not contaminate identifiers. Fixed that in strings, I supposed the goal was to not return mutable C string from numem string
- vec.ptr() as alias to vec.data(), which is not inout. It fixed ref auto opOpAssign(string op = "~")(vector!T other) that uses other.ptr
- vec.length as alias of vec.size
- clear() and remove() will clean-up items in reverse manner just like the destructor, and only if not a basic type.
- ref inout(T) opIndex. else you can't index vector fields in const methods
- BREAKING remove is fixed (it was not possible to remove zero items with its API without crashing) and is now "delete [start, end)" instead of "delete [start, end]"
Changed error recovery that swaps start and end to assertion.
That makes the functions more similar in contract to c++ std::vector::erase and a bit more expected to me.
IF the contract doesn't change, at least it should say plainly that this will crash if no items are removed.
0 commit comments