`std::is_literal_type` was deprecated in C++17 and removed in C++20. Continue using it when compiling as C++17 to retain what benefits it does provide for generic code. > The `is_literal` type trait offers negligible value to generic code, as what is really needed is the ability to know that a specific construction would produce constant initialization. The core term of a literal type having at least one constexpr constructor is too weak to be used meaningfully. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0174r2.html https://en.cppreference.com/w/cpp/types/is_literal_type Differential Revision: https://phabricator.services.mozilla.com/D161952