13f6a6812a
result.Wrap - propagate a failed Expect into a new type U
...
- public API streamline
- Failf[T]("msg") - originate a failure from a message; embed a cause with %w
- Err[T](err) - sets .err verbatim (the return zero, err / sentinel case)
2026-06-14 11:43:23 +00:00
2ed3eaac9e
pkg/logger: io.Writer injection, Flush(), -log-dump flag
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03 19:31:20 +00:00
81f5a49cea
result: Errw with caller info
...
- wrap existing errors with context + file:line, newline-separated for readable error chains
- dual mode philosophy: panics + if err != nil
- unify Expect for goexit and panic cases
2026-05-06 23:36:14 +00:00
390ffa19a4
result.Errf
2026-05-05 00:12:54 +00:00
ea38cf5a5a
better tests
2026-05-04 22:45:33 +00:00
e204e43e6e
use panics as a default error reporting mechanism
...
- runtime.Goexit() has too much performance overhead, and should be used only under special conditions
- introduce build tags
2026-04-23 21:05:18 +00:00
974fed55d3
happy path perf optimization
...
move goroutineID() inside the defer, guarded by !finished. It's safe — Goexit runs defers in the same goroutine, so the ID is stable.
2026-04-23 20:02:34 +00:00
9599b8c0a3
performance benchmark
...
+ Switching debug.Stack() → runtime.Callers() saved ~900 ns and ~1 KB per error — the formatted string is gone, just raw program counters stored
2026-04-23 19:50:02 +00:00
e2b7e94847
runtime.Goexit() instead of panic
...
- usage policy: application code vs pkg
2026-04-23 18:48:31 +00:00
dbd513f7b4
pkg/result: Expectf()
2026-04-08 20:20:39 +00:00
8e7100a427
init: go/template v0.1.1
2026-04-07 20:32:27 +00:00