With ! the implicit conversion happens at compile time, never at runtime. It cannot by definition happen at runtime because the never type has no values and thus cannot be constructed under any circumstances. Any…
My favourite never type ability is when you need to conform to a trait that returns Result but your specific implementation can never produce an error. Return Result<T, !> and the compiler knows that callers never have…
[dead]
You basically reverse-engineered it correctly. I've written up the full threat model, components and per-index leakage in one place here: https://news.ycombinator.com/item?id=48967481
James here, principal engineer at CipherStash. A few of you have (fairly) pointed out that the threat model is hard to find on our site, so rather than answer piecemeal let me lay the whole thing out. tekacs got most of…
With ! the implicit conversion happens at compile time, never at runtime. It cannot by definition happen at runtime because the never type has no values and thus cannot be constructed under any circumstances. Any…
My favourite never type ability is when you need to conform to a trait that returns Result but your specific implementation can never produce an error. Return Result<T, !> and the compiler knows that callers never have…
[dead]
You basically reverse-engineered it correctly. I've written up the full threat model, components and per-index leakage in one place here: https://news.ycombinator.com/item?id=48967481
James here, principal engineer at CipherStash. A few of you have (fairly) pointed out that the threat model is hard to find on our site, so rather than answer piecemeal let me lay the whole thing out. tekacs got most of…