use std::mem::swap instead of std::util::swap.