Skip to content

9.2.6: panic when compiling type-natural-1.1.0.1

Summary

GHC panics while compiling a profiling object of type-natural-1.1.0.1:

[ 6 of 10] Compiling Data.Type.Natural.Lemma.Order ( src/Data/Type/Natural/Lemma/Order.hs, dist/build/Data/Type/Natural/Lemma/Order.p_o )

src/Data/Type/Natural/Lemma/Order.hs:155:1: warning: [-Wunused-imports]
    The import of ‘Numeric.Natural’ is redundant
      except perhaps to import instances from ‘Numeric.Natural’
    To import instances alone, use: import Numeric.Natural()
    |
155 | import Numeric.Natural (Natural)
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

<no location info>: error:
    ghc: panic! (the 'impossible' happened)
  (GHC version 9.2.6:
        expectOnly: cgLit:Rubbish

Please report this as a GHC bug:  https://www.haskell.org/ghc/reportabug

Steps to reproduce

  • Compile type-natural-1.1.0.1 using GHC 9.2.6 with library profiling enabled
  • Alternatively: checkout 107c04a3cd80bca46e9025d6a8c9d3c210ead575 of nixpkgs and run nix-build -A haskellPackages.type-natural
full log
configureFlags: --verbose --prefix=/nix/store/kpgqmfzsn5nx08fmh0xbcrfisgrm56hp-type-natural-1.1.0.1 --libdir=$prefix/lib/$compiler --libsubdir=$abi/$libname --docdir=/nix/store/5rzvavmxnk1szn2d1f62x4lk917wvnq5-type-natural-1.1.0.1-doc/share/doc/type-natural-1.1.0.1 --with-gcc=gcc --package-db=/build/tmp.tUb59RTnrx/package.conf.d --ghc-options=-j4 +RTS -A64M -RTS --disable-split-objs --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --ghc-option=-split-sections --ghc-options=-haddock --extra-lib-dirs=/nix/store/35s126gfkfrwbiv49kv9kxqdpd9zvcvm-ncurses-6.4/lib --extra-lib-dirs=/nix/store/bmnh7b67zx6l5wi6vgjvsfwrzw7ivfph-libffi-3.4.4/lib --extra-lib-dirs=/nix/store/w3qi8zxj01mn4i92r8asmyljm42ps401-gmp-with-cxx-6.2.1/lib --extra-lib-dirs=/nix/store/322zfsd89g1xph46glm0jjvwjkj09mv4-ghc-9.2.6/lib
Using Parsec parser
Configuring type-natural-1.1.0.1...
Dependency base >=4 && <5: using base-4.16.4.0
Dependency constraints >=0.3: using constraints-0.13.4
Dependency equational-reasoning >=0.4.1.1: using equational-reasoning-0.7.0.1
Dependency ghc: using ghc-9.2.6
Dependency ghc-typelits-knownnat: using ghc-typelits-knownnat-0.7.7
Dependency ghc-typelits-natnormalise >=0.4: using
ghc-typelits-natnormalise-0.7.7
Dependency ghc-typelits-presburger >=0.5.1: using
ghc-typelits-presburger-0.6.2.0
Dependency integer-logarithms: using integer-logarithms-1.0.3.1
Dependency template-haskell >=2.8: using template-haskell-2.18.0.0
Dependency QuickCheck: using QuickCheck-2.14.2
Dependency base: using base-4.16.4.0
Dependency equational-reasoning: using equational-reasoning-0.7.0.1
Dependency integer-logarithms: using integer-logarithms-1.0.3.1
Dependency quickcheck-instances: using quickcheck-instances-0.3.28
Dependency tasty: using tasty-1.4.3
Dependency tasty-discover: using tasty-discover-4.2.2
Dependency tasty-hunit: using tasty-hunit-0.10.0.3
Dependency tasty-quickcheck: using tasty-quickcheck-0.10.2
Dependency template-haskell: using template-haskell-2.18.0.0
Dependency type-natural: using type-natural-1.1.0.1
Source component graph:
    component lib
    component test:type-natural-test dependency lib
Configured component graph:
    component type-natural-1.1.0.1-SEgCR8MpYs49rIBoKC8hD
        include base-4.16.4.0
        include constraints-0.13.4-Ev2HlZTRtn3DbSYmh9cnHY
        include equational-reasoning-0.7.0.1-IShDaZne2bs954OCeB4On5
        include ghc-9.2.6
        include ghc-typelits-knownnat-0.7.7-CHQVSRxxi9g1VkKmxvlbMN
        include ghc-typelits-natnormalise-0.7.7-GaCRdSNHVmr5z4fjv4th
        include ghc-typelits-presburger-0.6.2.0-BPR6nvEeHXb55wKrnGmn1x
        include integer-logarithms-1.0.3.1-HD4Ba46Xh9wIBhXmf2Qwpm
        include template-haskell-2.18.0.0
    component type-natural-1.1.0.1-Ha8ntknPWIQ8nXv4Mv1hkp-type-natural-test
        include QuickCheck-2.14.2-9swKYhr9FC68rr9oJeIYxS
        include base-4.16.4.0
        include equational-reasoning-0.7.0.1-IShDaZne2bs954OCeB4On5
        include integer-logarithms-1.0.3.1-HD4Ba46Xh9wIBhXmf2Qwpm
        include quickcheck-instances-0.3.28-Fo0LIbt2gzJ8KzvgUoV0Qz
        include tasty-1.4.3-I7UTXXBNQmpBuxsD7iBDf
        include tasty-discover-4.2.2-KJvCoJH3cmyBcXXL7ASDgV
        include tasty-hunit-0.10.0.3-5gW5br1avVmDRoG1UA3lIa
        include tasty-quickcheck-0.10.2-Hc60Fs2w7MeAFcigstw6gD
        include template-haskell-2.18.0.0
        include type-natural-1.1.0.1-SEgCR8MpYs49rIBoKC8hD
Linked component graph:
    unit type-natural-1.1.0.1-SEgCR8MpYs49rIBoKC8hD
        include base-4.16.4.0
        include constraints-0.13.4-Ev2HlZTRtn3DbSYmh9cnHY
        include equational-reasoning-0.7.0.1-IShDaZne2bs954OCeB4On5
        include ghc-9.2.6
        include ghc-typelits-knownnat-0.7.7-CHQVSRxxi9g1VkKmxvlbMN
        include ghc-typelits-natnormalise-0.7.7-GaCRdSNHVmr5z4fjv4th
        include ghc-typelits-presburger-0.6.2.0-BPR6nvEeHXb55wKrnGmn1x
        include integer-logarithms-1.0.3.1-HD4Ba46Xh9wIBhXmf2Qwpm
        include template-haskell-2.18.0.0
        Data.Type.Natural=type-natural-1.1.0.1-SEgCR8MpYs49rIBoKC8hD:Data.Type.Natural,Data.Type.Natural.Builtin=type-natural-1.1.0.1-SEgCR8MpYs49rIBoKC8hD:Data.Type.Natural.Builtin,Data.Type.Natural.Lemma.Arithmetic=type-natural-1.1.0.1-SEgCR8MpYs49rIBoKC8hD:Data.Type.Natural.Lemma.Arithmetic,Data.Type.Natural.Lemma.Order=type-natural-1.1.0.1-SEgCR8MpYs49rIBoKC8hD:Data.Type.Natural.Lemma.Order,Data.Type.Natural.Presburger.MinMaxSolver=type-natural-1.1.0.1-SEgCR8MpYs49rIBoKC8hD:Data.Type.Natural.Presburger.MinMaxSolver,Data.Type.Ordinal=type-natural-1.1.0.1-SEgCR8MpYs49rIBoKC8hD:Data.Type.Ordinal,Data.Type.Ordinal.Builtin=type-natural-1.1.0.1-SEgCR8MpYs49rIBoKC8hD:Data.Type.Ordinal.Builtin
    unit type-natural-1.1.0.1-Ha8ntknPWIQ8nXv4Mv1hkp-type-natural-test
        include QuickCheck-2.14.2-9swKYhr9FC68rr9oJeIYxS
        include base-4.16.4.0
        include equational-reasoning-0.7.0.1-IShDaZne2bs954OCeB4On5
        include integer-logarithms-1.0.3.1-HD4Ba46Xh9wIBhXmf2Qwpm
        include quickcheck-instances-0.3.28-Fo0LIbt2gzJ8KzvgUoV0Qz
        include tasty-1.4.3-I7UTXXBNQmpBuxsD7iBDf
        include tasty-discover-4.2.2-KJvCoJH3cmyBcXXL7ASDgV
        include tasty-hunit-0.10.0.3-5gW5br1avVmDRoG1UA3lIa
        include tasty-quickcheck-0.10.2-Hc60Fs2w7MeAFcigstw6gD
        include template-haskell-2.18.0.0
        include type-natural-1.1.0.1-SEgCR8MpYs49rIBoKC8hD
Ready component graph:
    definite type-natural-1.1.0.1-SEgCR8MpYs49rIBoKC8hD
        depends base-4.16.4.0
        depends constraints-0.13.4-Ev2HlZTRtn3DbSYmh9cnHY
        depends equational-reasoning-0.7.0.1-IShDaZne2bs954OCeB4On5
        depends ghc-9.2.6
        depends ghc-typelits-knownnat-0.7.7-CHQVSRxxi9g1VkKmxvlbMN
        depends ghc-typelits-natnormalise-0.7.7-GaCRdSNHVmr5z4fjv4th
        depends ghc-typelits-presburger-0.6.2.0-BPR6nvEeHXb55wKrnGmn1x
        depends integer-logarithms-1.0.3.1-HD4Ba46Xh9wIBhXmf2Qwpm
        depends template-haskell-2.18.0.0
    definite type-natural-1.1.0.1-Ha8ntknPWIQ8nXv4Mv1hkp-type-natural-test
        depends QuickCheck-2.14.2-9swKYhr9FC68rr9oJeIYxS
        depends base-4.16.4.0
        depends equational-reasoning-0.7.0.1-IShDaZne2bs954OCeB4On5
        depends integer-logarithms-1.0.3.1-HD4Ba46Xh9wIBhXmf2Qwpm
        depends quickcheck-instances-0.3.28-Fo0LIbt2gzJ8KzvgUoV0Qz
        depends tasty-1.4.3-I7UTXXBNQmpBuxsD7iBDf
        depends tasty-discover-4.2.2-KJvCoJH3cmyBcXXL7ASDgV
        depends tasty-hunit-0.10.0.3-5gW5br1avVmDRoG1UA3lIa
        depends tasty-quickcheck-0.10.2-Hc60Fs2w7MeAFcigstw6gD
        depends template-haskell-2.18.0.0
        depends type-natural-1.1.0.1-SEgCR8MpYs49rIBoKC8hD
Using Cabal-3.6.3.0 compiled by ghc-9.2
Using compiler: ghc-9.2.6
Using install prefix:
/nix/store/kpgqmfzsn5nx08fmh0xbcrfisgrm56hp-type-natural-1.1.0.1
Executables installed in:
/nix/store/kpgqmfzsn5nx08fmh0xbcrfisgrm56hp-type-natural-1.1.0.1/bin
Libraries installed in:
/nix/store/kpgqmfzsn5nx08fmh0xbcrfisgrm56hp-type-natural-1.1.0.1/lib/ghc-9.2.6/x86_64-linux-ghc-9.2.6/type-natural-1.1.0.1-SEgCR8MpYs49rIBoKC8hD
Dynamic Libraries installed in:
/nix/store/kpgqmfzsn5nx08fmh0xbcrfisgrm56hp-type-natural-1.1.0.1/lib/ghc-9.2.6/x86_64-linux-ghc-9.2.6
Private executables installed in:
/nix/store/kpgqmfzsn5nx08fmh0xbcrfisgrm56hp-type-natural-1.1.0.1/libexec/x86_64-linux-ghc-9.2.6/type-natural-1.1.0.1
Data files installed in:
/nix/store/kpgqmfzsn5nx08fmh0xbcrfisgrm56hp-type-natural-1.1.0.1/share/x86_64-linux-ghc-9.2.6/type-natural-1.1.0.1
Documentation installed in:
/nix/store/5rzvavmxnk1szn2d1f62x4lk917wvnq5-type-natural-1.1.0.1-doc/share/doc/type-natural-1.1.0.1
Configuration files installed in:
/nix/store/kpgqmfzsn5nx08fmh0xbcrfisgrm56hp-type-natural-1.1.0.1/etc
No alex found
Using ar found on system at:
/nix/store/qmmd097h4rwh2pwgz9l9i0byxb0x8q8l-binutils-2.40/bin/ar
No c2hs found
No cpphs found
No doctest found
Using gcc version 12.2.0 given by user at:
/nix/store/l0fvy72hpfdpjjs3dk4112f57x7r3dlm-gcc-wrapper-12.2.0/bin/gcc
Using ghc version 9.2.6 found on system at:
/nix/store/322zfsd89g1xph46glm0jjvwjkj09mv4-ghc-9.2.6/bin/ghc
Using ghc-pkg version 9.2.6 found on system at:
/nix/store/322zfsd89g1xph46glm0jjvwjkj09mv4-ghc-9.2.6/bin/ghc-pkg-9.2.6
No ghcjs found
No ghcjs-pkg found
No greencard found
Using haddock version 2.26.0 found on system at:
/nix/store/322zfsd89g1xph46glm0jjvwjkj09mv4-ghc-9.2.6/bin/haddock-ghc-9.2.6
No happy found
Using haskell-suite found on system at: haskell-suite-dummy-location
Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
No hmake found
Using hpc version 0.68 found on system at:
/nix/store/322zfsd89g1xph46glm0jjvwjkj09mv4-ghc-9.2.6/bin/hpc
Using hsc2hs version 0.68.8 found on system at:
/nix/store/322zfsd89g1xph46glm0jjvwjkj09mv4-ghc-9.2.6/bin/hsc2hs
Using hscolour version 1.24 found on system at:
/nix/store/cs28fbj8zg8f7m49pgi85xan4x6wjyxn-hscolour-1.24.4/bin/HsColour
No jhc found
Using ld found on system at:
/nix/store/72nvsslmgq8mp6ywxnl9i0rr8x174sjw-binutils-wrapper-2.40/bin/ld.gold
No pkg-config found
Using runghc version 9.2.6 found on system at:
/nix/store/322zfsd89g1xph46glm0jjvwjkj09mv4-ghc-9.2.6/bin/runghc-9.2.6
Using strip version 2.40 found on system at:
/nix/store/l0fvy72hpfdpjjs3dk4112f57x7r3dlm-gcc-wrapper-12.2.0/bin/strip
Using tar found on system at:
/nix/store/dyyx4hjy9sx92nwwlj4mm334b7dkzj70-gnutar-1.34/bin/tar
No uhc found
building
Preprocessing library for type-natural-1.1.0.1..
Building library for type-natural-1.1.0.1..
[ 1 of 10] Compiling Data.Type.Natural.Presburger.MinMaxSolver ( src/Data/Type/Natural/Presburger/MinMaxSolver.hs, dist/build/Data/Type/Natural/Presburger/MinMaxSolver.o, dist/build/Data/Type/Natural/Presburger/MinMaxSolver.dyn_o )

src/Data/Type/Natural/Presburger/MinMaxSolver.hs:14:1: warning: [-Wunused-imports]
    The import of ‘GHC.Plugins’ is redundant
      except perhaps to import instances from ‘GHC.Plugins’
    To import instances alone, use: import GHC.Plugins()
   |
14 | import GHC.Plugins
   | ^^^^^^^^^^^^^^^^^^...

src/Data/Type/Natural/Presburger/MinMaxSolver.hs:21:1: warning: [-Wunused-imports]
    The import of ‘GHC.Tc.Plugin’ is redundant
      except perhaps to import instances from ‘GHC.Tc.Plugin’
    To import instances alone, use: import GHC.Tc.Plugin()
   |
21 | import GHC.Tc.Plugin
   | ^^^^^^^^^^^^^^^^^^^^
[ 2 of 10] Compiling Data.Type.Natural.Utils ( src/Data/Type/Natural/Utils.hs, dist/build/Data/Type/Natural/Utils.o, dist/build/Data/Type/Natural/Utils.dyn_o )
[ 3 of 10] Compiling Data.Type.Natural.Core ( src/Data/Type/Natural/Core.hs, dist/build/Data/Type/Natural/Core.o, dist/build/Data/Type/Natural/Core.dyn_o )

src/Data/Type/Natural/Core.hs:76:1: warning: [-Wunused-imports]
    The import of ‘Numeric.Natural’ is redundant
      except perhaps to import instances from ‘Numeric.Natural’
    To import instances alone, use: import Numeric.Natural()
   |
76 | import Numeric.Natural (Natural)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[ 4 of 10] Compiling Data.Type.Natural.Lemma.Presburger ( src/Data/Type/Natural/Lemma/Presburger.hs, dist/build/Data/Type/Natural/Lemma/Presburger.o, dist/build/Data/Type/Natural/Lemma/Presburger.dyn_o )

src/Data/Type/Natural/Lemma/Presburger.hs:37:1: warning: [-Woverlapping-patterns]
    Pattern match has inaccessible right hand side
    In an equation for ‘succNonCyclic’:
        succNonCyclic (Succ n) Refl = ...
   |
37 | succNonCyclic (Succ n) Refl = succNonCyclic n Refl
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/Type/Natural/Lemma/Presburger.hs:37:24: warning: [-Winaccessible-code]
    • Could not deduce: 1 ~ 0
      from the context: n ~ Succ n1
        bound by a pattern with pattern synonym:
                   Succ :: forall (n :: Natural).
                           () =>
                           forall (n1 :: Natural). (n ~ Succ n1) => SNat n1 -> SNat n,
                 in an equation for ‘succNonCyclic’
        at src/Data/Type/Natural/Lemma/Presburger.hs:37:16-21
      or from: 0 ~ Succ n
        bound by a pattern with constructor:
                   Refl :: forall {k} (a :: k). a :~: a,
                 in an equation for ‘succNonCyclic’
        at src/Data/Type/Natural/Lemma/Presburger.hs:37:24-27
      Inaccessible code in
        a pattern with constructor: Refl :: forall {k} (a :: k). a :~: a,
        in an equation for ‘succNonCyclic’
    • In the pattern: Refl
      In an equation for ‘succNonCyclic’:
          succNonCyclic (Succ n) Refl = succNonCyclic n Refl
   |
37 | succNonCyclic (Succ n) Refl = succNonCyclic n Refl
   |                        ^^^^
[ 5 of 10] Compiling Data.Type.Natural.Lemma.Arithmetic ( src/Data/Type/Natural/Lemma/Arithmetic.hs, dist/build/Data/Type/Natural/Lemma/Arithmetic.o, dist/build/Data/Type/Natural/Lemma/Arithmetic.dyn_o )

src/Data/Type/Natural/Lemma/Arithmetic.hs:290:1: warning: [-Woverlapping-patterns]
    Pattern match has inaccessible right hand side
    In an equation for ‘multEqSuccElimL’:
        multEqSuccElimL Zero _ l Refl = ...
    |
290 | multEqSuccElimL Zero _ l Refl = absurd $ succNonCyclic l Refl
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/Type/Natural/Lemma/Arithmetic.hs:290:26: warning: [-Winaccessible-code]
    • Could not deduce: 1 ~ 0
      from the context: n ~ 0
        bound by a pattern with pattern synonym:
                   Zero :: forall (n :: Natural). () => (n ~ 0) => SNat n,
                 in an equation for ‘multEqSuccElimL’
        at src/Data/Type/Natural/Lemma/Arithmetic.hs:290:17-20
      or from: Succ l ~ (n * m)
        bound by a pattern with constructor:
                   Refl :: forall {k} (a :: k). a :~: a,
                 in an equation for ‘multEqSuccElimL’
        at src/Data/Type/Natural/Lemma/Arithmetic.hs:290:26-29
      Inaccessible code in
        a pattern with constructor: Refl :: forall {k} (a :: k). a :~: a,
        in an equation for ‘multEqSuccElimL’
    • In the pattern: Refl
      In an equation for ‘multEqSuccElimL’:
          multEqSuccElimL Zero _ l Refl = absurd $ succNonCyclic l Refl
    |
290 | multEqSuccElimL Zero _ l Refl = absurd $ succNonCyclic l Refl
    |                          ^^^^

src/Data/Type/Natural/Lemma/Arithmetic.hs:294:1: warning: [-Woverlapping-patterns]
    Pattern match has inaccessible right hand side
    In an equation for ‘multEqSuccElimR’:
        multEqSuccElimR _ Zero l Refl = ...
    |
294 | multEqSuccElimR _ Zero l Refl = absurd $ succNonCyclic l Refl
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/Type/Natural/Lemma/Arithmetic.hs:294:26: warning: [-Winaccessible-code]
    • Could not deduce: 1 ~ 0
      from the context: m ~ 0
        bound by a pattern with pattern synonym:
                   Zero :: forall (n :: Natural). () => (n ~ 0) => SNat n,
                 in an equation for ‘multEqSuccElimR’
        at src/Data/Type/Natural/Lemma/Arithmetic.hs:294:19-22
      or from: Succ l ~ (n * m)
        bound by a pattern with constructor:
                   Refl :: forall {k} (a :: k). a :~: a,
                 in an equation for ‘multEqSuccElimR’
        at src/Data/Type/Natural/Lemma/Arithmetic.hs:294:26-29
      Inaccessible code in
        a pattern with constructor: Refl :: forall {k} (a :: k). a :~: a,
        in an equation for ‘multEqSuccElimR’
    • In the pattern: Refl
      In an equation for ‘multEqSuccElimR’:
          multEqSuccElimR _ Zero l Refl = absurd $ succNonCyclic l Refl
    |
294 | multEqSuccElimR _ Zero l Refl = absurd $ succNonCyclic l Refl
    |                          ^^^^
[ 6 of 10] Compiling Data.Type.Natural.Lemma.Order ( src/Data/Type/Natural/Lemma/Order.hs, dist/build/Data/Type/Natural/Lemma/Order.o, dist/build/Data/Type/Natural/Lemma/Order.dyn_o )

src/Data/Type/Natural/Lemma/Order.hs:155:1: warning: [-Wunused-imports]
    The import of ‘Numeric.Natural’ is redundant
      except perhaps to import instances from ‘Numeric.Natural’
    To import instances alone, use: import Numeric.Natural()
    |
155 | import Numeric.Natural (Natural)
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[ 7 of 10] Compiling Data.Type.Natural ( src/Data/Type/Natural.hs, dist/build/Data/Type/Natural.o, dist/build/Data/Type/Natural.dyn_o )

src/Data/Type/Natural.hs:118:1: warning: [-Wunused-imports]
    The import of ‘Numeric.Natural’ is redundant
      except perhaps to import instances from ‘Numeric.Natural’
    To import instances alone, use: import Numeric.Natural()
    |
118 | import Numeric.Natural
    | ^^^^^^^^^^^^^^^^^^^^^^
[ 8 of 10] Compiling Data.Type.Natural.Builtin ( src/Data/Type/Natural/Builtin.hs, dist/build/Data/Type/Natural/Builtin.o, dist/build/Data/Type/Natural/Builtin.dyn_o )
[ 9 of 10] Compiling Data.Type.Ordinal ( src/Data/Type/Ordinal.hs, dist/build/Data/Type/Ordinal.o, dist/build/Data/Type/Ordinal.dyn_o )

src/Data/Type/Ordinal.hs:67:1: warning: [-Wunused-imports]
    The import of ‘Data.Type.Natural.Core’ is redundant
      except perhaps to import instances from ‘Data.Type.Natural.Core’
    To import instances alone, use: import Data.Type.Natural.Core()
   |
67 | import Data.Type.Natural.Core (SNat (..))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[10 of 10] Compiling Data.Type.Ordinal.Builtin ( src/Data/Type/Ordinal/Builtin.hs, dist/build/Data/Type/Ordinal/Builtin.o, dist/build/Data/Type/Ordinal/Builtin.dyn_o )
[ 1 of 10] Compiling Data.Type.Natural.Presburger.MinMaxSolver ( src/Data/Type/Natural/Presburger/MinMaxSolver.hs, dist/build/Data/Type/Natural/Presburger/MinMaxSolver.p_o )

src/Data/Type/Natural/Presburger/MinMaxSolver.hs:14:1: warning: [-Wunused-imports]
    The import of ‘GHC.Plugins’ is redundant
      except perhaps to import instances from ‘GHC.Plugins’
    To import instances alone, use: import GHC.Plugins()
   |
14 | import GHC.Plugins
   | ^^^^^^^^^^^^^^^^^^...

src/Data/Type/Natural/Presburger/MinMaxSolver.hs:21:1: warning: [-Wunused-imports]
    The import of ‘GHC.Tc.Plugin’ is redundant
      except perhaps to import instances from ‘GHC.Tc.Plugin’
    To import instances alone, use: import GHC.Tc.Plugin()
   |
21 | import GHC.Tc.Plugin
   | ^^^^^^^^^^^^^^^^^^^^
[ 2 of 10] Compiling Data.Type.Natural.Utils ( src/Data/Type/Natural/Utils.hs, dist/build/Data/Type/Natural/Utils.p_o )
[ 3 of 10] Compiling Data.Type.Natural.Core ( src/Data/Type/Natural/Core.hs, dist/build/Data/Type/Natural/Core.p_o )

src/Data/Type/Natural/Core.hs:76:1: warning: [-Wunused-imports]
    The import of ‘Numeric.Natural’ is redundant
      except perhaps to import instances from ‘Numeric.Natural’
    To import instances alone, use: import Numeric.Natural()
   |
76 | import Numeric.Natural (Natural)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[ 4 of 10] Compiling Data.Type.Natural.Lemma.Presburger ( src/Data/Type/Natural/Lemma/Presburger.hs, dist/build/Data/Type/Natural/Lemma/Presburger.p_o )

src/Data/Type/Natural/Lemma/Presburger.hs:37:1: warning: [-Woverlapping-patterns]
    Pattern match has inaccessible right hand side
    In an equation for ‘succNonCyclic’:
        succNonCyclic (Succ n) Refl = ...
   |
37 | succNonCyclic (Succ n) Refl = succNonCyclic n Refl
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/Type/Natural/Lemma/Presburger.hs:37:24: warning: [-Winaccessible-code]
    • Could not deduce: 1 ~ 0
      from the context: n ~ Succ n1
        bound by a pattern with pattern synonym:
                   Succ :: forall (n :: Natural).
                           () =>
                           forall (n1 :: Natural). (n ~ Succ n1) => SNat n1 -> SNat n,
                 in an equation for ‘succNonCyclic’
        at src/Data/Type/Natural/Lemma/Presburger.hs:37:16-21
      or from: 0 ~ Succ n
        bound by a pattern with constructor:
                   Refl :: forall {k} (a :: k). a :~: a,
                 in an equation for ‘succNonCyclic’
        at src/Data/Type/Natural/Lemma/Presburger.hs:37:24-27
      Inaccessible code in
        a pattern with constructor: Refl :: forall {k} (a :: k). a :~: a,
        in an equation for ‘succNonCyclic’
    • In the pattern: Refl
      In an equation for ‘succNonCyclic’:
          succNonCyclic (Succ n) Refl = succNonCyclic n Refl
   |
37 | succNonCyclic (Succ n) Refl = succNonCyclic n Refl
   |                        ^^^^
[ 5 of 10] Compiling Data.Type.Natural.Lemma.Arithmetic ( src/Data/Type/Natural/Lemma/Arithmetic.hs, dist/build/Data/Type/Natural/Lemma/Arithmetic.p_o )

src/Data/Type/Natural/Lemma/Arithmetic.hs:290:1: warning: [-Woverlapping-patterns]
    Pattern match has inaccessible right hand side
    In an equation for ‘multEqSuccElimL’:
        multEqSuccElimL Zero _ l Refl = ...
    |
290 | multEqSuccElimL Zero _ l Refl = absurd $ succNonCyclic l Refl
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/Type/Natural/Lemma/Arithmetic.hs:290:26: warning: [-Winaccessible-code]
    • Could not deduce: 1 ~ 0
      from the context: n ~ 0
        bound by a pattern with pattern synonym:
                   Zero :: forall (n :: Natural). () => (n ~ 0) => SNat n,
                 in an equation for ‘multEqSuccElimL’
        at src/Data/Type/Natural/Lemma/Arithmetic.hs:290:17-20
      or from: Succ l ~ (n * m)
        bound by a pattern with constructor:
                   Refl :: forall {k} (a :: k). a :~: a,
                 in an equation for ‘multEqSuccElimL’
        at src/Data/Type/Natural/Lemma/Arithmetic.hs:290:26-29
      Inaccessible code in
        a pattern with constructor: Refl :: forall {k} (a :: k). a :~: a,
        in an equation for ‘multEqSuccElimL’
    • In the pattern: Refl
      In an equation for ‘multEqSuccElimL’:
          multEqSuccElimL Zero _ l Refl = absurd $ succNonCyclic l Refl
    |
290 | multEqSuccElimL Zero _ l Refl = absurd $ succNonCyclic l Refl
    |                          ^^^^

src/Data/Type/Natural/Lemma/Arithmetic.hs:294:1: warning: [-Woverlapping-patterns]
    Pattern match has inaccessible right hand side
    In an equation for ‘multEqSuccElimR’:
        multEqSuccElimR _ Zero l Refl = ...
    |
294 | multEqSuccElimR _ Zero l Refl = absurd $ succNonCyclic l Refl
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/Type/Natural/Lemma/Arithmetic.hs:294:26: warning: [-Winaccessible-code]
    • Could not deduce: 1 ~ 0
      from the context: m ~ 0
        bound by a pattern with pattern synonym:
                   Zero :: forall (n :: Natural). () => (n ~ 0) => SNat n,
                 in an equation for ‘multEqSuccElimR’
        at src/Data/Type/Natural/Lemma/Arithmetic.hs:294:19-22
      or from: Succ l ~ (n * m)
        bound by a pattern with constructor:
                   Refl :: forall {k} (a :: k). a :~: a,
                 in an equation for ‘multEqSuccElimR’
        at src/Data/Type/Natural/Lemma/Arithmetic.hs:294:26-29
      Inaccessible code in
        a pattern with constructor: Refl :: forall {k} (a :: k). a :~: a,
        in an equation for ‘multEqSuccElimR’
    • In the pattern: Refl
      In an equation for ‘multEqSuccElimR’:
          multEqSuccElimR _ Zero l Refl = absurd $ succNonCyclic l Refl
    |
294 | multEqSuccElimR _ Zero l Refl = absurd $ succNonCyclic l Refl
    |                          ^^^^
[ 6 of 10] Compiling Data.Type.Natural.Lemma.Order ( src/Data/Type/Natural/Lemma/Order.hs, dist/build/Data/Type/Natural/Lemma/Order.p_o )

src/Data/Type/Natural/Lemma/Order.hs:155:1: warning: [-Wunused-imports]
    The import of ‘Numeric.Natural’ is redundant
      except perhaps to import instances from ‘Numeric.Natural’
    To import instances alone, use: import Numeric.Natural()
    |
155 | import Numeric.Natural (Natural)
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

<no location info>: error:
    ghc: panic! (the 'impossible' happened)
  (GHC version 9.2.6:
        expectOnly: cgLit:Rubbish

Please report this as a GHC bug:  https://www.haskell.org/ghc/reportabug

Expected behavior

It compiles fine

Environment

  • GHC version used: 9.2.6

Optional:

  • Operating System: NixOS
  • System Architecture: x86_64-linux
Edited by sterni
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information