clang-format: copy latest and re-format

clang-format-16 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest .clang-format from the docs repository and reformat the
repository.

Change-Id: I6bbb587615b9d6f158900201ca04a647cb3a8f96
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
diff --git a/.clang-format b/.clang-format
index 9109e65..d92a3f1 100644
--- a/.clang-format
+++ b/.clang-format
@@ -5,22 +5,24 @@
 AlignAfterOpenBracket: Align
 AlignConsecutiveAssignments: false
 AlignConsecutiveDeclarations: false
-AlignEscapedNewlinesLeft: false
-AlignOperands:   true
-AlignTrailingComments: true
+AlignEscapedNewlines: Right
+AlignOperands:  Align
+AlignTrailingComments:
+  Kind: Always
+  OverEmptyLines: 1
 AllowAllParametersOfDeclarationOnNextLine: true
-AllowShortBlocksOnASingleLine: false
+AllowShortBlocksOnASingleLine: Empty
 AllowShortCaseLabelsOnASingleLine: false
-AllowShortFunctionsOnASingleLine: None
+AllowShortFunctionsOnASingleLine: Empty
 AllowShortIfStatementsOnASingleLine: false
 AllowShortLoopsOnASingleLine: false
-AlwaysBreakAfterDefinitionReturnType: None
 AlwaysBreakAfterReturnType: None
 AlwaysBreakBeforeMultilineStrings: false
-AlwaysBreakTemplateDeclarations: true
+AlwaysBreakTemplateDeclarations: Yes
 BinPackArguments: true
 BinPackParameters: true
 BraceWrapping:
+  AfterCaseLabel:  true
   AfterClass:      true
   AfterControlStatement: true
   AfterEnum:       true
@@ -29,29 +31,60 @@
   AfterObjCDeclaration: true
   AfterStruct:     true
   AfterUnion:      true
+  AfterExternBlock: true
   BeforeCatch:     true
   BeforeElse:      true
   IndentBraces:    false
+  SplitEmptyFunction:   false
+  SplitEmptyRecord:     false
+  SplitEmptyNamespace:  false
+BreakAfterAttributes: Never
 BreakBeforeBinaryOperators: None
 BreakBeforeBraces: Custom
 BreakBeforeTernaryOperators: true
 BreakConstructorInitializers: AfterColon
+BreakInheritanceList: AfterColon
+BreakStringLiterals: false
 ColumnLimit:     80
 CommentPragmas:  '^ IWYU pragma:'
+CompactNamespaces: false
 ConstructorInitializerAllOnOneLineOrOnePerLine: false
 ConstructorInitializerIndentWidth: 4
 ContinuationIndentWidth: 4
 Cpp11BracedListStyle: true
+DeriveLineEnding: false
 DerivePointerAlignment: false
 PointerAlignment: Left
 DisableFormat:   false
 ExperimentalAutoDetectBinPacking: false
 FixNamespaceComments: true
 ForEachMacros:   [ foreach, Q_FOREACH, BOOST_FOREACH ]
+IncludeBlocks: Regroup
+IncludeCategories:
+  - Regex:           '^[<"](gtest|gmock)'
+    Priority:        7
+  - Regex:           '^"config.h"'
+    Priority:        -1
+  - Regex:           '^".*\.h"'
+    Priority:        1
+  - Regex:           '^".*\.hpp"'
+    Priority:        2
+  - Regex:           '^<.*\.h>'
+    Priority:        3
+  - Regex:           '^<.*\.hpp>'
+    Priority:        4
+  - Regex:           '^<.*'
+    Priority:        5
+  - Regex:           '.*'
+    Priority:        6
 IndentCaseLabels: true
+IndentRequiresClause: true
 IndentWidth:     4
 IndentWrappedFunctionNames: true
-KeepEmptyLinesAtTheStartOfBlocks: true
+InsertNewlineAtEOF: true
+KeepEmptyLinesAtTheStartOfBlocks: false
+LambdaBodyIndentation: OuterScope
+LineEnding: LF
 MacroBlockBegin: ''
 MacroBlockEnd:   ''
 MaxEmptyLinesToKeep: 1
@@ -59,18 +92,29 @@
 ObjCBlockIndentWidth: 2
 ObjCSpaceAfterProperty: false
 ObjCSpaceBeforeProtocolList: true
+PenaltyBreakAssignment: 25
 PenaltyBreakBeforeFirstCallParameter: 19
 PenaltyBreakComment: 300
 PenaltyBreakFirstLessLess: 120
 PenaltyBreakString: 1000
 PenaltyExcessCharacter: 1000000
 PenaltyReturnTypeOnItsOwnLine: 60
+PenaltyIndentedWhitespace: 0
+QualifierAlignment: Left
+ReferenceAlignment: Left
 ReflowComments:  true
+RequiresClausePosition: OwnLine
+RequiresExpressionIndentation: Keyword
 SortIncludes:    true
 SortUsingDeclarations: true
 SpaceAfterCStyleCast: false
+SpaceAfterTemplateKeyword: true
 SpaceBeforeAssignmentOperators: true
+SpaceBeforeCpp11BracedList: false
+SpaceBeforeCtorInitializerColon: true
+SpaceBeforeInheritanceColon: true
 SpaceBeforeParens: ControlStatements
+SpaceBeforeRangeBasedForLoopColon: true
 SpaceInEmptyParentheses: false
 SpacesBeforeTrailingComments: 1
 SpacesInAngles:  false
@@ -78,7 +122,7 @@
 SpacesInCStyleCastParentheses: false
 SpacesInParentheses: false
 SpacesInSquareBrackets: false
-Standard:        Cpp11
+Standard:        Latest
 TabWidth:        4
 UseTab:          Never
 ...
diff --git a/include-dl/stdplus/dl.hpp b/include-dl/stdplus/dl.hpp
index 0526391..24044c1 100644
--- a/include-dl/stdplus/dl.hpp
+++ b/include-dl/stdplus/dl.hpp
@@ -28,13 +28,11 @@
   public:
     inline DlOpenFlags(DlOpenType type) :
         BitFlags<int, DlOpenFlag>(static_cast<int>(type))
-    {
-    }
+    {}
 
     inline DlOpenFlags(BitFlags<int, DlOpenFlag> flags) :
         BitFlags<int, DlOpenFlag>(flags)
-    {
-    }
+    {}
 };
 
 class Dl
diff --git a/include-fd/stdplus/fd/atomic.hpp b/include-fd/stdplus/fd/atomic.hpp
index 904e706..389c5ac 100644
--- a/include-fd/stdplus/fd/atomic.hpp
+++ b/include-fd/stdplus/fd/atomic.hpp
@@ -1,6 +1,7 @@
 #pragma once
-#include <filesystem>
 #include <stdplus/fd/managed.hpp>
+
+#include <filesystem>
 #include <string>
 #include <string_view>
 
diff --git a/include-fd/stdplus/fd/create.hpp b/include-fd/stdplus/fd/create.hpp
index 83aa2ba..e993739 100644
--- a/include-fd/stdplus/fd/create.hpp
+++ b/include-fd/stdplus/fd/create.hpp
@@ -1,8 +1,10 @@
 #pragma once
 #include <fcntl.h>
 #include <netinet/ip.h>
+
 #include <stdplus/fd/dupable.hpp>
 #include <stdplus/flags.hpp>
+
 #include <string>
 
 namespace stdplus
@@ -43,13 +45,11 @@
   public:
     inline OpenFlags(OpenAccess access) :
         BitFlags<int, OpenFlag>(static_cast<int>(access))
-    {
-    }
+    {}
 
     inline OpenFlags(BitFlags<int, OpenFlag> flags) :
         BitFlags<int, OpenFlag>(flags)
-    {
-    }
+    {}
 };
 
 DupableFd open(const char* pathname, OpenFlags flags, mode_t mode = 0);
diff --git a/include-fd/stdplus/fd/fmt.hpp b/include-fd/stdplus/fd/fmt.hpp
index de77b68..faa8dfc 100644
--- a/include-fd/stdplus/fd/fmt.hpp
+++ b/include-fd/stdplus/fd/fmt.hpp
@@ -1,7 +1,9 @@
 #pragma once
 #include <fmt/format.h>
-#include <functional>
+
 #include <stdplus/fd/intf.hpp>
+
+#include <functional>
 #include <type_traits>
 #include <utility>
 
diff --git a/include-fd/stdplus/fd/gmock.hpp b/include-fd/stdplus/fd/gmock.hpp
index ca3b2af..7b70fd8 100644
--- a/include-fd/stdplus/fd/gmock.hpp
+++ b/include-fd/stdplus/fd/gmock.hpp
@@ -1,7 +1,8 @@
 #pragma once
-#include <gmock/gmock.h>
 #include <stdplus/fd/intf.hpp>
 
+#include <gmock/gmock.h>
+
 namespace stdplus
 {
 namespace fd
diff --git a/include-fd/stdplus/fd/intf.hpp b/include-fd/stdplus/fd/intf.hpp
index 4d9553d..479fcc0 100644
--- a/include-fd/stdplus/fd/intf.hpp
+++ b/include-fd/stdplus/fd/intf.hpp
@@ -1,11 +1,13 @@
 #pragma once
-#include <cstddef>
 #include <fcntl.h>
-#include <optional>
-#include <span>
-#include <stdplus/flags.hpp>
 #include <sys/mman.h>
 #include <sys/socket.h>
+
+#include <stdplus/flags.hpp>
+
+#include <cstddef>
+#include <optional>
+#include <span>
 #include <tuple>
 
 namespace stdplus
@@ -104,13 +106,11 @@
   public:
     inline MMapFlags(MMapAccess access) :
         BitFlags<int, MMapFlag>(static_cast<int>(access))
-    {
-    }
+    {}
 
     inline MMapFlags(BitFlags<int, MMapFlag> flags) :
         BitFlags<int, MMapFlag>(flags)
-    {
-    }
+    {}
 };
 
 class MMap;
diff --git a/include-fd/stdplus/fd/line.hpp b/include-fd/stdplus/fd/line.hpp
index e8f4b99..994777a 100644
--- a/include-fd/stdplus/fd/line.hpp
+++ b/include-fd/stdplus/fd/line.hpp
@@ -1,8 +1,9 @@
 #pragma once
+#include <stdplus/fd/intf.hpp>
+
 #include <array>
 #include <functional>
 #include <span>
-#include <stdplus/fd/intf.hpp>
 #include <string>
 
 namespace stdplus
diff --git a/include-fd/stdplus/fd/mmap.hpp b/include-fd/stdplus/fd/mmap.hpp
index 06b7944..2250ac0 100644
--- a/include-fd/stdplus/fd/mmap.hpp
+++ b/include-fd/stdplus/fd/mmap.hpp
@@ -1,9 +1,10 @@
 #pragma once
+#include <stdplus/fd/intf.hpp>
+#include <stdplus/handle/managed.hpp>
+
 #include <cstddef>
 #include <functional>
 #include <span>
-#include <stdplus/fd/intf.hpp>
-#include <stdplus/handle/managed.hpp>
 
 namespace stdplus
 {
@@ -19,8 +20,7 @@
             fd,
             std::span<std::byte>{static_cast<std::byte*>(nullptr), window_size},
             prot, flags, offset)
-    {
-    }
+    {}
     MMap(Fd& fd, std::span<std::byte> window, ProtFlags prot, MMapFlags flags,
          off_t offset);
 
diff --git a/include-fd/stdplus/fd/ops.hpp b/include-fd/stdplus/fd/ops.hpp
index c51b2ef..98bdaee 100644
--- a/include-fd/stdplus/fd/ops.hpp
+++ b/include-fd/stdplus/fd/ops.hpp
@@ -1,9 +1,10 @@
 #pragma once
-#include <span>
-#include <stdexcept>
 #include <stdplus/fd/dupable.hpp>
 #include <stdplus/fd/intf.hpp>
 #include <stdplus/raw.hpp>
+
+#include <span>
+#include <stdexcept>
 #include <utility>
 
 namespace stdplus
diff --git a/include/stdplus/cancel.hpp b/include/stdplus/cancel.hpp
index b8bc82d..3017e1b 100644
--- a/include/stdplus/cancel.hpp
+++ b/include/stdplus/cancel.hpp
@@ -30,24 +30,19 @@
 
 struct Cancel : detail::CancelHandle
 {
-    Cancel() : detail::CancelHandle(std::nullopt)
-    {
-    }
+    Cancel() : detail::CancelHandle(std::nullopt) {}
     template <typename T>
     explicit Cancel(T&& t) : detail::CancelHandle(t)
-    {
-    }
+    {}
 };
 
 namespace detail
 {
 
 struct fAny
-{
-};
+{};
 struct fPtr : fAny
-{
-};
+{};
 
 template <typename>
 struct validator
@@ -83,14 +78,12 @@
     template <typename Fi, typename... Vs>
     explicit AlwaysCallOnce(Fi&& fi, Vs&&... default_args) :
         f(std::forward<Fi>(fi)), default_args(std::forward<Vs>(default_args)...)
-    {
-    }
+    {}
     AlwaysCallOnce(const AlwaysCallOnce&) = delete;
     AlwaysCallOnce(AlwaysCallOnce&& other) noexcept :
         f(std::move(other.f)), default_args(std::move(other.default_args)),
         called(std::exchange(other.called, true))
-    {
-    }
+    {}
     AlwaysCallOnce& operator=(const AlwaysCallOnce&) = delete;
     AlwaysCallOnce& operator=(AlwaysCallOnce&& other) noexcept
     {
diff --git a/include/stdplus/exception.hpp b/include/stdplus/exception.hpp
index 5390320..059f17f 100644
--- a/include/stdplus/exception.hpp
+++ b/include/stdplus/exception.hpp
@@ -1,5 +1,6 @@
 #pragma once
 #include <fmt/format.h>
+
 #include <source_location>
 #include <system_error>
 #include <utility>
@@ -40,25 +41,25 @@
 {
     return
         [f = std::move(f), file, line, func](auto&&... args) mutable noexcept {
-            try
-            {
-                return f(std::forward<decltype(args)>(args)...);
-            }
-            catch (const std::exception& e)
-            {
-                fmt::print(stderr, "Ignoring({}:{} {}): {}\n", file, line, func,
-                           e.what());
-            }
-            catch (...)
-            {
-                fmt::print(stderr, "Ignoring({}:{} {}): Invalid Error\n", file,
-                           line, func);
-            }
-            using Ret = std::invoke_result_t<decltype(f), decltype(args)...>;
-            if constexpr (!std::is_same_v<void, Ret>)
-            {
-                return Ret();
-            }
+        try
+        {
+            return f(std::forward<decltype(args)>(args)...);
+        }
+        catch (const std::exception& e)
+        {
+            fmt::print(stderr, "Ignoring({}:{} {}): {}\n", file, line, func,
+                       e.what());
+        }
+        catch (...)
+        {
+            fmt::print(stderr, "Ignoring({}:{} {}): Invalid Error\n", file,
+                       line, func);
+        }
+        using Ret = std::invoke_result_t<decltype(f), decltype(args)...>;
+        if constexpr (!std::is_same_v<void, Ret>)
+        {
+            return Ret();
+        }
         };
 }
 
@@ -79,8 +80,7 @@
             return f(std::forward<decltype(args)>(args)...);
         }
         catch (...)
-        {
-        }
+        {}
         using Ret = std::invoke_result_t<decltype(f), decltype(args)...>;
         if constexpr (!std::is_same_v<void, Ret>)
         {
diff --git a/include/stdplus/flags.hpp b/include/stdplus/flags.hpp
index 047c776..a5678f3 100644
--- a/include/stdplus/flags.hpp
+++ b/include/stdplus/flags.hpp
@@ -8,9 +8,7 @@
 class BitFlags
 {
   public:
-    inline explicit BitFlags(Int val = 0) noexcept : val(val)
-    {
-    }
+    inline explicit BitFlags(Int val = 0) noexcept : val(val) {}
 
     inline BitFlags& set(Flag flag) & noexcept
     {
diff --git a/include/stdplus/handle/copyable.hpp b/include/stdplus/handle/copyable.hpp
index 86fc8b7..c40b432 100644
--- a/include/stdplus/handle/copyable.hpp
+++ b/include/stdplus/handle/copyable.hpp
@@ -1,6 +1,7 @@
 #pragma once
-#include <optional>
 #include <stdplus/handle/managed.hpp>
+
+#include <optional>
 #include <type_traits>
 #include <utility>
 
@@ -57,14 +58,12 @@
                                                            T>&&>(),
                                                    std::declval<Vs>()...))) :
             MHandleF(std::move(maybeV), std::forward<Vs>(vs)...)
-        {
-        }
+        {}
         template <typename... Vs>
         constexpr explicit HandleF(T&& maybeV, Vs&&... vs) noexcept(
             noexcept(MHandleF(std::declval<T&&>(), std::declval<Vs>()...))) :
             MHandleF(std::move(maybeV), std::forward<Vs>(vs)...)
-        {
-        }
+        {}
 
         constexpr HandleF(const HandleF& other) noexcept(noexcept(MHandleF(
             std::nullopt,
@@ -81,8 +80,7 @@
         constexpr HandleF(HandleF&& other) noexcept(
             std::is_nothrow_move_constructible_v<MHandleF>) :
             MHandleF(std::move(other))
-        {
-        }
+        {}
 
         constexpr HandleF& operator=(const HandleF& other) noexcept(
             noexcept(std::declval<HandleF>().reset()) &&
diff --git a/include/stdplus/handle/managed.hpp b/include/stdplus/handle/managed.hpp
index 08cac4f..1d4eceb 100644
--- a/include/stdplus/handle/managed.hpp
+++ b/include/stdplus/handle/managed.hpp
@@ -31,7 +31,6 @@
 template <typename T, typename... As>
 struct Managed
 {
-
     template <typename Drop>
     class HandleF
     {
@@ -50,16 +49,14 @@
                 std::tuple<As...>(std::declval<Vs>()...))) :
             as(std::forward<Vs>(vs)...),
             maybeT(std::move(maybeV))
-        {
-        }
+        {}
         template <typename... Vs>
         constexpr explicit HandleF(T&& maybeV, Vs&&... vs) noexcept(
             std::is_nothrow_move_constructible_v<std::optional<T>>&& noexcept(
                 std::tuple<As...>(std::declval<Vs>()...))) :
             as(std::forward<Vs>(vs)...),
             maybeT(std::move(maybeV))
-        {
-        }
+        {}
 
         HandleF(const HandleF& other) = delete;
         HandleF& operator=(const HandleF& other) = delete;
diff --git a/include/stdplus/pinned.hpp b/include/stdplus/pinned.hpp
index c1490b2..e52a57f 100644
--- a/include/stdplus/pinned.hpp
+++ b/include/stdplus/pinned.hpp
@@ -49,8 +49,7 @@
     constexpr Pinned(Args&&... args) noexcept(
         noexcept(CT(std::declval<Args>()...))) :
         CT(std::forward<Args>(args)...)
-    {
-    }
+    {}
 
     template <typename Arg>
     constexpr Pinned& operator=(Arg&& arg) noexcept(
@@ -76,24 +75,20 @@
                       !std::is_move_assignable_v<std::remove_cvref_t<U>>,
                   bool> = true>
     constexpr PinnedRef(U& u) noexcept : wrapper(u)
-    {
-    }
+    {}
 
     template <typename U>
     constexpr PinnedRef(Pinned<U>& u) noexcept : wrapper(u)
-    {
-    }
+    {}
     template <typename U,
               std::enable_if_t<!std::is_same_v<U, void> && std::is_const_v<T>,
                                bool> = true>
     constexpr PinnedRef(const Pinned<U>& u) noexcept : wrapper(u)
-    {
-    }
+    {}
 
     template <typename U>
     constexpr PinnedRef(PinnedRef<U> u) noexcept : wrapper(u)
-    {
-    }
+    {}
 };
 
 template <typename T>
diff --git a/include/stdplus/raw.hpp b/include/stdplus/raw.hpp
index a5206c0..dbec33e 100644
--- a/include/stdplus/raw.hpp
+++ b/include/stdplus/raw.hpp
@@ -1,6 +1,7 @@
 #pragma once
-#include <algorithm>
 #include <fmt/format.h>
+
+#include <algorithm>
 #include <span>
 #include <stdexcept>
 #include <string_view>
@@ -94,11 +95,9 @@
 /** @brief If you can guarantee the underlying data is properly aligned
  *  for raw struct access this specifier is used to override compile checks. */
 struct Aligned
-{
-};
+{};
 struct UnAligned
-{
-};
+{};
 
 /** @brief References the data from a buffer if aligned
  *
diff --git a/include/stdplus/str/cat.hpp b/include/stdplus/str/cat.hpp
index 3c39df0..fc97b17 100644
--- a/include/stdplus/str/cat.hpp
+++ b/include/stdplus/str/cat.hpp
@@ -23,8 +23,7 @@
     template <typename... Args>
     constexpr DedSV(Args&&... args) :
         std::basic_string_view<CharT, Traits>(std::forward<Args>(args)...)
-    {
-    }
+    {}
 };
 
 template <typename CharT>
diff --git a/include/stdplus/util/cexec.hpp b/include/stdplus/util/cexec.hpp
index daf402c..a40903e 100644
--- a/include/stdplus/util/cexec.hpp
+++ b/include/stdplus/util/cexec.hpp
@@ -53,7 +53,7 @@
                           "Unimplemented check routine");                      \
         }                                                                      \
         return check_errno_ret;                                                \
-    }((expr))
+        }((expr))
 
 /** @brief   Wraps common c style error handling for exception throwing
  *           This requires the callee to provide error information in -r.
@@ -77,7 +77,7 @@
                           "Unimplemented check routine");                      \
         }                                                                      \
         return check_ret_ret;                                                  \
-    }((expr))
+        }((expr))
 
 namespace stdplus
 {
@@ -156,7 +156,7 @@
  *  @throws std::system_error for an error case.
  *  @return A successful return value based on the function type
  */
-template <auto(*makeError)(int, const char*) = makeSystemError,
+template <auto (*makeError)(int, const char*) = makeSystemError,
           typename... Args>
 inline auto callCheckErrno(const char* msg, Args&&... args)
 {
@@ -181,7 +181,7 @@
         static_assert(std::is_same_v<Ret, int>, "Unimplemented check routine");
     }
 }
-template <auto(*makeError)(int, const char*) = makeSystemError,
+template <auto (*makeError)(int, const char*) = makeSystemError,
           typename... Args>
 inline auto callCheckErrno(const std::string& msg, Args&&... args)
 {
@@ -198,7 +198,7 @@
  *  @throws std::system_error for an error case.
  *  @return A successful return value based on the function type
  */
-template <auto(*makeError)(int, const char*) = makeSystemError,
+template <auto (*makeError)(int, const char*) = makeSystemError,
           typename... Args>
 inline auto callCheckRet(const char* msg, Args&&... args)
 {
@@ -216,7 +216,7 @@
         static_assert(std::is_same_v<Ret, int>, "Unimplemented check routine");
     }
 }
-template <auto(*makeError)(int, const char*) = makeSystemError,
+template <auto (*makeError)(int, const char*) = makeSystemError,
           typename... Args>
 inline auto callCheckRet(const std::string& msg, Args&&... args)
 {
diff --git a/include/stdplus/zstring.hpp b/include/stdplus/zstring.hpp
index 694eeaf..29288ae 100644
--- a/include/stdplus/zstring.hpp
+++ b/include/stdplus/zstring.hpp
@@ -1,6 +1,7 @@
 #pragma once
-#include <cstddef>
 #include <fmt/core.h>
+
+#include <cstddef>
 #include <limits>
 #include <string>
 #include <type_traits>
@@ -50,14 +51,12 @@
 
 template <typename T, typename CharT, typename Traits>
 struct same_string : std::false_type
-{
-};
+{};
 
 template <typename CharT, typename Traits, typename Allocator>
-struct same_string<std::basic_string<CharT, Traits, Allocator>, CharT, Traits>
-    : std::true_type
-{
-};
+struct same_string<std::basic_string<CharT, Traits, Allocator>, CharT, Traits> :
+    std::true_type
+{};
 
 } // namespace detail
 
@@ -97,8 +96,7 @@
     }
     template <typename T, std::enable_if_t<std::is_pointer_v<T>, bool> = true>
     constexpr basic_zstring(T str) noexcept : data_(str)
-    {
-    }
+    {}
     template <typename T,
               std::enable_if_t<detail::same_string<std::remove_cvref_t<T>,
                                                    decay_t, Traits>::value,
@@ -254,8 +252,8 @@
 
 template <typename CharT, typename Traits>
 struct formatter<stdplus::basic_zstring<CharT, Traits>,
-                 std::remove_const_t<CharT>>
-    : formatter<const CharT*, std::remove_const_t<CharT>>
+                 std::remove_const_t<CharT>> :
+    formatter<const CharT*, std::remove_const_t<CharT>>
 {
     template <typename FormatContext>
     inline auto format(stdplus::basic_zstring<CharT, Traits> str,
diff --git a/include/stdplus/zstring_view.hpp b/include/stdplus/zstring_view.hpp
index 3ae13b3..a346130 100644
--- a/include/stdplus/zstring_view.hpp
+++ b/include/stdplus/zstring_view.hpp
@@ -1,7 +1,9 @@
 #pragma once
 #include <fmt/core.h>
-#include <stdexcept>
+
 #include <stdplus/zstring.hpp>
+
+#include <stdexcept>
 #include <string>
 #include <string_view>
 #include <type_traits>
@@ -83,12 +85,10 @@
         :
         sv(str, detail::zstring_validate(str, 0, N))
 #endif
-    {
-    }
+    {}
     template <typename T, std::enable_if_t<std::is_pointer_v<T>, bool> = true>
     constexpr basic_zstring_view(T str) noexcept : sv(str)
-    {
-    }
+    {}
     template <typename T,
               std::enable_if_t<detail::same_string<T, CharT, Traits>::value,
                                bool> = true>
@@ -101,16 +101,14 @@
         sv(str.data(),
            detail::zstring_validate(str.data(), str.size(), str.size() + 1))
 #endif
-    {
-    }
+    {}
     template <
         typename T,
         std::enable_if_t<std::is_same_v<value_type, std::remove_const_t<T>>,
                          bool> = true>
     constexpr basic_zstring_view(basic_zstring<T, Traits> str) noexcept :
         sv(str.data())
-    {
-    }
+    {}
 
     constexpr operator string_view_base() const noexcept
     {
@@ -295,11 +293,9 @@
     string_view_base sv;
 
     struct unsafe
-    {
-    };
+    {};
     constexpr basic_zstring_view(unsafe, string_view_base sv) noexcept : sv(sv)
-    {
-    }
+    {}
     friend auto detail::unsafe_zstring_view<CharT, Traits>(string_view_base sv);
 };
 
@@ -331,10 +327,9 @@
     namespace std                                                              \
     {                                                                          \
     template <>                                                                \
-    struct hash<stdplus::basic_zstring_view<char_t>>                           \
-        : hash<basic_string_view<char_t>>                                      \
-    {                                                                          \
-    };                                                                         \
+    struct hash<stdplus::basic_zstring_view<char_t>> :                         \
+        hash<basic_string_view<char_t>>                                        \
+    {};                                                                        \
     }
 zstring_view_all(char, );
 zstring_view_all(char8_t, u8);
@@ -347,8 +342,8 @@
 {
 
 template <typename CharT, typename Traits>
-struct formatter<stdplus::basic_zstring_view<CharT, Traits>, CharT>
-    : formatter<basic_string_view<CharT>, CharT>
+struct formatter<stdplus::basic_zstring_view<CharT, Traits>, CharT> :
+    formatter<basic_string_view<CharT>, CharT>
 {
     template <typename FormatContext>
     inline auto format(stdplus::basic_zstring_view<CharT, Traits> str,
diff --git a/src/dl.cpp b/src/dl.cpp
index 659389c..050f25c 100644
--- a/src/dl.cpp
+++ b/src/dl.cpp
@@ -8,8 +8,7 @@
 
 Dl::Dl(const char* file, DlOpenFlags flags) :
     handle(open(file, static_cast<int>(flags)))
-{
-}
+{}
 
 struct link_map* Dl::linkMap()
 {
diff --git a/src/exception.cpp b/src/exception.cpp
index c969295..cd79ebc 100644
--- a/src/exception.cpp
+++ b/src/exception.cpp
@@ -24,26 +24,22 @@
 WouldBlock::WouldBlock(const char* what) :
     std::system_error(std::make_error_code(std::errc::operation_would_block),
                       what)
-{
-}
+{}
 
 WouldBlock::WouldBlock(const std::string& what) :
     std::system_error(std::make_error_code(std::errc::operation_would_block),
                       what)
-{
-}
+{}
 
 Eof::Eof(const char* what) :
     std::system_error(std::make_error_code(std::errc::no_message_available),
                       what)
-{
-}
+{}
 
 Eof::Eof(const std::string& what) :
     std::system_error(std::make_error_code(std::errc::no_message_available),
                       what)
-{
-}
+{}
 
 } // namespace exception
 } // namespace stdplus
diff --git a/src/fd/atomic.cpp b/src/fd/atomic.cpp
index df200e6..ce9dff2 100644
--- a/src/fd/atomic.cpp
+++ b/src/fd/atomic.cpp
@@ -1,10 +1,12 @@
-#include <cstdlib>
-#include <filesystem>
 #include <fmt/format.h>
+#include <sys/stat.h>
+
 #include <stdplus/fd/atomic.hpp>
 #include <stdplus/fd/managed.hpp>
 #include <stdplus/util/cexec.hpp>
-#include <sys/stat.h>
+
+#include <cstdlib>
+#include <filesystem>
 #include <system_error>
 #include <utility>
 
@@ -16,8 +18,8 @@
 static std::string makeTmpName(const std::filesystem::path& filename)
 {
     auto name = filename.filename();
-    auto path =
-        filename.parent_path() / fmt::format(".{}.XXXXXX", name.native());
+    auto path = filename.parent_path() /
+                fmt::format(".{}.XXXXXX", name.native());
     return path.native();
 }
 
@@ -38,8 +40,7 @@
     mode(mode),
     tmpname(!tmpl.empty() ? std::string(tmpl) : makeTmpName(filename)),
     fd(mktemp(tmpname))
-{
-}
+{}
 
 AtomicWriter::AtomicWriter(AtomicWriter&& other) :
     filename(std::move(other.filename)), mode(other.mode),
diff --git a/src/fd/create.cpp b/src/fd/create.cpp
index 2240a98..bfef66f 100644
--- a/src/fd/create.cpp
+++ b/src/fd/create.cpp
@@ -1,8 +1,9 @@
 #include <fcntl.h>
 #include <fmt/format.h>
+#include <sys/socket.h>
+
 #include <stdplus/fd/create.hpp>
 #include <stdplus/util/cexec.hpp>
-#include <sys/socket.h>
 
 namespace stdplus
 {
diff --git a/src/fd/dupable.cpp b/src/fd/dupable.cpp
index ce2cff1..d096d04 100644
--- a/src/fd/dupable.cpp
+++ b/src/fd/dupable.cpp
@@ -1,7 +1,9 @@
 #include <fcntl.h>
+
 #include <stdplus/fd/dupable.hpp>
 #include <stdplus/fd/ops.hpp>
 #include <stdplus/util/cexec.hpp>
+
 #include <utility>
 
 namespace stdplus
@@ -18,13 +20,9 @@
 
 } // namespace detail
 
-DupableFd::DupableFd() noexcept : handle(std::nullopt)
-{
-}
+DupableFd::DupableFd() noexcept : handle(std::nullopt) {}
 
-DupableFd::DupableFd(const int& fd) : handle(fd)
-{
-}
+DupableFd::DupableFd(const int& fd) : handle(fd) {}
 
 DupableFd::DupableFd(int&& fd) : handle(std::move(fd))
 {
diff --git a/src/fd/fmt.cpp b/src/fd/fmt.cpp
index 94d3bc1..1907ded 100644
--- a/src/fd/fmt.cpp
+++ b/src/fd/fmt.cpp
@@ -6,9 +6,7 @@
 namespace fd
 {
 
-FormatBuffer::FormatBuffer(Fd& fd, size_t max) : fd(fd), max(max)
-{
-}
+FormatBuffer::FormatBuffer(Fd& fd, size_t max) : fd(fd), max(max) {}
 
 FormatBuffer::~FormatBuffer() noexcept(false)
 {
diff --git a/src/fd/impl.cpp b/src/fd/impl.cpp
index 34b365f..1272fc8 100644
--- a/src/fd/impl.cpp
+++ b/src/fd/impl.cpp
@@ -1,13 +1,15 @@
 #include <fcntl.h>
 #include <fmt/format.h>
-#include <stdplus/exception.hpp>
-#include <stdplus/fd/impl.hpp>
-#include <stdplus/util/cexec.hpp>
-#include <string_view>
 #include <sys/ioctl.h>
 #include <sys/socket.h>
 #include <unistd.h>
 
+#include <stdplus/exception.hpp>
+#include <stdplus/fd/impl.hpp>
+#include <stdplus/util/cexec.hpp>
+
+#include <string_view>
+
 namespace stdplus
 {
 namespace fd
@@ -35,8 +37,8 @@
 
 std::span<std::byte> FdImpl::recv(std::span<std::byte> buf, RecvFlags flags)
 {
-    ssize_t amt =
-        ::recv(get(), buf.data(), buf.size(), static_cast<int>(flags));
+    ssize_t amt = ::recv(get(), buf.data(), buf.size(),
+                         static_cast<int>(flags));
     if (amt == -1)
     {
         if (errno == EAGAIN || errno == EWOULDBLOCK)
@@ -69,8 +71,8 @@
 std::span<const std::byte> FdImpl::send(std::span<const std::byte> data,
                                         SendFlags flags)
 {
-    ssize_t amt =
-        ::send(get(), data.data(), data.size(), static_cast<int>(flags));
+    ssize_t amt = ::send(get(), data.data(), data.size(),
+                         static_cast<int>(flags));
     if (amt == -1)
     {
         if (errno == EAGAIN || errno == EWOULDBLOCK)
diff --git a/src/fd/line.cpp b/src/fd/line.cpp
index db12041..b3ce76a 100644
--- a/src/fd/line.cpp
+++ b/src/fd/line.cpp
@@ -1,16 +1,15 @@
-#include <cstring>
 #include <stdplus/exception.hpp>
 #include <stdplus/fd/line.hpp>
 #include <stdplus/fd/ops.hpp>
 
+#include <cstring>
+
 namespace stdplus
 {
 namespace fd
 {
 
-LineReader::LineReader(Fd& fd) : fd(fd)
-{
-}
+LineReader::LineReader(Fd& fd) : fd(fd) {}
 
 const std::string* LineReader::readLine()
 {
diff --git a/src/fd/managed.cpp b/src/fd/managed.cpp
index 1b19284..cd4ec1c 100644
--- a/src/fd/managed.cpp
+++ b/src/fd/managed.cpp
@@ -1,9 +1,11 @@
 #include <fmt/format.h>
+#include <unistd.h>
+
 #include <stdplus/fd/dupable.hpp>
 #include <stdplus/fd/managed.hpp>
 #include <stdplus/fd/ops.hpp>
 #include <stdplus/util/cexec.hpp>
-#include <unistd.h>
+
 #include <utility>
 
 namespace stdplus
@@ -20,9 +22,7 @@
 
 } // namespace detail
 
-ManagedFd::ManagedFd() noexcept : handle(std::nullopt)
-{
-}
+ManagedFd::ManagedFd() noexcept : handle(std::nullopt) {}
 
 ManagedFd::ManagedFd(int&& fd) : handle(std::move(fd))
 {
@@ -31,12 +31,9 @@
 
 ManagedFd::ManagedFd(DupableFd&& other) noexcept :
     handle(static_cast<detail::ManagedFdHandle&&>(other.handle))
-{
-}
+{}
 
-ManagedFd::ManagedFd(const DupableFd& other) : ManagedFd(DupableFd(other))
-{
-}
+ManagedFd::ManagedFd(const DupableFd& other) : ManagedFd(DupableFd(other)) {}
 
 ManagedFd& ManagedFd::operator=(DupableFd&& other) noexcept
 {
diff --git a/src/fd/mmap.cpp b/src/fd/mmap.cpp
index 079815d..1f5c211 100644
--- a/src/fd/mmap.cpp
+++ b/src/fd/mmap.cpp
@@ -9,8 +9,7 @@
 MMap::MMap(Fd& fd, std::span<std::byte> window, ProtFlags prot, MMapFlags flags,
            off_t offset) :
     mapping(fd.mmap(window, prot, flags, offset), fd)
-{
-}
+{}
 
 std::span<std::byte> MMap::get() const
 {
diff --git a/src/fd/ops.cpp b/src/fd/ops.cpp
index d47dbb3..e8f3636 100644
--- a/src/fd/ops.cpp
+++ b/src/fd/ops.cpp
@@ -1,6 +1,8 @@
 #include <fmt/format.h>
+
 #include <stdplus/exception.hpp>
 #include <stdplus/fd/ops.hpp>
+
 #include <utility>
 
 namespace stdplus
@@ -54,8 +56,8 @@
     std::span<Byte> ret;
     do
     {
-        auto r =
-            (fd.*fun)(data.subspan(ret.size()), std::forward<Args>(args)...);
+        auto r = (fd.*fun)(data.subspan(ret.size()),
+                           std::forward<Args>(args)...);
         if (ret.size() != 0 && r.size() == 0)
         {
             throw exception::WouldBlock(
diff --git a/src/gtest/tmp.cpp b/src/gtest/tmp.cpp
index 07dfb6d..4d06de5 100644
--- a/src/gtest/tmp.cpp
+++ b/src/gtest/tmp.cpp
@@ -1,8 +1,9 @@
 #include <fmt/format.h>
 
-#include <filesystem>
 #include <stdplus/gtest/tmp.hpp>
 
+#include <filesystem>
+
 namespace stdplus
 {
 namespace gtest
diff --git a/src/io_uring.cpp b/src/io_uring.cpp
index 0dec400..0e6a7b4 100644
--- a/src/io_uring.cpp
+++ b/src/io_uring.cpp
@@ -1,5 +1,4 @@
 #include <liburing.h>
-
 #include <sys/eventfd.h>
 
 #include <stdplus/fd/managed.hpp>
@@ -45,8 +44,7 @@
 
 IoUring::FileHandle::FileHandle(unsigned slot, IoUring& ring) :
     slot(slot, &ring)
-{
-}
+{}
 
 void IoUring::FileHandle::drop(unsigned&& slot, IoUring*& ring)
 {
diff --git a/src/signal.cpp b/src/signal.cpp
index 525f2c0..3acba26 100644
--- a/src/signal.cpp
+++ b/src/signal.cpp
@@ -1,6 +1,8 @@
 #include <signal.h>
+
 #include <stdplus/signal.hpp>
 #include <stdplus/util/cexec.hpp>
+
 #include <system_error>
 
 namespace stdplus
diff --git a/test/cancel.cpp b/test/cancel.cpp
index 3efefb8..f1f9588 100644
--- a/test/cancel.cpp
+++ b/test/cancel.cpp
@@ -1,6 +1,7 @@
-#include <functional>
 #include <stdplus/cancel.hpp>
 
+#include <functional>
+
 #include <gtest/gtest.h>
 
 namespace stdplus
diff --git a/test/dl.cpp b/test/dl.cpp
index cc16293..8ded85d 100644
--- a/test/dl.cpp
+++ b/test/dl.cpp
@@ -1,6 +1,7 @@
-#include <gtest/gtest.h>
 #include <stdplus/dl.hpp>
 
+#include <gtest/gtest.h>
+
 namespace stdplus
 {
 
diff --git a/test/exception.cpp b/test/exception.cpp
index 5d22071..a0d2e54 100644
--- a/test/exception.cpp
+++ b/test/exception.cpp
@@ -1,6 +1,7 @@
-#include <gtest/gtest.h>
 #include <stdplus/exception.hpp>
 
+#include <gtest/gtest.h>
+
 namespace stdplus
 {
 namespace exception
diff --git a/test/fd/atomic.cpp b/test/fd/atomic.cpp
index c67ce41..b49112c 100644
--- a/test/fd/atomic.cpp
+++ b/test/fd/atomic.cpp
@@ -1,8 +1,9 @@
-#include <filesystem>
-#include <memory>
 #include <stdplus/fd/atomic.hpp>
 #include <stdplus/fd/ops.hpp>
 #include <stdplus/gtest/tmp.hpp>
+
+#include <filesystem>
+#include <memory>
 #include <string_view>
 
 namespace stdplus
@@ -18,9 +19,7 @@
     std::string filename;
     std::unique_ptr<AtomicWriter> file;
 
-    AtomicWriterTest() : filename(fmt::format("{}/out", CaseTmpDir()))
-    {
-    }
+    AtomicWriterTest() : filename(fmt::format("{}/out", CaseTmpDir())) {}
 
     ~AtomicWriterTest() noexcept
     {
@@ -47,8 +46,8 @@
 TEST_F(AtomicWriterTest, BadCommit)
 {
     auto tmp = fmt::format("{}/tmp.XXXXXX", CaseTmpDir());
-    ASSERT_NO_THROW(file =
-                        std::make_unique<AtomicWriter>("/dev/null", 0644, tmp));
+    ASSERT_NO_THROW(
+        file = std::make_unique<AtomicWriter>("/dev/null", 0644, tmp));
     writeExact(*file, "hi\n"sv);
     EXPECT_TRUE(std::filesystem::exists(file->getTmpname()));
     EXPECT_THROW(file->commit(), std::filesystem::filesystem_error);
diff --git a/test/fd/dupable.cpp b/test/fd/dupable.cpp
index e203932..3431e54 100644
--- a/test/fd/dupable.cpp
+++ b/test/fd/dupable.cpp
@@ -1,4 +1,2 @@
 #include <stdplus/fd/dupable.hpp>
-int main(int, char*[])
-{
-}
+int main(int, char*[]) {}
diff --git a/test/fd/fmt.cpp b/test/fd/fmt.cpp
index f7ff9d8..770bc99 100644
--- a/test/fd/fmt.cpp
+++ b/test/fd/fmt.cpp
@@ -1,14 +1,15 @@
-#include <gtest/gtest.h>
-
 #include <fmt/compile.h>
+#include <sys/mman.h>
+
 #include <stdplus/fd/fmt.hpp>
 #include <stdplus/fd/managed.hpp>
 #include <stdplus/util/cexec.hpp>
-#include <sys/mman.h>
 
 #include <string>
 #include <string_view>
 
+#include <gtest/gtest.h>
+
 namespace stdplus
 {
 namespace fd
diff --git a/test/fd/impl.cpp b/test/fd/impl.cpp
index 6d0c00b..7806b45 100644
--- a/test/fd/impl.cpp
+++ b/test/fd/impl.cpp
@@ -1,4 +1,2 @@
 #include <stdplus/fd/impl.hpp>
-int main(int, char*[])
-{
-}
+int main(int, char*[]) {}
diff --git a/test/fd/intf.cpp b/test/fd/intf.cpp
index d4cc8c2..bc58756 100644
--- a/test/fd/intf.cpp
+++ b/test/fd/intf.cpp
@@ -1,4 +1,2 @@
 #include <stdplus/fd/intf.hpp>
-int main(int, char*[])
-{
-}
+int main(int, char*[]) {}
diff --git a/test/fd/line.cpp b/test/fd/line.cpp
index 8d9eb32..2913a25 100644
--- a/test/fd/line.cpp
+++ b/test/fd/line.cpp
@@ -1,4 +1,5 @@
-#include <gtest/gtest.h>
+#include <sys/mman.h>
+
 #include <stdplus/exception.hpp>
 #include <stdplus/fd/gmock.hpp>
 #include <stdplus/fd/line.hpp>
@@ -6,8 +7,10 @@
 #include <stdplus/fd/ops.hpp>
 #include <stdplus/raw.hpp>
 #include <stdplus/util/cexec.hpp>
+
 #include <string_view>
-#include <sys/mman.h>
+
+#include <gtest/gtest.h>
 
 namespace stdplus
 {
@@ -70,7 +73,10 @@
 inline auto readSv(std::string_view s)
 {
     return [s](std::span<std::byte> buf) {
-        memcpy(buf.data(), s.data(), s.size());
+        if (s.size())
+        {
+            memcpy(buf.data(), s.data(), s.size());
+        }
         return buf.subspan(0, s.size());
     };
 }
diff --git a/test/fd/managed.cpp b/test/fd/managed.cpp
index f365618..a232fdc 100644
--- a/test/fd/managed.cpp
+++ b/test/fd/managed.cpp
@@ -1,4 +1,2 @@
 #include <stdplus/fd/managed.hpp>
-int main(int, char*[])
-{
-}
+int main(int, char*[]) {}
diff --git a/test/fd/mmap.cpp b/test/fd/mmap.cpp
index 3f1ab33..bf73556 100644
--- a/test/fd/mmap.cpp
+++ b/test/fd/mmap.cpp
@@ -1,8 +1,10 @@
-#include <array>
-#include <gtest/gtest.h>
 #include <stdplus/fd/create.hpp>
 #include <stdplus/fd/mmap.hpp>
 
+#include <array>
+
+#include <gtest/gtest.h>
+
 namespace stdplus
 {
 namespace fd
diff --git a/test/fd/mock.cpp b/test/fd/mock.cpp
index 0cc6dfd..a3ad784 100644
--- a/test/fd/mock.cpp
+++ b/test/fd/mock.cpp
@@ -1,6 +1,7 @@
-#include <gtest/gtest.h>
 #include <stdplus/fd/gmock.hpp>
 
+#include <gtest/gtest.h>
+
 namespace stdplus
 {
 
diff --git a/test/fd/ops.cpp b/test/fd/ops.cpp
index 2d52101..c0328fe 100644
--- a/test/fd/ops.cpp
+++ b/test/fd/ops.cpp
@@ -1,6 +1,7 @@
-#include <gtest/gtest.h>
 #include <stdplus/fd/ops.hpp>
 
+#include <gtest/gtest.h>
+
 namespace stdplus
 {
 namespace fd
diff --git a/test/gtest/tmp.cpp b/test/gtest/tmp.cpp
index f473175..c1b7c74 100644
--- a/test/gtest/tmp.cpp
+++ b/test/gtest/tmp.cpp
@@ -1,15 +1,16 @@
-#include <filesystem>
-#include <gtest/gtest.h>
 #include <stdplus/gtest/tmp.hpp>
 
+#include <filesystem>
+
+#include <gtest/gtest.h>
+
 namespace stdplus
 {
 namespace gtest
 {
 
 class TestWithTmpTest : public TestWithTmp
-{
-};
+{};
 
 TEST_F(TestWithTmpTest, One)
 {
@@ -28,8 +29,7 @@
 }
 
 class TestWithTmpTest2 : public TestWithTmp
-{
-};
+{};
 
 TEST_F(TestWithTmpTest2, One)
 {
diff --git a/test/handle/copyable.cpp b/test/handle/copyable.cpp
index cd17c54..161b808 100644
--- a/test/handle/copyable.cpp
+++ b/test/handle/copyable.cpp
@@ -1,10 +1,12 @@
-#include <gtest/gtest.h>
-#include <optional>
 #include <stdplus/handle/copyable.hpp>
+
+#include <optional>
 #include <string>
 #include <utility>
 #include <vector>
 
+#include <gtest/gtest.h>
+
 namespace stdplus
 {
 namespace
diff --git a/test/handle/managed.cpp b/test/handle/managed.cpp
index fb89195..74816e5 100644
--- a/test/handle/managed.cpp
+++ b/test/handle/managed.cpp
@@ -1,11 +1,13 @@
-#include <gtest/gtest.h>
-#include <optional>
 #include <stdplus/handle/managed.hpp>
+
+#include <optional>
 #include <string>
 #include <tuple>
 #include <utility>
 #include <vector>
 
+#include <gtest/gtest.h>
+
 namespace stdplus
 {
 namespace
diff --git a/test/io_uring.cpp b/test/io_uring.cpp
index 8a9f2c0..7a646e2 100644
--- a/test/io_uring.cpp
+++ b/test/io_uring.cpp
@@ -1,14 +1,15 @@
+#include <fmt/format.h>
 #include <poll.h>
+#include <sys/utsname.h>
+
+#include <stdplus/io_uring.hpp>
+#include <stdplus/util/cexec.hpp>
 
 #include <array>
 #include <charconv>
 #include <chrono>
-#include <fmt/format.h>
 #include <optional>
-#include <stdplus/io_uring.hpp>
-#include <stdplus/util/cexec.hpp>
 #include <string_view>
-#include <sys/utsname.h>
 
 #include <gmock/gmock.h>
 #include <gtest/gtest.h>
diff --git a/test/pinned.cpp b/test/pinned.cpp
index f33f41a..5e58dc4 100644
--- a/test/pinned.cpp
+++ b/test/pinned.cpp
@@ -1,7 +1,9 @@
-#include <gtest/gtest.h>
 #include <stdplus/pinned.hpp>
+
 #include <string>
 
+#include <gtest/gtest.h>
+
 namespace stdplus
 {
 
diff --git a/test/raw.cpp b/test/raw.cpp
index 0de4c33..fa3c77e 100644
--- a/test/raw.cpp
+++ b/test/raw.cpp
@@ -1,13 +1,16 @@
-#include <array>
 #include <endian.h>
-#include <gmock/gmock.h>
-#include <gtest/gtest.h>
+
+#include <stdplus/raw.hpp>
+
+#include <array>
 #include <span>
 #include <stdexcept>
-#include <stdplus/raw.hpp>
 #include <string_view>
 #include <vector>
 
+#include <gmock/gmock.h>
+#include <gtest/gtest.h>
+
 namespace stdplus
 {
 namespace raw
diff --git a/test/signal.cpp b/test/signal.cpp
index d060861..3ca2695 100644
--- a/test/signal.cpp
+++ b/test/signal.cpp
@@ -1,8 +1,11 @@
-#include <cstring>
-#include <gtest/gtest.h>
 #include <signal.h>
+
 #include <stdplus/signal.hpp>
 
+#include <cstring>
+
+#include <gtest/gtest.h>
+
 namespace stdplus
 {
 namespace signal
diff --git a/test/str/cat.cpp b/test/str/cat.cpp
index 1633f6e..758facc 100644
--- a/test/str/cat.cpp
+++ b/test/str/cat.cpp
@@ -1,8 +1,10 @@
-#include <gtest/gtest.h>
 #include <stdplus/str/cat.hpp>
+
 #include <string>
 #include <string_view>
 
+#include <gtest/gtest.h>
+
 namespace stdplus
 {
 
diff --git a/test/util/cexec.cpp b/test/util/cexec.cpp
index f5b7a5e..3c2099e 100644
--- a/test/util/cexec.cpp
+++ b/test/util/cexec.cpp
@@ -1,8 +1,10 @@
-#include <gtest/gtest.h>
 #include <stdplus/util/cexec.hpp>
+
 #include <string_view>
 #include <system_error>
 
+#include <gtest/gtest.h>
+
 namespace stdplus
 {
 namespace util
diff --git a/test/zstring.cpp b/test/zstring.cpp
index 69b3c9f..53c3a14 100644
--- a/test/zstring.cpp
+++ b/test/zstring.cpp
@@ -1,10 +1,13 @@
 #include <fmt/format.h>
-#include <gtest/gtest.h>
-#include <iostream>
+
 #include <stdplus/zstring.hpp>
+
+#include <iostream>
 #include <string>
 #include <string_view>
 
+#include <gtest/gtest.h>
+
 using std::literals::string_literals::operator""s;
 using std::literals::string_view_literals::operator""sv;
 
diff --git a/test/zstring_view.cpp b/test/zstring_view.cpp
index 40ad4d4..8b29bc9 100644
--- a/test/zstring_view.cpp
+++ b/test/zstring_view.cpp
@@ -1,11 +1,14 @@
 #include <fmt/format.h>
-#include <gtest/gtest.h>
+
+#include <stdplus/zstring_view.hpp>
+
 #include <iostream>
 #include <set>
-#include <stdplus/zstring_view.hpp>
 #include <string>
 #include <unordered_set>
 
+#include <gtest/gtest.h>
+
 namespace stdplus
 {