1 2 3 4 5 6 7 8 9 10 11 12 13
// PR c++/85842 // { dg-do compile { target c++17 } } template<class T> auto f = [](auto&& arg) -> T* { if constexpr (sizeof(arg) == 1) { return nullptr; } else { return static_cast<T*>(&arg); } }; auto p = f<int>(0);