|
|
|
|
|
by gnosek
2014 days ago
|
|
> It really depends on what the meaning of None is. Exactly. This will generally be application specific so we can't choose The One Right Definition for adding `Option<i32>`s. > Yours make sense if it means "zero", but that's far less useful. Not in my experience but I agree there are different situations. Personally, I'd default to `Option<i32>::None` meaning "no number there, so just skip it"[1] and prefer `Result<i32, E>::Err` to denote "there should be a number here but we don't have one", which would behave like a SQL NULL (propagate in all calculations). 1. What's the length of data in a header-only packet? I wouldn't say it's zero, especially when trying to fit a read() like API on top of a framed protocol (read() returning Ok(0) marks the end of file). |
|