rune
rune copied to clipboard
An embeddable dynamic programming language for Rust.
This adds a new macro that allows for more concise exporting of a lot of functions. Currently in a sort of PoC state, a lot can and will be improved....
**Attempt** ```rust #[derive(Any)] struct MyStruct { #[rune(get)] dvec: VecDeque, } ``` **Expected behaviour** The code compiles without issue. **Actual behaviour** The compiler throws this error: ``` error[E0277]: the trait bound...
A common pattern in Rust is something like this: ```rust pub struct Color(u8, u8, u8, u8); impl Color { pub const RED: Self = Self(255, 0, 0, 255); } ```...
As rune forces me to use signed integer types, the compiler will emit an error when trying to use a bitmask on an integer: Code: ``` value & 0xff00_0000_0000_0000) >>...
Type annotations would be ideal, but I don't see it implemented yet in Rune. If there are comments, I could always do `/*: Type*/`, but uh, yuck.
Iterators currently suffer from complete type erasure. That is, every iterator is the same iterator type. There's also a lot of [awkward plumbing](https://github.com/rune-rs/rune/blob/49aae1362fd3ec45f9402a7ed1189ea402a27bfe/crates/rune/src/runtime/iterator.rs#L384) it would be nice to get rid...
This adds a compiler which exists in parallel to the existing one. It's called the `v2` compiler and is currently incomplete. It performs indexing on lowering based on the lossless...
When Rune's `Vm::async_call` returns a VmError you can get a nice backtrace using `VmError::emit`. However if you return custom `Result` from your native methods it doesn't seem there is a...