gingerBill
c6772dfd06
Merge branch 'master' into bill/fixed-capacity-dynamic-array
2026-03-15 11:41:01 +00:00
Jeroen van Rijn
27667ce36b
iff -> if and only if (⟺)
2026-03-13 11:54:15 +01:00
gingerBill
8e23c58620
Add intrinsics type_fixed_capacity_dynamic_array_len_offset and type_is_fixed_capacity_dynamic_array
2026-03-12 17:39:44 +00:00
gingerBill
c7308d86d4
Fix tests as they are not direct matches to small_array
2026-03-12 17:33:54 +00:00
gingerBill
26eb58b589
Move raw closer to usage
2026-03-12 17:03:07 +00:00
gingerBill
6c61b1d46c
Remove loc being passed
2026-03-12 16:59:58 +00:00
gingerBill
fac8471019
Fix typos
2026-03-12 16:59:11 +00:00
gingerBill
6e9d6bfbe5
Fixed tests
2026-03-12 16:55:46 +00:00
gingerBill
6a03cf5d68
Add "remove" procedures to fixed capacity dynamic arrays
2026-03-12 09:40:31 +00:00
gingerBill
535b70b82e
Add other @builtin procedures for fixed capacity dynamic arrays
2026-03-12 09:37:27 +00:00
gingerBill
f1dbe9c242
[dynamic; N]T proof of concept: fixed capacity dynamic array (akin to small_array.Small_Array(N, T))
2026-03-11 16:46:33 +00:00
Jeroen van Rijn
0087d6d62e
Add preserve/* to base:runtime
...
```odin
none :: proc "preserve/none" () {}
most :: proc "preserve/most" () {}
all :: proc "preserve/all" () {}
print_cc :: proc(type: any) {
ti := type_info_of(type.id)
p := ti.variant.(runtime.Type_Info_Procedure)
fmt.println(p.convention)
}
main :: proc() {
print_cc(none)
print_cc(most)
print_cc(all)
}
```
2026-03-08 15:05:23 +01:00
Gavin Rohrer
93b1e97402
fix documentation of assign_at
2026-03-07 10:07:15 -05:00
gingerBill
217b4967b0
Improve docs for type_info_underlying
2026-03-04 14:07:24 +00:00
gingerBill
029c96ce22
Separate type_info_core and type_info_underlying
2026-03-04 14:03:24 +00:00
Jeroen van Rijn
ed74233ace
Add bit_set to runtime.type_info_core.
2026-03-04 14:55:11 +01:00
gingerBill
2cb8155946
Add missing @(require_results)
2026-03-03 12:27:44 +00:00
gingerBill
a5e1eb56ab
Add explicit_underlying: bool RTTI field for bit_set; add runtime.type_info_underlying
2026-03-03 12:26:42 +00:00
gingerBill
30d87a2fd7
Merge pull request #6324 from Faker-09/dynamic_array_move_assert
...
Small optimization for dynamic arrays
2026-02-24 08:11:34 +00:00
Jeroen van Rijn
ea80eab75a
[core:sys/info] Remove @(init) where practical
2026-02-23 23:09:37 +01:00
Shane Shrybman
3fd9c915ed
Move assert(a.allocator.procedure != nil) out of the common path into the if check
2026-02-23 12:20:57 -05:00
Shane Shrybman
25fde8a03a
For #soa dynamic arrays. Move assert(a.allocator.procedure != nil) out of the common path into the if check
2026-02-23 11:35:16 -05:00
Shane Shrybman
a0c375dd02
A small optimization for dynamic arrays.
...
Move assert(a.allocator.procedure != nil) out of the common path into the if check
2026-02-23 11:21:07 -05:00
gingerBill
e6a62c4bb0
Minor optimization to map_probe_distance
2026-02-03 12:19:20 +00:00
gingerBill
bb7496a2fc
Add intrinsics.count_trailing_ones and intrinsics.count_leading_ones
2026-02-02 14:28:16 +00:00
Jeroen van Rijn
b1122284f1
Fix #6197
2026-01-31 10:19:00 +01:00
gingerBill
07d814d9cf
Add struct #simple to force a struct to use simple comparison if all of the fields "nearly simply comparable".
2026-01-29 10:49:26 +00:00
gingerBill
7135bbdd67
Rename try_copy_* to write_*
2026-01-28 11:54:17 +00:00
gingerBill
0d8b1481ea
Improve try_copy_* logic
2026-01-28 11:53:40 +00:00
gingerBill
117e74cb8b
Fix typo in try_copy_caller_location
2026-01-28 11:43:29 +00:00
gingerBill
b85f29d979
Rename to type_assertion_trap_contextless
2026-01-26 18:31:04 +00:00
gingerBill
96f1069e4a
Fix type_assertion_check2* for -no-rtti
2026-01-26 18:29:39 +00:00
gingerBill
3586bda6ae
Use context.assertion_failure_proc with type assertions when the context is available, otherwise use a trivial trap.
2026-01-26 18:23:29 +00:00
Laytan
792e6c75ee
Merge branch 'master' into nbio
2026-01-13 21:29:41 +01:00
Faker-09
9d72025a0b
Remove duplicate assingment of array.allocator = allocator in _make_dynamic_array_len_cap(...) ( #6095 )
2026-01-13 21:25:17 +01:00
Laytan Laats
d1fa640549
runtime: use alloc_non_zeroed in new_clone; zeroing is not needed
2026-01-11 20:21:25 +01:00
Laytan
40267e3a7a
Merge pull request #6024 from blob1807/master
...
[`base:runtime`] fix `print_i64` using an OOB index when `min(i64)` is given.
2025-12-20 21:18:33 +01:00
Sylphrena
205bead9d2
Add @builtin to missing builtin procedure group procs
2025-12-19 15:57:25 +01:00
Laytan
3567c64d7a
Fix spacing in RUNTIME_LINKAGE declaration
2025-12-17 22:56:08 +01:00
gingerBill
51438ed0c0
Redefine RUNTIME_LINKAGE when -no-entry-point is set in certain circumstances.
2025-12-17 10:46:43 +00:00
blob1807
cbe164c596
print_i64 fix getting an OOB index
...
fixes https://github.com/odin-lang/Odin/issues/6018
2025-12-15 21:00:27 +10:00
DuchGhast
1ed1fefc27
Fix default temp allocator under flow bug
2025-12-08 17:30:52 +00:00
Yawning Angel
ea1f1e275d
base/runtime: Add chacha8rand as the default RNG
2025-11-29 16:16:52 +09:00
Yawning Angel
e1ba69ea51
base/runtime: Add rand_bytes and HAS_RAND_BYTES
...
Having the OS/runtime provide a cryptographic entropy source is the
right thing to do, and we need it to initialize the default random
number generator.
2025-11-29 10:45:53 +09:00
gingerBill
d380b0877d
Add intrinsics.type_is_superset_of
2025-11-17 10:03:05 +00:00
gingerBill
fc2cb8fb39
Remove #no_copy
2025-11-05 13:44:14 +00:00
gingerBill
593d2e6daa
Add #all_or_none
2025-11-05 13:30:40 +00:00
gingerBill
e5153a937b
Merge pull request #5859 from odin-lang/bill/change-license
...
Change Odin's LICENSE to zlib from BSD 3-clause
2025-11-04 13:53:13 +00:00
thetarnav
72754962ab
Use resize_soa instead of resize proc group in soa procs
2025-11-02 14:20:55 +01:00
thetarnav
e364e76f7f
Add inject_at_soa and append_nothing_soa procedures
2025-11-02 12:13:11 +01:00