Skip to content

Commit

Permalink
Fix basic_fields move assignment
Browse files Browse the repository at this point in the history
  • Loading branch information
ashtum committed Jun 9, 2024
1 parent b5d7c99 commit 4022f8f
Show file tree
Hide file tree
Showing 5 changed files with 214 additions and 197 deletions.
334 changes: 167 additions & 167 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,56 +26,56 @@ jobs:
fail-fast: false
matrix:
include:
- toolset: gcc-5
cxxstd: "11,14,1z"
os: ubuntu-22.04
container: ubuntu:16.04
install: g++-5
supported: true
- toolset: gcc-6
cxxstd: "11,14,1z"
os: ubuntu-22.04
container: ubuntu:16.04
install: g++-6
supported: true
- toolset: gcc-7
cxxstd: "11,14,17"
os: ubuntu-22.04
container: ubuntu:18.04
install: g++-7
supported: true
- toolset: gcc-8
cxxstd: "11,14,17,2a"
os: ubuntu-22.04
container: ubuntu:18.04
install: g++-8
supported: true
- toolset: gcc-9
cxxstd: "11,14,17,2a"
os: ubuntu-22.04
container: ubuntu:18.04
install: g++-9
supported: true
- toolset: gcc-10
cxxstd: "11,14,17,2a"
os: ubuntu-22.04
install: g++-10
supported: true
- toolset: gcc-11
cxxstd: "11,14,17,20"
os: ubuntu-22.04
install: g++-11
supported: true
- toolset: gcc-12
cxxstd: "11,14,17,20,2b"
os: ubuntu-22.04
install: g++-12
supported: true
- toolset: gcc-13
cxxstd: "11,14,17,20,2b"
os: ubuntu-24.04
install: g++-13
supported: true
# - toolset: gcc-5
# cxxstd: "11,14,1z"
# os: ubuntu-22.04
# container: ubuntu:16.04
# install: g++-5
# supported: true
# - toolset: gcc-6
# cxxstd: "11,14,1z"
# os: ubuntu-22.04
# container: ubuntu:16.04
# install: g++-6
# supported: true
# - toolset: gcc-7
# cxxstd: "11,14,17"
# os: ubuntu-22.04
# container: ubuntu:18.04
# install: g++-7
# supported: true
# - toolset: gcc-8
# cxxstd: "11,14,17,2a"
# os: ubuntu-22.04
# container: ubuntu:18.04
# install: g++-8
# supported: true
# - toolset: gcc-9
# cxxstd: "11,14,17,2a"
# os: ubuntu-22.04
# container: ubuntu:18.04
# install: g++-9
# supported: true
# - toolset: gcc-10
# cxxstd: "11,14,17,2a"
# os: ubuntu-22.04
# install: g++-10
# supported: true
# - toolset: gcc-11
# cxxstd: "11,14,17,20"
# os: ubuntu-22.04
# install: g++-11
# supported: true
# - toolset: gcc-12
# cxxstd: "11,14,17,20,2b"
# os: ubuntu-22.04
# install: g++-12
# supported: true
# - toolset: gcc-13
# cxxstd: "11,14,17,20,2b"
# os: ubuntu-24.04
# install: g++-13
# supported: true
# clang 3.5 not supported
# It can't compile the websocket stream code
- toolset: clang
Expand All @@ -99,122 +99,122 @@ jobs:
container: ubuntu:16.04
install: clang-3.8
supported: true
- toolset: clang
compiler: clang++-3.9
cxxstd: "11,14"
os: ubuntu-22.04
container: ubuntu:16.04
install: clang-3.9
supported: true
- toolset: clang
compiler: clang++-4.0
cxxstd: "11,14"
os: ubuntu-22.04
container: ubuntu:16.04
install: clang-4.0
supported: true
- toolset: clang
compiler: clang++-5.0
cxxstd: "11,14"
os: ubuntu-22.04
container: ubuntu:16.04
install: clang-5.0
supported: true
- toolset: clang
install: clang-6.0
compiler: clang++-6.0
cxxstd: "11,14,17"
os: ubuntu-22.04
container: ubuntu:18.04
supported: true
- toolset: clang
install: clang-7
compiler: clang++-7
cxxstd: "11,14"
os: ubuntu-22.04
container: ubuntu:18.04
supported: true
- toolset: clang
install: clang-8
compiler: clang++-8
cxxstd: "11,14,17"
os: ubuntu-22.04
container: ubuntu:18.04
supported: true
- toolset: clang
install: clang-9
compiler: clang++-9
cxxstd: "11,14,17,2a"
os: ubuntu-22.04
container: ubuntu:18.04
supported: true
- toolset: clang
install: clang-10
compiler: clang++-10
cxxstd: "11,14,17,2a"
os: ubuntu-20.04
supported: true
- toolset: clang
install: clang-11
compiler: clang++-11
cxxstd: "11,14,17,2a"
os: ubuntu-20.04
supported: true
- toolset: clang
install: clang-12
compiler: clang++-12
cxxstd: "11,14,17,20"
os: ubuntu-22.04
supported: true
- toolset: clang
install: clang-13
compiler: clang++-13
cxxstd: "11,14,17,20"
os: ubuntu-22.04
supported: true
- toolset: clang
install: clang-14
compiler: clang++-14
cxxstd: "11,14,17,20"
os: ubuntu-22.04
supported: true
- toolset: clang
install: clang-15
compiler: clang++-15
cxxstd: "11,14,17,20,2b"
os: ubuntu-22.04
supported: true
- toolset: clang
install: clang-16
compiler: clang++-16
cxxstd: "11,14,17,20,2b"
os: ubuntu-24.04
supported: true
- toolset: clang
install: clang-17
compiler: clang++-17
cxxstd: "11,14,17,20,2b"
os: ubuntu-24.04
supported: true
- toolset: clang
install: clang-18
compiler: clang++-18
cxxstd: "11,14,17,20,2b"
os: ubuntu-24.04
supported: true
# macos
- toolset: clang
os: macos-12
cxxstd: "11,14,17,20,2b"
supported: true
- toolset: clang
os: macos-13
cxxstd: "11,14,17,20,2b"
supported: true
- toolset: clang
os: macos-14
cxxstd: "11,14,17,20,2b"
supported: true
# - toolset: clang
# compiler: clang++-3.9
# cxxstd: "11,14"
# os: ubuntu-22.04
# container: ubuntu:16.04
# install: clang-3.9
# supported: true
# - toolset: clang
# compiler: clang++-4.0
# cxxstd: "11,14"
# os: ubuntu-22.04
# container: ubuntu:16.04
# install: clang-4.0
# supported: true
# - toolset: clang
# compiler: clang++-5.0
# cxxstd: "11,14"
# os: ubuntu-22.04
# container: ubuntu:16.04
# install: clang-5.0
# supported: true
# - toolset: clang
# install: clang-6.0
# compiler: clang++-6.0
# cxxstd: "11,14,17"
# os: ubuntu-22.04
# container: ubuntu:18.04
# supported: true
# - toolset: clang
# install: clang-7
# compiler: clang++-7
# cxxstd: "11,14"
# os: ubuntu-22.04
# container: ubuntu:18.04
# supported: true
# - toolset: clang
# install: clang-8
# compiler: clang++-8
# cxxstd: "11,14,17"
# os: ubuntu-22.04
# container: ubuntu:18.04
# supported: true
# - toolset: clang
# install: clang-9
# compiler: clang++-9
# cxxstd: "11,14,17,2a"
# os: ubuntu-22.04
# container: ubuntu:18.04
# supported: true
# - toolset: clang
# install: clang-10
# compiler: clang++-10
# cxxstd: "11,14,17,2a"
# os: ubuntu-20.04
# supported: true
# - toolset: clang
# install: clang-11
# compiler: clang++-11
# cxxstd: "11,14,17,2a"
# os: ubuntu-20.04
# supported: true
# - toolset: clang
# install: clang-12
# compiler: clang++-12
# cxxstd: "11,14,17,20"
# os: ubuntu-22.04
# supported: true
# - toolset: clang
# install: clang-13
# compiler: clang++-13
# cxxstd: "11,14,17,20"
# os: ubuntu-22.04
# supported: true
# - toolset: clang
# install: clang-14
# compiler: clang++-14
# cxxstd: "11,14,17,20"
# os: ubuntu-22.04
# supported: true
# - toolset: clang
# install: clang-15
# compiler: clang++-15
# cxxstd: "11,14,17,20,2b"
# os: ubuntu-22.04
# supported: true
# - toolset: clang
# install: clang-16
# compiler: clang++-16
# cxxstd: "11,14,17,20,2b"
# os: ubuntu-24.04
# supported: true
# - toolset: clang
# install: clang-17
# compiler: clang++-17
# cxxstd: "11,14,17,20,2b"
# os: ubuntu-24.04
# supported: true
# - toolset: clang
# install: clang-18
# compiler: clang++-18
# cxxstd: "11,14,17,20,2b"
# os: ubuntu-24.04
# supported: true
# # macos
# - toolset: clang
# os: macos-12
# cxxstd: "11,14,17,20,2b"
# supported: true
# - toolset: clang
# os: macos-13
# cxxstd: "11,14,17,20,2b"
# supported: true
# - toolset: clang
# os: macos-14
# cxxstd: "11,14,17,20,2b"
# supported: true

needs: [runner-selection]
runs-on: ${{ fromJSON(needs.runner-selection.outputs.labelmatrix)[matrix.os] }}
Expand Down Expand Up @@ -312,7 +312,7 @@ jobs:
[[ $err -ne 0 ]] && false || true
windows:
if: true
if: false
strategy:
fail-fast: false
matrix:
Expand Down
12 changes: 10 additions & 2 deletions include/boost/beast/http/fields.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,15 @@ class basic_fields
using alloc_traits =
beast::detail::allocator_traits<rebind_type>;

using pocma = typename
alloc_traits::propagate_on_container_move_assignment;

using pocca = typename
alloc_traits::propagate_on_container_copy_assignment;

using pocs = typename
alloc_traits::propagate_on_container_swap;

using size_type = typename
beast::detail::allocator_traits<Allocator>::size_type;

Expand Down Expand Up @@ -264,8 +273,7 @@ class basic_fields
The state of the moved-from object is
as if constructed using the same allocator.
*/
basic_fields& operator=(basic_fields&&) noexcept(
alloc_traits::propagate_on_container_move_assignment::value);
basic_fields& operator=(basic_fields&&) noexcept(false);

/// Copy assignment.
basic_fields& operator=(basic_fields const&);
Expand Down
Loading

0 comments on commit 4022f8f

Please sign in to comment.