2 unstable releases

0.2.0 Mar 5, 2023
0.0.1 Feb 24, 2023

#156 in Programming languages

37 downloads per month
Used in 2 crates


787 lines


This crate implements error reporting for Hebi. In simple terms, it turns code + span + message into a nicely formatted error message:

error: mismatched type
> test.foo:1
| let x: Foo = Bar {
|   a: 0,
|   ...
|   g: 0,
| };
+ expected `Foo`, found `Bar`

It's actually completely agnostic to the target language, it operates on simple strings and spans.

There are many crates that implement something similar, for example:

And while they are all good at what they do, they all ended up having features I wouldn't use, and I wanted to keep the dependency graph as minimal as possible.


~26K SLoC