Skip to main content

extern_spec_T_A_Extend_T_Vec_T_A_extend

Function extern_spec_T_A_Extend_T_Vec_T_A_extend 

Source
pub fn extern_spec_T_A_Extend_T_Vec_T_A_extend<T, A: Allocator, I: IntoIterator<Item = T, IntoIter: IteratorSpec>>(
    self_: &mut Vec<T, A>,
    iter: I,
)
Expand description

extern spec for Vec<T, A>::extend

This is not a real function: its only use is for documentation.

requires

I::into_iter.precondition((iter,))

ensures

exists<start_: I::IntoIter, done: &mut I::IntoIter, prod: Seq<T>>
    inv(start_) && inv(done) && inv(prod) &&
    I::into_iter.postcondition((iter,), start_) &&
    done.completed() && start_.produces(prod, *done) && (^self)@ == self@.concat(prod)