mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-12-28 05:35:52 +03:00
AK: Fix naming conflict with compiler builtin
Clang patch D116203 added various builtin functions for type traits, `__decay` being one of them. This name conflicts with our `AK::Detail::__decay`, leading to compiler warnings with Clang 16.
This commit is contained in:
parent
41a8f3f40f
commit
01c2cffcca
Notes:
sideshowbarker
2024-07-17 11:34:34 +09:00
Author: https://github.com/BertalanD Commit: https://github.com/SerenityOS/serenity/commit/01c2cffcca Pull-request: https://github.com/SerenityOS/serenity/pull/15419
@ -567,20 +567,20 @@ template<template<typename...> typename U, typename... Us>
|
||||
inline constexpr bool IsSpecializationOf<U<Us...>, U> = true;
|
||||
|
||||
template<typename T>
|
||||
struct __decay {
|
||||
struct __Decay {
|
||||
typedef Detail::RemoveCVReference<T> type;
|
||||
};
|
||||
template<typename T>
|
||||
struct __decay<T[]> {
|
||||
struct __Decay<T[]> {
|
||||
typedef T* type;
|
||||
};
|
||||
template<typename T, decltype(sizeof(T)) N>
|
||||
struct __decay<T[N]> {
|
||||
struct __Decay<T[N]> {
|
||||
typedef T* type;
|
||||
};
|
||||
// FIXME: Function decay
|
||||
template<typename T>
|
||||
using Decay = typename __decay<T>::type;
|
||||
using Decay = typename __Decay<T>::type;
|
||||
|
||||
template<typename T, typename U>
|
||||
inline constexpr bool IsPointerOfType = IsPointer<Decay<U>>&& IsSame<T, RemoveCV<RemovePointer<Decay<U>>>>;
|
||||
|
Loading…
Reference in New Issue
Block a user