# wherror
Fork of `dtolnay/thiserror`. Same `derive(Error)` plus four additional features:
- `#[error(debug)]` — Debug formatting fallback
- `.location()` capture — error location tracking
- `#[from(no_source)]` — omit source field in from-impls
- Auto `Box<T>` unwrap in `#[from]`
## Layout
- `src/` — runtime crate (`lib.rs` is the main entry point)
- `impl/src/` — macro crate (derive implementation)
## Commands
- `just test` — run tests
- `just test-nightly` — run the nightly-only tests (backtrace / error_generic_member_access)
- `just fix` — lint and format
- `just bless` — regenerate compiler diagnostic goldens
- `just readme` — regenerate README from docs
- `just semver-checks` — verify the version bump matches the actual API change
- `just msrv-check` — verify the library still compiles at the declared MSRV
- `just preflight` — test + fix + readme + semver-checks + msrv-check (before publishing)
## Merging upstream
After bumping the version, run `just semver-checks` and `just msrv-check`
before blessing goldens. A breaking result from either means stop and ask
Tom — don't fix it inside the merge step.
## Generated files
Do not edit by hand (including in merge conflicts):
- `README.md` — regenerated from `src/lib.rs` docs
- `tests/ui/*.stderr` — compiler diagnostic goldens, regenerate on rust version changes