clang-format: Always break template declarations
diff --git a/.clang-format b/.clang-format
index 8872c3b..9109e65 100644
--- a/.clang-format
+++ b/.clang-format
@@ -17,7 +17,7 @@
 AlwaysBreakAfterDefinitionReturnType: None
 AlwaysBreakAfterReturnType: None
 AlwaysBreakBeforeMultilineStrings: false
-AlwaysBreakTemplateDeclarations: false
+AlwaysBreakTemplateDeclarations: true
 BinPackArguments: true
 BinPackParameters: true
 BraceWrapping:
diff --git a/src/sdeventplus/internal/sdref.cpp b/src/sdeventplus/internal/sdref.cpp
index 44e38d6..bbbbd3a 100644
--- a/src/sdeventplus/internal/sdref.cpp
+++ b/src/sdeventplus/internal/sdref.cpp
@@ -28,7 +28,8 @@
 {
 }
 
-template <typename T> SdRef<T>& SdRef<T>::operator=(const SdRef& other)
+template <typename T>
+SdRef<T>& SdRef<T>::operator=(const SdRef& other)
 {
     if (this != &other)
     {
@@ -44,7 +45,8 @@
     return *this;
 }
 
-template <typename T> SdRef<T>& SdRef<T>::operator=(SdRef&& other)
+template <typename T>
+SdRef<T>& SdRef<T>::operator=(SdRef&& other)
 {
     if (this != &other)
     {
@@ -60,14 +62,16 @@
     return *this;
 }
 
-template <typename T> SdRef<T>::~SdRef()
+template <typename T>
+SdRef<T>::~SdRef()
 {
     // release_ref will be invalid after a move
     if (release_ref)
         release_ref(sdevent, ref);
 }
 
-template <typename T> T* SdRef<T>::get() const
+template <typename T>
+T* SdRef<T>::get() const
 {
     return ref;
 }
diff --git a/src/sdeventplus/internal/sdref.hpp b/src/sdeventplus/internal/sdref.hpp
index bd220dd..0b1395f 100644
--- a/src/sdeventplus/internal/sdref.hpp
+++ b/src/sdeventplus/internal/sdref.hpp
@@ -9,7 +9,8 @@
 namespace internal
 {
 
-template <typename T> class SdRef
+template <typename T>
+class SdRef
 {
   public:
     using Func = std::function<T*(SdEvent*, T*)>;