The Future Trait Has A Missing State

14 points by fanf


hailey

I don't really understand the problem here, and I think panicking when you attempt to poll a future after it has already completed is a fine behaviour.

To me, the behaviour of Fuse::poll when called on a terminated future is a smell akin to handling EBADF from syscalls. It too should panic because doing so indicates that there are deeper structural issues with your implementation that really ought to be fixed. There's nothing sensible that can or should be done here. Such an error should be immediately and loudly fatal.

christine

The author clearly has expertise here which I will defer to, but I'm not sure I understand this argument. It seems like under what they are proposing, every future would be internalizing the business logic of MaybeDone? But then there is the possibility that this business logic is implemented incorrectly. Is that really what is wanted?