From 57ffada746f8a3ba68895f5f14dea4b17fd9eaa8 Mon Sep 17 00:00:00 2001
From: Lioncash <mathew1800@gmail.com>
Date: Sun, 6 Oct 2019 18:43:08 -0400
Subject: [PATCH] alignment: Resolve allocator construction issues on debug

This was related to the source allocator being passed into the
constructor potentially having a different type than allocator being
constructed.

We simply need to provide a constructor to handle this case.

This resolves issues related to the allocator causing debug builds on
MSVC to fail.
---
 src/common/alignment.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/common/alignment.h b/src/common/alignment.h
index e24f8b0e6..cdd4833f8 100644
--- a/src/common/alignment.h
+++ b/src/common/alignment.h
@@ -57,6 +57,11 @@ public:
     using is_always_equal = std::true_type;
 
 public:
+    constexpr AlignmentAllocator() noexcept = default;
+
+    template <typename T2>
+    constexpr AlignmentAllocator(const AlignmentAllocator<T2, Align>&) noexcept {}
+
     pointer address(reference r) noexcept {
         return std::addressof(r);
     }