use super::{NativeEncodeRetainedInput, NativeEncodeSession};
use crate::EncodeResult;
impl NativeEncodeSession<'_> {
pub(crate) fn checked_child_session<'session, O: ?Sized>(
&'session self,
phase_owners: &'session O,
additional_bytes: usize,
what: &'static str,
) -> EncodeResult<NativeEncodeSession<'session>> {
let retained_bytes = self.checked_phase(additional_bytes, what)?.retained_bytes();
Ok(NativeEncodeSession {
retained_input: NativeEncodeRetainedInput::from_owner_bytes(
phase_owners,
retained_bytes,
),
cap: self.cap,
})
}
}