Zig I/O 인터페이스 전면 개편: GenericWriter 제거와 vtable 기반 새 구조

Writergate: Zig I/O Interface Overhaul

Zig I/O 인터페이스 전면 개편: GenericWriter 제거와 vtable 기반 새 구조

Zig의 I/O 인터페이스가 2025년 8월에 완전히 개편되어 GenericWriter, GenericReader, AnyWriter, AnyReader가 제거되었습니다. 새 API는 구체적인 타입과 vtable을 사용하며, 호출자가 버퍼를 제공하고 명시적으로 flush해야 합니다. 이 변경은 API의 '오염' 문제를 해결하고, 비동기 I/O와 성능 향상을 가능하게 합니다. 0.16 버전에서는 Io 인스턴스가 Allocator처럼 코드 전반에 전달되어 async, await, cancel 프리미티브를 지원합니다. 마이그레이션 시 flush 누락, 형식 지정자 변경, 표준 스트림 접근 방식 변경 등의 주의점이 있습니다.

기존의 generic 디자인은 API를 오염시켰습니다: writer를 받는 모든 함수가 generic이 되어, 포함하는 모든 구조체가 generic이 되도록 강제했습니다.

같은 날의 다른 소식

2026-08-15