I wanted to talk to you about how I handle std::any_cast<int &>(static_cast<any *>(nullptr))
. The current fundamentals draft is not clear about how what happens when you call the non-throwing any_cast with a reference type. However there is a problem.
The signature of the non_throwing any_cast is as follows:
template<class ValueType>
const ValueType* any_cast(const any* operand) noexcept;
template<class ValueType>
ValueType* any_cast(any* operand) noexcept;