auto | requires_ (Out &&o, T &&t) -> decltype(concepts::valid_expr(((void)(*o=static_cast< T && >(t)), 42),((void)(*static_cast< Out && >(o)=static_cast< T && >(t)), 42),((void)(const_cast< reference_t< Out > const && >(*o)=static_cast< T && >(t)), 42),((void)(const_cast< reference_t< Out > const && >(*static_cast< Out && >(o))=static_cast< T && >(t)), 42))) |