Prior to this (deref (manifold.deferred/deferred) 10 :ok) would throw a NullPointerException. This patch seems like it keeps all the prior behavior of using the val to hold a TimeoutException and whatnot, but allows this normal use-case to work as well.
The issue here was I was ignoring the .await() return value. Your fix wasn't quite right either, so I made a different change. Thanks for bringing this to my attention, though.
Prior to this
(deref (manifold.deferred/deferred) 10 :ok)
would throw a NullPointerException. This patch seems like it keeps all the prior behavior of using theval
to hold a TimeoutException and whatnot, but allows this normal use-case to work as well.