diff --git a/Changelog.md b/Changelog.md
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,3 +1,7 @@
+# 0.4.1
+
+- Mark `MkSolo` pattern synonym as `COMPLETE`
+
 # 0.4
 
 - Rename constructor to `MkSolo` as in `base-4.17`.
diff --git a/OneTuple.cabal b/OneTuple.cabal
--- a/OneTuple.cabal
+++ b/OneTuple.cabal
@@ -1,6 +1,6 @@
 cabal-version:      1.12
 name:               OneTuple
-version:            0.4
+version:            0.4.1
 synopsis:           Singleton Tuple
 category:           Data
 description:
diff --git a/src/Data/Tuple/Solo.hs b/src/Data/Tuple/Solo.hs
--- a/src/Data/Tuple/Solo.hs
+++ b/src/Data/Tuple/Solo.hs
@@ -50,6 +50,8 @@
 pattern MkSolo :: a -> Solo a
 pattern MkSolo a = Solo a
 
+{-# COMPLETE MkSolo #-}
+
 #elif MIN_VERSION_base(4,15,0)
 import GHC.Tuple (Solo (Solo))
 
diff --git a/test/instances.hs b/test/instances.hs
--- a/test/instances.hs
+++ b/test/instances.hs
@@ -1,4 +1,9 @@
 {-# LANGUAGE CPP #-}
+#if __GLASGOW_HASKELL__ >= 800
+{-# OPTIONS_GHC -Wincomplete-patterns -Werror=incomplete-patterns #-}
+#else
+{-# OPTIONS_GHC -fwarn-incomplete-patterns -Werror #-}
+#endif
 module Main where
 
 import Control.Applicative  (Applicative (..))
@@ -22,6 +27,13 @@
 
 main :: IO ()
 main = putStrLn "works"
+
+-------------------------------------------------------------------------------
+-- pattern match
+-------------------------------------------------------------------------------
+
+match :: Solo a -> a
+match (MkSolo x) = x
 
 -------------------------------------------------------------------------------
 -- Instances
