snafu
miette
snafu | miette | |
---|---|---|
2 | 6 | |
1,298 | 1,800 | |
- | - | |
8.0 | 8.4 | |
4 days ago | 9 days ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
snafu
-
Modular Errors in Rust
I encourage people to check out my SNAFU crate [1]. I encourage creating many distinct error types (usually enums but also structs) and composing them. So much so that I advocate that you never create one specific error in more than one source location. That means that the collection of error types produces a unique trace through your program, uniquely identifying the source of the error with no runtime cost (compare this to a runtime-collected stacktrace / backtrace).
[1]: https://docs.rs/snafu/
-
Announcing Rust 1.58.0
Yes, all procedural macros are inherently unhygienic. This has even bitten us once before.
miette
-
BiomeJS 2024 Roadmap
But miette already produces quite good error messages! On par with Rust's IMO: https://github.com/zkat/miette
- Fancy extension for std:error:Error with pretty, detailed diagnostic printing
-
What languages have the best error message rendering styles in the terminal?
To complement, Nushell's error rendering is done with miette (whose name is a reference to this cute meme AFAIK). There is also another notable Rust error rendering lib: ariadne. So you can get the same beautiful error rendering in your own projects :D
-
Introducing Wax: portable and opinionated globs.
Optional integration with miette for errors that provide compiler-like and human-readable diagnostics.
- Zkat/miette: Fancy upgrade to std:Error
- miette: a fancy new diagnostics definition and reporting crate for apps and libraries!
What are some alternatives?
rust - Empowering everyone to build reliable and efficient software.
codespan - Beautiful diagnostic reporting for text-based programming languages.
enum-code - derive(Code) simplifies error handling by providing an easy-to-use enumeration of error codes
Bugsnag - BugSnag crash monitoring and reporting tool for Android apps
deno - A modern runtime for JavaScript and TypeScript.
raygun4android - Android crash reporting provider for Raygun
unsafe-code-guidelines - Forum for discussion about what unsafe code can and can't do
emperror - The Emperor takes care of all errors personally
gust - Built in Rust and leveraging Docker, JSON, and SQLite (with future integration of a GraphQL API), 'gust' simplifies the process of preserving your recipes and creating comprehensive grocery shopping lists.
Bugsnag - BugSnag error monitoring & reporting software for rails, sinatra, rack and ruby
tremor-runtime - Main Tremor Project Rust Codebase
wax - Opinionated and portable globs that can be matched against paths and directory trees.