#include <iostream>
#include <vector>
#include <type_traits>

struct S
{
    S()
    {
        std::cout << __PRETTY_FUNCTION__ << '\n';
    }
    
    S(const S&) = delete;
    
    S(S&&)
    {
        std::cout << __PRETTY_FUNCTION__ << '\n';
    }
};

int main()
{
    std::vector<S> s1(1);

    std::vector<S> s2;
    s2.push_back(std::move(s1[0]));
}