|
@@ -363,7 +363,7 @@ pop :: proc "contextless" (array: ^$T/[dynamic]$E) -> E {
|
|
|
|
|
|
@(builtin)
|
|
@(builtin)
|
|
unordered_remove :: proc(array: ^$D/[dynamic]$T, index: int, loc := #caller_location) {
|
|
unordered_remove :: proc(array: ^$D/[dynamic]$T, index: int, loc := #caller_location) {
|
|
- runtime.bounds_check_error_loc(loc, index, len(array));
|
|
|
|
|
|
+ bounds_check_error_loc(loc, index, len(array));
|
|
n := len(array)-1;
|
|
n := len(array)-1;
|
|
if index != n {
|
|
if index != n {
|
|
array[index] = array[n];
|
|
array[index] = array[n];
|
|
@@ -373,7 +373,7 @@ unordered_remove :: proc(array: ^$D/[dynamic]$T, index: int, loc := #caller_loca
|
|
|
|
|
|
@(builtin)
|
|
@(builtin)
|
|
ordered_remove :: proc(array: ^$D/[dynamic]$T, index: int, loc := #caller_location) {
|
|
ordered_remove :: proc(array: ^$D/[dynamic]$T, index: int, loc := #caller_location) {
|
|
- runtime.bounds_check_error_loc(loc, index, len(array));
|
|
|
|
|
|
+ bounds_check_error_loc(loc, index, len(array));
|
|
copy(array[index:], array[index+1:]);
|
|
copy(array[index:], array[index+1:]);
|
|
pop(array);
|
|
pop(array);
|
|
}
|
|
}
|