gcc/libstdc++-v3/testsuite/experimental/any
Jonathan Wakely 7dbab5dc84 PR libstdc++/90220 fix experimental::any_cast for non-object types
This corresponds to the fixes done for std::any_cast, but has to be done
without if-constexpr. The dummy specialization of _Manager_internal<_Op>
is used to avoid instantiating the real _Manager_internal<T>::_S_manage
function just to compare its address.

	PR libstdc++/90220
	* include/experimental/any (__any_caster): Constrain to only be
	callable for object types. Use remove_cv_t instead of decay_t.
	If the type decays or isn't copy constructible, compare the manager
	function to a dummy specialization.
	(__any_caster): Add overload constrained for non-object types.
	(any::_Manager_internal<_Op>): Add dummy specialization.
	* testsuite/experimental/any/misc/any_cast.cc: Test function types
	and array types.

From-SVN: r271556
2019-05-23 14:39:06 +01:00
..
assign Update copyright years. 2019-01-01 13:31:55 +01:00
cons Update copyright years. 2019-01-01 13:31:55 +01:00
misc PR libstdc++/90220 fix experimental::any_cast for non-object types 2019-05-23 14:39:06 +01:00
modifiers Update copyright years. 2019-01-01 13:31:55 +01:00
observers Update copyright years. 2019-01-01 13:31:55 +01:00
typedefs.cc Update copyright years. 2019-01-01 13:31:55 +01:00