Releases: FishingHacks/mira
Releases · FishingHacks/mira
Mira v0.3.0
Full Changelog: v0.2.1...v0.3.0
- Added defer:
// output: // 1 // 2 fn main() { defer "2".println(); "1".println(); }
- A lot of refactoring
- Miradoc (Passes lightroom with an accessibility score of 100/100)
- Use LibC
- Dropped all targets but x86_64-linux-gnu
- Monomorphisation (You can now use generics in functions and types)
- Added support for hex and unicode literals in strings (
"\x45\u{ffa}") - Added symbol demangling for mira functions to panic
- Added
std::alloc - A ton of work on
std::langitems::*, mainly u* and str - Added
std::sliceandstd::ptr - Added
std::Vec
Mira v0.2.1
Full Changelog: v0.1.0...v0.2.1
- A lot of refactoring
- Sped up compile times
- Added macros:
macro! join_idents { ($first:ident $(,)?) => { $first }; ($first:ident $(, $next:ident)+ $(,)?) => { concat_idents!($first $(, _, $next)+) }; } fn join_idents!(hello, world) () -> &str = "Hello, World!"; fn main() { hello_world().print(); }
- much improved diagnostics:
Unicode Formatter: error: Expected void, but found &str ╭──[/home/fishi/rust/miralang/release/stdin_buffer:6:35] │ 6 │ fn join_idents!(hello, world) () = "Hello, World!"; · ^^^^^^^^^^^^^^^ types don't match ╰── note: i am a helpful note ASCII Formatter: error: Cannot find function print on type `&void` --> /home/fishi/rust/miralang/release/stdin_buffer:7:27 | 7 | pub fn main() { hello_world().print(); } . ^^^^^^^^ No function named print is associated with `&void` | = note: i am a helpful note - support for llvm 19.1 and 20.1
- stopped mirac from causing a stackoverflow when dereferencing a sized array (
*(0usize as &void as &[u8; 1]))
mira v0.2
Full Changelog: v0.1.0...v0.2
- A lot of refactoring
- Sped up compile times
- Added macros:
macro! join_idents { ($first:ident $(,)?) => { $first }; ($first:ident $(, $next:ident)+ $(,)?) => { concat_idents!($first $(, _, $next)+) }; } fn join_idents!(hello, world) () -> &str = "Hello, World!"; fn main() { hello_world().print(); }
- much improved diagnostics:
Unicode Formatter: error: Expected void, but found &str ╭──[/home/fishi/rust/miralang/release/stdin_buffer:6:35] │ 6 │ fn join_idents!(hello, world) () = "Hello, World!"; · ^^^^^^^^^^^^^^^ types don't match ╰── note: i am a helpful note ASCII Formatter: error: Cannot find function print on type `&void` --> /home/fishi/rust/miralang/release/stdin_buffer:7:27 | 7 | pub fn main() { hello_world().print(); } . ^^^^^^^^ No function named print is associated with `&void` | = note: i am a helpful note - support for llvm 19.1 and 20.1
Mira pre-release 0.0.1
Unpacked Size: 133.7 MiB (mirac 133.7 MiB, lib/: 13.3KiB)