I do wish Rust had a `expect(life()).toEqual(42)` syntax for tests.
`assert_eq!(life(), 42)` just gives "assertion failed: 41 == 42" and it's hard to see which was the expected value. This is particularly hard with larger values.
miniblog.
Related Posts
I've had a surprising amount of success asking an LLM to try projects in my toy programming language and report language or tooling issues.
Today it noticed that foo(bar,) is syntactically legal but assert(bar,) is not. The parser error is poor in this case too. A real UX bug!
I'm experimenting with syntax in examples. I don't really like Rust's `assert(inc(1) == 2)` syntax, I find it a little distracting.
I'm trying `inc(1) //-> 2`. The comment is rendered differently, and there's nothing before the sample code. What do you think?
Assertions are a surprisingly nuanced design space. In a test, if I assert `x < y`, I really want to see the values of x and y when it fails.
Do you define an API for every possible predicate (Python's assertLess, expect.js) or try to support the native syntax (c.f. pytest)?

