Implement LWG 2769, Redundant const in the return type of any_cast(const any&).
authorVille Voutilainen <ville.voutilainen@gmail.com>
Fri, 16 Dec 2016 11:34:45 +0000 (13:34 +0200)
committerVille Voutilainen <ville@gcc.gnu.org>
Fri, 16 Dec 2016 11:34:45 +0000 (13:34 +0200)
commit62549523462ea288aebd4e476bb33169bbe0a293
tree7b9f82a4f8271aa9bbfad13dac55d30a9f1d1557
parentb7fc43d7c747d190e197ca89cfce4f1d9def7c7e
Implement LWG 2769, Redundant const in the return type of any_cast(const any&).

Implement LWG 2769, Redundant const in the return type of
any_cast(const any&).
* include/std/any (_AnyCast): New.
(any_cast(const any&)): Use it and add an explicit cast for return.
(any_cast(any&)): Likewise.
(any_cast(any&&)): Likewise.
* testsuite/20_util/any/misc/any_cast.cc: Add a test for a type
that has an explicit copy constructor.
*testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.

From-SVN: r243739
libstdc++-v3/ChangeLog
libstdc++-v3/include/std/any
libstdc++-v3/testsuite/20_util/any/misc/any_cast.cc
libstdc++-v3/testsuite/20_util/any/misc/any_cast_neg.cc