f0471ba824
OpenBar::into_candle and RolledBar::into_candle built their result with Candle::new_unchecked, skipping the finiteness check. volume is summed across every absorbed tick/candle, so a long or large run can drift it to +inf — and an inf-volume candle would silently poison every downstream indicator. Switch both to Candle::new, which validates volume finiteness, and return Result<Candle>. The OHLC fields are finite and correctly ordered by construction, so the only invariant Candle::new can reject here is a non-finite volume. push propagates the error with `?`; both flush methods now return Result<Option<Candle>> and resample_all pulls the result through.