> Zig takes the same attitude as C and C++ of using const to indicate an immutable rather than a constant
I think it's a bit more complicated than that: AFAIK Zig consts without explicit type may be comptime_int or comptime_float, and those don't exist at runtime. Only consts with an explicit type annotation are 'runtime consts'.
Also see:
https://www.godbolt.org/z/esTr463bT
...still, I think Rust should allow to infer the type at least inside struct initialization, it would make designated init code like this a lot less noisy (Zig would suffer from the same problem if it hadn't the .{} syntax):
https://github.com/floooh/sokol-rust/blob/main/examples/texc...
...C99 is still the 'benchmark' when it comes to struct initialization:
https://github.com/floooh/sokol-samples/blob/29d5e9f4a56ae18...
Surely Rust can infer the type in your example? It just doesn't provide Zig's syntax to use the inferred type to manually initialize. If you wrote some_fn() here where some_fn's return type was genericised, Rust would ask for the appropriately typed some_fn not say it doesn't know the type.