diff --git a/third_party/function2/appveyor.yml b/third_party/function2/appveyor.yml --- a/third_party/function2/appveyor.yml +++ b/third_party/function2/appveyor.yml @@ -14,14 +14,11 @@ FU2_WITH_CPP_LATEST: ON platform: - x64 -clone_script: - - cmd: git clone -q --branch=%APPVEYOR_REPO_BRANCH% https://github.com/%APPVEYOR_REPO_NAME%.git %APPVEYOR_BUILD_FOLDER% - - cmd: cd %APPVEYOR_BUILD_FOLDER% - - cmd: git checkout -qf %APPVEYOR_REPO_COMMIT% +install: - cmd: git submodule update --init --recursive before_build: - cmd: > cmake -H. -Bbuild -A%PLATFORM% diff --git a/third_party/function2/include/function2/function2.hpp b/third_party/function2/include/function2/function2.hpp --- a/third_party/function2/include/function2/function2.hpp +++ b/third_party/function2/include/function2/function2.hpp @@ -1082,11 +1082,13 @@ /// We extend the union through a technique similar to the tail object hack typedef union { /// Tag to access the structure in a type-safe way data_accessor accessor_; /// The internal capacity we use to allocate in-place - std::aligned_storage_t capacity_; + struct alignas(Capacity::alignment) { + unsigned char data[Capacity::capacity]; + } capacity_; } type; }; template struct internal_capacity< Capacity, std::enable_if_t<(Capacity::capacity < sizeof(void*))>> { diff --git a/third_party/function2/moz.yaml b/third_party/function2/moz.yaml --- a/third_party/function2/moz.yaml +++ b/third_party/function2/moz.yaml @@ -8,13 +8,13 @@ name: function2 description: Improved and configurable drop-in replacement to std::function url: https://naios.github.io/function2/ - release: 43fc0ca473ecb081918709bd7d524d84c2ff8dce (2024-02-25T17:37:03Z). + release: 496c20fede5378190fff471fcd7ee3d8705e5096 (2025-07-17T20:32:21Z). - revision: 43fc0ca473ecb081918709bd7d524d84c2ff8dce + revision: 496c20fede5378190fff471fcd7ee3d8705e5096 license: BSL-1.0 license-file: LICENSE.txt updatebot: