eskiuv0.12.0
Language · Stability

Stability

Eskiu is stable since 0.12: code that compiles with 0.12.0 keeps compiling in every 0.12.x release. Before 1.0 a minor release (0.13, 0.14) can still change the language or the standard library, but every change that can break a program follows the rules below, so code moves forward with warnings instead of failing to compile.

Standard library names

The language

deprecated

A function marked deprecated still works:

int Rect_area(const Rect* self) { return self.w * self.h; }
deprecated("use Rect_area") int rect_area(const Rect* r) { return Rect_area(r); }

A call to rect_area prints warning: 'rect_area' is deprecated: use Rect_area, at the call. Uses inside an imported module are not reported, so a library can keep a wrapper that calls another deprecated name without warning its users.

What is stable

The C ABI of extern functions, the object files and the command-line flags of eskiuc documented in eskiuc --help follow the same rules as the standard library.