Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 46496e5fd6f7ddf79ae435b18f4c815dc6e338a5
      
https://github.com/WebKit/WebKit/commit/46496e5fd6f7ddf79ae435b18f4c815dc6e338a5
  Author: Sam Weinig <[email protected]>
  Date:   2025-11-02 (Sun, 02 Nov 2025)

  Changed paths:
    M Source/JavaScriptCore/assembler/CodeLocation.h
    M Source/JavaScriptCore/assembler/LinkBuffer.h
    M Source/WTF/wtf/ArgumentCoder.h
    M Source/WTF/wtf/CagedPtr.h
    M Source/WTF/wtf/CallbackAggregator.h
    M Source/WTF/wtf/CheckedArithmetic.h
    M Source/WTF/wtf/CodePtr.h
    M Source/WTF/wtf/CompactPointerTuple.h
    M Source/WTF/wtf/CompactPtr.h
    M Source/WTF/wtf/CompactUniquePtrTuple.h
    M Source/WTF/wtf/CompletionHandler.h
    M Source/WTF/wtf/EnumClassOperatorOverloads.h
    M Source/WTF/wtf/EnumTraits.h
    M Source/WTF/wtf/FastMalloc.h
    M Source/WTF/wtf/Forward.h
    M Source/WTF/wtf/Function.h
    M Source/WTF/wtf/FunctionTraits.h
    M Source/WTF/wtf/HashFunctions.h
    M Source/WTF/wtf/HashSet.h
    M Source/WTF/wtf/Hasher.h
    M Source/WTF/wtf/JSONValues.h
    M Source/WTF/wtf/ListHashSet.h
    M Source/WTF/wtf/Lock.h
    M Source/WTF/wtf/Locker.h
    M Source/WTF/wtf/Logger.h
    M Source/WTF/wtf/Packed.h
    M Source/WTF/wtf/PointerPreparations.h
    M Source/WTF/wtf/PtrTag.h
    M Source/WTF/wtf/RawPointer.h
    M Source/WTF/wtf/Ref.h
    M Source/WTF/wtf/SaturatedArithmetic.h
    M Source/WTF/wtf/SignedPtr.h
    M Source/WTF/wtf/StdLibExtras.h
    M Source/WTF/wtf/ThreadSafeWeakPtr.h
    M Source/WTF/wtf/Vector.h
    M Source/WTF/wtf/WeakRef.h
    M Source/WTF/wtf/cocoa/TypeCastsCocoa.h
    M Source/WTF/wtf/persistence/PersistentDecoder.h
    M Source/WTF/wtf/persistence/PersistentEncoder.h
    M Source/WTF/wtf/text/StringCommon.h
    M Source/WTF/wtf/text/StringConcatenate.h
    M Source/WTF/wtf/text/StringConcatenateNumbers.h
    M Source/WTF/wtf/text/StringImpl.h
    M Source/WTF/wtf/text/StringView.h
    M Source/WTF/wtf/text/WTFString.h
    M Source/WebCore/Modules/applepay/PaymentMethod.h
    M Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.h
    M Source/WebCore/Modules/indexeddb/IDBGetAllResult.h
    M Source/WebCore/Modules/indexeddb/shared/IDBCursorInfo.h
    M Source/WebCore/Modules/indexeddb/shared/IDBDatabaseInfo.h
    M Source/WebCore/Modules/indexeddb/shared/IDBOpenRequestData.h
    M Source/WebCore/Modules/indexeddb/shared/IDBRequestData.h
    M Source/WebCore/Modules/indexeddb/shared/IDBResourceIdentifier.h
    M Source/WebCore/Modules/indexeddb/shared/IDBResultData.h
    M Source/WebCore/Modules/speech/SpeechRecognitionUpdate.h
    M Source/WebCore/Modules/system-preview/ARKitBadgeSystemImage.h
    M Source/WebCore/bindings/js/SerializedScriptValue.h
    M Source/WebCore/editing/FontAttributeChanges.h
    M Source/WebCore/inspector/InspectorOverlayLabel.h
    M Source/WebCore/loader/COEPInheritenceViolationReportBody.h
    M Source/WebCore/loader/CORPViolationReportBody.h
    M Source/WebCore/loader/ResourceLoadStatistics.h
    M Source/WebCore/page/SecurityOrigin.h
    M Source/WebCore/platform/MediaSamplesBlock.h
    M Source/WebCore/platform/ProcessIdentity.h
    M Source/WebCore/platform/ProcessQualified.h
    M Source/WebCore/platform/RegistrableDomain.h
    M Source/WebCore/platform/ShareableResource.h
    M Source/WebCore/platform/SharedMemory.h
    M Source/WebCore/platform/ThreadSafeDataBuffer.h
    M Source/WebCore/platform/TrackInfo.h
    M Source/WebCore/platform/graphics/FontTaggedSettings.h
    M Source/WebCore/platform/graphics/GraphicsContextState.h
    M Source/WebCore/platform/graphics/LayoutRect.h
    M Source/WebCore/platform/graphics/PlatformDynamicRangeLimit.h
    M Source/WebCore/platform/graphics/PlatformTimeRanges.h
    M Source/WebCore/platform/graphics/Region.h
    M Source/WebCore/platform/graphics/ShareableBitmap.h
    M Source/WebCore/platform/graphics/cv/VideoFrameCV.h
    M Source/WebCore/platform/graphics/filters/DistantLightSource.h
    M Source/WebCore/platform/graphics/filters/FilterEffectGeometry.h
    M Source/WebCore/platform/graphics/filters/FilterOperations.h
    M Source/WebCore/platform/graphics/mac/AppKitControlSystemImage.h
    M Source/WebCore/platform/graphics/transforms/TransformOperations.h
    M Source/WebCore/platform/mediastream/MediaConstraints.h
    M Source/WebCore/platform/network/BlobPart.h
    M Source/WebCore/platform/network/FormData.h
    M Source/WebCore/platform/network/SocketStreamError.h
    M Source/WebCore/platform/network/curl/CurlProxySettings.h
    M Source/WebCore/rendering/EventRegion.h
    M Source/WebCore/svg/SVGPreserveAspectRatioValue.h
    M Source/WebCore/testing/MockContentFilterSettings.h
    M Source/WebGPU/WGSL/AST/ASTIdentifier.h
    M Source/WebGPU/WGSL/Types.h
    M Source/WebKit/Platform/IPC/ConnectionHandle.h
    M Source/WebKit/Platform/IPC/Decoder.h
    M Source/WebKit/Platform/IPC/Encoder.h
    M Source/WebKit/Platform/IPC/IPCEvent.h
    M Source/WebKit/Platform/IPC/StreamConnectionEncoder.h
    M Source/WebKit/Scripts/generate-serializers.py
    M Source/WebKit/Scripts/webkit/tests/GeneratedWebKitSecureCoding.h
    M Source/WebKit/Shared/ApplePay/ApplePayPaymentSetupFeaturesWebKit.h
    M Source/WebKit/Shared/CallbackID.h
    M Source/WebKit/Shared/Cocoa/CoreIPCAVOutputContext.h
    M Source/WebKit/Shared/Cocoa/CoreIPCArray.h
    M Source/WebKit/Shared/Cocoa/CoreIPCCVPixelBufferRef.h
    M Source/WebKit/Shared/Cocoa/CoreIPCColor.h
    M Source/WebKit/Shared/Cocoa/CoreIPCContacts.h
    M Source/WebKit/Shared/Cocoa/CoreIPCDateComponents.h
    M Source/WebKit/Shared/Cocoa/CoreIPCDictionary.h
    M Source/WebKit/Shared/Cocoa/CoreIPCNSShadow.h
    M Source/WebKit/Shared/Cocoa/CoreIPCNSURLCredential.h
    M Source/WebKit/Shared/Cocoa/CoreIPCNSURLProtectionSpace.h
    M Source/WebKit/Shared/Cocoa/CoreIPCNSURLRequest.h
    M Source/WebKit/Shared/Cocoa/CoreIPCNSValue.h
    M Source/WebKit/Shared/Cocoa/CoreIPCPKDateComponentsRange.h
    M Source/WebKit/Shared/Cocoa/CoreIPCPassKit.h
    M Source/WebKit/Shared/Cocoa/CoreIPCPersonNameComponents.h
    M Source/WebKit/Shared/Cocoa/CoreIPCPlistArray.h
    M Source/WebKit/Shared/Cocoa/CoreIPCPlistDictionary.h
    M Source/WebKit/Shared/Cocoa/CoreIPCPresentationIntent.h
    M Source/WebKit/Shared/Cocoa/CoreIPCSecureCoding.h
    M Source/WebKit/Shared/Cocoa/CoreIPCString.h
    M Source/WebKit/Shared/Cocoa/CoreIPCStringSet.h
    M Source/WebKit/Shared/Cocoa/CoreIPCURL.h
    M Source/WebKit/Shared/Databases/IndexedDB/WebIDBResult.h
    M Source/WebKit/Shared/MonotonicObjectIdentifier.h
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h
    M Source/WebKit/Shared/glib/UserMessage.h
    M Source/WebKit/Shared/mac/SecItemRequestData.h
    M Source/WebKit/WebProcess/WebPage/wc/WCBackingStore.h
    M Source/bmalloc/bmalloc/Packed.h
    M Tools/TestWebKitAPI/Tests/WTF/MoveOnly.h
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm

  Log Message:
  -----------
  Replace std::enable_if with requires/concepts (part 1)
https://bugs.webkit.org/show_bug.cgi?id=301805

Reviewed by Darin Adler.

First pass of replacing uses of std::enable_if/std::enable_if_t with
the requires/concepts. This pass focuses on WTF and only does the
following trivial transformations:

  - std::is_same::value/std::is_same_v -> std::same_as
  - std::is_integer::value/std::is_integer_v -> std::integral
  - std::is_integer::value/std::is_integer_v + 
std::is_signed::value/std::is_signed_v -> std::signed_integral
  - std::is_integer::value/std::is_integer_v + 
std::is_unsigned::value/std::is_unsigned_v -> std::unsigned_integral
  - std::is_floating_point::value/std::is_floating_point_v -> 
std::floating_point
  - IsSmartPtr::value -> SmartPtr
  - IsSmartPtr::value + !IsSmartPtr::isNullable -> NonNullableSmartPtr
  - std::is_*::value -> std::is_*_v (e.g. std::is_function::value -> 
std::is_function_v)
  - std::*::type -> std::*_t (e.g. std::remove_pointer::type -> 
std::remove_pointer_t)

Further adoption of stricter concepts, which might change the semantics,
such as std::is_base_of_v -> std::derived_from, can be done in follow ups.

* Source/JavaScriptCore/assembler/CodeLocation.h:
* Source/JavaScriptCore/assembler/LinkBuffer.h:
* Source/WTF/wtf/ArgumentCoder.h:
* Source/WTF/wtf/CagedPtr.h:
* Source/WTF/wtf/CallbackAggregator.h:
* Source/WTF/wtf/CheckedArithmetic.h:
* Source/WTF/wtf/CodePtr.h:
* Source/WTF/wtf/CompactPointerTuple.h:
* Source/WTF/wtf/CompactPtr.h:
* Source/WTF/wtf/CompactUniquePtrTuple.h:
* Source/WTF/wtf/CompletionHandler.h:
* Source/WTF/wtf/EnumClassOperatorOverloads.h:
* Source/WTF/wtf/EnumTraits.h:
* Source/WTF/wtf/FastMalloc.h:
* Source/WTF/wtf/Forward.h:
* Source/WTF/wtf/Function.h:
* Source/WTF/wtf/FunctionTraits.h:
* Source/WTF/wtf/HashFunctions.h:
* Source/WTF/wtf/HashSet.h:
* Source/WTF/wtf/Hasher.h:
* Source/WTF/wtf/JSONValues.h:
* Source/WTF/wtf/ListHashSet.h:
* Source/WTF/wtf/Lock.h:
* Source/WTF/wtf/Locker.h:
* Source/WTF/wtf/Logger.h:
* Source/WTF/wtf/Packed.h:
* Source/WTF/wtf/PointerPreparations.h:
* Source/WTF/wtf/PtrTag.h:
* Source/WTF/wtf/RawPointer.h:
* Source/WTF/wtf/Ref.h:
* Source/WTF/wtf/SaturatedArithmetic.h:
* Source/WTF/wtf/SignedPtr.h:
* Source/WTF/wtf/StdLibExtras.h:
* Source/WTF/wtf/ThreadSafeWeakPtr.h:
* Source/WTF/wtf/Vector.h:
* Source/WTF/wtf/WeakRef.h:
* Source/WTF/wtf/cocoa/TypeCastsCocoa.h:
* Source/WTF/wtf/persistence/PersistentDecoder.h:
* Source/WTF/wtf/persistence/PersistentEncoder.h:
* Source/WTF/wtf/text/StringCommon.h:
* Source/WTF/wtf/text/StringConcatenate.h:
* Source/WTF/wtf/text/StringConcatenateNumbers.h:
* Source/WTF/wtf/text/StringImpl.h:
* Source/WTF/wtf/text/StringView.h:
* Source/WTF/wtf/text/WTFString.h:
* Source/WebCore/Modules/applepay/PaymentMethod.h:
* Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.h:
* Source/WebCore/Modules/indexeddb/IDBGetAllResult.h:
* Source/WebCore/Modules/indexeddb/shared/IDBCursorInfo.h:
* Source/WebCore/Modules/indexeddb/shared/IDBDatabaseInfo.h:
* Source/WebCore/Modules/indexeddb/shared/IDBOpenRequestData.h:
* Source/WebCore/Modules/indexeddb/shared/IDBRequestData.h:
* Source/WebCore/Modules/indexeddb/shared/IDBResourceIdentifier.h:
* Source/WebCore/Modules/indexeddb/shared/IDBResultData.h:
* Source/WebCore/Modules/speech/SpeechRecognitionUpdate.h:
* Source/WebCore/Modules/system-preview/ARKitBadgeSystemImage.h:
* Source/WebCore/bindings/js/SerializedScriptValue.h:
* Source/WebCore/editing/FontAttributeChanges.h:
* Source/WebCore/inspector/InspectorOverlayLabel.h:
* Source/WebCore/loader/COEPInheritenceViolationReportBody.h:
* Source/WebCore/loader/CORPViolationReportBody.h:
* Source/WebCore/loader/ResourceLoadStatistics.h:
* Source/WebCore/page/SecurityOrigin.h:
* Source/WebCore/platform/MediaSamplesBlock.h:
* Source/WebCore/platform/ProcessIdentity.h:
* Source/WebCore/platform/ProcessQualified.h:
* Source/WebCore/platform/RegistrableDomain.h:
* Source/WebCore/platform/ShareableResource.h:
* Source/WebCore/platform/SharedMemory.h:
* Source/WebCore/platform/ThreadSafeDataBuffer.h:
* Source/WebCore/platform/TrackInfo.h:
* Source/WebCore/platform/graphics/FontTaggedSettings.h:
* Source/WebCore/platform/graphics/GraphicsContextState.h:
* Source/WebCore/platform/graphics/LayoutRect.h:
* Source/WebCore/platform/graphics/PlatformDynamicRangeLimit.h:
* Source/WebCore/platform/graphics/PlatformTimeRanges.h:
* Source/WebCore/platform/graphics/Region.h:
* Source/WebCore/platform/graphics/ShareableBitmap.h:
* Source/WebCore/platform/graphics/cv/VideoFrameCV.h:
* Source/WebCore/platform/graphics/filters/DistantLightSource.h:
* Source/WebCore/platform/graphics/filters/FilterEffectGeometry.h:
* Source/WebCore/platform/graphics/filters/FilterOperations.h:
* Source/WebCore/platform/graphics/mac/AppKitControlSystemImage.h:
* Source/WebCore/platform/graphics/transforms/TransformOperations.h:
* Source/WebCore/platform/mediastream/MediaConstraints.h:
* Source/WebCore/platform/network/BlobPart.h:
* Source/WebCore/platform/network/FormData.h:
* Source/WebCore/platform/network/SocketStreamError.h:
* Source/WebCore/rendering/EventRegion.h:
* Source/WebCore/svg/SVGPreserveAspectRatioValue.h:
* Source/WebCore/testing/MockContentFilterSettings.h:
* Source/WebGPU/WGSL/AST/ASTIdentifier.h:
* Source/WebGPU/WGSL/Types.h:
* Source/WebKit/Platform/IPC/ConnectionHandle.h:
* Source/WebKit/Platform/IPC/Decoder.h:
* Source/WebKit/Platform/IPC/Encoder.h:
* Source/WebKit/Platform/IPC/IPCEvent.h:
* Source/WebKit/Platform/IPC/StreamConnectionEncoder.h:
* Source/WebKit/Scripts/generate-serializers.py:
* Source/WebKit/Shared/ApplePay/ApplePayPaymentSetupFeaturesWebKit.h:
* Source/WebKit/Shared/CallbackID.h:
* Source/WebKit/Shared/Cocoa/CoreIPCAVOutputContext.h:
* Source/WebKit/Shared/Cocoa/CoreIPCArray.h:
* Source/WebKit/Shared/Cocoa/CoreIPCCVPixelBufferRef.h:
* Source/WebKit/Shared/Cocoa/CoreIPCColor.h:
* Source/WebKit/Shared/Cocoa/CoreIPCContacts.h:
* Source/WebKit/Shared/Cocoa/CoreIPCDateComponents.h:
* Source/WebKit/Shared/Cocoa/CoreIPCDictionary.h:
* Source/WebKit/Shared/Cocoa/CoreIPCNSShadow.h:
* Source/WebKit/Shared/Cocoa/CoreIPCNSURLCredential.h:
* Source/WebKit/Shared/Cocoa/CoreIPCNSURLProtectionSpace.h:
* Source/WebKit/Shared/Cocoa/CoreIPCNSURLRequest.h:
* Source/WebKit/Shared/Cocoa/CoreIPCNSValue.h:
* Source/WebKit/Shared/Cocoa/CoreIPCPKDateComponentsRange.h:
* Source/WebKit/Shared/Cocoa/CoreIPCPassKit.h:
* Source/WebKit/Shared/Cocoa/CoreIPCPersonNameComponents.h:
* Source/WebKit/Shared/Cocoa/CoreIPCPlistArray.h:
* Source/WebKit/Shared/Cocoa/CoreIPCPlistDictionary.h:
* Source/WebKit/Shared/Cocoa/CoreIPCPresentationIntent.h:
* Source/WebKit/Shared/Cocoa/CoreIPCSecureCoding.h:
* Source/WebKit/Shared/Cocoa/CoreIPCString.h:
* Source/WebKit/Shared/Cocoa/CoreIPCStringSet.h:
* Source/WebKit/Shared/Cocoa/CoreIPCURL.h:
* Source/WebKit/Shared/Databases/IndexedDB/WebIDBResult.h:
* Source/WebKit/Shared/MonotonicObjectIdentifier.h:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h:
* Source/WebKit/Shared/mac/SecItemRequestData.h:
* Source/bmalloc/bmalloc/Packed.h:
* Tools/TestWebKitAPI/Tests/WTF/MoveOnly.h:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:

Canonical link: https://commits.webkit.org/302456@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to