program() type ConstAlias = const ^Word8 BasePtr = ^Word8 NestedConst = const BasePtr var slice: []const Word8 aliased: ConstAlias := cast(0u: ConstAlias) nested: NestedConst := cast(0u: NestedConst) direct_const: const ^Word8 := cast(0u: const ^Word8) proc write#[T](fd: Int; buf: ^T; count: Int) -> Int return 0 proc write_const#[T](fd: Int; buf: ^const T; count: Int) -> Int return 0 begin write(1, slice.ptr, cast(slice.length: Int)); write(1, aliased, 0); write(1, nested, 0); write(1, direct_const, 0); write_const(1, slice.ptr, cast(slice.length: Int)); write_const(1, aliased, 0); write_const(1, nested, 0); write_const(1, direct_const, 0) end.