Commits
Dave Abrahams committed ed911829599
[stdlib] fix RangeReplaceable dispatch insanity Before, * We had a generic implementation of replaceSubrange that would satisfy the protocol's last non-defaulted requirement * A generic removeSubrange was in the protocol requirements needlessly * The default implementation of that generic removeSubrange dispatched to replaceSubrange instead of the non-generic removeSubrange, robbing the model of optimization opportunities. Now, * There's one non-generic replaceSubrange that models must implement. * The default implementation of removeSubrange uses replaceSubrange to do its work. * Models can implement the non-generic removeSubrange if they can implement it faster than the default implementation. * The generic removeSubrange uses the non-generic removeSubrange to do its work.