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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions