Resolving dependencies... Build profile: -w ghc-9.8.4 -O0 In order, the following will be built (use -v for more details): - gb-synth-0.1.0.0 (first run) Configuring gb-synth-0.1.0.0... Preprocessing library for gb-synth-0.1.0.0.. Building library for gb-synth-0.1.0.0.. [1 of 8] Compiling GBSynth.Envelope ( src/GBSynth/Envelope.hs, /var/lib/hackage-doc-builder/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.8.4/gb-synth-0.1.0.0/noopt/build/GBSynth/Envelope.o, /var/lib/hackage-doc-builder/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.8.4/gb-synth-0.1.0.0/noopt/build/GBSynth/Envelope.dyn_o ) [2 of 8] Compiling GBSynth.Pattern ( src/GBSynth/Pattern.hs, /var/lib/hackage-doc-builder/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.8.4/gb-synth-0.1.0.0/noopt/build/GBSynth/Pattern.o, /var/lib/hackage-doc-builder/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.8.4/gb-synth-0.1.0.0/noopt/build/GBSynth/Pattern.dyn_o ) [3 of 8] Compiling GBSynth.WAV ( src/GBSynth/WAV.hs, /var/lib/hackage-doc-builder/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.8.4/gb-synth-0.1.0.0/noopt/build/GBSynth/WAV.o, /var/lib/hackage-doc-builder/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.8.4/gb-synth-0.1.0.0/noopt/build/GBSynth/WAV.dyn_o ) [4 of 8] Compiling GBSynth.Synthesis ( src/GBSynth/Synthesis.hs, /var/lib/hackage-doc-builder/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.8.4/gb-synth-0.1.0.0/noopt/build/GBSynth/Synthesis.o, /var/lib/hackage-doc-builder/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.8.4/gb-synth-0.1.0.0/noopt/build/GBSynth/Synthesis.dyn_o ) src/GBSynth/Synthesis.hs:57:16: warning: [GHC-63394] [-Wx-partial] In the use of tail (imported from Prelude, but defined in GHC.List): "This is a partial function, it throws an error on empty lists. Replace it with drop 1, or use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." | 57 | phases = tail (scanl (+) 0.0 deltas) | ^^^^ src/GBSynth/Synthesis.hs:81:16: warning: [GHC-63394] [-Wx-partial] In the use of tail (imported from Prelude, but defined in GHC.List): "This is a partial function, it throws an error on empty lists. Replace it with drop 1, or use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." | 81 | phases = tail (scanl (+) 0.0 deltas) | ^^^^ [5 of 8] Compiling GBSynth.Oscillator ( src/GBSynth/Oscillator.hs, /var/lib/hackage-doc-builder/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.8.4/gb-synth-0.1.0.0/noopt/build/GBSynth/Oscillator.o, /var/lib/hackage-doc-builder/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.8.4/gb-synth-0.1.0.0/noopt/build/GBSynth/Oscillator.dyn_o ) src/GBSynth/Oscillator.hs:59:24: warning: [GHC-63394] [-Wx-partial] In the use of tail (imported from Prelude, but defined in GHC.List): "This is a partial function, it throws an error on empty lists. Replace it with drop 1, or use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." | 59 | phases = take n (tail (scanl (+) 0.0 (repeat delta))) | ^^^^ [6 of 8] Compiling GBSynth.Instrument ( src/GBSynth/Instrument.hs, /var/lib/hackage-doc-builder/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.8.4/gb-synth-0.1.0.0/noopt/build/GBSynth/Instrument.o, /var/lib/hackage-doc-builder/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.8.4/gb-synth-0.1.0.0/noopt/build/GBSynth/Instrument.dyn_o ) [7 of 8] Compiling GBSynth.Song ( src/GBSynth/Song.hs, /var/lib/hackage-doc-builder/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.8.4/gb-synth-0.1.0.0/noopt/build/GBSynth/Song.o, /var/lib/hackage-doc-builder/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.8.4/gb-synth-0.1.0.0/noopt/build/GBSynth/Song.dyn_o ) [8 of 8] Compiling GBSynth.Render ( src/GBSynth/Render.hs, /var/lib/hackage-doc-builder/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.8.4/gb-synth-0.1.0.0/noopt/build/GBSynth/Render.o, /var/lib/hackage-doc-builder/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.8.4/gb-synth-0.1.0.0/noopt/build/GBSynth/Render.dyn_o ) Preprocessing test suite 'gb-synth-test' for gb-synth-0.1.0.0.. Building test suite 'gb-synth-test' for gb-synth-0.1.0.0.. [1 of 1] Compiling Main ( test/Main.hs, /var/lib/hackage-doc-builder/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.8.4/gb-synth-0.1.0.0/noopt/build/gb-synth-test/gb-synth-test-tmp/Main.o ) test/Main.hs:179:37: warning: [GHC-63394] [-Wx-partial] In the use of head (imported from Prelude, but defined in GHC.List): "This is a partial function, it throws an error on empty lists. Use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." | 179 | assertApprox "env start" 0.0 (head env) 0.01 | ^^^^ test/Main.hs:240:49: warning: [GHC-63394] [-Wx-partial] In the use of head (imported from Prelude, but defined in GHC.List): "This is a partial function, it throws an error on empty lists. Use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." | 240 | assertEqual "note event" (NoteOn 60 1.0) (head (patEvents pat)) | ^^^^ test/Main.hs:246:46: warning: [GHC-63394] [-Wx-partial] In the use of head (imported from Prelude, but defined in GHC.List): "This is a partial function, it throws an error on empty lists. Use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." | 246 | assertEqual "hit at 0" (NoteOn 0 1.0) (head (patEvents hitPat)) | ^^^^ test/Main.hs:451:44: warning: [GHC-63394] [-Wx-partial] In the use of head (imported from Prelude, but defined in GHC.List): "This is a partial function, it throws an error on empty lists. Use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." | 451 | in assertApprox "gain applied" 0.5 (head result) 0.001 | ^^^^ [2 of 2] Linking /var/lib/hackage-doc-builder/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.8.4/gb-synth-0.1.0.0/noopt/build/gb-synth-test/gb-synth-test Running 1 test suites... Test suite gb-synth-test: RUNNING... Test suite gb-synth-test: PASS Test suite logged to: /var/lib/hackage-doc-builder/build-cache/tmp-install/reports/gb-synth-0.1.0.0.test Writing: gb-synth-0.1.0.0-inplace/GBSynth.WAV.hs.html Writing: gb-synth-0.1.0.0-inplace/GBSynth.Synthesis.hs.html Writing: gb-synth-0.1.0.0-inplace/GBSynth.Song.hs.html Writing: gb-synth-0.1.0.0-inplace/GBSynth.Render.hs.html Writing: gb-synth-0.1.0.0-inplace/GBSynth.Pattern.hs.html Writing: gb-synth-0.1.0.0-inplace/GBSynth.Oscillator.hs.html Writing: gb-synth-0.1.0.0-inplace/GBSynth.Instrument.hs.html Writing: gb-synth-0.1.0.0-inplace/GBSynth.Envelope.hs.html Writing: hpc_index.html Writing: hpc_index_fun.html Writing: hpc_index_alt.html Writing: hpc_index_exp.html Test coverage report written to /var/lib/hackage-doc-builder/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.8.4/gb-synth-0.1.0.0/noopt/hpc/vanilla/html/gb-synth-test/hpc_index.html 1 of 1 test suites (1 of 1 test cases) passed. Writing: gb-synth-0.1.0.0-inplace/GBSynth.WAV.hs.html Writing: gb-synth-0.1.0.0-inplace/GBSynth.Synthesis.hs.html Writing: gb-synth-0.1.0.0-inplace/GBSynth.Song.hs.html Writing: gb-synth-0.1.0.0-inplace/GBSynth.Render.hs.html Writing: gb-synth-0.1.0.0-inplace/GBSynth.Pattern.hs.html Writing: gb-synth-0.1.0.0-inplace/GBSynth.Oscillator.hs.html Writing: gb-synth-0.1.0.0-inplace/GBSynth.Instrument.hs.html Writing: gb-synth-0.1.0.0-inplace/GBSynth.Envelope.hs.html Writing: hpc_index.html Writing: hpc_index_fun.html Writing: hpc_index_alt.html Writing: hpc_index_exp.html Package coverage report written to /var/lib/hackage-doc-builder/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.8.4/gb-synth-0.1.0.0/noopt/hpc/vanilla/html/gb-synth-0.1.0.0/hpc_index.html