logoalt Hacker News

vatsachakyesterday at 10:41 PM1 replyview on HN

Types are puzzles. A good Rustacean will make sure that the pieces fit to make the picture.

That's why in crates where I need to make sure certain functions are called in order, I use a Ticket<T>, where one function returns a Ticket<Func1Done> with the output and the other has to consume it as an input.

The typestate pattern is a specialization of making only valid states representable


Replies

LtdJorgeyesterday at 11:44 PM

One of my favorite useful patterns