Type signature lacks an accompanying binding [GHC-44432]
If a type signature is given for a name, then that name also needs to be defined.
Examples
Type signature lacks an accompanying binding
If a type signature is given for a name in a local let expression, then the name also needs to be defined.
In this example, a type signature was given for the name two in a let expression, but no definition was specified.
This error can be fixed by adding a definition which accompanies the type signature.
Error Message
MissingBinding.hs:6:5: error: [GHC-44432]
    The type signature for ‘two’ lacks an accompanying binding
  |
6 |     two :: Integer
  |     ^^^
MissingBinding.hs
module MissingBinding where
fortytwo :: Integer
fortytwo =
  let
    two :: Integer
  in
    40 + two
    module MissingBinding where
fortytwo :: Integer
fortytwo =
  let
    two :: Integer
    two = 2
  in
    40 + two
    Type signature lacks an accompanying binding
If a type signature is given for a name in a Haskell module, then the name also needs to be defined.
In this example, a type signature was given for the name someBoolean in a Haskell module, but no definition was specified.
This error can be fixed by adding a definition which accompanies the type signature.
Error Message
MissingBinding.hs:3:1: error: [GHC-44432]
    The type signature for ‘someBoolean’ lacks an accompanying binding
  |
3 | someBoolean :: Bool
  | ^^^^^^^^^^^
MissingBinding.hs
module MissingBinding where
someBoolean :: Bool
    module MissingBinding where
someBoolean :: Bool
someBoolean = True
    Type signature lacks an accompanying binding
If a type signature is given for a name in a Haskell module, then the name also needs to be defined.
In this example, the programmer misspelt the name factorial.
GHC helpfully suggests that fatcorial might be the intended spelling.
The error can be fixed by correcting the typo.
Error Message
MissingBinding.hs:5:1: error: [GHC-44432]
    The type signature for ‘factorial’ lacks an accompanying binding
    Suggested fix: Perhaps use ‘fatcorial’ (Defined at Main.hs:6:1)
  |
5 | factorial :: Natural -> Natural
  | ^^^^^^^^^
MissingBinding.hs
module MissingBinding where
import Numeric.Natural
factorial :: Natural -> Natural
fatcorial n
  | n == 0 = 1
  | otherwise = n * factorial (n - 1)
    module MissingBinding where
import Numeric.Natural
factorial :: Natural -> Natural
factorial n
  | n == 0 = 1
  | otherwise = n * factorial (n - 1)
    Type signature lacks an accompanying binding
If a type signature is given for a name in a where clause, then the name also needs to be defined.
In this example, a type signature was given for the name two in a where clause, but no definition was specified.
This error can be fixed by adding a definition which accompanies the type signature.
Error Message
MissingBinding.hs:6:5: error: [GHC-44432]
    The type signature for ‘two’ lacks an accompanying binding
  |
6 |     two :: Integer
  |     ^^^
MissingBinding.hs
module MissingBinding where
fortytwo :: Integer
fortytwo = 40 + two
  where
    two :: Integer
    module MissingBinding where
fortytwo :: Integer
fortytwo = 40 + two
  where
    two :: Integer
    two = 2