v0.5.3
What's Changed
- The project is now split into sub-projects in a workspace. (#68)
miette
is used instead ofcodespan-reporting
for error reporting. (#69)- Changes to characters and strings (all #69):
- Characters and strings don't have to be valid Unicode.
- Strings evaluate to
u8[N] const&
. - Character literals evaluate to
u32
. - Strings are no longer null-terminated by default. A null-terminator can be added with
c
orC
suffixes. - Unicode escapes are Rust-style instead of C-style (
\u{HHHH...}
instead of\uHHHH
and\UHHHHHHHH
). \cHH
is equivalent to\u{HH}
(previously\xHH
).\xHH
(string literals only) inserts the byte0xHH
.
- All zero-sized types can be returned from functions, not just
null
(64b0405). clap
is used for the CLI (d3a226c).- Emit types are now specified with
-e|--emit <type>
where<type>
is one of:exe
lib
obj
asm
llvm
bc
header
header-obj
- The
jit
subcommand can now haveargv[0]
set with-t|--this <name>
. - Headers are specified with
-H
instead of-h
.-h
is used for help.
- Emit types are now specified with
Not much changed in the language, but a lot has been rewritten since 0.5.2. I also finally updated my computer, so you need glibc 2.35 to run the prebuilds now.
Full Changelog: 0.5.2...0.5.3