diff --git a/lib/crypto/sha256/sha256.ww b/lib/crypto/sha256/sha256.ww index 6040f83f..e025da29 100644 --- a/lib/crypto/sha256/sha256.ww +++ b/lib/crypto/sha256/sha256.ww @@ -18,6 +18,10 @@ // [[sha256]] rather than pointing at a module-level const vtable // (the base64/memio/io convention; ww has no const-vtable-of-fn-ptrs // idiom). +// - array dimensions are integer literals (`[64]u8`, `[8]u32`, +// `[64]u32`) where Hare uses the `BLOCKSZ` def / `[_]u32`: ww rejects +// a def in array-dimension position ("array length must be an integer +// literal"). Retained language divergence — filed as #269. // - slice-to-slice copy assignment (`h.x[a..b] = b[..n]`) is spelled // as a byte loop — ww has no slice-copy assignment (cf lib/memio's // flat-field note). Same observable effect. @@ -78,7 +82,7 @@ def k: [64]u32 = [ export type state = struct { hash.hash, h: [8]u32, - x: [64]u8, // BLOCKSZ; array dims require an integer literal + x: [64]u8, // BLOCKSZ; def array dims rejected (#269) nx: size, ln: size, };