https://github.com/google/wuffs

https://github.com/google/wuffs/blob/main/doc/background.md

Zig처럼 C로 트랜스파일됨.


예를들어
if (offset + length < end) 같은 정수 오버플로우 검사나

a[i]에서 if ((0 <= i) && (i < a.length)) { use a[i] } else { throw }처럼 만족하는지 경계검사를

런타임이 아니라 컴파일타임에 할 수 있나봄.



-----------


궁금한게 러스트는 컴파일러에 플러그인 가능하다고 들었는데

컴파일 타임에 제약 못함?

아니면 제약된 방식만 가능한 매크로를 제공한다던지?

분야가 정해진 언어에 구글이 만들어서 디코딩 관련해서는 알음알음  써먹을만 할듯한디, 러스트에 제약을 빡세게 거는게 낫지 않나 싶어서.