Skip to content

Commit

Permalink
Fix no member named 'construct' in 'optional<type-parameter-0-0 &>' e…
Browse files Browse the repository at this point in the history
…rror in sol.hpp with Clang 19 (#7098)
  • Loading branch information
afarber authored Jan 25, 2025
1 parent 6f235cc commit 61464fc
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 14 deletions.
10 changes: 5 additions & 5 deletions .github/workflows/osrm-backend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -446,14 +446,14 @@ jobs:
if: steps.cache-boost.outputs.cache-hit != 'true' && runner.os == 'Linux' && matrix.ENABLE_CONAN != 'ON'
run: |
BOOST_VERSION="1.85.0"
BOOST_VERSION_UNDERSCORE="${BOOST_VERSION//./_}"
wget -q https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION}/source/boost_${BOOST_VERSION_UNDERSCORE}.tar.gz
tar xzf boost_${BOOST_VERSION_UNDERSCORE}.tar.gz
cd boost_${BOOST_VERSION_UNDERSCORE}
BOOST_VERSION_FLAVOR="${BOOST_VERSION}-b2-nodocs"
wget -q https://github.com/boostorg/boost/releases/download/boost-${BOOST_VERSION}/boost-${BOOST_VERSION_FLAVOR}.tar.gz
tar xzf boost-${BOOST_VERSION_FLAVOR}.tar.gz
cd boost-${BOOST_VERSION}
sudo ./bootstrap.sh
sudo ./b2 install
cd ..
sudo rm -rf boost_${BOOST_VERSION_UNDERSCORE}*
sudo rm -rf boost-${BOOST_VERSION}*
- name: Install dev dependencies
run: |
Expand Down
3 changes: 3 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,9 @@ endif()
if (POLICY CMP0074)
cmake_policy(SET CMP0074 NEW)
endif()
if (POLICY CMP0167)
cmake_policy(SET CMP0167 NEW)
endif()
project(OSRM C CXX)


Expand Down
16 changes: 8 additions & 8 deletions docker/Dockerfile-alpine
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
FROM alpine:3.20.5 AS alpine-mimalloc
FROM alpine:3.21.2 AS alpine-mimalloc

RUN apk add --no-cache mimalloc
RUN apk update && \
apk upgrade && \
apk add --no-cache \
boost-iostreams \
boost-program_options \
boost-thread \
mimalloc

ENV LD_PRELOAD=/usr/lib/libmimalloc.so.2
ENV MIMALLOC_LARGE_OS_PAGES=1
Expand All @@ -14,9 +20,6 @@ RUN mkdir -p /src /opt && \
apk add --no-cache \
boost-dev \
boost-filesystem \
boost-iostreams \
boost-program_options \
boost-thread \
clang \
cmake \
expat-dev \
Expand Down Expand Up @@ -59,9 +62,6 @@ COPY --from=builder /opt /opt

RUN apk add --no-cache \
boost-date_time \
boost-iostreams \
boost-program_options \
boost-thread \
expat \
lua5.4 \
onetbb && \
Expand Down
3 changes: 2 additions & 1 deletion third_party/sol2/include/sol/sol.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -6752,7 +6752,8 @@ namespace sol {
static_assert(std::is_constructible<T, Args&&...>::value, "T must be constructible with Args");

*this = nullopt;
this->construct(std::forward<Args>(args)...);
new (static_cast<void*>(this)) optional(std::in_place, std::forward<Args>(args)...);
return **this;
}

/// Swaps this optional with the other.
Expand Down

0 comments on commit 61464fc

Please sign in to comment.