The copy assignment operator is equivalent to:
constexprnon-propagating-cache&operator=(constnon-propagating-cache& other)noexcept{if(addressof(other)!=this)
reset();
return*this;
}
The move assignment operator is equivalent to:
constexprnon-propagating-cache&operator=(non-propagating-cache&& other)noexcept{
reset();
other.reset();
return*this;
}