rpkak
95f93a0b28
std.zig.Ast: count addrspace tokens correctly
...
ci / aarch64-linux-debug (push) Waiting to run
ci / aarch64-linux-release (push) Waiting to run
ci / aarch64-macos-debug (push) Waiting to run
ci / aarch64-macos-release (push) Waiting to run
ci / loongarch64-linux-debug (push) Waiting to run
ci / loongarch64-linux-release (push) Waiting to run
ci / riscv64-linux-debug (push) Waiting to run
ci / riscv64-linux-release (push) Waiting to run
ci / s390x-linux-debug (push) Waiting to run
ci / s390x-linux-release (push) Waiting to run
ci / x86_64-freebsd-debug (push) Waiting to run
ci / x86_64-freebsd-release (push) Waiting to run
ci / x86_64-linux-debug (push) Waiting to run
ci / x86_64-linux-debug-llvm (push) Waiting to run
ci / x86_64-linux-release (push) Waiting to run
ci / x86_64-windows-debug (push) Waiting to run
ci / x86_64-windows-release (push) Waiting to run
Before this PR this
```zig
const namespace = struct {
extern const num: u8 addrspace(.generic);
};
// comment
```
got formatted to this
```zig
const namespace = struct {
extern const num: u8 addrspace(.generic);
(
```
Co-authored-by: rpkak <rpkak@noreply.codeberg.org>
Co-committed-by: rpkak <rpkak@noreply.codeberg.org>
2025-12-01 12:56:11 +01:00
jedisct1
1d1e2b7780
Merge pull request 'std.crypto.aes: expose the inverse MixColumns operation' ( #30052 ) from jedisct1/zig:invmixcolumns into master
...
ci / aarch64-linux-debug (push) Waiting to run
ci / aarch64-linux-release (push) Waiting to run
ci / aarch64-macos-debug (push) Waiting to run
ci / aarch64-macos-release (push) Waiting to run
ci / loongarch64-linux-debug (push) Waiting to run
ci / loongarch64-linux-release (push) Waiting to run
ci / riscv64-linux-debug (push) Waiting to run
ci / riscv64-linux-release (push) Waiting to run
ci / s390x-linux-debug (push) Waiting to run
ci / s390x-linux-release (push) Waiting to run
ci / x86_64-freebsd-debug (push) Waiting to run
ci / x86_64-freebsd-release (push) Waiting to run
ci / x86_64-linux-debug (push) Waiting to run
ci / x86_64-linux-debug-llvm (push) Waiting to run
ci / x86_64-linux-release (push) Waiting to run
ci / x86_64-windows-debug (push) Waiting to run
ci / x86_64-windows-release (push) Waiting to run
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/30052
2025-12-01 11:16:26 +01:00
fn ⌃ ⌥
bfe3317059
Return a usize from @abs if given an isize
...
Also:
- `c_ushort` for `c_short`
- `c_uint` for `c_int`
- `c_ulong` for `c_long`
- `c_ulonglong` for `c_longlong`
2025-11-29 21:09:08 +01:00
mlugg
44e99edd7a
Merge pull request 'Sema: initialize OPV comptime allocs correctly' ( #30043 ) from reify-empty-struct into master
...
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/30043
2025-11-29 20:21:30 +01:00
Nikolay Govorov
a0289d0cce
std.posix.accept: handle non-listening socket EINVAL
2025-11-29 19:57:59 +01:00
Frank Denis
5e00a0c9b5
std.crypto.aes: expose the inverse MixColumns operation
...
The inverse MixColumns operation is already used internally for
AES decryption, but it wasn’t exposed in the public API because
it didn’t seem necessary at the time.
Since then, several new AES-based block ciphers and permutations
(such as Vistrutah and Areion) have been developed, and they require
this operation to be implementable in Zig.
Since then, new interesting AES-based block ciphers and permutations
(Vistrutah, Areion, etc). have been invented, and require that
operation to be implementable in Zig.
2025-11-29 19:25:22 +01:00
Alex Rønne Petersen
7d9ad992ab
issue templates: update issue labels to match the actual org labels
2025-11-29 19:02:04 +01:00
Matthew Lugg
8f5db19791
Sema: initialize OPV comptime allocs correctly
...
This was caused a `[0]std.builtin.Type.StructField.Attributes` to be
considered `undefined`, even though that type is OPV so should prefer
its OPV `.{}` over `undefined`.
Resolves : #30039
2025-11-29 11:55:36 +00:00
Matthew Lugg
e52232cd57
print_zir: fix typo
2025-11-29 11:55:26 +00:00
Alex Rønne Petersen
a38220376e
Revert "ci: apply workaround for #22213 to x86_64-linux scripts"
...
This reverts commit a8f9b5dc06 .
2025-11-28 22:57:33 +01:00
Alex Rønne Petersen
a8f9b5dc06
ci: apply workaround for #22213 to x86_64-linux scripts
2025-11-28 22:06:46 +01:00
Alex Rønne Petersen
713716770e
README: github -> codeberg for some links
2025-11-28 18:29:05 +01:00
Andrew Kelley
e19c61a16e
issue templates: use anchors in URLs
2025-11-28 07:38:24 -08:00
jedisct1
e6d19a07d2
Merge pull request 'std.crypto: add hybrid post-quantum/traditional key encapsulation' ( #30010 ) from jedisct1/zig:hybridkem into master
...
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/30010
2025-11-28 09:10:20 +01:00
Alex Rønne Petersen
fbafbd4262
ci: pin actions/checkout to current ziglang/checkout@HEAD
2025-11-27 21:07:58 +01:00
Purple
7af412b6b4
Update std.zig.system.NativePaths.detect to support some more flags on NixOS like environment.
...
Basically detect `-idirafter` flag in `NIX_CFLAGS_COMPILE` and treat it like `-isystem`, also detect `NIX_CFLAGS_LINK` environment variable and treat it like the `NIX_LDFLAGS` .
Reference:
74eefb4210/pkgs/build-support/build-fhsenv-chroot/env.nix (L83)
2025-11-27 20:49:55 +01:00
Andrew Kelley
e427ba9cd5
std.sort.partitionPoint: faster implementation ( #30005 )
...
Migrated from https://github.com/ziglang/zig/pull/21419
Co-authored-by: Jonathan Hallstrom <lmj.hallstrom@gmail.com>
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/30005
2025-11-27 20:48:54 +01:00
Frank Denis
ca96d853ff
std.crypto: add hybrid post-quantum/traditional key encapsulation
...
Hybrid KEMs combine a post-quantum secure KEM with a traditional
elliptic curve Diffie-Hellman key exchange.
The hybrid construction provides security against both classical and quantum
adversaries: even if one component is broken, the combined scheme remains
secure as long as the other component holds.
The implementation follows the IETF CFRG draft specification for concrete
hybrid KEMs:
https://datatracker.ietf.org/doc/draft-irtf-cfrg-concrete-hybrid-kems/
2025-11-27 12:10:17 +01:00
Frank Denis
854774d468
http.requestHasBody: a PUT response can have a body
...
HEAD/TRACE are bodyless, but PUT responses are body-capable
per RFC 7231.
2025-11-26 20:08:14 -08:00
Jacob Young
a1827d5977
x86_64: fix abi of a struct that partially fits in registers
...
Closes #26035
2025-11-27 05:05:59 +01:00
Alex Rønne Petersen
51bb2b3d2d
remove zig-cache from .gitignore
...
It's been a while since this was renamed to .zig-cache.
2025-11-26 23:36:11 +01:00
Alex Rønne Petersen
9b752cb989
adjust issue templates for Codeberg
2025-11-26 23:36:11 +01:00
Alex Rønne Petersen
4d58fafaf2
ci: remove GitHub Actions
2025-11-26 23:36:11 +01:00
Alex Rønne Petersen
43b4368b94
ci: bump riscv64-linux-debug timeout by 1 hour
...
A very recent change seems to have made this slower.
2025-11-26 19:29:36 +01:00
Alex Rønne Petersen
c969ef7cbe
ci: make the workflow file a bit more readable
2025-11-26 19:29:06 +01:00
Andrew Kelley
fc8a51ece3
README: enhance plain text readability
...
this file is first and foremost plain text, and rendered markdown
second.
2025-11-26 09:55:00 -08:00
Alex Rønne Petersen
2e328beaa5
Merge pull request #26005 from jedisct1/kt128r
...
Add std.crypto.hash.sha3.{KT128,KT256} - RFC 9861. (#25593 )
2025-11-26 17:24:13 +01:00
Jay Petacat
b6e1a100b8
std.Progress: Terminate progress escape codes with ST not BEL
...
`ST` is the "string terminator" and what is actually prescribed in the
standard for escape codes. Use of `BEL` as a terminator is apparently a
historical oddity that persists for compatibility. Unfortunately, not
all terminals support using `BEL`, including Ubuntu's new default
terminal, Ptyxis. Using `ST` should make it work in more terminals.
Further reading:
- https://en.wikipedia.org/wiki/ANSI_escape_code#Operating_System_Command_sequences
- https://ecma-international.org/wp-content/uploads/ECMA-48_5th_edition_june_1991.pdf
2025-11-26 14:16:08 +01:00
Giuseppe Cesarano
0b5b35c696
std.elf implemented DynamicSectionBufferIterator
2025-11-26 11:30:03 +01:00
Frank Denis
5f73c01368
crypto.blake3: sequentially process larger small tree layers ( #26046 )
...
Improves performance by spawning less threads.
2025-11-26 10:16:20 +01:00
Frank Denis
846082fdf2
std.crypto.kt128: add support for threads
...
Allow KT128 and KT256 to use multiple threads to quickly process
very large inputs.
2025-11-26 10:08:09 +01:00
Frank Denis
9ede8ee135
Add std.crypto.hash.sha3.{KT128,KT256} - RFC 9861. ( #25593 )
...
KangarooTwelve is a family of two fast and secure extendable-output
functions (XOFs): KT128 and KT256. These functions generalize
traditional hash functions by allowing arbitrary output lengths.
KangarooTwelve was designed by SHA-3 authors. It aims to deliver
higher performance than the SHA-3 and SHAKE functions defined in
FIPS 202, while preserving their flexibility and core security
principles.
On high-end platforms, it can take advantage of parallelism,
whether through multiple CPU cores or SIMD instructions.
As modern SHA-3 constructions, KT128 and KT256 can serve as
general-purpose hash functions and can be used, for example, in
key-derivation, and with arbitrarily large inputs.
RFC9861: https://datatracker.ietf.org/doc/rfc9861/
2025-11-26 10:08:09 +01:00
IOKG04
e23af9d31d
Build.Step.Options: add comptime_float support
...
It seems to me this was simply forgotten.
Or there is some reason I don't know why this code doesn't work for `comptime_float`.
For a more comprehensive fix, https://github.com/ziglang/zig/pull/24057 is the place to look.
2025-11-26 09:57:49 +01:00
Mateusz Poliwczak
f3270ceca4
std.zig.AstGen: rename token_bytes parameter to ident_name_raw
...
This method is called on an identifier token, so let's rename the parameter to make this clear.
This is also how it's named on most of the caller's sides.
2025-11-26 09:49:50 +01:00
Eamon Burns
5cb72fce91
docs: fix up some README links
...
- https://github.com/ziglang/zig-bootstrap -> https://codeberg.org/ziglang/zig-bootstrap
- https://github.com/ziglang/qemu-static -> https://codeberg.org/ziglang/qemu-static
- Add <...> around bare URLs
- Link to tips inside README.md, rather than in CONTRIBUTING.md
2025-11-26 09:36:58 +01:00
Jacob Young
6ef3af4c1c
ci: remove hardcoded paths in aarch64-macos scripts
2025-11-25 22:24:19 +01:00
Alex Rønne Petersen
f50b0d7136
ci: add aarch64-macos to Forgejo Actions
2025-11-25 22:21:25 +01:00
Andrew Kelley
0f1a6ae943
fetch: update from std.Thread.Pool to std.Io
2025-11-25 09:40:27 -08:00
Mateusz Poliwczak
d0ba6642b5
std.Zig.AstGen: handle properly .inferred_ptr and .destructure in enum_literal handling
...
rl.resultType() returns null for inferred_ptr and destructure, so move
that to the unreachable block.
2025-11-25 05:58:30 -08:00
Nir Lahad
14ba3bd9a1
std.testing: Fix expectEqualDeep formatted enum ( #25960 )
2025-11-25 05:39:07 -08:00
Zihad
e4be00f949
std.Io.Threaded: fix QueryPerformanceCounter usage
...
Co-authored-by: Andrew Kelley <andrew@ziglang.org>
2025-11-25 03:46:24 -08:00
Andrew Kelley
5816646aa0
Merge pull request #26037 from ziglang/build-runner-std.Io
...
build runner: update from std.Thread.Pool to std.Io
2025-11-25 02:49:37 -08:00
Ryan Liptak
53e615b920
Merge pull request #25993 from squeek502/windows-paths
...
Teach `std.fs.path` about the wonderful world of Windows paths
2025-11-24 15:27:24 -08:00
Andrew Kelley
84353183c7
build runner: fix recursive locking of max_rss_mutex
2025-11-24 14:34:18 -08:00
Andrew Kelley
ece62a0223
frontend: introduce error.Canceled
2025-11-24 14:34:18 -08:00
Andrew Kelley
3f34f5e433
build runner: update Mutex and Condition usage to std.Io
2025-11-24 14:34:18 -08:00
Andrew Kelley
a242292644
build runner: update from std.Thread.Pool to std.Io
2025-11-24 14:34:18 -08:00
Andrew Kelley
32dc46aae5
std.Io: add Group.concurrent
...
A function that participates in a group but guarantees allocation of one
unit of concurrency, or returns an error.
2025-11-24 14:33:16 -08:00
Giuseppe Cesarano
476d7d939c
std.Io.File.readPositional fixed buffer type
2025-11-24 21:32:18 +01:00
Frank Denis
3c647ca6bb
crypto.ml_kem: avoid redundant assignment & fix K-PKE.KeyGen ( #26031 )
...
FIPS-203 algorithm 13 for deterministic key generation uses
(𝜌, 𝜎) ← G(𝑑 ‖ 𝑘) , not (𝜌, 𝜎) ← G(k ‖ d)
2025-11-24 18:45:48 +00:00