Comments (4)
To convert an error into one which is more descriptive you use the associated emit
methods. If you want to capture it into a string, you can use a buffer like what's being done in rune-wasm
here:
https://github.com/rune-rs/rune/blob/main/crates/rune-wasm/src/lib.rs#L269
https://github.com/rune-rs/rune/blob/main/crates/rune-wasm/src/lib.rs#L301
To explain, detailed diagnostics has a memory overhead. To emit it you need to provide the context that was used to compile the program, all loaded sources, and the compiled unit (with debug info).
from rune.
Actually, looking at it again, I'm not sure how I missed the emit
method on the VmError
type. Don't think there is much to improve (apart from my own reading comprehension).
from rune.
first_location
is also useless, another private type, and it appears to print a bunch of byte code with Debug, and doesn't implement Display.
from rune.
Thank you, I propose adding some cross references to the docs for VmError
about this. In fact I'll make a PR later today for it.
Discoverability when trying to solve an issue is a probkem in the rustdoc of many large Rust projects (not only Rune, I have struggled with clap and bpaf before for example). Part of that is due to the sub-par search function of rustdoc (only matching names of types/functions).
from rune.
Related Issues (20)
- Flaky auto-formatting in vscode / Rune LSP crashes
- Broken auto-formatting for consecutive single line comments HOT 2
- Panic in rune-internal tracing logging while formatting anyhow `Result` wrapped in rune `Value` HOT 5
- Silly auto-formatting for chained method calls / builder pattern HOT 1
- Output capture on process in rune-modules is non-functional HOT 2
- Can not use vm_result on function taking `&mut self`
- Runes `std::collections::HashMap` is not accessible from rust extension types
- Missing docs for `#[rune::function(keep)]` HOT 2
- `#[rune::function]` fails when adding a 6th argument HOT 5
- Feature request: More accurate types in generated rune API documentation HOT 4
- New 0.13.x release? HOT 1
- Before releasing 0.14
- Rune LSP cargo broken with multi-binary crates HOT 2
- Formatting likes to add more and more blank lines (not idempotent) HOT 1
- request: Multiple match patterns
- Unwrap on Option is hard to use (moves value) HOT 1
- Formatting jank with comments at the trailing position in lists HOT 1
- Feature request: Raw string literals HOT 2
- Any::downcast_borrow_ref works with anyhow but not eyre HOT 2
- How to get Rune backtraces for native Results at runtime? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rune.