Skip to content

Build warnings on GHC 9.12.2 #376

@maerten

Description

@maerten

I noticed a bunch of warnings during compilation. Just leaving it here for reference.

macOS 15.5 (24F74)

$ stack --version
Version 3.5.1, Git revision 5c774d7ca92f4716ef7a51d5da21a5c3713517a5 aarch64 hpack-0.38.0

$ stack ghc -- --version
The Glorious Glasgow Haskell Compilation System, version 9.12.2
hmatrix         > configure
hmatrix         > Warning: hmatrix.cabal:22:28: Packages with 'cabal-version: 1.12' or later
hmatrix         > should specify a specific version of the Cabal spec of the form
hmatrix         > 'cabal-version: x.y'. Use 'cabal-version: 1.18'.
hmatrix         > Configuring hmatrix-0.20.2...
hmatrix         > build with ghc-9.12.2
hmatrix         > Preprocessing library for hmatrix-0.20.2...
hmatrix         > Building library for hmatrix-0.20.2...
hmatrix         > [ 1 of 27] Compiling Internal.Vector
hmatrix         > [ 2 of 27] Compiling Internal.Devel
hmatrix         > [ 3 of 27] Compiling Internal.Vectorized
hmatrix         > [ 4 of 27] Compiling Internal.Matrix
hmatrix         > [ 5 of 27] Compiling Internal.ST
hmatrix         > [ 6 of 27] Compiling Internal.IO
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/IO.hs:110:26: warning: [GHC-63394] [-Wx-partial]
hmatrix         >     In the use of ‘tail’
hmatrix         >     (imported from Prelude, but defined in GHC.Internal.List):
hmatrix         >     "This is a partial function, it throws an error on empty lists. Replace it with 'drop' 1, or use pattern matching or 'GHC.Internal.Data.List.uncons' instead. Consider refactoring to use "Data.List.NonEmpty"."
hmatrix         >     |
hmatrix         > 110 |     . unwords . lines .  tail . dropWhile (not . (`elem` " \n"))
hmatrix         >     |                          ^^^^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/IO.hs:124:94: warning: [GHC-63394] [-Wx-partial]
hmatrix         >     In the use of ‘tail’
hmatrix         >     (imported from Prelude, but defined in GHC.Internal.List):
hmatrix         >     "This is a partial function, it throws an error on empty lists. Replace it with 'drop' 1, or use pattern matching or 'GHC.Internal.Data.List.uncons' instead. Consider refactoring to use "Data.List.NonEmpty"."
hmatrix         >     |
hmatrix         > 124 |     where f = unlines . intersperse "\\\\" . map unwords . map (intersperse " & " . words) . tail . lines
hmatrix         >     |                                                                                              ^^^^
hmatrix         >
hmatrix         > [ 7 of 27] Compiling Internal.Element
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Element.hs:81:23: warning: [GHC-63394] [-Wx-partial]
hmatrix         >     In the use of ‘tail’
hmatrix         >     (imported from Prelude, but defined in GHC.Internal.List):
hmatrix         >     "This is a partial function, it throws an error on empty lists. Replace it with 'drop' 1, or use pattern matching or 'GHC.Internal.Data.List.uncons' instead. Consider refactoring to use "Data.List.NonEmpty"."
hmatrix         >    |
hmatrix         > 81 | breakAt c l = (a++[c],tail b) where
hmatrix         >    |                       ^^^^
hmatrix         >
hmatrix         > [ 8 of 27] Compiling Internal.Conversion
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Conversion.hs:83:5: warning: [GHC-62161] [-Wincomplete-uni-patterns]
hmatrix         >     Pattern match(es) are non-exhaustive
hmatrix         >     In a pattern binding:
hmatrix         >         Patterns of type ‘[Vector a]’ not matched:
hmatrix         >             []
hmatrix         >             [_]
hmatrix         >             (_:_:_:_)
hmatrix         >    |
hmatrix         > 83 |     [r,i] = toColumns $ reshape 2 $ asReal z
hmatrix         >    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
hmatrix         >
hmatrix         > [ 9 of 27] Compiling Internal.LAPACK
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/LAPACK.hs:509:16: warning: [GHC-63394] [-Wx-partial]
hmatrix         >     In the use of ‘head’
hmatrix         >     (imported from Prelude, but defined in GHC.Internal.List):
hmatrix         >     "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"."
hmatrix         >     |
hmatrix         > 509 |         dl' <- head . toRows <$> copy ColumnMajor (fromRows [dl])
hmatrix         >     |                ^^^^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/LAPACK.hs:510:16: warning: [GHC-63394] [-Wx-partial]
hmatrix         >     In the use of ‘head’
hmatrix         >     (imported from Prelude, but defined in GHC.Internal.List):
hmatrix         >     "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"."
hmatrix         >     |
hmatrix         > 510 |         du' <- head . toRows <$> copy ColumnMajor (fromRows [du])
hmatrix         >     |                ^^^^
hmatrix         >
hmatrix         > [10 of 27] Compiling Internal.Numeric
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Numeric.hs:34:27: warning: [GHC-39567] [-Wstar-is-type]
hmatrix         >     Using ‘*’ (or its Unicode variant) to mean ‘Data.Kind.Type’
hmatrix         >     relies on the StarIsType extension, which will become
hmatrix         >     deprecated in the future.
hmatrix         >     Suggested fix: Use ‘Type’ from ‘Data.Kind’ instead.
hmatrix         >    |
hmatrix         > 34 | type family IndexOf (c :: * -> *)
hmatrix         >    |                           ^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Numeric.hs:34:32: warning: [GHC-39567] [-Wstar-is-type]
hmatrix         >     Using ‘*’ (or its Unicode variant) to mean ‘Data.Kind.Type’
hmatrix         >     relies on the StarIsType extension, which will become
hmatrix         >     deprecated in the future.
hmatrix         >     Suggested fix: Use ‘Type’ from ‘Data.Kind’ instead.
hmatrix         >    |
hmatrix         > 34 | type family IndexOf (c :: * -> *)
hmatrix         >    |                                ^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Numeric.hs:39:25: warning: [GHC-39567] [-Wstar-is-type]
hmatrix         >     Using ‘*’ (or its Unicode variant) to mean ‘Data.Kind.Type’
hmatrix         >     relies on the StarIsType extension, which will become
hmatrix         >     deprecated in the future.
hmatrix         >     Suggested fix: Use ‘Type’ from ‘Data.Kind’ instead.
hmatrix         >    |
hmatrix         > 39 | type family ArgOf (c :: * -> *) a
hmatrix         >    |                         ^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Numeric.hs:39:30: warning: [GHC-39567] [-Wstar-is-type]
hmatrix         >     Using ‘*’ (or its Unicode variant) to mean ‘Data.Kind.Type’
hmatrix         >     relies on the StarIsType extension, which will become
hmatrix         >     deprecated in the future.
hmatrix         >     Suggested fix: Use ‘Type’ from ‘Data.Kind’ instead.
hmatrix         >    |
hmatrix         > 39 | type family ArgOf (c :: * -> *) a
hmatrix         >    |                              ^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Numeric.hs:864:5: warning: [GHC-62161] [-Wincomplete-uni-patterns]
hmatrix         >     Pattern match(es) are non-exhaustive
hmatrix         >     In a pattern binding: Patterns of type ‘[Matrix e]’ not matched: []
hmatrix         >     |
hmatrix         > 864 |     args@(a'':_) = conformMs [a,b]
hmatrix         >     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Numeric.hs:865:5: warning: [GHC-62161] [-Wincomplete-uni-patterns]
hmatrix         >     Pattern match(es) are non-exhaustive
hmatrix         >     In a pattern binding:
hmatrix         >         Patterns of type ‘[Vector e]’ not matched:
hmatrix         >             []
hmatrix         >             [_]
hmatrix         >             (_:_:_:_)
hmatrix         >     |
hmatrix         > 865 |     [a', b'] = map flatten args
hmatrix         >     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Numeric.hs:869:5: warning: [GHC-62161] [-Wincomplete-uni-patterns]
hmatrix         >     Pattern match(es) are non-exhaustive
hmatrix         >     In a pattern binding:
hmatrix         >         Patterns of type ‘[Vector t]’ not matched:
hmatrix         >             []
hmatrix         >             [_]
hmatrix         >             (_:_:_:_)
hmatrix         >     |
hmatrix         > 869 |     [a', b'] = conformVs [a,b]
hmatrix         >     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Numeric.hs:873:5: warning: [GHC-62161] [-Wincomplete-uni-patterns]
hmatrix         >     Pattern match(es) are non-exhaustive
hmatrix         >     In a pattern binding: Patterns of type ‘[Matrix t]’ not matched: []
hmatrix         >     |
hmatrix         > 873 |     args@(a'':_) = conformMs [fromInt c,l,e,t]
hmatrix         >     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Numeric.hs:874:5: warning: [GHC-62161] [-Wincomplete-uni-patterns]
hmatrix         >     Pattern match(es) are non-exhaustive
hmatrix         >     In a pattern binding:
hmatrix         >         Patterns of type ‘[Vector t]’ not matched:
hmatrix         >             []
hmatrix         >             [_]
hmatrix         >             [_, _]
hmatrix         >             [_, _, _]
hmatrix         >             ...
hmatrix         >     |
hmatrix         > 874 |     [c', l', e', t'] = map flatten args
hmatrix         >     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Numeric.hs:878:5: warning: [GHC-62161] [-Wincomplete-uni-patterns]
hmatrix         >     Pattern match(es) are non-exhaustive
hmatrix         >     In a pattern binding:
hmatrix         >         Patterns of type ‘[Vector e]’ not matched:
hmatrix         >             []
hmatrix         >             [_]
hmatrix         >             [_, _]
hmatrix         >             [_, _, _]
hmatrix         >             ...
hmatrix         >     |
hmatrix         > 878 |     [c', l', e', t'] = conformVs [fromInt c,l,e,t]
hmatrix         >     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
hmatrix         >
hmatrix         > [11 of 27] Compiling Internal.Sparse
hmatrix         > [12 of 27] Compiling Internal.Chain
hmatrix         > [13 of 27] Compiling Internal.Algorithms
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Algorithms.hs:60:17: warning: [GHC-58520] [-Wtype-equality-requires-operators]
hmatrix         >     The use of ‘~’ without TypeOperators
hmatrix         >     will become an error in a future GHC release.
hmatrix         >     Suggested fix:
hmatrix         >       Perhaps you intended to use the ‘TypeOperators’ extension
hmatrix         >    |
hmatrix         > 60 |        RealOf t ~ Double) => Field t where
hmatrix         >    |                 ^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Algorithms.hs:736:5: warning: [GHC-62161] [-Wincomplete-uni-patterns]
hmatrix         >     Pattern match(es) are non-exhaustive
hmatrix         >     In a pattern binding: Patterns of type ‘[Double]’ not matched: []
hmatrix         >     |
hmatrix         > 736 |     sl@(g:_) = toList s
hmatrix         >     |     ^^^^^^^^^^^^^^^^^^^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Algorithms.hs:881:20: warning: [GHC-63394] [-Wx-partial]
hmatrix         >     In the use of ‘head’
hmatrix         >     (imported from Prelude, but defined in GHC.Internal.List):
hmatrix         >     "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"."
hmatrix         >     |
hmatrix         > 881 | rcond m = last s / head s
hmatrix         >     |                    ^^^^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Algorithms.hs:924:14: warning: [GHC-63394] [-Wx-partial]
hmatrix         >     In the use of ‘head’
hmatrix         >     (imported from Prelude, but defined in GHC.Internal.List):
hmatrix         >     "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"."
hmatrix         >     |
hmatrix         > 924 | geps delta = head [ k | (k,g) <- epslist, g<delta]
hmatrix         >     |              ^^^^
hmatrix         >
hmatrix         > [14 of 27] Compiling Internal.Random
hmatrix         > [15 of 27] Compiling Internal.Container
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Container.hs:302:5: warning: [GHC-62161] [-Wincomplete-uni-patterns]
hmatrix         >     Pattern match(es) are non-exhaustive
hmatrix         >     In a pattern binding:
hmatrix         >         Patterns of type ‘[Matrix I]’ not matched:
hmatrix         >             []
hmatrix         >             [_]
hmatrix         >             (_:_:_:_)
hmatrix         >     |
hmatrix         > 302 |     [i',j'] = conformMs [i,j]
hmatrix         >     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
hmatrix         >
hmatrix         > [16 of 27] Compiling Internal.Convolution
hmatrix         > [17 of 27] Compiling Numeric.LinearAlgebra.Devel
hmatrix         > [18 of 27] Compiling Numeric.Matrix
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Numeric/Matrix.hs:103:5: warning: [GHC-50928] [-Wnoncanonical-monoid-instances]
hmatrix         >     Noncanonical ‘(<>) = mappend’ definition detected
hmatrix         >     in the instance declaration for ‘Semigroup (Matrix t)’.
hmatrix         >     Suggested fix:
hmatrix         >       Move definition from ‘mappend’ to ‘(<>)’
hmatrix         >       See also: https://gitlab.haskell.org/ghc/ghc/-/wikis/proposal/semigroup-monoid
hmatrix         >     |
hmatrix         > 103 |     (<>) = mappend
hmatrix         >     |     ^^^^^^^^^^^^^^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Numeric/Matrix.hs:109:5: warning: [GHC-50928] [-Wnoncanonical-monoid-instances]
hmatrix         >     Noncanonical ‘mappend’ definition detected
hmatrix         >     in the instance declaration for ‘Monoid (Matrix t)’.
hmatrix         >     ‘mappend’ will eventually be removed in favour of ‘(<>)’
hmatrix         >     Suggested fix:
hmatrix         >       Either remove definition for ‘mappend’ (recommended) or define as ‘mappend = (<>)’
hmatrix         >       See also: https://gitlab.haskell.org/ghc/ghc/-/wikis/proposal/semigroup-monoid
hmatrix         >     |
hmatrix         > 109 |     mappend = adaptScalarM scale mXm (flip scale)
hmatrix         >     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
hmatrix         >
hmatrix         > [19 of 27] Compiling Numeric.Vector
hmatrix         > [20 of 27] Compiling Internal.Util
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Util.hs:81:37: warning: [GHC-38856] [-Wunused-imports]
hmatrix         >     The import of ‘foldl'’ from module ‘Data.List’ is redundant
hmatrix         >    |
hmatrix         > 81 | import Data.List(intercalate,sortBy,foldl')
hmatrix         >    |                                     ^^^^^^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Util.hs:253:5: warning: [GHC-62161] [-Wincomplete-uni-patterns]
hmatrix         >     Pattern match(es) are non-exhaustive
hmatrix         >     In a pattern binding:
hmatrix         >         Patterns of type ‘[t]’ not matched:
hmatrix         >             []
hmatrix         >             [_]
hmatrix         >             [_, _]
hmatrix         >             (_:_:_:_:_)
hmatrix         >     |
hmatrix         > 253 |     [x1,x2,x3] = toList x
hmatrix         >     |     ^^^^^^^^^^^^^^^^^^^^^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Util.hs:254:5: warning: [GHC-62161] [-Wincomplete-uni-patterns]
hmatrix         >     Pattern match(es) are non-exhaustive
hmatrix         >     In a pattern binding:
hmatrix         >         Patterns of type ‘[t]’ not matched:
hmatrix         >             []
hmatrix         >             [_]
hmatrix         >             [_, _]
hmatrix         >             (_:_:_:_:_)
hmatrix         >     |
hmatrix         > 254 |     [y1,y2,y3] = toList y
hmatrix         >     |     ^^^^^^^^^^^^^^^^^^^^^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Util.hs:520:5: warning: [GHC-62161] [-Wincomplete-uni-patterns]
hmatrix         >     Pattern match(es) are non-exhaustive
hmatrix         >     In a pattern binding:
hmatrix         >         Patterns of type ‘[[Matrix t]]’ not matched:
hmatrix         >             []
hmatrix         >             ([]:_)
hmatrix         >             ([_]:_)
hmatrix         >             ([_, _]:_)
hmatrix         >             ...
hmatrix         >     |
hmatrix         > 520 |     [ [a,_,b]
hmatrix         >     |     ^^^^^^^^^...
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Util.hs:536:19: warning: [GHC-63394] [-Wx-partial]
hmatrix         >     In the use of ‘head’
hmatrix         >     (imported from Prelude, but defined in GHC.Internal.List):
hmatrix         >     "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"."
hmatrix         >     |
hmatrix         > 536 |     vsep = map g (head auxm3)
hmatrix         >     |                   ^^^^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Util.hs:568:5: warning: [GHC-62161] [-Wincomplete-uni-patterns]
hmatrix         >     Pattern match(es) are non-exhaustive
hmatrix         >     In a pattern binding:
hmatrix         >         Patterns of type ‘[[Matrix t]]’ not matched:
hmatrix         >             []
hmatrix         >             ([]:_)
hmatrix         >             ([_]:_)
hmatrix         >             ((_:_:_:_):_)
hmatrix         >             ...
hmatrix         >     |
hmatrix         > 568 |     [[m11,m12],[m21,m22]] = block2x2 1 1 m
hmatrix         >     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Util.hs:632:5: warning: [GHC-62161] [-Wincomplete-uni-patterns]
hmatrix         >     Pattern match(es) are non-exhaustive
hmatrix         >     In a pattern binding: Patterns of type ‘[Vector t]’ not matched: []
hmatrix         >     |
hmatrix         > 632 |     y:ys = redu (pivot n xs)
hmatrix         >     |     ^^^^^^^^^^^^^^^^^^^^^^^^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Util.hs:655:5: warning: [GHC-62161] [-Wincomplete-uni-patterns]
hmatrix         >     Pattern match(es) are non-exhaustive
hmatrix         >     In a pattern binding: Patterns of type ‘[Vector t]’ not matched: []
hmatrix         >     |
hmatrix         > 655 |     y:ys = redu' (n,xs)
hmatrix         >     |     ^^^^^^^^^^^^^^^^^^^
hmatrix         >
hmatrix         > [21 of 27] Compiling Internal.Modular
hmatrix         > [22 of 27] Compiling Numeric.LinearAlgebra.Data
hmatrix         > [23 of 27] Compiling Internal.CG
hmatrix         > [24 of 27] Compiling Numeric.LinearAlgebra
hmatrix         > [25 of 27] Compiling Numeric.LinearAlgebra.HMatrix
hmatrix         > [26 of 27] Compiling Internal.Static
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Static.hs:168:32: warning: [GHC-63394] [-Wx-partial]
hmatrix         >     In the use of ‘tail’
hmatrix         >     (imported from Prelude, but defined in GHC.Internal.List):
hmatrix         >     "This is a partial function, it throws an error on empty lists. Replace it with 'drop' 1, or use pattern matching or 'GHC.Internal.Data.List.uncons' instead. Consider refactoring to use "Data.List.NonEmpty"."
hmatrix         >     |
hmatrix         > 168 |     | not (null rest) && null (tail rest) = abort (show xs')
hmatrix         >     |                                ^^^^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Static.hs:187:32: warning: [GHC-63394] [-Wx-partial]
hmatrix         >     In the use of ‘tail’
hmatrix         >     (imported from Prelude, but defined in GHC.Internal.List):
hmatrix         >     "This is a partial function, it throws an error on empty lists. Replace it with 'drop' 1, or use pattern matching or 'GHC.Internal.Data.List.uncons' instead. Consider refactoring to use "Data.List.NonEmpty"."
hmatrix         >     |
hmatrix         > 187 |     | not (null rest) && null (tail rest) = abort (show xs')
hmatrix         >     |                                ^^^^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Static.hs:562:32: warning: [GHC-63394] [-Wx-partial]
hmatrix         >     In the use of ‘tail’
hmatrix         >     (imported from Prelude, but defined in GHC.Internal.List):
hmatrix         >     "This is a partial function, it throws an error on empty lists. Replace it with 'drop' 1, or use pattern matching or 'GHC.Internal.Data.List.uncons' instead. Consider refactoring to use "Data.List.NonEmpty"."
hmatrix         >     |
hmatrix         > 562 |         putStr "R " >> putStr (tail . dropWhile (/='x') $ su)
hmatrix         >     |                                ^^^^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/Static.hs:568:32: warning: [GHC-63394] [-Wx-partial]
hmatrix         >     In the use of ‘tail’
hmatrix         >     (imported from Prelude, but defined in GHC.Internal.List):
hmatrix         >     "This is a partial function, it throws an error on empty lists. Replace it with 'drop' 1, or use pattern matching or 'GHC.Internal.Data.List.uncons' instead. Consider refactoring to use "Data.List.NonEmpty"."
hmatrix         >     |
hmatrix         > 568 |         putStr "C " >> putStr (tail . dropWhile (/='x') $ su)
hmatrix         >     |                                ^^^^
hmatrix         >
hmatrix         > [27 of 27] Compiling Numeric.LinearAlgebra.Static
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Numeric/LinearAlgebra/Static.hs:186:15: warning: [GHC-63394] [-Wx-partial]
hmatrix         >     In the use of ‘head’
hmatrix         >     (imported from Prelude, but defined in GHC.Internal.List):
hmatrix         >     "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use "Data.List.NonEmpty"."
hmatrix         >     |
hmatrix         > 186 | unrow = mkR . head . LA.toRows . ud2
hmatrix         >     |               ^^^^
hmatrix         >
hmatrix         > clang: warning: -O4 is equivalent to -O3 [-Wdeprecated]
hmatrix         > clang: warning: -O4 is equivalent to -O3 [-Wdeprecated]
hmatrix         > clang: warning: -O4 is equivalent to -O3 [-Wdeprecated]
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/C/vector-aux.c:574:14: error:
hmatrix         >      warning: absolute value function 'abs' given an argument of type 'const int64_t' (aka 'const long long') but has parameter of type 'int' which may cause truncation of value [-Wabsolute-value]
hmatrix         >       574 |         OP(3,abs)
hmatrix         >           |              ^
hmatrix         >     |
hmatrix         > 574 |         OP(3,abs)
hmatrix         >     |              ^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/C/vector-aux.c:574:14: error:
hmatrix         >      note: use function 'labs' instead
hmatrix         >       574 |         OP(3,abs)
hmatrix         >           |              ^~~
hmatrix         >           |              labs
hmatrix         >     |
hmatrix         > 574 |         OP(3,abs)
hmatrix         >     |              ^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/C/vector-aux.c:504:53: error:
hmatrix         >      note: expanded from macro 'OP'
hmatrix         >       504 | #define OP(C,F) case C: { for(k=0;k<xn;k++) rp[k] = F(xp[k]); OK }
hmatrix         >           |                                                     ^
hmatrix         >     |
hmatrix         > 504 | #define OP(C,F) case C: { for(k=0;k<xn;k++) rp[k] = F(xp[k]); OK }
hmatrix         >     |                                                     ^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/C/vector-aux.c:961:9: error:
hmatrix         >      warning: randomVector is not thread-safe in OSX and FreeBSD or with NO_RANDOM_R; this likely leads to less random numbers at worst; see http://www.evanjones.ca/random-thread-safe.html [-W#pragma-messages]
hmatrix         >       961 | #pragma message "randomVector is not thread-safe in OSX and FreeBSD or with NO_RANDOM_R; this likely leads to less random numbers at worst; see http://www.evanjones.ca/random-thread-safe.html"
hmatrix         >           |         ^
hmatrix         >     |
hmatrix         > 961 | #pragma message "randomVector is not thread-safe in OSX and FreeBSD or with NO_RANDOM_R; this likely leads to less random numbers at worst; see http://www.evanjones.ca/random-thread-safe.html"
hmatrix         >     |         ^
hmatrix         >
hmatrix         > 2 warnings generated.
hmatrix         > clang: warning: -O4 is equivalent to -O3 [-Wdeprecated]
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/C/vector-aux.c:574:14: error:
hmatrix         >      warning: absolute value function 'abs' given an argument of type 'const int64_t' (aka 'const long long') but has parameter of type 'int' which may cause truncation of value [-Wabsolute-value]
hmatrix         >       574 |         OP(3,abs)
hmatrix         >           |              ^
hmatrix         >     |
hmatrix         > 574 |         OP(3,abs)
hmatrix         >     |              ^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/C/vector-aux.c:574:14: error:
hmatrix         >      note: use function 'labs' instead
hmatrix         >       574 |         OP(3,abs)
hmatrix         >           |              ^~~
hmatrix         >           |              labs
hmatrix         >     |
hmatrix         > 574 |         OP(3,abs)
hmatrix         >     |              ^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/C/vector-aux.c:504:53: error:
hmatrix         >      note: expanded from macro 'OP'
hmatrix         >       504 | #define OP(C,F) case C: { for(k=0;k<xn;k++) rp[k] = F(xp[k]); OK }
hmatrix         >           |                                                     ^
hmatrix         >     |
hmatrix         > 504 | #define OP(C,F) case C: { for(k=0;k<xn;k++) rp[k] = F(xp[k]); OK }
hmatrix         >     |                                                     ^
hmatrix         >
hmatrix         > /private/var/folders/0c/zmpjp7l568xcvnt49pkkn5p00000gn/T/stack-d73277e531566c62/hmatrix-0.20.2/src/Internal/C/vector-aux.c:961:9: error:
hmatrix         >      warning: randomVector is not thread-safe in OSX and FreeBSD or with NO_RANDOM_R; this likely leads to less random numbers at worst; see http://www.evanjones.ca/random-thread-safe.html [-W#pragma-messages]
hmatrix         >       961 | #pragma message "randomVector is not thread-safe in OSX and FreeBSD or with NO_RANDOM_R; this likely leads to less random numbers at worst; see http://www.evanjones.ca/random-thread-safe.html"
hmatrix         >           |         ^
hmatrix         >     |
hmatrix         > 961 | #pragma message "randomVector is not thread-safe in OSX and FreeBSD or with NO_RANDOM_R; this likely leads to less random numbers at worst; see http://www.evanjones.ca/random-thread-safe.html"
hmatrix         >     |         ^
hmatrix         >
hmatrix         > 2 warnings generated.
hmatrix         > copy/register

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions