mirror of
https://github.com/odin-lang/Odin.git
synced 2026-06-10 20:38:09 +00:00
General improves
This commit is contained in:
@@ -2278,7 +2278,7 @@ gb_internal void add_type_info_type_internal(CheckerContext *c, Type *t) {
|
||||
|
||||
case Type_FixedCapacityDynamicArray:
|
||||
add_type_info_type_internal(c, bt->FixedCapacityDynamicArray.elem);
|
||||
add_type_info_type_internal(c, t_allocator);
|
||||
add_type_info_type_internal(c, t_int);
|
||||
break;
|
||||
|
||||
case Type_Enum:
|
||||
@@ -2521,6 +2521,8 @@ gb_internal void add_min_dep_type_info(Checker *c, Type *t) {
|
||||
|
||||
case Type_FixedCapacityDynamicArray:
|
||||
add_min_dep_type_info(c, bt->FixedCapacityDynamicArray.elem);
|
||||
add_min_dep_type_info(c, alloc_type_pointer(bt->FixedCapacityDynamicArray.elem));
|
||||
add_min_dep_type_info(c, alloc_type_array(bt->FixedCapacityDynamicArray.elem, bt->FixedCapacityDynamicArray.capacity));
|
||||
add_min_dep_type_info(c, t_int);
|
||||
|
||||
case Type_Enum:
|
||||
|
||||
@@ -2559,7 +2559,7 @@ gb_internal bool type_has_nil(Type *t) {
|
||||
return true;
|
||||
|
||||
case Type_FixedCapacityDynamicArray:
|
||||
// TODO(bill): should it have `nil`?
|
||||
// it's like a normal array, so no, similar to `#soa[N]T
|
||||
return false;
|
||||
|
||||
case Type_Union:
|
||||
|
||||
@@ -1,7 +1,22 @@
|
||||
package test_core_container
|
||||
package test_internal
|
||||
|
||||
import "core:testing"
|
||||
|
||||
@(private="file")
|
||||
slice_equal :: proc(a, b: []int) -> bool {
|
||||
if len(a) != len(b) {
|
||||
return false
|
||||
}
|
||||
|
||||
for a, i in a {
|
||||
if b[i] != a {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
|
||||
@(test)
|
||||
test_fixed_capacity_dynamic_array_removes :: proc(t: ^testing.T) {
|
||||
array: [dynamic; 10]int
|
||||
Reference in New Issue
Block a user