0.10 s
$ /nix/store/vzx1mi9c0xfadmsm9dhd83d005cb1qs9-coreutils-9.8/bin/timeout --kill-after=15s 7200s /nix/store/86n4l5yri6hys3zk2mwy2azcv9prqb8j-nix-2.31.4/bin/nix --extra-experimental-features nix-command --extra-experimental-features flakes --log-format internal-json build --no-link git+https://github.com/NorfairKing/cursor?ref=master&rev=b2e56d65881e2c0a2514b58fdcef3f68b32e0a0e#checks.x86_64-linux.nixpkgs-24_11 --print-build-logs
0.12 s
warning: ignoring untrusted flake configuration setting 'extra-substituters'.
0.12 s
Pass '--accept-flake-config' to trust it
0.12 s
warning: ignoring untrusted flake configuration setting 'extra-trusted-public-keys'.
0.12 s
Pass '--accept-flake-config' to trust it
0.12 s
1.75 s
Downloading cached lndir from https://cache.staging.nix-ci.com
1.76 s
Downloading cached microlens-0.4.13.1-doc from https://cache.staging.nix-ci.com
1.76 s
Downloading cached validity-0.12.1.0-doc from https://cache.staging.nix-ci.com
1.90 s
Progress: 0 of 15 built, 1 of 21 downloaded from cache (2 downloading)
2.02 s
Progress: 0 of 14 built, 2 of 21 downloaded from cache (1 downloading)
2.02 s
Downloading cached genvalidity-1.1.1.0-doc from https://cache.staging.nix-ci.com
2.02 s
Downloading cached validity from https://cache.staging.nix-ci.com
2.02 s
Downloading cached validity-containers-0.5.0.5-doc from https://cache.staging.nix-ci.com
2.02 s
Downloading cached validity-text-0.3.1.3-doc from https://cache.staging.nix-ci.com
2.11 s
Progress: 0 of 14 built, 3 of 21 downloaded from cache (4 downloading)
2.11 s
Downloading cached microlens from https://cache.staging.nix-ci.com
2.23 s
Progress: 0 of 14 built, 4 of 21 downloaded from cache (4 downloading)
2.24 s
Progress: 0 of 14 built, 5 of 21 downloaded from cache (3 downloading)
2.25 s
Progress: 0 of 14 built, 6 of 21 downloaded from cache (2 downloading)
2.25 s
Downloading cached genvalidity-containers-1.0.0.2-doc from https://cache.staging.nix-ci.com
2.25 s
Downloading cached genvalidity-property-1.0.0.0-doc from https://cache.staging.nix-ci.com
2.25 s
Downloading cached genvalidity-text-1.0.0.1-doc from https://cache.staging.nix-ci.com
2.36 s
Progress: 0 of 14 built, 7 of 21 downloaded from cache (4 downloading)
2.37 s
Progress: 0 of 13 built, 8 of 21 downloaded from cache (3 downloading)
2.37 s
Downloading cached genvalidity from https://cache.staging.nix-ci.com
2.37 s
Downloading cached validity-containers from https://cache.staging.nix-ci.com
2.37 s
Downloading cached validity-text from https://cache.staging.nix-ci.com
2.46 s
Progress: 0 of 12 built, 9 of 21 downloaded from cache (5 downloading)
2.49 s
Progress: 0 of 12 built, 10 of 21 downloaded from cache (4 downloading)
2.51 s
Progress: 0 of 12 built, 11 of 21 downloaded from cache (3 downloading)
2.51 s
Downloading cached genvalidity-hspec-1.0.0.3-doc from https://cache.staging.nix-ci.com
2.66 s
Progress: 0 of 12 built, 12 of 21 downloaded from cache (3 downloading)
2.68 s
Progress: 0 of 11 built, 13 of 21 downloaded from cache (2 downloading)
2.68 s
Downloading cached genvalidity-text from https://cache.staging.nix-ci.com
2.68 s
Progress: 0 of 10 built, 14 of 21 downloaded from cache (3 downloading)
2.68 s
Downloading cached genvalidity-containers from https://cache.staging.nix-ci.com
2.69 s
Downloading cached genvalidity-property from https://cache.staging.nix-ci.com
2.80 s
Building cursor-source
2.80 s
Progress: 0 of 9 built (1 building), 15 of 21 downloaded from cache (3 downloading)
2.80 s
Downloading cached genvalidity-hspec-optics-1.0.0.0-doc from https://cache.staging.nix-ci.com
2.87 s
Progress: 0 of 9 built (1 building), 16 of 21 downloaded from cache (3 downloading)
2.89 s
[cursor-source] Phase: setupCompilerEnvironmentPhase
2.89 s
[cursor-source] Build with /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6.
2.99 s
Progress: 0 of 8 built (1 building), 17 of 21 downloaded from cache (2 downloading)
3.04 s
Progress: 0 of 7 built (1 building), 18 of 21 downloaded from cache (1 downloading)
3.05 s
Progress: 0 of 7 built (1 building), 19 of 21 downloaded from cache
3.05 s
Downloading cached genvalidity-hspec from https://cache.staging.nix-ci.com
3.09 s
[cursor-source] Phase: unpackPhase
3.10 s
[cursor-source] unpacking source archive /nix/store/qr40r9gasc3qyg92cxgyvj69jz7qw20y-cursor
3.11 s
[cursor-source] source root is cursor
3.14 s
[cursor-source] Phase: patchPhase
3.15 s
[cursor-source] Phase: compileBuildDriverPhase
3.15 s
[cursor-source] setupCompileFlags: -package-db=/build/tmp.190DzSYUz6/setup-package.conf.d -threaded
3.31 s
[cursor-source] [1 of 2] Compiling Main ( /nix/store/4mdp8nhyfddh7bllbi7xszz7k9955n79-Setup.hs, /build/tmp.190DzSYUz6/Main.o )
3.41 s
[cursor-source] [2 of 2] Linking Setup
3.41 s
Progress: 0 of 7 built (1 building), 20 of 21 downloaded from cache
3.42 s
Downloading cached genvalidity-hspec-optics from https://cache.staging.nix-ci.com
3.64 s
Progress: 0 of 6 built (1 building), 21 of 21 downloaded from cache
4.70 s
[cursor-source] Phase: updateAutotoolsGnuConfigScriptsPhase
4.71 s
[cursor-source] Phase: configurePhase
4.72 s
[cursor-source] configureFlags: --verbose --prefix=/nix/store/kzqgzzx74vnlc2l3y1b182x9vb4383q4-cursor-source-0.3.2.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/share/doc/cursor-0.3.2.0 --with-gcc=gcc --package-db=/build/tmp.190DzSYUz6/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --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 --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --ghc-option=-Wall --ghc-option=-Werror --extra-lib-dirs=/nix/store/3f3aa75rg5xjv498n1i9gzmlh06an73p-ncurses-6.4.20221231/lib --extra-lib-dirs=/nix/store/s8rgz1c5dwpcw607p9s7pig3ig19hbvl-libffi-3.4.6/lib --extra-lib-dirs=/nix/store/mz53myclg9kxbfp85yswy7c25h5qpwvf-elfutils-0.191/lib --extra-lib-dirs=/nix/store/k2jdvz2f8fzgc4q7k519l5mmv1x75d9s-gmp-with-cxx-6.3.0/lib
4.74 s
[cursor-source] Using Parsec parser
4.74 s
[cursor-source] Configuring cursor-0.3.2.0...
5.02 s
[cursor-source] Dependency base <5: using base-4.18.2.1
5.02 s
[cursor-source] Dependency containers: using containers-0.6.7
5.02 s
[cursor-source] Dependency deepseq: using deepseq-1.4.8.1
5.02 s
[cursor-source] Dependency microlens: using microlens-0.4.13.1
5.03 s
[cursor-source] Dependency text: using text-2.0.2
5.03 s
[cursor-source] Dependency validity >=0.8.0.0: using validity-0.12.1.0
5.03 s
[cursor-source] Dependency validity-containers: using validity-containers-0.5.0.5
5.03 s
[cursor-source] Dependency validity-text: using validity-text-0.3.1.3
5.30 s
[cursor-source] Source component graph: component lib
5.30 s
[cursor-source] Configured component graph:
5.33 s
[cursor-source] component cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5
5.33 s
[cursor-source] include base-4.18.2.1
5.33 s
[cursor-source] include containers-0.6.7
5.33 s
[cursor-source] include deepseq-1.4.8.1
5.33 s
[cursor-source] include microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
5.33 s
[cursor-source] include text-2.0.2
5.33 s
[cursor-source] include validity-0.12.1.0-LKDdbUg2IgmJjagYg8WBbM
5.33 s
[cursor-source] include validity-containers-0.5.0.5-uixRtyBCWjET1HpjaEHpF
5.33 s
[cursor-source] include validity-text-0.3.1.3-HPqysA8aFTII9pKtm42xge
5.33 s
[cursor-source] Linked component graph:
5.33 s
[cursor-source] unit cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5
5.33 s
[cursor-source] include base-4.18.2.1
5.33 s
[cursor-source] include containers-0.6.7
5.33 s
[cursor-source] include deepseq-1.4.8.1
5.33 s
[cursor-source] include microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
5.33 s
[cursor-source] include text-2.0.2
5.33 s
[cursor-source] include validity-0.12.1.0-LKDdbUg2IgmJjagYg8WBbM
5.33 s
[cursor-source] include validity-containers-0.5.0.5-uixRtyBCWjET1HpjaEHpF
5.33 s
[cursor-source] include validity-text-0.3.1.3-HPqysA8aFTII9pKtm42xge
5.33 s
[cursor-source] Cursor.Forest=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Forest,Cursor.List=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.List,Cursor.List.NonEmpty=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.List.NonEmpty,Cursor.Map=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Map,Cursor.Map.KeyValue=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Map.KeyValue,Cursor.Simple.Forest=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Simple.Forest,Cursor.Simple.List.NonEmpty=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Simple.List.NonEmpty,Cursor.Simple.Map=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Simple.Map,Cursor.Simple.Map.KeyValue=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Simple.Map.KeyValue,Cursor.Simple.Tree=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Simple.Tree,Cursor.Text=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Text,Cursor.TextField=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.TextField,Cursor.Tree=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Tree,Cursor.Tree.Base=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Tree.Base,Cursor.Tree.Collapse=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Tree.Collapse,Cursor.Tree.Delete=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Tree.Delete,Cursor.Tree.Demote=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Tree.Demote,Cursor.Tree.Draw=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Tree.Draw,Cursor.Tree.Insert=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Tree.Insert,Cursor.Tree.Movement=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Tree.Movement,Cursor.Tree.Promote=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Tree.Promote,Cursor.Tree.Swap=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Tree.Swap,Cursor.Tree.Types=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Tree.Types,Cursor.Types=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Types
5.33 s
[cursor-source] Ready component graph:
5.33 s
[cursor-source] definite cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5
5.33 s
[cursor-source] depends base-4.18.2.1
5.33 s
[cursor-source] depends containers-0.6.7
5.33 s
[cursor-source] depends deepseq-1.4.8.1
5.33 s
[cursor-source] depends microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
5.33 s
[cursor-source] depends text-2.0.2
5.33 s
[cursor-source] depends validity-0.12.1.0-LKDdbUg2IgmJjagYg8WBbM
5.33 s
[cursor-source] depends validity-containers-0.5.0.5-uixRtyBCWjET1HpjaEHpF
5.33 s
[cursor-source] depends validity-text-0.3.1.3-HPqysA8aFTII9pKtm42xge
5.33 s
[cursor-source] Using Cabal-3.10.3.0 compiled by ghc-9.6
5.33 s
[cursor-source] Using compiler: ghc-9.6.6
5.33 s
[cursor-source] Using install prefix:
5.33 s
[cursor-source] /nix/store/kzqgzzx74vnlc2l3y1b182x9vb4383q4-cursor-source-0.3.2.0
5.33 s
[cursor-source] Executables installed in:
5.33 s
[cursor-source] /nix/store/kzqgzzx74vnlc2l3y1b182x9vb4383q4-cursor-source-0.3.2.0/bin
5.33 s
[cursor-source] Libraries installed in:
5.33 s
[cursor-source] /nix/store/kzqgzzx74vnlc2l3y1b182x9vb4383q4-cursor-source-0.3.2.0/lib/ghc-9.6.6/lib/x86_64-linux-ghc-9.6.6/cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5
5.33 s
[cursor-source] Dynamic Libraries installed in:
5.33 s
[cursor-source] /nix/store/kzqgzzx74vnlc2l3y1b182x9vb4383q4-cursor-source-0.3.2.0/lib/ghc-9.6.6/lib/x86_64-linux-ghc-9.6.6
5.33 s
[cursor-source] Private executables installed in:
5.33 s
[cursor-source] /nix/store/kzqgzzx74vnlc2l3y1b182x9vb4383q4-cursor-source-0.3.2.0/libexec/x86_64-linux-ghc-9.6.6/cursor-0.3.2.0
5.33 s
[cursor-source] Data files installed in:
5.33 s
[cursor-source] /nix/store/kzqgzzx74vnlc2l3y1b182x9vb4383q4-cursor-source-0.3.2.0/share/x86_64-linux-ghc-9.6.6/cursor-0.3.2.0
5.33 s
[cursor-source] Documentation installed in: /share/doc/cursor-0.3.2.0
5.33 s
[cursor-source] Configuration files installed in:
5.33 s
[cursor-source] /nix/store/kzqgzzx74vnlc2l3y1b182x9vb4383q4-cursor-source-0.3.2.0/etc
5.33 s
[cursor-source] No alex found
5.33 s
[cursor-source] Using ar found on system at:
5.33 s
[cursor-source] /nix/store/kmaz78bn767ffazkpf8zbq3plnh45nfm-binutils-wrapper-2.43.1/bin/ar
5.33 s
[cursor-source] No c2hs found
5.33 s
[cursor-source] No cpphs found
5.33 s
[cursor-source] No doctest found
5.33 s
[cursor-source] Using gcc version 13.3.0 given by user at:
5.33 s
[cursor-source] /nix/store/mzfk1sdv6bxvdh9slvddpj734ck99idi-gcc-wrapper-13.3.0/bin/gcc
5.33 s
[cursor-source] Using ghc version 9.6.6 found on system at:
5.33 s
[cursor-source] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/ghc
5.33 s
[cursor-source] Using ghc-pkg version 9.6.6 found on system at:
5.33 s
[cursor-source] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/ghc-pkg-9.6.6
5.33 s
[cursor-source] No ghcjs found
5.33 s
[cursor-source] No ghcjs-pkg found
5.33 s
[cursor-source] No greencard found
5.33 s
[cursor-source] Using haddock version 2.29.2 found on system at:
5.33 s
[cursor-source] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/haddock-ghc-9.6.6
5.33 s
[cursor-source] No happy found
5.33 s
[cursor-source] Using haskell-suite found on system at: haskell-suite-dummy-location
5.33 s
[cursor-source] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
5.33 s
[cursor-source] No hmake found
5.33 s
[cursor-source] Using hpc version 0.68 found on system at:
5.33 s
[cursor-source] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/hpc-ghc-9.6.6
5.33 s
[cursor-source] Using hsc2hs version 0.68.9 found on system at:
5.33 s
[cursor-source] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/hsc2hs-ghc-9.6.6
5.33 s
[cursor-source] Using hscolour version 1.25 found on system at:
5.33 s
[cursor-source] /nix/store/1486f5wc7jkiy8v60jdh30zr93aiswai-hscolour-1.25/bin/HsColour
5.33 s
[cursor-source] No jhc found
5.33 s
[cursor-source] Using ld found on system at:
5.33 s
[cursor-source] /nix/store/kmaz78bn767ffazkpf8zbq3plnh45nfm-binutils-wrapper-2.43.1/bin/ld.gold
5.33 s
[cursor-source] No pkg-config found
5.33 s
[cursor-source] Using runghc version 9.6.6 found on system at:
5.33 s
[cursor-source] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/runghc-9.6.6
5.33 s
[cursor-source] Using strip version 2.43 found on system at:
5.33 s
[cursor-source] /nix/store/mzfk1sdv6bxvdh9slvddpj734ck99idi-gcc-wrapper-13.3.0/bin/strip
5.33 s
[cursor-source] Using tar found on system at:
5.33 s
[cursor-source] /nix/store/prkjsk3l0l253yn0y2zqpyjjjsnk91gw-gnutar-1.35/bin/tar
5.33 s
[cursor-source] No uhc found
5.39 s
[cursor-source] Phase: buildPhase
5.40 s
[cursor-source] Building source dist for cursor-0.3.2.0...
5.42 s
[cursor-source] Source tarball created: dist/cursor-0.3.2.0.tar.gz
5.43 s
[cursor-source] Phase: checkPhase
5.43 s
[cursor-source] Phase: haddockPhase
5.44 s
[cursor-source] Phase: installPhase
5.44 s
[cursor-source] Phase: fixupPhase
5.56 s
[post-build-hook] Uploading to cachix cache "cursor": /nix/store/kzqgzzx74vnlc2l3y1b182x9vb4383q4-cursor-source-0.3.2.0
5.90 s
[post-build-hook] Pushing 1 paths (0 are already present) using zstd to cache cursor ⏳
5.90 s
[post-build-hook]
6.37 s
[post-build-hook] Pushing /nix/store/kzqgzzx74vnlc2l3y1b182x9vb4383q4-cursor-source-0.3.2.0 (23.73 KiB)
7.47 s
[post-build-hook]
7.47 s
[post-build-hook] All done.
7.49 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/kzqgzzx74vnlc2l3y1b182x9vb4383q4-cursor-source-0.3.2.0
7.54 s
[post-build-hook] copying 1 paths...
7.54 s
[post-build-hook] copying path '/nix/store/kzqgzzx74vnlc2l3y1b182x9vb4383q4-cursor-source-0.3.2.0' to 'https://cache.staging.nix-ci.com'...
8.22 s
[post-build-hook] copying 10 paths...
8.23 s
[post-build-hook] copying path '/nix/store/f00plrf8lh4n268dd5m6p8wkqdj93xxz-validity-text-0.3.1.3.tar.gz.drv' to 'https://cache.staging.nix-ci.com'...
8.23 s
[post-build-hook] copying path '/nix/store/lh1n4wpm2n0lla3j6884f9grl92zxmbx-validity-0.12.1.0.tar.gz.drv' to 'https://cache.staging.nix-ci.com'...
8.23 s
[post-build-hook] copying path '/nix/store/g71q3mdzlfbngja131admndxip8sdzhn-microlens-0.4.13.1-r1.cabal.drv' to 'https://cache.staging.nix-ci.com'...
8.23 s
[post-build-hook] copying path '/nix/store/9s0fqjz4hwqzy3f09zgsfhr76j9736af-validity-containers-0.5.0.5.tar.gz.drv' to 'https://cache.staging.nix-ci.com'...
8.23 s
[post-build-hook] copying path '/nix/store/nc3p50jbamb4afgk4v7684apah3n1qdy-microlens-0.4.13.1.tar.gz.drv' to 'https://cache.staging.nix-ci.com'...
8.43 s
[post-build-hook] copying path '/nix/store/954hrz07yjja4w7x81dfm7gc4q92n9ch-microlens-0.4.13.1.drv' to 'https://cache.staging.nix-ci.com'...
8.44 s
[post-build-hook] copying path '/nix/store/z4j1djijfrqyxhz70wx39jbwgk4r2xwg-validity-0.12.1.0.drv' to 'https://cache.staging.nix-ci.com'...
8.63 s
[post-build-hook] copying path '/nix/store/yl2hflfhz5mmdj90jybqxws0fxrpb0pw-validity-text-0.3.1.3.drv' to 'https://cache.staging.nix-ci.com'...
8.64 s
[post-build-hook] copying path '/nix/store/7g7yz1nza0hzb944rsw094n0kf3k98sm-validity-containers-0.5.0.5.drv' to 'https://cache.staging.nix-ci.com'...
8.83 s
[post-build-hook] copying path '/nix/store/j5nqgyc9142rk3f82kchq7kc0yibgqr1-cursor-source-0.3.2.0.drv' to 'https://cache.staging.nix-ci.com'...
10.59 s
Progress: 1 of 6 built, 21 of 21 downloaded from cache
11.72 s
Building cursor
11.79 s
[cursor] Phase: setupCompilerEnvironmentPhase
11.92 s
[cursor] Build with /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6.
11.92 s
[cursor] Phase: unpackPhase
11.92 s
[cursor] unpacking source archive /nix/store/kzqgzzx74vnlc2l3y1b182x9vb4383q4-cursor-source-0.3.2.0/cursor-0.3.2.0.tar.gz
11.92 s
[cursor] source root is cursor-0.3.2.0
11.92 s
[cursor] setting SOURCE_DATE_EPOCH to timestamp 1780346413 of file cursor-0.3.2.0/src/Cursor/Types.hs
11.92 s
[cursor] warning: file cursor-0.3.2.0/src/Cursor/Types.hs may be generated; SOURCE_DATE_EPOCH may be non-deterministic
11.92 s
[cursor] Phase: patchPhase
11.93 s
[cursor] Phase: compileBuildDriverPhase
11.93 s
[cursor] setupCompileFlags: -package-db=/build/tmp.cGXqxfZQua/setup-package.conf.d -threaded
11.98 s
[cursor] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.cGXqxfZQua/Main.o )
12.02 s
[cursor] [2 of 2] Linking Setup
13.07 s
[cursor] Phase: updateAutotoolsGnuConfigScriptsPhase
13.08 s
[cursor] Phase: configurePhase
13.08 s
[cursor] configureFlags: --verbose --prefix=/nix/store/5jbn6gvg30q103ljwykkwv16g191dc5r-cursor-0.3.2.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/yai7xdq2m8ajwsj5vf53hfdlf1ic8ys1-cursor-0.3.2.0-doc/share/doc/cursor-0.3.2.0 --with-gcc=gcc --package-db=/build/tmp.cGXqxfZQua/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --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 --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --ghc-option=-Wall --ghc-option=-Werror --extra-lib-dirs=/nix/store/3f3aa75rg5xjv498n1i9gzmlh06an73p-ncurses-6.4.20221231/lib --extra-lib-dirs=/nix/store/s8rgz1c5dwpcw607p9s7pig3ig19hbvl-libffi-3.4.6/lib --extra-lib-dirs=/nix/store/mz53myclg9kxbfp85yswy7c25h5qpwvf-elfutils-0.191/lib --extra-lib-dirs=/nix/store/k2jdvz2f8fzgc4q7k519l5mmv1x75d9s-gmp-with-cxx-6.3.0/lib
13.09 s
[cursor] Using Parsec parser
13.09 s
[cursor] Configuring cursor-0.3.2.0...
13.35 s
[cursor] Dependency base <5: using base-4.18.2.1
13.35 s
[cursor] Dependency containers: using containers-0.6.7
13.35 s
[cursor] Dependency deepseq: using deepseq-1.4.8.1
13.35 s
[cursor] Dependency microlens: using microlens-0.4.13.1
13.35 s
[cursor] Dependency text: using text-2.0.2
13.35 s
[cursor] Dependency validity >=0.8.0.0: using validity-0.12.1.0
13.35 s
[cursor] Dependency validity-containers: using validity-containers-0.5.0.5
13.35 s
[cursor] Dependency validity-text: using validity-text-0.3.1.3
13.60 s
[cursor] Source component graph: component lib
13.60 s
[cursor] Configured component graph:
13.60 s
[cursor] component cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5
13.60 s
[cursor] include base-4.18.2.1
13.60 s
[cursor] include containers-0.6.7
13.60 s
[cursor] include deepseq-1.4.8.1
13.60 s
[cursor] include microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
13.60 s
[cursor] include text-2.0.2
13.60 s
[cursor] include validity-0.12.1.0-LKDdbUg2IgmJjagYg8WBbM
13.60 s
[cursor] include validity-containers-0.5.0.5-uixRtyBCWjET1HpjaEHpF
13.60 s
[cursor] include validity-text-0.3.1.3-HPqysA8aFTII9pKtm42xge
13.60 s
[cursor] Linked component graph:
13.60 s
[cursor] unit cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5
13.60 s
[cursor] include base-4.18.2.1
13.60 s
[cursor] include containers-0.6.7
13.60 s
[cursor] include deepseq-1.4.8.1
13.60 s
[cursor] include microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
13.60 s
[cursor] include text-2.0.2
13.60 s
[cursor] include validity-0.12.1.0-LKDdbUg2IgmJjagYg8WBbM
13.60 s
[cursor] include validity-containers-0.5.0.5-uixRtyBCWjET1HpjaEHpF
13.60 s
[cursor] include validity-text-0.3.1.3-HPqysA8aFTII9pKtm42xge
13.60 s
[cursor] Cursor.Forest=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Forest,Cursor.List=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.List,Cursor.List.NonEmpty=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.List.NonEmpty,Cursor.Map=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Map,Cursor.Map.KeyValue=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Map.KeyValue,Cursor.Simple.Forest=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Simple.Forest,Cursor.Simple.List.NonEmpty=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Simple.List.NonEmpty,Cursor.Simple.Map=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Simple.Map,Cursor.Simple.Map.KeyValue=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Simple.Map.KeyValue,Cursor.Simple.Tree=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Simple.Tree,Cursor.Text=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Text,Cursor.TextField=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.TextField,Cursor.Tree=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Tree,Cursor.Tree.Base=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Tree.Base,Cursor.Tree.Collapse=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Tree.Collapse,Cursor.Tree.Delete=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Tree.Delete,Cursor.Tree.Demote=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Tree.Demote,Cursor.Tree.Draw=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Tree.Draw,Cursor.Tree.Insert=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Tree.Insert,Cursor.Tree.Movement=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Tree.Movement,Cursor.Tree.Promote=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Tree.Promote,Cursor.Tree.Swap=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Tree.Swap,Cursor.Tree.Types=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Tree.Types,Cursor.Types=cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5:Cursor.Types
13.60 s
[cursor] Ready component graph:
13.60 s
[cursor] definite cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5
13.60 s
[cursor] depends base-4.18.2.1
13.60 s
[cursor] depends containers-0.6.7
13.60 s
[cursor] depends deepseq-1.4.8.1
13.60 s
[cursor] depends microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
13.60 s
[cursor] depends text-2.0.2
13.60 s
[cursor] depends validity-0.12.1.0-LKDdbUg2IgmJjagYg8WBbM
13.60 s
[cursor] depends validity-containers-0.5.0.5-uixRtyBCWjET1HpjaEHpF
13.60 s
[cursor] depends validity-text-0.3.1.3-HPqysA8aFTII9pKtm42xge
13.60 s
[cursor] Using Cabal-3.10.3.0 compiled by ghc-9.6
13.60 s
[cursor] Using compiler: ghc-9.6.6
13.60 s
[cursor] Using install prefix:
13.60 s
[cursor] /nix/store/5jbn6gvg30q103ljwykkwv16g191dc5r-cursor-0.3.2.0
13.60 s
[cursor] Executables installed in:
13.60 s
[cursor] /nix/store/5jbn6gvg30q103ljwykkwv16g191dc5r-cursor-0.3.2.0/bin
13.60 s
[cursor] Libraries installed in:
13.60 s
[cursor] /nix/store/5jbn6gvg30q103ljwykkwv16g191dc5r-cursor-0.3.2.0/lib/ghc-9.6.6/lib/x86_64-linux-ghc-9.6.6/cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5
13.60 s
[cursor] Dynamic Libraries installed in:
13.60 s
[cursor] /nix/store/5jbn6gvg30q103ljwykkwv16g191dc5r-cursor-0.3.2.0/lib/ghc-9.6.6/lib/x86_64-linux-ghc-9.6.6
13.60 s
[cursor] Private executables installed in:
13.60 s
[cursor] /nix/store/5jbn6gvg30q103ljwykkwv16g191dc5r-cursor-0.3.2.0/libexec/x86_64-linux-ghc-9.6.6/cursor-0.3.2.0
13.60 s
[cursor] Data files installed in:
13.60 s
[cursor] /nix/store/5jbn6gvg30q103ljwykkwv16g191dc5r-cursor-0.3.2.0/share/x86_64-linux-ghc-9.6.6/cursor-0.3.2.0
13.60 s
[cursor] Documentation installed in:
13.60 s
[cursor] /nix/store/yai7xdq2m8ajwsj5vf53hfdlf1ic8ys1-cursor-0.3.2.0-doc/share/doc/cursor-0.3.2.0
13.60 s
[cursor] Configuration files installed in:
13.60 s
[cursor] /nix/store/5jbn6gvg30q103ljwykkwv16g191dc5r-cursor-0.3.2.0/etc
13.60 s
[cursor] No alex found
13.60 s
[cursor] Using ar found on system at:
13.60 s
[cursor] /nix/store/kmaz78bn767ffazkpf8zbq3plnh45nfm-binutils-wrapper-2.43.1/bin/ar
13.60 s
[cursor] No c2hs found
13.60 s
[cursor] No cpphs found
13.60 s
[cursor] No doctest found
13.60 s
[cursor] Using gcc version 13.3.0 given by user at:
13.60 s
[cursor] /nix/store/mzfk1sdv6bxvdh9slvddpj734ck99idi-gcc-wrapper-13.3.0/bin/gcc
13.60 s
[cursor] Using ghc version 9.6.6 found on system at:
13.60 s
[cursor] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/ghc
13.60 s
[cursor] Using ghc-pkg version 9.6.6 found on system at:
13.60 s
[cursor] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/ghc-pkg-9.6.6
13.60 s
[cursor] No ghcjs found
13.60 s
[cursor] No ghcjs-pkg found
13.60 s
[cursor] No greencard found
13.60 s
[cursor] Using haddock version 2.29.2 found on system at:
13.60 s
[cursor] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/haddock-ghc-9.6.6
13.60 s
[cursor] No happy found
13.60 s
[cursor] Using haskell-suite found on system at: haskell-suite-dummy-location
13.60 s
[cursor] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
13.60 s
[cursor] No hmake found
13.60 s
[cursor] Using hpc version 0.68 found on system at:
13.60 s
[cursor] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/hpc-ghc-9.6.6
13.60 s
[cursor] Using hsc2hs version 0.68.9 found on system at:
13.60 s
[cursor] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/hsc2hs-ghc-9.6.6
13.60 s
[cursor] Using hscolour version 1.25 found on system at:
13.60 s
[cursor] /nix/store/1486f5wc7jkiy8v60jdh30zr93aiswai-hscolour-1.25/bin/HsColour
13.60 s
[cursor] No jhc found
13.60 s
[cursor] Using ld found on system at:
13.60 s
[cursor] /nix/store/kmaz78bn767ffazkpf8zbq3plnh45nfm-binutils-wrapper-2.43.1/bin/ld.gold
13.60 s
[cursor] No pkg-config found
13.60 s
[cursor] Using runghc version 9.6.6 found on system at:
13.60 s
[cursor] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/runghc-9.6.6
13.60 s
[cursor] Using strip version 2.43 found on system at:
13.60 s
[cursor] /nix/store/mzfk1sdv6bxvdh9slvddpj734ck99idi-gcc-wrapper-13.3.0/bin/strip
13.60 s
[cursor] Using tar found on system at:
13.60 s
[cursor] /nix/store/prkjsk3l0l253yn0y2zqpyjjjsnk91gw-gnutar-1.35/bin/tar
13.60 s
[cursor] No uhc found
13.69 s
[cursor] Phase: buildPhase
13.74 s
[cursor] Preprocessing library for cursor-0.3.2.0..
13.74 s
[cursor] Building library for cursor-0.3.2.0..
13.85 s
[cursor] [ 1 of 25] Compiling Cursor.Map.KeyValue ( src/Cursor/Map/KeyValue.hs, dist/build/Cursor/Map/KeyValue.o, dist/build/Cursor/Map/KeyValue.dyn_o )
14.20 s
[cursor] [ 2 of 25] Compiling Cursor.Simple.Map.KeyValue ( src/Cursor/Simple/Map/KeyValue.hs, dist/build/Cursor/Simple/Map/KeyValue.o, dist/build/Cursor/Simple/Map/KeyValue.dyn_o )
14.23 s
[cursor] [ 3 of 25] Compiling Cursor.Tree.Types ( src/Cursor/Tree/Types.hs, dist/build/Cursor/Tree/Types.o, dist/build/Cursor/Tree/Types.dyn_o )
14.82 s
[cursor] [ 4 of 25] Compiling Cursor.Tree.Swap ( src/Cursor/Tree/Swap.hs, dist/build/Cursor/Tree/Swap.o, dist/build/Cursor/Tree/Swap.dyn_o )
14.91 s
[cursor] [ 5 of 25] Compiling Cursor.Tree.Insert ( src/Cursor/Tree/Insert.hs, dist/build/Cursor/Tree/Insert.o, dist/build/Cursor/Tree/Insert.dyn_o )
15.00 s
[cursor] [ 6 of 25] Compiling Cursor.Tree.Draw ( src/Cursor/Tree/Draw.hs, dist/build/Cursor/Tree/Draw.o, dist/build/Cursor/Tree/Draw.dyn_o )
15.00 s
[cursor] [ 7 of 25] Compiling Cursor.Tree.Collapse ( src/Cursor/Tree/Collapse.hs, dist/build/Cursor/Tree/Collapse.o, dist/build/Cursor/Tree/Collapse.dyn_o )
15.00 s
[cursor] [ 8 of 25] Compiling Cursor.Tree.Base ( src/Cursor/Tree/Base.hs, dist/build/Cursor/Tree/Base.o, dist/build/Cursor/Tree/Base.dyn_o )
15.00 s
[cursor] [ 9 of 25] Compiling Cursor.Tree.Promote ( src/Cursor/Tree/Promote.hs, dist/build/Cursor/Tree/Promote.o, dist/build/Cursor/Tree/Promote.dyn_o )
15.12 s
[cursor] [10 of 25] Compiling Cursor.Tree.Movement ( src/Cursor/Tree/Movement.hs, dist/build/Cursor/Tree/Movement.o, dist/build/Cursor/Tree/Movement.dyn_o )
15.12 s
[cursor] [11 of 25] Compiling Cursor.Tree.Demote ( src/Cursor/Tree/Demote.hs, dist/build/Cursor/Tree/Demote.o, dist/build/Cursor/Tree/Demote.dyn_o )
15.12 s
[cursor] [12 of 25] Compiling Cursor.Types ( src/Cursor/Types.hs, dist/build/Cursor/Types.o, dist/build/Cursor/Types.dyn_o )
15.12 s
[cursor] [13 of 25] Compiling Cursor.Tree.Delete ( src/Cursor/Tree/Delete.hs, dist/build/Cursor/Tree/Delete.o, dist/build/Cursor/Tree/Delete.dyn_o )
15.12 s
[cursor] [14 of 25] Compiling Cursor.Tree ( src/Cursor/Tree.hs, dist/build/Cursor/Tree.o, dist/build/Cursor/Tree.dyn_o )
15.13 s
[cursor] [15 of 25] Compiling Cursor.Simple.Tree ( src/Cursor/Simple/Tree.hs, dist/build/Cursor/Simple/Tree.o, dist/build/Cursor/Simple/Tree.dyn_o )
15.29 s
[cursor] [16 of 25] Compiling Cursor.List.NonEmpty ( src/Cursor/List/NonEmpty.hs, dist/build/Cursor/List/NonEmpty.o, dist/build/Cursor/List/NonEmpty.dyn_o )
15.29 s
[cursor] [17 of 25] Compiling Cursor.Simple.List.NonEmpty ( src/Cursor/Simple/List/NonEmpty.hs, dist/build/Cursor/Simple/List/NonEmpty.o, dist/build/Cursor/Simple/List/NonEmpty.dyn_o )
15.29 s
[cursor] [18 of 25] Compiling Cursor.Map ( src/Cursor/Map.hs, dist/build/Cursor/Map.o, dist/build/Cursor/Map.dyn_o )
15.29 s
[cursor] [19 of 25] Compiling Cursor.Simple.Map ( src/Cursor/Simple/Map.hs, dist/build/Cursor/Simple/Map.o, dist/build/Cursor/Simple/Map.dyn_o )
15.29 s
[cursor] [20 of 25] Compiling Cursor.List ( src/Cursor/List.hs, dist/build/Cursor/List.o, dist/build/Cursor/List.dyn_o )
15.29 s
[cursor] [21 of 25] Compiling Cursor.Text ( src/Cursor/Text.hs, dist/build/Cursor/Text.o, dist/build/Cursor/Text.dyn_o )
15.29 s
[cursor] [22 of 25] Compiling Cursor.TextField ( src/Cursor/TextField.hs, dist/build/Cursor/TextField.o, dist/build/Cursor/TextField.dyn_o )
15.29 s
[cursor] [23 of 25] Compiling Cursor.Forest ( src/Cursor/Forest.hs, dist/build/Cursor/Forest.o, dist/build/Cursor/Forest.dyn_o )
15.77 s
[cursor] [24 of 25] Compiling Cursor.Simple.Forest ( src/Cursor/Simple/Forest.hs, dist/build/Cursor/Simple/Forest.o, dist/build/Cursor/Simple/Forest.dyn_o )
15.95 s
[cursor] [25 of 25] Compiling Paths_cursor ( dist/build/autogen/Paths_cursor.hs, dist/build/Paths_cursor.o, dist/build/Paths_cursor.dyn_o )
16.18 s
[cursor] [ 1 of 25] Compiling Cursor.Map.KeyValue ( src/Cursor/Map/KeyValue.hs, dist/build/Cursor/Map/KeyValue.p_o )
16.56 s
[cursor] [ 2 of 25] Compiling Cursor.Simple.Map.KeyValue ( src/Cursor/Simple/Map/KeyValue.hs, dist/build/Cursor/Simple/Map/KeyValue.p_o )
16.68 s
[cursor] [ 3 of 25] Compiling Cursor.Tree.Types ( src/Cursor/Tree/Types.hs, dist/build/Cursor/Tree/Types.p_o )
17.18 s
[cursor] [ 4 of 25] Compiling Cursor.Tree.Swap ( src/Cursor/Tree/Swap.hs, dist/build/Cursor/Tree/Swap.p_o )
17.34 s
[cursor] [ 5 of 25] Compiling Cursor.Tree.Insert ( src/Cursor/Tree/Insert.hs, dist/build/Cursor/Tree/Insert.p_o )
17.41 s
[cursor] [ 6 of 25] Compiling Cursor.Tree.Draw ( src/Cursor/Tree/Draw.hs, dist/build/Cursor/Tree/Draw.p_o )
17.41 s
[cursor] [ 7 of 25] Compiling Cursor.Tree.Collapse ( src/Cursor/Tree/Collapse.hs, dist/build/Cursor/Tree/Collapse.p_o )
17.41 s
[cursor] [ 8 of 25] Compiling Cursor.Tree.Base ( src/Cursor/Tree/Base.hs, dist/build/Cursor/Tree/Base.p_o )
17.41 s
[cursor] [ 9 of 25] Compiling Cursor.Tree.Promote ( src/Cursor/Tree/Promote.hs, dist/build/Cursor/Tree/Promote.p_o )
17.58 s
[cursor] [10 of 25] Compiling Cursor.Tree.Movement ( src/Cursor/Tree/Movement.hs, dist/build/Cursor/Tree/Movement.p_o )
17.58 s
[cursor] [11 of 25] Compiling Cursor.Tree.Demote ( src/Cursor/Tree/Demote.hs, dist/build/Cursor/Tree/Demote.p_o )
17.58 s
[cursor] [12 of 25] Compiling Cursor.Types ( src/Cursor/Types.hs, dist/build/Cursor/Types.p_o )
17.58 s
[cursor] [13 of 25] Compiling Cursor.Tree.Delete ( src/Cursor/Tree/Delete.hs, dist/build/Cursor/Tree/Delete.p_o )
17.58 s
[cursor] [14 of 25] Compiling Cursor.Tree ( src/Cursor/Tree.hs, dist/build/Cursor/Tree.p_o )
17.67 s
[cursor] [15 of 25] Compiling Cursor.Simple.Tree ( src/Cursor/Simple/Tree.hs, dist/build/Cursor/Simple/Tree.p_o )
17.89 s
[cursor] [16 of 25] Compiling Cursor.List.NonEmpty ( src/Cursor/List/NonEmpty.hs, dist/build/Cursor/List/NonEmpty.p_o )
17.89 s
[cursor] [17 of 25] Compiling Cursor.Simple.List.NonEmpty ( src/Cursor/Simple/List/NonEmpty.hs, dist/build/Cursor/Simple/List/NonEmpty.p_o )
17.89 s
[cursor] [18 of 25] Compiling Cursor.Map ( src/Cursor/Map.hs, dist/build/Cursor/Map.p_o )
17.89 s
[cursor] [19 of 25] Compiling Cursor.Simple.Map ( src/Cursor/Simple/Map.hs, dist/build/Cursor/Simple/Map.p_o )
17.89 s
[cursor] [20 of 25] Compiling Cursor.List ( src/Cursor/List.hs, dist/build/Cursor/List.p_o )
17.89 s
[cursor] [21 of 25] Compiling Cursor.Text ( src/Cursor/Text.hs, dist/build/Cursor/Text.p_o )
17.89 s
[cursor] [22 of 25] Compiling Cursor.TextField ( src/Cursor/TextField.hs, dist/build/Cursor/TextField.p_o )
17.89 s
[cursor] [23 of 25] Compiling Cursor.Forest ( src/Cursor/Forest.hs, dist/build/Cursor/Forest.p_o )
18.34 s
[cursor] [24 of 25] Compiling Cursor.Simple.Forest ( src/Cursor/Simple/Forest.hs, dist/build/Cursor/Simple/Forest.p_o )
18.51 s
[cursor] [25 of 25] Compiling Paths_cursor ( dist/build/autogen/Paths_cursor.hs, dist/build/Paths_cursor.p_o )
19.67 s
[cursor] Phase: checkPhase
19.69 s
[cursor] Package has no test suites.
19.70 s
[cursor] Phase: haddockPhase
19.83 s
[cursor] Preprocessing library for cursor-0.3.2.0..
19.84 s
[cursor] Running Haddock on library for cursor-0.3.2.0..
19.88 s
[cursor] Warning: --source-* options are ignored when --hyperlinked-source is enabled.
20.09 s
[cursor] 0% ( 0 / 15) in 'Cursor.Map.KeyValue'
20.09 s
[cursor] Missing documentation for:
20.09 s
[cursor] Module header
20.09 s
[cursor] KeyValueCursor (src/Cursor/Map/KeyValue.hs:28)
20.09 s
[cursor] makeKeyValueCursorKey (src/Cursor/Map/KeyValue.hs:39)
20.09 s
[cursor] makeKeyValueCursorValue (src/Cursor/Map/KeyValue.hs:42)
20.09 s
[cursor] rebuildKeyValueCursor (src/Cursor/Map/KeyValue.hs:45)
20.09 s
[cursor] keyValueCursorSelection (src/Cursor/Map/KeyValue.hs:49)
20.09 s
[cursor] mapKeyValueCursor (src/Cursor/Map/KeyValue.hs:53)
20.09 s
[cursor] keyValueCursorSelectKey (src/Cursor/Map/KeyValue.hs:65)
20.09 s
[cursor] keyValueCursorSelectValue (src/Cursor/Map/KeyValue.hs:72)
20.09 s
[cursor] keyValueCursorToggleSelected (src/Cursor/Map/KeyValue.hs:79)
20.09 s
[cursor] KeyValueToggle (src/Cursor/Map/KeyValue.hs:91)
20.09 s
[cursor] traverseKeyValueCursor (src/Cursor/Map/KeyValue.hs:98)
20.09 s
[cursor] keyValueCursorTraverseKeyCase (src/Cursor/Map/KeyValue.hs:101)
20.09 s
[cursor] keyValueCursorTraverseValueCase (src/Cursor/Map/KeyValue.hs:111)
20.09 s
[cursor] foldKeyValueCursor (src/Cursor/Map/KeyValue.hs:121)
20.11 s
[cursor] 0% ( 0 / 13) in 'Cursor.Simple.Map.KeyValue'
20.11 s
[cursor] Missing documentation for:
20.11 s
[cursor] Module header
20.11 s
[cursor] KeyValueCursor (src/Cursor/Simple/Map/KeyValue.hs:21)
20.11 s
[cursor] KeyValueCursorKey (src/Cursor/Map/KeyValue.hs:29)
20.11 s
[cursor] KeyValueCursorValue (src/Cursor/Map/KeyValue.hs:30)
20.11 s
[cursor] makeKeyValueCursorKey (src/Cursor/Map/KeyValue.hs:39)
20.11 s
[cursor] makeKeyValueCursorValue (src/Cursor/Map/KeyValue.hs:42)
20.11 s
[cursor] rebuildKeyValueCursor (src/Cursor/Simple/Map/KeyValue.hs:23)
20.11 s
[cursor] keyValueCursorSelection (src/Cursor/Map/KeyValue.hs:49)
20.11 s
[cursor] mapKeyValueCursor (src/Cursor/Simple/Map/KeyValue.hs:26)
20.11 s
[cursor] keyValueCursorSelectKey (src/Cursor/Simple/Map/KeyValue.hs:29)
20.11 s
[cursor] keyValueCursorSelectValue (src/Cursor/Simple/Map/KeyValue.hs:32)
20.11 s
[cursor] keyValueCursorToggleSelected (src/Cursor/Simple/Map/KeyValue.hs:35)
20.11 s
[cursor] KeyValueToggle (src/Cursor/Map/KeyValue.hs:91)
20.17 s
[cursor] 3% ( 1 / 26) in 'Cursor.Tree.Types'
20.17 s
[cursor] Missing documentation for:
20.17 s
[cursor] Module header
20.17 s
[cursor] TreeCursor (src/Cursor/Tree/Types.hs:45)
20.17 s
[cursor] treeCursorAboveL (src/Cursor/Tree/Types.hs:56)
20.17 s
[cursor] treeCursorCurrentL (src/Cursor/Tree/Types.hs:59)
20.17 s
[cursor] treeCursorBelowL (src/Cursor/Tree/Types.hs:62)
20.17 s
[cursor] treeCursorCurrentSubTreeL (src/Cursor/Tree/Types.hs:65)
20.17 s
[cursor] TreeAbove (src/Cursor/Tree/Types.hs:69)
20.17 s
[cursor] treeAboveLeftsL (src/Cursor/Tree/Types.hs:81)
20.17 s
[cursor] treeAboveAboveL (src/Cursor/Tree/Types.hs:84)
20.17 s
[cursor] treeAboveNodeL (src/Cursor/Tree/Types.hs:87)
20.17 s
[cursor] treeAboveRightsL (src/Cursor/Tree/Types.hs:90)
20.17 s
[cursor] TreeCursorSelection (src/Cursor/Tree/Types.hs:93)
20.17 s
[cursor] CTree (src/Cursor/Tree/Types.hs:102)
20.17 s
[cursor] makeCTree (src/Cursor/Tree/Types.hs:116)
20.17 s
[cursor] cTree (src/Cursor/Tree/Types.hs:119)
20.17 s
[cursor] rebuildCTree (src/Cursor/Tree/Types.hs:122)
20.17 s
[cursor] CForest (src/Cursor/Tree/Types.hs:125)
20.17 s
[cursor] makeCForest (src/Cursor/Tree/Types.hs:147)
20.17 s
[cursor] cForest (src/Cursor/Tree/Types.hs:150)
20.17 s
[cursor] rebuildCForest (src/Cursor/Tree/Types.hs:156)
20.17 s
[cursor] emptyCForest (src/Cursor/Tree/Types.hs:161)
20.17 s
[cursor] openForest (src/Cursor/Tree/Types.hs:164)
20.17 s
[cursor] closedForest (src/Cursor/Tree/Types.hs:167)
20.17 s
[cursor] lengthCForest (src/Cursor/Tree/Types.hs:170)
20.17 s
[cursor] unpackCForest (src/Cursor/Tree/Types.hs:175)
20.26 s
[cursor] 50% ( 2 / 4) in 'Cursor.Tree.Swap'
20.26 s
[cursor] Missing documentation for:
20.26 s
[cursor] Module header
20.26 s
[cursor] SwapResult (src/Cursor/Tree/Swap.hs:69)
20.28 s
[cursor] 0% ( 0 / 21) in 'Cursor.Tree.Insert'
20.28 s
[cursor] Missing documentation for:
20.28 s
[cursor] Module header
20.28 s
[cursor] treeCursorInsert (src/Cursor/Tree/Insert.hs:33)
20.28 s
[cursor] treeCursorInsertAndSelect (src/Cursor/Tree/Insert.hs:39)
20.28 s
[cursor] treeCursorInsertNodeSingleAndSelect (src/Cursor/Tree/Insert.hs:43)
20.28 s
[cursor] treeCursorInsertNodeAndSelect (src/Cursor/Tree/Insert.hs:47)
20.28 s
[cursor] treeCursorAppend (src/Cursor/Tree/Insert.hs:55)
20.28 s
[cursor] treeCursorAppendAndSelect (src/Cursor/Tree/Insert.hs:61)
20.28 s
[cursor] treeCursorAppendNodeSingleAndSelect (src/Cursor/Tree/Insert.hs:65)
20.28 s
[cursor] treeCursorAppendNodeAndSelect (src/Cursor/Tree/Insert.hs:69)
20.28 s
[cursor] treeCursorAddChildAtPos (src/Cursor/Tree/Insert.hs:78)
20.28 s
[cursor] treeCursorAddChildAtStart (src/Cursor/Tree/Insert.hs:89)
20.28 s
[cursor] treeCursorAddChildAtEnd (src/Cursor/Tree/Insert.hs:96)
20.28 s
[cursor] treeCursorAddChildAtPosAndSelect (src/Cursor/Tree/Insert.hs:103)
20.28 s
[cursor] treeCursorAddChildAtStartAndSelect (src/Cursor/Tree/Insert.hs:107)
20.28 s
[cursor] treeCursorAddChildAtEndAndSelect (src/Cursor/Tree/Insert.hs:111)
20.28 s
[cursor] treeCursorAddChildNodeSingleAtPosAndSelect (src/Cursor/Tree/Insert.hs:115)
20.28 s
[cursor] treeCursorAddChildNodeSingleAtStartAndSelect (src/Cursor/Tree/Insert.hs:119)
20.28 s
[cursor] treeCursorAddChildNodeSingleAtEndAndSelect (src/Cursor/Tree/Insert.hs:123)
20.28 s
[cursor] treeCursorAddChildNodeAtPosAndSelect (src/Cursor/Tree/Insert.hs:127)
20.28 s
[cursor] treeCursorAddChildNodeAtStartAndSelect (src/Cursor/Tree/Insert.hs:144)
20.28 s
[cursor] treeCursorAddChildNodeAtEndAndSelect (src/Cursor/Tree/Insert.hs:160)
20.29 s
[cursor] 0% ( 0 / 7) in 'Cursor.Tree.Draw'
20.29 s
[cursor] Missing documentation for:
20.29 s
[cursor] Module header
20.29 s
[cursor] drawTreeCursor (src/Cursor/Tree/Draw.hs:18)
20.29 s
[cursor] treeCursorWithPointer (src/Cursor/Tree/Draw.hs:21)
20.29 s
[cursor] showCForest (src/Cursor/Tree/Draw.hs:32)
20.29 s
[cursor] showCTree (src/Cursor/Tree/Draw.hs:37)
20.29 s
[cursor] showForest (src/Cursor/Tree/Draw.hs:40)
20.29 s
[cursor] showTree (src/Cursor/Tree/Draw.hs:43)
20.30 s
[cursor] 0% ( 0 / 6) in 'Cursor.Tree.Collapse'
20.30 s
[cursor] Missing documentation for:
20.30 s
[cursor] Module header
20.30 s
[cursor] treeCursorOpenCurrentForest (src/Cursor/Tree/Collapse.hs:13)
20.30 s
[cursor] treeCursorCloseCurrentForest (src/Cursor/Tree/Collapse.hs:20)
20.30 s
[cursor] treeCursorToggleCurrentForest (src/Cursor/Tree/Collapse.hs:27)
20.30 s
[cursor] treeCursorOpenCurrentForestRecursively (src/Cursor/Tree/Collapse.hs:34)
20.30 s
[cursor] treeCursorToggleCurrentForestRecursively (src/Cursor/Tree/Collapse.hs:41)
20.30 s
[cursor] 0% ( 0 / 11) in 'Cursor.Tree.Base'
20.30 s
[cursor] Missing documentation for:
20.30 s
[cursor] Module header
20.30 s
[cursor] singletonTreeCursor (src/Cursor/Tree/Base.hs:22)
20.30 s
[cursor] makeTreeCursor (src/Cursor/Tree/Base.hs:25)
20.30 s
[cursor] makeNodeTreeCursor (src/Cursor/Tree/Base.hs:28)
20.30 s
[cursor] makeTreeCursorWithSelection (src/Cursor/Tree/Base.hs:31)
20.30 s
[cursor] rebuildTreeCursor (src/Cursor/Tree/Base.hs:51)
20.30 s
[cursor] mapTreeCursor (src/Cursor/Tree/Base.hs:61)
20.30 s
[cursor] currentTree (src/Cursor/Tree/Base.hs:69)
20.30 s
[cursor] makeTreeCursorWithAbove (src/Cursor/Tree/Base.hs:72)
20.30 s
[cursor] traverseTreeCursor (src/Cursor/Tree/Base.hs:76)
20.30 s
[cursor] foldTreeCursor (src/Cursor/Tree/Base.hs:93)
20.32 s
[cursor] 40% ( 2 / 5) in 'Cursor.Tree.Promote'
20.32 s
[cursor] Missing documentation for:
20.32 s
[cursor] Module header
20.32 s
[cursor] PromoteElemResult (src/Cursor/Tree/Promote.hs:69)
20.32 s
[cursor] PromoteResult (src/Cursor/Tree/Promote.hs:136)
20.34 s
[cursor] 10% ( 2 / 20) in 'Cursor.Tree.Movement'
20.34 s
[cursor] Missing documentation for:
20.34 s
[cursor] Module header
20.34 s
[cursor] treeCursorSelection (src/Cursor/Tree/Movement.hs:34)
20.34 s
[cursor] TreeCursorSelection (src/Cursor/Tree/Types.hs:93)
20.34 s
[cursor] treeCursorSelect (src/Cursor/Tree/Movement.hs:41)
20.34 s
[cursor] treeCursorSelectPrev (src/Cursor/Tree/Movement.hs:45)
20.34 s
[cursor] treeCursorSelectNext (src/Cursor/Tree/Movement.hs:51)
20.34 s
[cursor] treeCursorSelectFirst (src/Cursor/Tree/Movement.hs:57)
20.34 s
[cursor] treeCursorSelectLast (src/Cursor/Tree/Movement.hs:60)
20.34 s
[cursor] treeCursorSelectAbove (src/Cursor/Tree/Movement.hs:63)
20.34 s
[cursor] treeCursorSelectBelowAtPos (src/Cursor/Tree/Movement.hs:72)
20.34 s
[cursor] treeCursorSelectBelowAtStart (src/Cursor/Tree/Movement.hs:92)
20.34 s
[cursor] treeCursorSelectBelowAtEnd (src/Cursor/Tree/Movement.hs:95)
20.34 s
[cursor] treeCursorSelectBelowAtStartRecursively (src/Cursor/Tree/Movement.hs:102)
20.34 s
[cursor] treeCursorSelectBelowAtEndRecursively (src/Cursor/Tree/Movement.hs:108)
20.34 s
[cursor] treeCursorSelectPrevOnSameLevel (src/Cursor/Tree/Movement.hs:114)
20.34 s
[cursor] treeCursorSelectNextOnSameLevel (src/Cursor/Tree/Movement.hs:123)
20.34 s
[cursor] treeCursorSelectFirstOnSameLevel (src/Cursor/Tree/Movement.hs:132)
20.34 s
[cursor] treeCursorSelectLastOnSameLevel (src/Cursor/Tree/Movement.hs:138)
20.36 s
[cursor] 66% ( 4 / 6) in 'Cursor.Tree.Demote'
20.36 s
[cursor] Missing documentation for:
20.36 s
[cursor] Module header
20.36 s
[cursor] DemoteResult (src/Cursor/Tree/Demote.hs:98)
20.37 s
[cursor] 0% ( 0 / 9) in 'Cursor.Types'
20.37 s
[cursor] Missing documentation for:
20.37 s
[cursor] Module header
20.37 s
[cursor] isSafeChar (src/Cursor/Types.hs:12)
20.37 s
[cursor] DeleteOrUpdate (src/Cursor/Types.hs:15)
20.37 s
[cursor] joinDeletes (src/Cursor/Types.hs:42)
20.37 s
[cursor] joinDeletes3 (src/Cursor/Types.hs:49)
20.37 s
[cursor] joinPossibleDeletes (src/Cursor/Types.hs:61)
20.37 s
[cursor] focusPossibleDeleteOrUpdate (src/Cursor/Types.hs:65)
20.37 s
[cursor] dullMDelete (src/Cursor/Types.hs:72)
20.37 s
[cursor] dullDelete (src/Cursor/Types.hs:76)
20.39 s
[cursor] 0% ( 0 / 11) in 'Cursor.Tree.Delete'
20.39 s
[cursor] Missing documentation for:
20.39 s
[cursor] Module header
20.39 s
[cursor] treeCursorDeleteSubTreeAndSelectPrevious (src/Cursor/Tree/Delete.hs:26)
20.39 s
[cursor] treeCursorDeleteSubTreeAndSelectNext (src/Cursor/Tree/Delete.hs:36)
20.39 s
[cursor] treeCursorDeleteSubTreeAndSelectAbove (src/Cursor/Tree/Delete.hs:46)
20.39 s
[cursor] treeCursorRemoveSubTree (src/Cursor/Tree/Delete.hs:59)
20.39 s
[cursor] treeCursorDeleteSubTree (src/Cursor/Tree/Delete.hs:66)
20.39 s
[cursor] treeCursorDeleteElemAndSelectPrevious (src/Cursor/Tree/Delete.hs:73)
20.39 s
[cursor] treeCursorDeleteElemAndSelectNext (src/Cursor/Tree/Delete.hs:92)
20.39 s
[cursor] treeCursorDeleteElemAndSelectAbove (src/Cursor/Tree/Delete.hs:130)
20.39 s
[cursor] treeCursorRemoveElem (src/Cursor/Tree/Delete.hs:148)
20.39 s
[cursor] treeCursorDeleteElem (src/Cursor/Tree/Delete.hs:155)
20.40 s
[cursor] 86% ( 20 / 23) in 'Cursor.Tree'
20.40 s
[cursor] Missing documentation for:
20.40 s
[cursor] Module header
20.40 s
[cursor] TreeCursor (src/Cursor/Tree/Types.hs:45)
20.40 s
[cursor] TreeAbove (src/Cursor/Tree/Types.hs:69)
20.41 s
[cursor] 6% ( 6 / 89) in 'Cursor.Simple.Tree'
20.41 s
[cursor] Missing documentation for:
20.41 s
[cursor] Module header
20.41 s
[cursor] TreeCursor (src/Cursor/Simple/Tree.hs:100)
20.41 s
[cursor] TreeAbove (src/Cursor/Tree/Types.hs:69)
20.41 s
[cursor] singletonTreeCursor (src/Cursor/Simple/Tree.hs:108)
20.41 s
[cursor] makeTreeCursor (src/Cursor/Simple/Tree.hs:102)
20.41 s
[cursor] makeNodeTreeCursor (src/Cursor/Tree/Base.hs:28)
20.41 s
[cursor] makeTreeCursorWithSelection (src/Cursor/Simple/Tree.hs:105)
20.41 s
[cursor] rebuildTreeCursor (src/Cursor/Simple/Tree.hs:111)
20.41 s
[cursor] drawTreeCursor (src/Cursor/Tree/Draw.hs:18)
20.41 s
[cursor] mapTreeCursor (src/Cursor/Simple/Tree.hs:114)
20.41 s
[cursor] treeCursorAboveL (src/Cursor/Tree/Types.hs:56)
20.41 s
[cursor] treeCursorCurrentL (src/Cursor/Tree/Types.hs:59)
20.41 s
[cursor] treeCursorBelowL (src/Cursor/Tree/Types.hs:62)
20.41 s
[cursor] treeAboveLeftsL (src/Cursor/Tree/Types.hs:81)
20.41 s
[cursor] treeAboveAboveL (src/Cursor/Tree/Types.hs:84)
20.41 s
[cursor] treeAboveNodeL (src/Cursor/Tree/Types.hs:87)
20.41 s
[cursor] treeAboveRightsL (src/Cursor/Tree/Types.hs:90)
20.41 s
[cursor] treeCursorWithPointer (src/Cursor/Tree/Draw.hs:21)
20.41 s
[cursor] treeCursorSelection (src/Cursor/Tree/Movement.hs:34)
20.41 s
[cursor] TreeCursorSelection (src/Cursor/Tree/Types.hs:93)
20.41 s
[cursor] treeCursorSelect (src/Cursor/Simple/Tree.hs:117)
20.41 s
[cursor] treeCursorSelectPrev (src/Cursor/Simple/Tree.hs:120)
20.41 s
[cursor] treeCursorSelectNext (src/Cursor/Simple/Tree.hs:123)
20.41 s
[cursor] treeCursorSelectFirst (src/Cursor/Simple/Tree.hs:126)
20.41 s
[cursor] treeCursorSelectLast (src/Cursor/Simple/Tree.hs:129)
20.41 s
[cursor] treeCursorSelectAbove (src/Cursor/Simple/Tree.hs:132)
20.41 s
[cursor] treeCursorSelectBelowAtPos (src/Cursor/Simple/Tree.hs:135)
20.41 s
[cursor] treeCursorSelectBelowAtStart (src/Cursor/Simple/Tree.hs:138)
20.41 s
[cursor] treeCursorSelectBelowAtEnd (src/Cursor/Simple/Tree.hs:141)
20.41 s
[cursor] treeCursorSelectBelowAtStartRecursively (src/Cursor/Simple/Tree.hs:144)
20.41 s
[cursor] treeCursorSelectBelowAtEndRecursively (src/Cursor/Simple/Tree.hs:147)
20.41 s
[cursor] treeCursorSelectPrevOnSameLevel (src/Cursor/Simple/Tree.hs:150)
20.41 s
[cursor] treeCursorSelectNextOnSameLevel (src/Cursor/Simple/Tree.hs:153)
20.41 s
[cursor] treeCursorSelectFirstOnSameLevel (src/Cursor/Simple/Tree.hs:156)
20.41 s
[cursor] treeCursorSelectLastOnSameLevel (src/Cursor/Simple/Tree.hs:159)
20.41 s
[cursor] treeCursorOpenCurrentForest (src/Cursor/Tree/Collapse.hs:13)
20.41 s
[cursor] treeCursorCloseCurrentForest (src/Cursor/Tree/Collapse.hs:20)
20.41 s
[cursor] treeCursorToggleCurrentForest (src/Cursor/Tree/Collapse.hs:27)
20.41 s
[cursor] treeCursorOpenCurrentForestRecursively (src/Cursor/Tree/Collapse.hs:34)
20.41 s
[cursor] treeCursorToggleCurrentForestRecursively (src/Cursor/Tree/Collapse.hs:41)
20.41 s
[cursor] treeCursorInsert (src/Cursor/Tree/Insert.hs:33)
20.41 s
[cursor] treeCursorInsertAndSelect (src/Cursor/Simple/Tree.hs:172)
20.41 s
[cursor] treeCursorInsertNodeSingleAndSelect (src/Cursor/Simple/Tree.hs:175)
20.41 s
[cursor] treeCursorInsertNodeAndSelect (src/Cursor/Simple/Tree.hs:178)
20.41 s
[cursor] treeCursorAppend (src/Cursor/Tree/Insert.hs:55)
20.41 s
[cursor] treeCursorAppendAndSelect (src/Cursor/Simple/Tree.hs:181)
20.41 s
[cursor] treeCursorAppendNodeSingleAndSelect (src/Cursor/Simple/Tree.hs:184)
20.41 s
[cursor] treeCursorAppendNodeAndSelect (src/Cursor/Simple/Tree.hs:187)
20.41 s
[cursor] treeCursorAddChildAtPos (src/Cursor/Tree/Insert.hs:78)
20.41 s
[cursor] treeCursorAddChildAtStart (src/Cursor/Tree/Insert.hs:89)
20.41 s
[cursor] treeCursorAddChildAtEnd (src/Cursor/Tree/Insert.hs:96)
20.41 s
[cursor] treeCursorAddChildAtPosAndSelect (src/Cursor/Simple/Tree.hs:190)
20.41 s
[cursor] treeCursorAddChildAtStartAndSelect (src/Cursor/Simple/Tree.hs:193)
20.41 s
[cursor] treeCursorAddChildAtEndAndSelect (src/Cursor/Simple/Tree.hs:196)
20.41 s
[cursor] treeCursorAddChildNodeSingleAtPosAndSelect (src/Cursor/Simple/Tree.hs:199)
20.41 s
[cursor] treeCursorAddChildNodeSingleAtStartAndSelect (src/Cursor/Simple/Tree.hs:202)
20.41 s
[cursor] treeCursorAddChildNodeSingleAtEndAndSelect (src/Cursor/Simple/Tree.hs:205)
20.41 s
[cursor] treeCursorAddChildNodeAtPosAndSelect (src/Cursor/Simple/Tree.hs:208)
20.41 s
[cursor] treeCursorAddChildNodeAtStartAndSelect (src/Cursor/Simple/Tree.hs:211)
20.41 s
[cursor] treeCursorAddChildNodeAtEndAndSelect (src/Cursor/Simple/Tree.hs:214)
20.41 s
[cursor] treeCursorDeleteSubTreeAndSelectPrevious (src/Cursor/Simple/Tree.hs:217)
20.41 s
[cursor] treeCursorDeleteSubTreeAndSelectNext (src/Cursor/Simple/Tree.hs:220)
20.41 s
[cursor] treeCursorDeleteSubTreeAndSelectAbove (src/Cursor/Simple/Tree.hs:223)
20.41 s
[cursor] treeCursorRemoveSubTree (src/Cursor/Simple/Tree.hs:226)
20.41 s
[cursor] treeCursorDeleteSubTree (src/Cursor/Simple/Tree.hs:229)
20.41 s
[cursor] treeCursorDeleteElemAndSelectPrevious (src/Cursor/Simple/Tree.hs:232)
20.41 s
[cursor] treeCursorDeleteElemAndSelectNext (src/Cursor/Simple/Tree.hs:235)
20.41 s
[cursor] treeCursorDeleteElemAndSelectAbove (src/Cursor/Simple/Tree.hs:238)
20.41 s
[cursor] treeCursorRemoveElem (src/Cursor/Simple/Tree.hs:241)
20.41 s
[cursor] treeCursorDeleteElem (src/Cursor/Simple/Tree.hs:244)
20.41 s
[cursor] SwapResult (src/Cursor/Tree/Swap.hs:69)
20.41 s
[cursor] treeCursorPromoteElem (src/Cursor/Simple/Tree.hs:247)
20.41 s
[cursor] PromoteElemResult (src/Cursor/Tree/Promote.hs:69)
20.41 s
[cursor] treeCursorPromoteSubTree (src/Cursor/Simple/Tree.hs:250)
20.41 s
[cursor] PromoteResult (src/Cursor/Tree/Promote.hs:136)
20.41 s
[cursor] treeCursorDemoteElem (src/Cursor/Simple/Tree.hs:253)
20.41 s
[cursor] treeCursorDemoteSubTree (src/Cursor/Simple/Tree.hs:256)
20.41 s
[cursor] DemoteResult (src/Cursor/Tree/Demote.hs:98)
20.41 s
[cursor] CTree (src/Cursor/Tree/Types.hs:102)
20.41 s
[cursor] CForest (src/Cursor/Tree/Types.hs:125)
20.41 s
[cursor] makeCTree (src/Cursor/Tree/Types.hs:116)
20.41 s
[cursor] cTree (src/Cursor/Tree/Types.hs:119)
20.41 s
[cursor] rebuildCTree (src/Cursor/Tree/Types.hs:122)
20.49 s
[cursor] 3% ( 1 / 33) in 'Cursor.List.NonEmpty'
20.49 s
[cursor] Missing documentation for:
20.49 s
[cursor] Module header
20.49 s
[cursor] makeNonEmptyCursor (src/Cursor/List/NonEmpty.hs:64)
20.49 s
[cursor] makeNonEmptyCursorWithSelection (src/Cursor/List/NonEmpty.hs:67)
20.49 s
[cursor] singletonNonEmptyCursor (src/Cursor/List/NonEmpty.hs:86)
20.49 s
[cursor] rebuildNonEmptyCursor (src/Cursor/List/NonEmpty.hs:90)
20.49 s
[cursor] nonEmptyCursorElemL (src/Cursor/List/NonEmpty.hs:102)
20.49 s
[cursor] mapNonEmptyCursor (src/Cursor/List/NonEmpty.hs:94)
20.49 s
[cursor] nonEmptyCursorSelectPrev (src/Cursor/List/NonEmpty.hs:105)
20.49 s
[cursor] nonEmptyCursorSelectNext (src/Cursor/List/NonEmpty.hs:117)
20.49 s
[cursor] nonEmptyCursorSelectFirst (src/Cursor/List/NonEmpty.hs:129)
20.49 s
[cursor] nonEmptyCursorSelectLast (src/Cursor/List/NonEmpty.hs:135)
20.49 s
[cursor] nonEmptyCursorSelection (src/Cursor/List/NonEmpty.hs:141)
20.49 s
[cursor] nonEmptyCursorSelectIndex (src/Cursor/List/NonEmpty.hs:144)
20.49 s
[cursor] nonEmptyCursorInsert (src/Cursor/List/NonEmpty.hs:153)
20.49 s
[cursor] nonEmptyCursorAppend (src/Cursor/List/NonEmpty.hs:156)
20.49 s
[cursor] nonEmptyCursorInsertAndSelect (src/Cursor/List/NonEmpty.hs:159)
20.49 s
[cursor] nonEmptyCursorAppendAndSelect (src/Cursor/List/NonEmpty.hs:166)
20.49 s
[cursor] nonEmptyCursorInsertAtStart (src/Cursor/List/NonEmpty.hs:173)
20.49 s
[cursor] nonEmptyCursorAppendAtEnd (src/Cursor/List/NonEmpty.hs:176)
20.49 s
[cursor] nonEmptyCursorInsertAtStartAndSelect (src/Cursor/List/NonEmpty.hs:179)
20.49 s
[cursor] nonEmptyCursorAppendAtEndAndSelect (src/Cursor/List/NonEmpty.hs:184)
20.49 s
[cursor] nonEmptyCursorRemoveElemAndSelectPrev (src/Cursor/List/NonEmpty.hs:189)
20.49 s
[cursor] nonEmptyCursorDeleteElemAndSelectNext (src/Cursor/List/NonEmpty.hs:199)
20.49 s
[cursor] nonEmptyCursorRemoveElem (src/Cursor/List/NonEmpty.hs:209)
20.49 s
[cursor] nonEmptyCursorDeleteElem (src/Cursor/List/NonEmpty.hs:215)
20.49 s
[cursor] nonEmptyCursorSearch (src/Cursor/List/NonEmpty.hs:221)
20.49 s
[cursor] nonEmptyCursorSelectOrAdd (src/Cursor/List/NonEmpty.hs:236)
20.49 s
[cursor] renderNonEmptyCursor (src/Cursor/List/NonEmpty.hs:243)
20.49 s
[cursor] nonemptyPrepend (src/Cursor/List/NonEmpty.hs:247)
20.49 s
[cursor] nonemptyAppend (src/Cursor/List/NonEmpty.hs:250)
20.49 s
[cursor] traverseNonEmptyCursor (src/Cursor/List/NonEmpty.hs:253)
20.49 s
[cursor] foldNonEmptyCursor (src/Cursor/List/NonEmpty.hs:256)
20.51 s
[cursor] 3% ( 1 / 31) in 'Cursor.Simple.List.NonEmpty'
20.51 s
[cursor] Missing documentation for:
20.51 s
[cursor] Module header
20.51 s
[cursor] nonEmptyCursorPrev (src/Cursor/List/NonEmpty.hs:54)
20.51 s
[cursor] nonEmptyCursorCurrent (src/Cursor/List/NonEmpty.hs:55)
20.51 s
[cursor] nonEmptyCursorNext (src/Cursor/List/NonEmpty.hs:56)
20.51 s
[cursor] makeNonEmptyCursor (src/Cursor/Simple/List/NonEmpty.hs:44)
20.51 s
[cursor] makeNonEmptyCursorWithSelection (src/Cursor/Simple/List/NonEmpty.hs:47)
20.51 s
[cursor] singletonNonEmptyCursor (src/Cursor/List/NonEmpty.hs:86)
20.51 s
[cursor] rebuildNonEmptyCursor (src/Cursor/Simple/List/NonEmpty.hs:50)
20.52 s
[cursor] mapNonEmptyCursor (src/Cursor/Simple/List/NonEmpty.hs:53)
20.52 s
[cursor] nonEmptyCursorElemL (src/Cursor/List/NonEmpty.hs:102)
20.52 s
[cursor] nonEmptyCursorSelectPrev (src/Cursor/Simple/List/NonEmpty.hs:56)
20.52 s
[cursor] nonEmptyCursorSelectNext (src/Cursor/Simple/List/NonEmpty.hs:59)
20.52 s
[cursor] nonEmptyCursorSelectFirst (src/Cursor/Simple/List/NonEmpty.hs:62)
20.52 s
[cursor] nonEmptyCursorSelectLast (src/Cursor/Simple/List/NonEmpty.hs:65)
20.52 s
[cursor] nonEmptyCursorSelection (src/Cursor/List/NonEmpty.hs:141)
20.52 s
[cursor] nonEmptyCursorSelectIndex (src/Cursor/Simple/List/NonEmpty.hs:68)
20.52 s
[cursor] nonEmptyCursorInsert (src/Cursor/List/NonEmpty.hs:153)
20.52 s
[cursor] nonEmptyCursorAppend (src/Cursor/List/NonEmpty.hs:156)
20.52 s
[cursor] nonEmptyCursorInsertAndSelect (src/Cursor/Simple/List/NonEmpty.hs:71)
20.52 s
[cursor] nonEmptyCursorAppendAndSelect (src/Cursor/Simple/List/NonEmpty.hs:74)
20.52 s
[cursor] nonEmptyCursorInsertAtStart (src/Cursor/List/NonEmpty.hs:173)
20.52 s
[cursor] nonEmptyCursorAppendAtEnd (src/Cursor/List/NonEmpty.hs:176)
20.52 s
[cursor] nonEmptyCursorInsertAtStartAndSelect (src/Cursor/Simple/List/NonEmpty.hs:77)
20.52 s
[cursor] nonEmptyCursorAppendAtEndAndSelect (src/Cursor/Simple/List/NonEmpty.hs:80)
20.52 s
[cursor] nonEmptyCursorRemoveElemAndSelectPrev (src/Cursor/Simple/List/NonEmpty.hs:83)
20.52 s
[cursor] nonEmptyCursorDeleteElemAndSelectNext (src/Cursor/Simple/List/NonEmpty.hs:87)
20.52 s
[cursor] nonEmptyCursorRemoveElem (src/Cursor/Simple/List/NonEmpty.hs:91)
20.52 s
[cursor] nonEmptyCursorDeleteElem (src/Cursor/Simple/List/NonEmpty.hs:94)
20.52 s
[cursor] nonEmptyCursorSearch (src/Cursor/Simple/List/NonEmpty.hs:97)
20.52 s
[cursor] nonEmptyCursorSelectOrAdd (src/Cursor/Simple/List/NonEmpty.hs:100)
20.53 s
[cursor] 2% ( 1 / 37) in 'Cursor.Map'
20.53 s
[cursor] Missing documentation for:
20.53 s
[cursor] Module header
20.53 s
[cursor] MapCursor (src/Cursor/Map.hs:56)
20.53 s
[cursor] makeMapCursor (src/Cursor/Map.hs:65)
20.53 s
[cursor] makeMapCursorWithSelection (src/Cursor/Map.hs:68)
20.53 s
[cursor] singletonMapCursorKey (src/Cursor/Map.hs:72)
20.53 s
[cursor] singletonMapCursorValue (src/Cursor/Map.hs:76)
20.53 s
[cursor] rebuildMapCursor (src/Cursor/Map.hs:80)
20.53 s
[cursor] mapMapCursor (src/Cursor/Map.hs:83)
20.53 s
[cursor] mapCursorNonEmptyCursorL (src/Cursor/Map.hs:88)
20.53 s
[cursor] mapCursorElemL (src/Cursor/Map.hs:106)
20.53 s
[cursor] mapCursorElemSelection (src/Cursor/Map.hs:110)
20.53 s
[cursor] mapCursorSelectKey (src/Cursor/Map.hs:113)
20.53 s
[cursor] mapCursorSelectValue (src/Cursor/Map.hs:116)
20.53 s
[cursor] mapCursorToggleSelected (src/Cursor/Map.hs:119)
20.53 s
[cursor] mapCursorSelectPrev (src/Cursor/Map.hs:123)
20.53 s
[cursor] mapCursorSelectNext (src/Cursor/Map.hs:128)
20.53 s
[cursor] mapCursorSelectFirst (src/Cursor/Map.hs:133)
20.53 s
[cursor] mapCursorSelectLast (src/Cursor/Map.hs:138)
20.53 s
[cursor] mapCursorSelection (src/Cursor/Map.hs:143)
20.53 s
[cursor] mapCursorSelectIndex (src/Cursor/Map.hs:146)
20.53 s
[cursor] mapCursorInsert (src/Cursor/Map.hs:156)
20.53 s
[cursor] mapCursorAppend (src/Cursor/Map.hs:159)
20.53 s
[cursor] mapCursorInsertAndSelectKey (src/Cursor/Map.hs:162)
20.53 s
[cursor] mapCursorAppendAndSelectKey (src/Cursor/Map.hs:168)
20.53 s
[cursor] mapCursorInsertAndSelectValue (src/Cursor/Map.hs:174)
20.53 s
[cursor] mapCursorAppendAndSelectValue (src/Cursor/Map.hs:180)
20.53 s
[cursor] mapCursorRemoveElemAndSelectPrev (src/Cursor/Map.hs:186)
20.53 s
[cursor] mapCursorDeleteElemAndSelectNext (src/Cursor/Map.hs:192)
20.53 s
[cursor] mapCursorRemoveElem (src/Cursor/Map.hs:198)
20.53 s
[cursor] mapCursorDeleteElem (src/Cursor/Map.hs:201)
20.54 s
[cursor] mapCursorSearch (src/Cursor/Map.hs:204)
20.54 s
[cursor] mapCursorSelectOrAdd (src/Cursor/Map.hs:214)
20.54 s
[cursor] traverseMapCursor (src/Cursor/Map.hs:232)
20.54 s
[cursor] mapCursorTraverseKeyCase (src/Cursor/Map.hs:236)
20.54 s
[cursor] mapCursorTraverseValueCase (src/Cursor/Map.hs:240)
20.54 s
[cursor] foldMapCursor (src/Cursor/Map.hs:244)
20.56 s
[cursor] 3% ( 1 / 33) in 'Cursor.Simple.Map'
20.56 s
[cursor] Missing documentation for:
20.56 s
[cursor] Module header
20.56 s
[cursor] MapCursor (src/Cursor/Simple/Map.hs:45)
20.56 s
[cursor] mapCursorList (src/Cursor/Map.hs:57)
20.56 s
[cursor] makeMapCursor (src/Cursor/Simple/Map.hs:47)
20.56 s
[cursor] makeMapCursorWithSelection (src/Cursor/Simple/Map.hs:50)
20.56 s
[cursor] singletonMapCursorKey (src/Cursor/Map.hs:72)
20.56 s
[cursor] singletonMapCursorValue (src/Cursor/Map.hs:76)
20.56 s
[cursor] rebuildMapCursor (src/Cursor/Simple/Map.hs:53)
20.56 s
[cursor] mapMapCursor (src/Cursor/Simple/Map.hs:56)
20.56 s
[cursor] mapCursorNonEmptyCursorL (src/Cursor/Map.hs:88)
20.56 s
[cursor] mapCursorElemL (src/Cursor/Map.hs:106)
20.56 s
[cursor] mapCursorSelectKey (src/Cursor/Simple/Map.hs:59)
20.56 s
[cursor] mapCursorSelectValue (src/Cursor/Simple/Map.hs:62)
20.56 s
[cursor] mapCursorToggleSelected (src/Cursor/Simple/Map.hs:65)
20.56 s
[cursor] mapCursorSelectPrev (src/Cursor/Simple/Map.hs:68)
20.56 s
[cursor] mapCursorSelectNext (src/Cursor/Simple/Map.hs:71)
20.56 s
[cursor] mapCursorSelectFirst (src/Cursor/Simple/Map.hs:74)
20.56 s
[cursor] mapCursorSelectLast (src/Cursor/Simple/Map.hs:77)
20.56 s
[cursor] mapCursorSelection (src/Cursor/Map.hs:143)
20.56 s
[cursor] mapCursorSelectIndex (src/Cursor/Simple/Map.hs:80)
20.56 s
[cursor] mapCursorInsert (src/Cursor/Map.hs:156)
20.56 s
[cursor] mapCursorAppend (src/Cursor/Map.hs:159)
20.56 s
[cursor] mapCursorInsertAndSelectKey (src/Cursor/Simple/Map.hs:83)
20.56 s
[cursor] mapCursorAppendAndSelectKey (src/Cursor/Simple/Map.hs:86)
20.56 s
[cursor] mapCursorInsertAndSelectValue (src/Cursor/Simple/Map.hs:89)
20.56 s
[cursor] mapCursorAppendAndSelectValue (src/Cursor/Simple/Map.hs:92)
20.56 s
[cursor] mapCursorRemoveElemAndSelectPrev (src/Cursor/Simple/Map.hs:95)
20.56 s
[cursor] mapCursorDeleteElemAndSelectNext (src/Cursor/Simple/Map.hs:98)
20.56 s
[cursor] mapCursorRemoveElem (src/Cursor/Simple/Map.hs:101)
20.56 s
[cursor] mapCursorDeleteElem (src/Cursor/Simple/Map.hs:104)
20.56 s
[cursor] mapCursorSearch (src/Cursor/Simple/Map.hs:107)
20.56 s
[cursor] mapCursorSelectOrAdd (src/Cursor/Simple/Map.hs:110)
20.58 s
[cursor] 0% ( 0 / 28) in 'Cursor.List'
20.58 s
[cursor] Missing documentation for:
20.58 s
[cursor] Module header
20.58 s
[cursor] ListCursor (src/Cursor/List.hs:42)
20.58 s
[cursor] emptyListCursor (src/Cursor/List.hs:53)
20.58 s
[cursor] makeListCursor (src/Cursor/List.hs:56)
20.58 s
[cursor] makeListCursorWithSelection (src/Cursor/List.hs:59)
20.58 s
[cursor] rebuildListCursor (src/Cursor/List.hs:65)
20.58 s
[cursor] listCursorNull (src/Cursor/List.hs:68)
20.58 s
[cursor] listCursorLength (src/Cursor/List.hs:71)
20.58 s
[cursor] listCursorIndex (src/Cursor/List.hs:74)
20.58 s
[cursor] listCursorSelectPrev (src/Cursor/List.hs:77)
20.58 s
[cursor] listCursorSelectNext (src/Cursor/List.hs:83)
20.58 s
[cursor] listCursorSelectIndex (src/Cursor/List.hs:89)
20.58 s
[cursor] listCursorSelectStart (src/Cursor/List.hs:95)
20.58 s
[cursor] listCursorSelectEnd (src/Cursor/List.hs:101)
20.58 s
[cursor] listCursorPrevItem (src/Cursor/List.hs:107)
20.58 s
[cursor] listCursorNextItem (src/Cursor/List.hs:113)
20.58 s
[cursor] listCursorPrevUntil (src/Cursor/List.hs:119)
20.58 s
[cursor] listCursorNextUntil (src/Cursor/List.hs:129)
20.58 s
[cursor] listCursorInsert (src/Cursor/List.hs:139)
20.58 s
[cursor] listCursorAppend (src/Cursor/List.hs:142)
20.58 s
[cursor] listCursorInsertList (src/Cursor/List.hs:145)
20.58 s
[cursor] listCursorAppendList (src/Cursor/List.hs:148)
20.58 s
[cursor] listCursorRemove (src/Cursor/List.hs:151)
20.58 s
[cursor] listCursorDelete (src/Cursor/List.hs:160)
20.58 s
[cursor] listCursorSplit (src/Cursor/List.hs:169)
20.58 s
[cursor] listCursorCombine (src/Cursor/List.hs:175)
20.58 s
[cursor] traverseListCursor (src/Cursor/List.hs:182)
20.58 s
[cursor] foldListCursor (src/Cursor/List.hs:185)
20.62 s
[cursor] 16% ( 5 / 30) in 'Cursor.Text'
20.62 s
[cursor] Missing documentation for:
20.62 s
[cursor] Module header
20.62 s
[cursor] emptyTextCursor (src/Cursor/Text.hs:66)
20.62 s
[cursor] makeTextCursor (src/Cursor/Text.hs:69)
20.62 s
[cursor] makeTextCursorWithSelection (src/Cursor/Text.hs:72)
20.62 s
[cursor] rebuildTextCursor (src/Cursor/Text.hs:78)
20.62 s
[cursor] textCursorNull (src/Cursor/Text.hs:85)
20.62 s
[cursor] textCursorLength (src/Cursor/Text.hs:88)
20.62 s
[cursor] textCursorIndex (src/Cursor/Text.hs:91)
20.62 s
[cursor] textCursorSelectPrev (src/Cursor/Text.hs:94)
20.62 s
[cursor] textCursorSelectNext (src/Cursor/Text.hs:97)
20.62 s
[cursor] textCursorSelectIndex (src/Cursor/Text.hs:100)
20.62 s
[cursor] textCursorSelectStart (src/Cursor/Text.hs:103)
20.62 s
[cursor] textCursorSelectEnd (src/Cursor/Text.hs:106)
20.62 s
[cursor] textCursorPrevChar (src/Cursor/Text.hs:109)
20.62 s
[cursor] textCursorNextChar (src/Cursor/Text.hs:112)
20.62 s
[cursor] textCursorInsert (src/Cursor/Text.hs:189)
20.62 s
[cursor] textCursorAppend (src/Cursor/Text.hs:196)
20.62 s
[cursor] textCursorInsertString (src/Cursor/Text.hs:203)
20.62 s
[cursor] textCursorAppendString (src/Cursor/Text.hs:209)
20.62 s
[cursor] textCursorInsertText (src/Cursor/Text.hs:215)
20.62 s
[cursor] textCursorAppendText (src/Cursor/Text.hs:218)
20.62 s
[cursor] textCursorRemove (src/Cursor/Text.hs:221)
20.62 s
[cursor] textCursorDelete (src/Cursor/Text.hs:224)
20.62 s
[cursor] textCursorSplit (src/Cursor/Text.hs:227)
20.62 s
[cursor] textCursorCombine (src/Cursor/Text.hs:232)
20.64 s
[cursor] 6% ( 2 / 31) in 'Cursor.TextField'
20.64 s
[cursor] Missing documentation for:
20.64 s
[cursor] Module header
20.64 s
[cursor] TextFieldCursor (src/Cursor/TextField.hs:55)
20.64 s
[cursor] makeTextFieldCursor (src/Cursor/TextField.hs:72)
20.64 s
[cursor] makeTextFieldCursorWithSelection (src/Cursor/TextField.hs:75)
20.64 s
[cursor] rebuildTextFieldCursorLines (src/Cursor/TextField.hs:85)
20.64 s
[cursor] rebuildTextFieldCursor (src/Cursor/TextField.hs:88)
20.64 s
[cursor] emptyTextFieldCursor (src/Cursor/TextField.hs:91)
20.64 s
[cursor] nullTextFieldCursor (src/Cursor/TextField.hs:95)
20.64 s
[cursor] textFieldCursorSelection (src/Cursor/TextField.hs:98)
20.64 s
[cursor] textFieldCursorNonEmptyCursorL (src/Cursor/TextField.hs:104)
20.64 s
[cursor] textFieldCursorSelectedL (src/Cursor/TextField.hs:108)
20.64 s
[cursor] textFieldCursorSelectPrevLine (src/Cursor/TextField.hs:111)
20.64 s
[cursor] textFieldCursorSelectNextLine (src/Cursor/TextField.hs:115)
20.64 s
[cursor] textFieldCursorSelectFirstLine (src/Cursor/TextField.hs:129)
20.64 s
[cursor] textFieldCursorSelectLastLine (src/Cursor/TextField.hs:133)
20.64 s
[cursor] textFieldCursorSelectPrevChar (src/Cursor/TextField.hs:147)
20.64 s
[cursor] textFieldCursorSelectNextChar (src/Cursor/TextField.hs:150)
20.64 s
[cursor] textFieldCursorSelectPrevWord (src/Cursor/TextField.hs:159)
20.64 s
[cursor] textFieldCursorSelectNextWord (src/Cursor/TextField.hs:162)
20.64 s
[cursor] textFieldCursorSelectBeginWord (src/Cursor/TextField.hs:153)
20.64 s
[cursor] textFieldCursorSelectEndWord (src/Cursor/TextField.hs:156)
20.64 s
[cursor] textFieldCursorIndexOnLine (src/Cursor/TextField.hs:165)
20.64 s
[cursor] textFieldCursorSelectIndexOnLine (src/Cursor/TextField.hs:168)
20.64 s
[cursor] textFieldCursorInsertNewline (src/Cursor/TextField.hs:199)
20.64 s
[cursor] textFieldCursorAppendNewline (src/Cursor/TextField.hs:212)
20.64 s
[cursor] textFieldCursorRemove (src/Cursor/TextField.hs:225)
20.64 s
[cursor] textFieldCursorDelete (src/Cursor/TextField.hs:249)
20.64 s
[cursor] textFieldCursorSelectStartOfLine (src/Cursor/TextField.hs:273)
20.64 s
[cursor] textFieldCursorSelectEndOfLine (src/Cursor/TextField.hs:276)
20.75 s
[cursor] 8% ( 8 / 93) in 'Cursor.Forest'
20.75 s
[cursor] Missing documentation for:
20.75 s
[cursor] Module header
20.75 s
[cursor] ForestCursor (src/Cursor/Forest.hs:114)
20.75 s
[cursor] singletonForestCursor (src/Cursor/Forest.hs:123)
20.75 s
[cursor] makeForestCursor (src/Cursor/Forest.hs:126)
20.75 s
[cursor] rebuildForestCursor (src/Cursor/Forest.hs:129)
20.75 s
[cursor] drawForestCursor (src/Cursor/Forest.hs:132)
20.75 s
[cursor] mapForestCursor (src/Cursor/Forest.hs:139)
20.75 s
[cursor] forestCursorListCursorL (src/Cursor/Forest.hs:142)
20.75 s
[cursor] forestCursorSelectedTreeL (src/Cursor/Forest.hs:146)
20.75 s
[cursor] forestCursorSelectPrevTreeCursor (src/Cursor/Forest.hs:149)
20.75 s
[cursor] forestCursorSelectNextTreeCursor (src/Cursor/Forest.hs:154)
20.75 s
[cursor] forestCursorSelectFirstTreeCursor (src/Cursor/Forest.hs:159)
20.75 s
[cursor] forestCursorSelectLastTreeCursor (src/Cursor/Forest.hs:163)
20.75 s
[cursor] forestCursorSelectPrev (src/Cursor/Forest.hs:172)
20.75 s
[cursor] forestCursorSelectNext (src/Cursor/Forest.hs:167)
20.75 s
[cursor] forestCursorSelectPrevOnSameLevel (src/Cursor/Forest.hs:186)
20.75 s
[cursor] forestCursorSelectNextOnSameLevel (src/Cursor/Forest.hs:180)
20.75 s
[cursor] forestCursorSelectFirst (src/Cursor/Forest.hs:204)
20.75 s
[cursor] forestCursorSelectLast (src/Cursor/Forest.hs:213)
20.75 s
[cursor] forestCursorSelectFirstOnSameLevel (src/Cursor/Forest.hs:198)
20.75 s
[cursor] forestCursorSelectLastOnSameLevel (src/Cursor/Forest.hs:192)
20.75 s
[cursor] forestCursorSelectAbove (src/Cursor/Forest.hs:222)
20.75 s
[cursor] forestCursorSelectBelowAtPos (src/Cursor/Forest.hs:225)
20.75 s
[cursor] forestCursorSelectBelowAtStart (src/Cursor/Forest.hs:229)
20.75 s
[cursor] forestCursorSelectBelowAtEnd (src/Cursor/Forest.hs:233)
20.75 s
[cursor] forestCursorSelection (src/Cursor/Forest.hs:236)
20.75 s
[cursor] forestCursorSelectIndex (src/Cursor/Forest.hs:239)
20.75 s
[cursor] forestCursorOpenCurrentForest (src/Cursor/Forest.hs:244)
20.75 s
[cursor] forestCursorCloseCurrentForest (src/Cursor/Forest.hs:247)
20.75 s
[cursor] forestCursorToggleCurrentForest (src/Cursor/Forest.hs:250)
20.75 s
[cursor] forestCursorOpenCurrentForestRecursively (src/Cursor/Forest.hs:253)
20.75 s
[cursor] forestCursorToggleCurrentForestRecursively (src/Cursor/Forest.hs:257)
20.75 s
[cursor] forestCursorInsertEntireTree (src/Cursor/Forest.hs:261)
20.75 s
[cursor] forestCursorAppendEntireTree (src/Cursor/Forest.hs:269)
20.75 s
[cursor] forestCursorInsertAndSelectTreeCursor (src/Cursor/Forest.hs:264)
20.75 s
[cursor] forestCursorAppendAndSelectTreeCursor (src/Cursor/Forest.hs:272)
20.75 s
[cursor] forestCursorInsertTree (src/Cursor/Forest.hs:277)
20.75 s
[cursor] forestCursorAppendTree (src/Cursor/Forest.hs:287)
20.75 s
[cursor] forestCursorInsertAndSelectTree (src/Cursor/Forest.hs:282)
20.75 s
[cursor] forestCursorAppendAndSelectTree (src/Cursor/Forest.hs:292)
20.75 s
[cursor] forestCursorInsert (src/Cursor/Forest.hs:297)
20.75 s
[cursor] forestCursorAppend (src/Cursor/Forest.hs:311)
20.75 s
[cursor] forestCursorInsertAndSelect (src/Cursor/Forest.hs:300)
20.75 s
[cursor] forestCursorAppendAndSelect (src/Cursor/Forest.hs:314)
20.75 s
[cursor] forestCursorInsertNodeSingleAndSelect (src/Cursor/Forest.hs:303)
20.75 s
[cursor] forestCursorAppendNodeSingleAndSelect (src/Cursor/Forest.hs:317)
20.75 s
[cursor] forestCursorInsertNodeAndSelect (src/Cursor/Forest.hs:306)
20.75 s
[cursor] forestCursorAppendNodeAndSelect (src/Cursor/Forest.hs:320)
20.75 s
[cursor] forestCursorAddChildTreeToNodeAtPos (src/Cursor/Forest.hs:325)
20.75 s
[cursor] forestCursorAddChildTreeToNodeAtStart (src/Cursor/Forest.hs:328)
20.75 s
[cursor] forestCursorAddChildTreeToNodeAtEnd (src/Cursor/Forest.hs:331)
20.75 s
[cursor] forestCursorAddChildToNodeAtPos (src/Cursor/Forest.hs:335)
20.75 s
[cursor] forestCursorAddChildToNodeAtStart (src/Cursor/Forest.hs:338)
20.75 s
[cursor] forestCursorAddChildToNodeAtEnd (src/Cursor/Forest.hs:341)
20.75 s
[cursor] forestCursorAddChildTreeToNodeAtPosAndSelect (src/Cursor/Forest.hs:344)
20.75 s
[cursor] forestCursorAddChildTreeToNodeAtStartAndSelect (src/Cursor/Forest.hs:349)
20.75 s
[cursor] forestCursorAddChildTreeToNodeAtEndAndSelect (src/Cursor/Forest.hs:354)
20.75 s
[cursor] forestCursorAddChildToNodeAtPosAndSelect (src/Cursor/Forest.hs:359)
20.75 s
[cursor] forestCursorAddChildToNodeAtStartAndSelect (src/Cursor/Forest.hs:364)
20.75 s
[cursor] forestCursorAddChildToNodeAtEndAndSelect (src/Cursor/Forest.hs:369)
20.75 s
[cursor] forestCursorAddChildNodeSingleToNodeAtPosAndSelect (src/Cursor/Forest.hs:374)
20.75 s
[cursor] forestCursorAddChildNodeSingleToNodeAtStartAndSelect (src/Cursor/Forest.hs:378)
20.75 s
[cursor] forestCursorAddChildNodeSingleToNodeAtEndAndSelect (src/Cursor/Forest.hs:382)
20.75 s
[cursor] forestCursorAddChildNodeToNodeAtPosAndSelect (src/Cursor/Forest.hs:386)
20.75 s
[cursor] forestCursorAddChildNodeToNodeAtStartAndSelect (src/Cursor/Forest.hs:390)
20.75 s
[cursor] forestCursorAddChildNodeToNodeAtEndAndSelect (src/Cursor/Forest.hs:394)
20.75 s
[cursor] forestCursorRemoveElemAndSelectPrev (src/Cursor/Forest.hs:398)
20.75 s
[cursor] forestCursorDeleteElemAndSelectNext (src/Cursor/Forest.hs:412)
20.75 s
[cursor] forestCursorRemoveElem (src/Cursor/Forest.hs:424)
20.75 s
[cursor] forestCursorDeleteElem (src/Cursor/Forest.hs:429)
20.75 s
[cursor] forestCursorRemoveSubTreeAndSelectPrev (src/Cursor/Forest.hs:434)
20.75 s
[cursor] forestCursorDeleteSubTreeAndSelectNext (src/Cursor/Forest.hs:449)
20.75 s
[cursor] forestCursorRemoveSubTree (src/Cursor/Forest.hs:462)
20.75 s
[cursor] forestCursorDeleteSubTree (src/Cursor/Forest.hs:467)
20.75 s
[cursor] forestCursorAddRoot (src/Cursor/Forest.hs:472)
20.75 s
[cursor] CTree (src/Cursor/Tree/Types.hs:102)
20.75 s
[cursor] makeCTree (src/Cursor/Tree/Types.hs:116)
20.75 s
[cursor] cTree (src/Cursor/Tree/Types.hs:119)
20.75 s
[cursor] rebuildCTree (src/Cursor/Tree/Types.hs:122)
20.75 s
[cursor] CForest (src/Cursor/Tree/Types.hs:125)
20.75 s
[cursor] makeCForest (src/Cursor/Tree/Types.hs:147)
20.75 s
[cursor] cForest (src/Cursor/Tree/Types.hs:150)
20.75 s
[cursor] rebuildCForest (src/Cursor/Tree/Types.hs:156)
20.75 s
[cursor] traverseForestCursor (src/Cursor/Forest.hs:750)
20.75 s
[cursor] foldForestCursor (src/Cursor/Forest.hs:753)
20.81 s
[cursor] 4% ( 4 / 91) in 'Cursor.Simple.Forest'
20.81 s
[cursor] Missing documentation for:
20.81 s
[cursor] Module header
20.81 s
[cursor] ForestCursor (src/Cursor/Simple/Forest.hs:104)
20.81 s
[cursor] singletonForestCursor (src/Cursor/Forest.hs:123)
20.81 s
[cursor] makeForestCursor (src/Cursor/Simple/Forest.hs:106)
20.81 s
[cursor] rebuildForestCursor (src/Cursor/Simple/Forest.hs:109)
20.81 s
[cursor] drawForestCursor (src/Cursor/Forest.hs:132)
20.81 s
[cursor] mapForestCursor (src/Cursor/Simple/Forest.hs:112)
20.81 s
[cursor] forestCursorListCursorL (src/Cursor/Forest.hs:142)
20.81 s
[cursor] forestCursorSelectedTreeL (src/Cursor/Forest.hs:146)
20.81 s
[cursor] forestCursorSelectPrevTreeCursor (src/Cursor/Simple/Forest.hs:115)
20.81 s
[cursor] forestCursorSelectNextTreeCursor (src/Cursor/Simple/Forest.hs:118)
20.81 s
[cursor] forestCursorSelectFirstTreeCursor (src/Cursor/Simple/Forest.hs:121)
20.81 s
[cursor] forestCursorSelectLastTreeCursor (src/Cursor/Simple/Forest.hs:124)
20.81 s
[cursor] forestCursorSelectPrev (src/Cursor/Simple/Forest.hs:130)
20.81 s
[cursor] forestCursorSelectNext (src/Cursor/Simple/Forest.hs:127)
20.81 s
[cursor] forestCursorSelectPrevOnSameLevel (src/Cursor/Simple/Forest.hs:136)
20.81 s
[cursor] forestCursorSelectNextOnSameLevel (src/Cursor/Simple/Forest.hs:133)
20.81 s
[cursor] forestCursorSelectFirst (src/Cursor/Simple/Forest.hs:139)
20.81 s
[cursor] forestCursorSelectLast (src/Cursor/Simple/Forest.hs:142)
20.81 s
[cursor] forestCursorSelectFirstOnSameLevel (src/Cursor/Simple/Forest.hs:145)
20.81 s
[cursor] forestCursorSelectLastOnSameLevel (src/Cursor/Simple/Forest.hs:148)
20.81 s
[cursor] forestCursorSelectAbove (src/Cursor/Simple/Forest.hs:151)
20.81 s
[cursor] forestCursorSelectBelowAtPos (src/Cursor/Simple/Forest.hs:154)
20.81 s
[cursor] forestCursorSelectBelowAtStart (src/Cursor/Simple/Forest.hs:157)
20.81 s
[cursor] forestCursorSelectBelowAtEnd (src/Cursor/Simple/Forest.hs:160)
20.81 s
[cursor] forestCursorOpenCurrentForest (src/Cursor/Forest.hs:244)
20.81 s
[cursor] forestCursorCloseCurrentForest (src/Cursor/Forest.hs:247)
20.81 s
[cursor] forestCursorToggleCurrentForest (src/Cursor/Forest.hs:250)
20.81 s
[cursor] forestCursorOpenCurrentForestRecursively (src/Cursor/Forest.hs:253)
20.81 s
[cursor] forestCursorToggleCurrentForestRecursively (src/Cursor/Forest.hs:257)
20.81 s
[cursor] forestCursorSelection (src/Cursor/Forest.hs:236)
20.81 s
[cursor] forestCursorSelectIndex (src/Cursor/Simple/Forest.hs:163)
20.81 s
[cursor] forestCursorInsertEntireTree (src/Cursor/Forest.hs:261)
20.81 s
[cursor] forestCursorInsertAndSelectTreeCursor (src/Cursor/Simple/Forest.hs:166)
20.81 s
[cursor] forestCursorAppendEntireTree (src/Cursor/Forest.hs:269)
20.81 s
[cursor] forestCursorAppendAndSelectTreeCursor (src/Cursor/Simple/Forest.hs:169)
20.81 s
[cursor] forestCursorInsertTree (src/Cursor/Forest.hs:277)
20.81 s
[cursor] forestCursorAppendTree (src/Cursor/Forest.hs:287)
20.81 s
[cursor] forestCursorInsertAndSelectTree (src/Cursor/Simple/Forest.hs:172)
20.81 s
[cursor] forestCursorAppendAndSelectTree (src/Cursor/Simple/Forest.hs:175)
20.81 s
[cursor] forestCursorInsert (src/Cursor/Forest.hs:297)
20.81 s
[cursor] forestCursorAppend (src/Cursor/Forest.hs:311)
20.81 s
[cursor] forestCursorInsertAndSelect (src/Cursor/Simple/Forest.hs:178)
20.81 s
[cursor] forestCursorAppendAndSelect (src/Cursor/Simple/Forest.hs:187)
20.81 s
[cursor] forestCursorInsertNodeSingleAndSelect (src/Cursor/Simple/Forest.hs:181)
20.81 s
[cursor] forestCursorAppendNodeSingleAndSelect (src/Cursor/Simple/Forest.hs:190)
20.81 s
[cursor] forestCursorInsertNodeAndSelect (src/Cursor/Simple/Forest.hs:184)
20.81 s
[cursor] forestCursorAppendNodeAndSelect (src/Cursor/Simple/Forest.hs:193)
20.81 s
[cursor] forestCursorAddChildTreeToNodeAtPos (src/Cursor/Forest.hs:325)
20.81 s
[cursor] forestCursorAddChildTreeToNodeAtStart (src/Cursor/Forest.hs:328)
20.81 s
[cursor] forestCursorAddChildTreeToNodeAtEnd (src/Cursor/Forest.hs:331)
20.81 s
[cursor] forestCursorAddChildToNodeAtPos (src/Cursor/Forest.hs:335)
20.81 s
[cursor] forestCursorAddChildToNodeAtStart (src/Cursor/Forest.hs:338)
20.81 s
[cursor] forestCursorAddChildToNodeAtEnd (src/Cursor/Forest.hs:341)
20.81 s
[cursor] forestCursorAddChildTreeToNodeAtPosAndSelect (src/Cursor/Simple/Forest.hs:196)
20.81 s
[cursor] forestCursorAddChildTreeToNodeAtStartAndSelect (src/Cursor/Simple/Forest.hs:199)
20.81 s
[cursor] forestCursorAddChildTreeToNodeAtEndAndSelect (src/Cursor/Simple/Forest.hs:203)
20.81 s
[cursor] forestCursorAddChildToNodeAtPosAndSelect (src/Cursor/Simple/Forest.hs:206)
20.81 s
[cursor] forestCursorAddChildToNodeAtStartAndSelect (src/Cursor/Simple/Forest.hs:209)
20.81 s
[cursor] forestCursorAddChildToNodeAtEndAndSelect (src/Cursor/Simple/Forest.hs:212)
20.81 s
[cursor] forestCursorAddChildNodeSingleToNodeAtPosAndSelect (src/Cursor/Simple/Forest.hs:215)
20.81 s
[cursor] forestCursorAddChildNodeSingleToNodeAtStartAndSelect (src/Cursor/Simple/Forest.hs:218)
20.81 s
[cursor] forestCursorAddChildNodeSingleToNodeAtEndAndSelect (src/Cursor/Simple/Forest.hs:221)
20.81 s
[cursor] forestCursorAddChildNodeToNodeAtPosAndSelect (src/Cursor/Simple/Forest.hs:224)
20.81 s
[cursor] forestCursorAddChildNodeToNodeAtStartAndSelect (src/Cursor/Simple/Forest.hs:227)
20.81 s
[cursor] forestCursorAddChildNodeToNodeAtEndAndSelect (src/Cursor/Simple/Forest.hs:230)
20.81 s
[cursor] forestCursorRemoveElemAndSelectPrev (src/Cursor/Simple/Forest.hs:233)
20.81 s
[cursor] forestCursorDeleteElemAndSelectNext (src/Cursor/Simple/Forest.hs:236)
20.81 s
[cursor] forestCursorRemoveElem (src/Cursor/Simple/Forest.hs:239)
20.81 s
[cursor] forestCursorDeleteElem (src/Cursor/Simple/Forest.hs:242)
20.81 s
[cursor] forestCursorRemoveSubTreeAndSelectPrev (src/Cursor/Simple/Forest.hs:245)
20.81 s
[cursor] forestCursorDeleteSubTreeAndSelectNext (src/Cursor/Simple/Forest.hs:248)
20.81 s
[cursor] forestCursorRemoveSubTree (src/Cursor/Simple/Forest.hs:251)
20.81 s
[cursor] forestCursorDeleteSubTree (src/Cursor/Simple/Forest.hs:254)
20.81 s
[cursor] forestCursorAddRoot (src/Cursor/Simple/Forest.hs:257)
20.81 s
[cursor] forestCursorPromoteElem (src/Cursor/Simple/Forest.hs:260)
20.81 s
[cursor] forestCursorPromoteSubTree (src/Cursor/Simple/Forest.hs:263)
20.81 s
[cursor] forestCursorDemoteElem (src/Cursor/Simple/Forest.hs:266)
20.81 s
[cursor] forestCursorDemoteSubTree (src/Cursor/Simple/Forest.hs:269)
20.81 s
[cursor] CTree (src/Cursor/Tree/Types.hs:102)
20.81 s
[cursor] makeCTree (src/Cursor/Tree/Types.hs:116)
20.81 s
[cursor] cTree (src/Cursor/Tree/Types.hs:119)
20.81 s
[cursor] rebuildCTree (src/Cursor/Tree/Types.hs:122)
20.81 s
[cursor] CForest (src/Cursor/Tree/Types.hs:125)
20.81 s
[cursor] makeCForest (src/Cursor/Tree/Types.hs:147)
20.81 s
[cursor] cForest (src/Cursor/Tree/Types.hs:150)
20.81 s
[cursor] rebuildCForest (src/Cursor/Tree/Types.hs:156)
23.36 s
[cursor] Documentation created: dist/doc/html/cursor/, dist/doc/html/cursor/cursor.txt
23.45 s
[cursor] Phase: installPhase
23.47 s
[cursor] Installing library in /nix/store/5jbn6gvg30q103ljwykkwv16g191dc5r-cursor-0.3.2.0/lib/ghc-9.6.6/lib/x86_64-linux-ghc-9.6.6/cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5
23.97 s
[cursor] Phase: fixupPhase
23.99 s
[cursor] shrinking RPATHs of ELF executables and libraries in /nix/store/5jbn6gvg30q103ljwykkwv16g191dc5r-cursor-0.3.2.0
24.01 s
[cursor] shrinking /nix/store/5jbn6gvg30q103ljwykkwv16g191dc5r-cursor-0.3.2.0/lib/ghc-9.6.6/lib/x86_64-linux-ghc-9.6.6/libHScursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5-ghc9.6.6.so
24.01 s
[cursor] checking for references to /build/ in /nix/store/5jbn6gvg30q103ljwykkwv16g191dc5r-cursor-0.3.2.0...
24.04 s
[cursor] patching script interpreter paths in /nix/store/5jbn6gvg30q103ljwykkwv16g191dc5r-cursor-0.3.2.0
24.04 s
[cursor] stripping (with command strip and flags -S -p) in /nix/store/5jbn6gvg30q103ljwykkwv16g191dc5r-cursor-0.3.2.0/lib
24.20 s
[cursor] shrinking RPATHs of ELF executables and libraries in /nix/store/yai7xdq2m8ajwsj5vf53hfdlf1ic8ys1-cursor-0.3.2.0-doc
24.21 s
[cursor] checking for references to /build/ in /nix/store/yai7xdq2m8ajwsj5vf53hfdlf1ic8ys1-cursor-0.3.2.0-doc...
24.22 s
[cursor] patching script interpreter paths in /nix/store/yai7xdq2m8ajwsj5vf53hfdlf1ic8ys1-cursor-0.3.2.0-doc
24.28 s
[post-build-hook] Uploading to cachix cache "cursor": /nix/store/5jbn6gvg30q103ljwykkwv16g191dc5r-cursor-0.3.2.0 /nix/store/yai7xdq2m8ajwsj5vf53hfdlf1ic8ys1-cursor-0.3.2.0-doc
24.72 s
[post-build-hook] Pushing 2 paths (71 are already present) using zstd to cache cursor ⏳
24.72 s
[post-build-hook]
25.12 s
[post-build-hook] Pushing /nix/store/yai7xdq2m8ajwsj5vf53hfdlf1ic8ys1-cursor-0.3.2.0-doc (4.85 MiB)
25.16 s
[post-build-hook] Pushing /nix/store/5jbn6gvg30q103ljwykkwv16g191dc5r-cursor-0.3.2.0 (10.76 MiB)
27.15 s
[post-build-hook]
27.15 s
[post-build-hook] All done.
27.17 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/5jbn6gvg30q103ljwykkwv16g191dc5r-cursor-0.3.2.0 /nix/store/yai7xdq2m8ajwsj5vf53hfdlf1ic8ys1-cursor-0.3.2.0-doc
27.41 s
[post-build-hook] copying 2 paths...
27.41 s
[post-build-hook] copying path '/nix/store/yai7xdq2m8ajwsj5vf53hfdlf1ic8ys1-cursor-0.3.2.0-doc' to 'https://cache.staging.nix-ci.com'...
28.15 s
[post-build-hook] copying path '/nix/store/5jbn6gvg30q103ljwykkwv16g191dc5r-cursor-0.3.2.0' to 'https://cache.staging.nix-ci.com'...
30.83 s
[post-build-hook] copying 1 paths...
30.83 s
[post-build-hook] copying path '/nix/store/l2x8j3laimfmbk0cq6gw4pnfaj5a5dmz-cursor-0.3.2.0.drv' to 'https://cache.staging.nix-ci.com'...
31.71 s
Progress: 2 of 6 built, 21 of 21 downloaded from cache
31.75 s
Building cursor-gen-source
31.87 s
[cursor-gen-source] Phase: setupCompilerEnvironmentPhase
31.87 s
[cursor-gen-source] Build with /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6.
32.04 s
[cursor-gen-source] Phase: unpackPhase
32.05 s
[cursor-gen-source] unpacking source archive /nix/store/zr91qcy7vh6f07g44v03gchz5zlvgwpq-cursor-gen
32.06 s
[cursor-gen-source] source root is cursor-gen
32.07 s
[cursor-gen-source] Phase: patchPhase
32.07 s
[cursor-gen-source] Phase: compileBuildDriverPhase
32.08 s
[cursor-gen-source] setupCompileFlags: -package-db=/build/tmp.I13zhvtNvK/setup-package.conf.d -threaded
32.12 s
[cursor-gen-source] [1 of 2] Compiling Main ( /nix/store/4mdp8nhyfddh7bllbi7xszz7k9955n79-Setup.hs, /build/tmp.I13zhvtNvK/Main.o )
32.16 s
[cursor-gen-source] [2 of 2] Linking Setup
33.20 s
[cursor-gen-source] Phase: updateAutotoolsGnuConfigScriptsPhase
33.21 s
[cursor-gen-source] Phase: configurePhase
33.22 s
[cursor-gen-source] configureFlags: --verbose --prefix=/nix/store/cpxab2fh850afdncvprsk8sx2jrgzgxl-cursor-gen-source-0.4.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/share/doc/cursor-gen-0.4.0.0 --with-gcc=gcc --package-db=/build/tmp.I13zhvtNvK/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --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 --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --ghc-option=-Wall --ghc-option=-Werror --extra-lib-dirs=/nix/store/3f3aa75rg5xjv498n1i9gzmlh06an73p-ncurses-6.4.20221231/lib --extra-lib-dirs=/nix/store/s8rgz1c5dwpcw607p9s7pig3ig19hbvl-libffi-3.4.6/lib --extra-lib-dirs=/nix/store/mz53myclg9kxbfp85yswy7c25h5qpwvf-elfutils-0.191/lib --extra-lib-dirs=/nix/store/k2jdvz2f8fzgc4q7k519l5mmv1x75d9s-gmp-with-cxx-6.3.0/lib
33.24 s
[cursor-gen-source] Using Parsec parser
33.24 s
[cursor-gen-source] Configuring cursor-gen-0.4.0.0...
33.52 s
[cursor-gen-source] Dependency QuickCheck: using QuickCheck-2.14.3
33.52 s
[cursor-gen-source] Dependency base <5: using base-4.18.2.1
33.52 s
[cursor-gen-source] Dependency containers: using containers-0.6.7
33.52 s
[cursor-gen-source] Dependency cursor >=0.2: using cursor-0.3.2.0
33.52 s
[cursor-gen-source] Dependency genvalidity >=0.8: using genvalidity-1.1.1.0
33.52 s
[cursor-gen-source] Dependency genvalidity-containers: using genvalidity-containers-1.0.0.2
33.52 s
[cursor-gen-source] Dependency genvalidity-text >=0.6: using genvalidity-text-1.0.0.1
33.52 s
[cursor-gen-source] Dependency text: using text-2.0.2
33.52 s
[cursor-gen-source] Dependency QuickCheck: using QuickCheck-2.14.3
33.52 s
[cursor-gen-source] Dependency base <5: using base-4.18.2.1
33.52 s
[cursor-gen-source] Dependency containers: using containers-0.6.7
33.52 s
[cursor-gen-source] Dependency cursor: using cursor-0.3.2.0
33.52 s
[cursor-gen-source] Dependency cursor-gen: using cursor-gen-0.4.0.0
33.52 s
[cursor-gen-source] Dependency genvalidity-hspec: using genvalidity-hspec-1.0.0.3
33.52 s
[cursor-gen-source] Dependency genvalidity-hspec-optics: using genvalidity-hspec-optics-1.0.0.0
33.52 s
[cursor-gen-source] Dependency hspec: using hspec-2.11.9
33.52 s
[cursor-gen-source] Dependency microlens: using microlens-0.4.13.1
33.52 s
[cursor-gen-source] Dependency pretty-show: using pretty-show-1.10
33.52 s
[cursor-gen-source] Dependency text: using text-2.0.2
34.06 s
[cursor-gen-source] Source component graph:
34.06 s
[cursor-gen-source] component lib
34.06 s
[cursor-gen-source] component test:cursor-test dependency lib
34.06 s
[cursor-gen-source] Configured component graph:
34.06 s
[cursor-gen-source] component cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9
34.06 s
[cursor-gen-source] include QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
34.06 s
[cursor-gen-source] include base-4.18.2.1
34.06 s
[cursor-gen-source] include containers-0.6.7
34.06 s
[cursor-gen-source] include cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5
34.06 s
[cursor-gen-source] include genvalidity-1.1.1.0-2rUmIqnFSOoBp0hNYBULmv
34.06 s
[cursor-gen-source] include genvalidity-containers-1.0.0.2-3ixNolyiuPV1Cd2yhR9hIn
34.06 s
[cursor-gen-source] include genvalidity-text-1.0.0.1-5FUaEUeJZSDIFhRd0kyjgL
34.06 s
[cursor-gen-source] include text-2.0.2
34.06 s
[cursor-gen-source] component cursor-gen-0.4.0.0-8PJFZKaOrrL6ALdGWVxYSb-cursor-test
34.06 s
[cursor-gen-source] include QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
34.06 s
[cursor-gen-source] include base-4.18.2.1
34.06 s
[cursor-gen-source] include containers-0.6.7
34.06 s
[cursor-gen-source] include cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5
34.06 s
[cursor-gen-source] include cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9
34.06 s
[cursor-gen-source] include genvalidity-hspec-1.0.0.3-BnwEoLPLh2jJtz4qMHw0NS
34.06 s
[cursor-gen-source] include genvalidity-hspec-optics-1.0.0.0-8uOlPh0yonFATIB2J4CFNN
34.06 s
[cursor-gen-source] include hspec-2.11.9-K4kdq1ZGqnN7rZ0uL9rUZi
34.06 s
[cursor-gen-source] include microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
34.06 s
[cursor-gen-source] include pretty-show-1.10-Hkt8Fo77lI39LZgAuw0Xz
34.06 s
[cursor-gen-source] include text-2.0.2
34.06 s
[cursor-gen-source] Linked component graph:
34.06 s
[cursor-gen-source] unit cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9
34.06 s
[cursor-gen-source] include QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
34.06 s
[cursor-gen-source] include base-4.18.2.1
34.06 s
[cursor-gen-source] include containers-0.6.7
34.06 s
[cursor-gen-source] include cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5
34.06 s
[cursor-gen-source] include genvalidity-1.1.1.0-2rUmIqnFSOoBp0hNYBULmv
34.06 s
[cursor-gen-source] include genvalidity-containers-1.0.0.2-3ixNolyiuPV1Cd2yhR9hIn
34.06 s
[cursor-gen-source] include genvalidity-text-1.0.0.1-5FUaEUeJZSDIFhRd0kyjgL
34.06 s
[cursor-gen-source] include text-2.0.2
34.06 s
[cursor-gen-source] Cursor.Forest.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.Forest.Gen,Cursor.List.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.List.Gen,Cursor.List.NonEmpty.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.List.NonEmpty.Gen,Cursor.Map.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.Map.Gen,Cursor.Map.KeyValue.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.Map.KeyValue.Gen,Cursor.Simple.Forest.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.Simple.Forest.Gen,Cursor.Simple.List.NonEmpty.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.Simple.List.NonEmpty.Gen,Cursor.Simple.Map.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.Simple.Map.Gen,Cursor.Simple.Map.KeyValue.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.Simple.Map.KeyValue.Gen,Cursor.Simple.Tree.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.Simple.Tree.Gen,Cursor.Text.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.Text.Gen,Cursor.TextField.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.TextField.Gen,Cursor.Tree.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.Tree.Gen
34.06 s
[cursor-gen-source] unit cursor-gen-0.4.0.0-8PJFZKaOrrL6ALdGWVxYSb-cursor-test
34.06 s
[cursor-gen-source] include QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
34.06 s
[cursor-gen-source] include base-4.18.2.1
34.06 s
[cursor-gen-source] include containers-0.6.7
34.06 s
[cursor-gen-source] include cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5
34.06 s
[cursor-gen-source] include cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9
34.06 s
[cursor-gen-source] include genvalidity-hspec-1.0.0.3-BnwEoLPLh2jJtz4qMHw0NS
34.06 s
[cursor-gen-source] include genvalidity-hspec-optics-1.0.0.0-8uOlPh0yonFATIB2J4CFNN
34.06 s
[cursor-gen-source] include hspec-2.11.9-K4kdq1ZGqnN7rZ0uL9rUZi
34.06 s
[cursor-gen-source] include microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
34.06 s
[cursor-gen-source] include pretty-show-1.10-Hkt8Fo77lI39LZgAuw0Xz
34.06 s
[cursor-gen-source] include text-2.0.2
34.06 s
[cursor-gen-source] Ready component graph:
34.06 s
[cursor-gen-source] definite cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9
34.06 s
[cursor-gen-source] depends QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
34.06 s
[cursor-gen-source] depends base-4.18.2.1
34.06 s
[cursor-gen-source] depends containers-0.6.7
34.06 s
[cursor-gen-source] depends cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5
34.06 s
[cursor-gen-source] depends genvalidity-1.1.1.0-2rUmIqnFSOoBp0hNYBULmv
34.06 s
[cursor-gen-source] depends genvalidity-containers-1.0.0.2-3ixNolyiuPV1Cd2yhR9hIn
34.06 s
[cursor-gen-source] depends genvalidity-text-1.0.0.1-5FUaEUeJZSDIFhRd0kyjgL
34.06 s
[cursor-gen-source] depends text-2.0.2
34.06 s
[cursor-gen-source] definite cursor-gen-0.4.0.0-8PJFZKaOrrL6ALdGWVxYSb-cursor-test
34.06 s
[cursor-gen-source] depends QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
34.06 s
[cursor-gen-source] depends base-4.18.2.1
34.06 s
[cursor-gen-source] depends containers-0.6.7
34.06 s
[cursor-gen-source] depends cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5
34.06 s
[cursor-gen-source] depends cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9
34.06 s
[cursor-gen-source] depends genvalidity-hspec-1.0.0.3-BnwEoLPLh2jJtz4qMHw0NS
34.06 s
[cursor-gen-source] depends genvalidity-hspec-optics-1.0.0.0-8uOlPh0yonFATIB2J4CFNN
34.06 s
[cursor-gen-source] depends hspec-2.11.9-K4kdq1ZGqnN7rZ0uL9rUZi
34.06 s
[cursor-gen-source] depends microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
34.06 s
[cursor-gen-source] depends pretty-show-1.10-Hkt8Fo77lI39LZgAuw0Xz
34.06 s
[cursor-gen-source] depends text-2.0.2
34.07 s
[cursor-gen-source] Using Cabal-3.10.3.0 compiled by ghc-9.6
34.07 s
[cursor-gen-source] Using compiler: ghc-9.6.6
34.07 s
[cursor-gen-source] Using install prefix:
34.07 s
[cursor-gen-source] /nix/store/cpxab2fh850afdncvprsk8sx2jrgzgxl-cursor-gen-source-0.4.0.0
34.07 s
[cursor-gen-source] Executables installed in:
34.07 s
[cursor-gen-source] /nix/store/cpxab2fh850afdncvprsk8sx2jrgzgxl-cursor-gen-source-0.4.0.0/bin
34.07 s
[cursor-gen-source] Libraries installed in:
34.07 s
[cursor-gen-source] /nix/store/cpxab2fh850afdncvprsk8sx2jrgzgxl-cursor-gen-source-0.4.0.0/lib/ghc-9.6.6/lib/x86_64-linux-ghc-9.6.6/cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9
34.07 s
[cursor-gen-source] Dynamic Libraries installed in:
34.07 s
[cursor-gen-source] /nix/store/cpxab2fh850afdncvprsk8sx2jrgzgxl-cursor-gen-source-0.4.0.0/lib/ghc-9.6.6/lib/x86_64-linux-ghc-9.6.6
34.07 s
[cursor-gen-source] Private executables installed in:
34.07 s
[cursor-gen-source] /nix/store/cpxab2fh850afdncvprsk8sx2jrgzgxl-cursor-gen-source-0.4.0.0/libexec/x86_64-linux-ghc-9.6.6/cursor-gen-0.4.0.0
34.07 s
[cursor-gen-source] Data files installed in:
34.07 s
[cursor-gen-source] /nix/store/cpxab2fh850afdncvprsk8sx2jrgzgxl-cursor-gen-source-0.4.0.0/share/x86_64-linux-ghc-9.6.6/cursor-gen-0.4.0.0
34.07 s
[cursor-gen-source] Documentation installed in: /share/doc/cursor-gen-0.4.0.0
34.07 s
[cursor-gen-source] Configuration files installed in:
34.07 s
[cursor-gen-source] /nix/store/cpxab2fh850afdncvprsk8sx2jrgzgxl-cursor-gen-source-0.4.0.0/etc
34.07 s
[cursor-gen-source] No alex found
34.07 s
[cursor-gen-source] Using ar found on system at:
34.07 s
[cursor-gen-source] /nix/store/kmaz78bn767ffazkpf8zbq3plnh45nfm-binutils-wrapper-2.43.1/bin/ar
34.07 s
[cursor-gen-source] No c2hs found
34.07 s
[cursor-gen-source] No cpphs found
34.07 s
[cursor-gen-source] No doctest found
34.07 s
[cursor-gen-source] Using gcc version 13.3.0 given by user at:
34.07 s
[cursor-gen-source] /nix/store/mzfk1sdv6bxvdh9slvddpj734ck99idi-gcc-wrapper-13.3.0/bin/gcc
34.07 s
[cursor-gen-source] Using ghc version 9.6.6 found on system at:
34.07 s
[cursor-gen-source] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/ghc
34.07 s
[cursor-gen-source] Using ghc-pkg version 9.6.6 found on system at:
34.07 s
[cursor-gen-source] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/ghc-pkg-9.6.6
34.07 s
[cursor-gen-source] No ghcjs found
34.07 s
[cursor-gen-source] No ghcjs-pkg found
34.07 s
[cursor-gen-source] No greencard found
34.07 s
[cursor-gen-source] Using haddock version 2.29.2 found on system at:
34.07 s
[cursor-gen-source] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/haddock-ghc-9.6.6
34.07 s
[cursor-gen-source] No happy found
34.07 s
[cursor-gen-source] Using haskell-suite found on system at: haskell-suite-dummy-location
34.07 s
[cursor-gen-source] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
34.07 s
[cursor-gen-source] No hmake found
34.07 s
[cursor-gen-source] Using hpc version 0.68 found on system at:
34.07 s
[cursor-gen-source] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/hpc-ghc-9.6.6
34.07 s
[cursor-gen-source] Using hsc2hs version 0.68.9 found on system at:
34.07 s
[cursor-gen-source] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/hsc2hs-ghc-9.6.6
34.07 s
[cursor-gen-source] Using hscolour version 1.25 found on system at:
34.07 s
[cursor-gen-source] /nix/store/1486f5wc7jkiy8v60jdh30zr93aiswai-hscolour-1.25/bin/HsColour
34.07 s
[cursor-gen-source] No jhc found
34.07 s
[cursor-gen-source] Using ld found on system at:
34.07 s
[cursor-gen-source] /nix/store/kmaz78bn767ffazkpf8zbq3plnh45nfm-binutils-wrapper-2.43.1/bin/ld.gold
34.07 s
[cursor-gen-source] No pkg-config found
34.07 s
[cursor-gen-source] Using runghc version 9.6.6 found on system at:
34.07 s
[cursor-gen-source] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/runghc-9.6.6
34.07 s
[cursor-gen-source] Using strip version 2.43 found on system at:
34.07 s
[cursor-gen-source] /nix/store/mzfk1sdv6bxvdh9slvddpj734ck99idi-gcc-wrapper-13.3.0/bin/strip
34.07 s
[cursor-gen-source] Using tar found on system at:
34.07 s
[cursor-gen-source] /nix/store/prkjsk3l0l253yn0y2zqpyjjjsnk91gw-gnutar-1.35/bin/tar
34.07 s
[cursor-gen-source] No uhc found
34.18 s
[cursor-gen-source] Phase: buildPhase
34.19 s
[cursor-gen-source] Building source dist for cursor-gen-0.4.0.0...
34.20 s
[cursor-gen-source] Source tarball created: dist/cursor-gen-0.4.0.0.tar.gz
34.22 s
[cursor-gen-source] Phase: checkPhase
34.22 s
[cursor-gen-source] Phase: haddockPhase
34.23 s
[cursor-gen-source] Phase: installPhase
34.23 s
[cursor-gen-source] Phase: fixupPhase
34.78 s
[post-build-hook] Uploading to cachix cache "cursor": /nix/store/cpxab2fh850afdncvprsk8sx2jrgzgxl-cursor-gen-source-0.4.0.0
35.16 s
[post-build-hook] Pushing 1 paths (0 are already present) using zstd to cache cursor ⏳
35.16 s
[post-build-hook]
35.55 s
[post-build-hook] Pushing /nix/store/cpxab2fh850afdncvprsk8sx2jrgzgxl-cursor-gen-source-0.4.0.0 (19.02 KiB)
36.54 s
[post-build-hook]
36.54 s
[post-build-hook] All done.
36.56 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/cpxab2fh850afdncvprsk8sx2jrgzgxl-cursor-gen-source-0.4.0.0
36.61 s
[post-build-hook] copying 1 paths...
36.61 s
[post-build-hook] copying path '/nix/store/cpxab2fh850afdncvprsk8sx2jrgzgxl-cursor-gen-source-0.4.0.0' to 'https://cache.staging.nix-ci.com'...
37.25 s
[post-build-hook] copying 13 paths...
37.25 s
[post-build-hook] copying path '/nix/store/507sljk1wgkjgdg7ss6q2877b59p58ac-genvalidity-hspec-optics-1.0.0.0.tar.gz.drv' to 'https://cache.staging.nix-ci.com'...
37.25 s
[post-build-hook] copying path '/nix/store/a8waw5iynm877axrnkgiczp6gc6hfyb9-genvalidity-property-1.0.0.0.tar.gz.drv' to 'https://cache.staging.nix-ci.com'...
37.25 s
[post-build-hook] copying path '/nix/store/dr5wrm0rm6c24myd2n9pyvkl6wc1r73w-genvalidity-text-1.0.0.1.tar.gz.drv' to 'https://cache.staging.nix-ci.com'...
37.25 s
[post-build-hook] copying path '/nix/store/da03g7kmyc6khz2p4gc04905wa2jz8p3-genvalidity-1.1.1.0.tar.gz.drv' to 'https://cache.staging.nix-ci.com'...
37.25 s
[post-build-hook] copying path '/nix/store/nfq6k75iw7wvnrsrs93iiycabbgqdyhk-genvalidity-containers-1.0.0.2.tar.gz.drv' to 'https://cache.staging.nix-ci.com'...
37.25 s
[post-build-hook] copying path '/nix/store/ql6w69mizlxij3zc5dvpkqqdbfkq9qns-genvalidity-hspec-1.0.0.3.tar.gz.drv' to 'https://cache.staging.nix-ci.com'...
37.49 s
[post-build-hook] copying path '/nix/store/zdhhh3bvwrv7ka4s8jlzlxg0mfpchjcf-genvalidity-1.1.1.0.drv' to 'https://cache.staging.nix-ci.com'...
37.75 s
[post-build-hook] copying path '/nix/store/6kbn0vdb2hr9y2gkx8x8lb23bki48alj-genvalidity-property-1.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
37.93 s
[post-build-hook] copying path '/nix/store/mqpyxr7b9avhqcgfrlngsky1g1g66g4k-genvalidity-hspec-1.0.0.3.drv' to 'https://cache.staging.nix-ci.com'...
38.11 s
[post-build-hook] copying path '/nix/store/c5faz32x2cyxds8yblss4h8y6zklvlyj-genvalidity-text-1.0.0.1.drv' to 'https://cache.staging.nix-ci.com'...
38.11 s
[post-build-hook] copying path '/nix/store/yac77fn9ssf55af4h34ilzpyqnqld34n-genvalidity-containers-1.0.0.2.drv' to 'https://cache.staging.nix-ci.com'...
38.11 s
[post-build-hook] copying path '/nix/store/6xxpx81hj2rmpiy5i78by6sym71mdpkz-genvalidity-hspec-optics-1.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
38.32 s
[post-build-hook] copying path '/nix/store/7yzrccwnvzfvgjwda2b3sk7w9fb2cbmn-cursor-gen-source-0.4.0.0.drv' to 'https://cache.staging.nix-ci.com'...
38.94 s
Progress: 3 of 6 built, 21 of 21 downloaded from cache
39.01 s
Building cursor-gen
39.13 s
[cursor-gen] Phase: setupCompilerEnvironmentPhase
39.13 s
[cursor-gen] Build with /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6.
39.30 s
[cursor-gen] Phase: unpackPhase
39.30 s
[cursor-gen] unpacking source archive /nix/store/cpxab2fh850afdncvprsk8sx2jrgzgxl-cursor-gen-source-0.4.0.0/cursor-gen-0.4.0.0.tar.gz
39.31 s
[cursor-gen] source root is cursor-gen-0.4.0.0
39.31 s
[cursor-gen] setting SOURCE_DATE_EPOCH to timestamp 1780346442 of file cursor-gen-0.4.0.0/test/Spec.hs
39.31 s
[cursor-gen] warning: file cursor-gen-0.4.0.0/test/Spec.hs may be generated; SOURCE_DATE_EPOCH may be non-deterministic
39.32 s
[cursor-gen] Phase: patchPhase
39.32 s
[cursor-gen] Phase: compileBuildDriverPhase
39.33 s
[cursor-gen] setupCompileFlags: -package-db=/build/tmp.rphszVqJDW/setup-package.conf.d -threaded
39.37 s
[cursor-gen] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.rphszVqJDW/Main.o )
39.41 s
[cursor-gen] [2 of 2] Linking Setup
40.46 s
[cursor-gen] Phase: updateAutotoolsGnuConfigScriptsPhase
40.47 s
[cursor-gen] Phase: configurePhase
40.47 s
[cursor-gen] configureFlags: --verbose --prefix=/nix/store/5pzifz9p13qnvjj2f81cqs3asmshjkll-cursor-gen-0.4.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/jqccvcnkb15bpgai8s0w8ra5sxxxh3ps-cursor-gen-0.4.0.0-doc/share/doc/cursor-gen-0.4.0.0 --with-gcc=gcc --package-db=/build/tmp.rphszVqJDW/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --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 --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --ghc-option=-Wall --ghc-option=-Werror --extra-lib-dirs=/nix/store/3f3aa75rg5xjv498n1i9gzmlh06an73p-ncurses-6.4.20221231/lib --extra-lib-dirs=/nix/store/s8rgz1c5dwpcw607p9s7pig3ig19hbvl-libffi-3.4.6/lib --extra-lib-dirs=/nix/store/mz53myclg9kxbfp85yswy7c25h5qpwvf-elfutils-0.191/lib --extra-lib-dirs=/nix/store/k2jdvz2f8fzgc4q7k519l5mmv1x75d9s-gmp-with-cxx-6.3.0/lib
40.48 s
[cursor-gen] Using Parsec parser
40.48 s
[cursor-gen] Configuring cursor-gen-0.4.0.0...
40.78 s
[cursor-gen] Dependency QuickCheck: using QuickCheck-2.14.3
40.78 s
[cursor-gen] Dependency base <5: using base-4.18.2.1
40.78 s
[cursor-gen] Dependency containers: using containers-0.6.7
40.78 s
[cursor-gen] Dependency cursor >=0.2: using cursor-0.3.2.0
40.78 s
[cursor-gen] Dependency genvalidity >=0.8: using genvalidity-1.1.1.0
40.78 s
[cursor-gen] Dependency genvalidity-containers: using genvalidity-containers-1.0.0.2
40.78 s
[cursor-gen] Dependency genvalidity-text >=0.6: using genvalidity-text-1.0.0.1
40.78 s
[cursor-gen] Dependency text: using text-2.0.2
40.78 s
[cursor-gen] Dependency QuickCheck: using QuickCheck-2.14.3
40.78 s
[cursor-gen] Dependency base <5: using base-4.18.2.1
40.78 s
[cursor-gen] Dependency containers: using containers-0.6.7
40.78 s
[cursor-gen] Dependency cursor: using cursor-0.3.2.0
40.78 s
[cursor-gen] Dependency cursor-gen: using cursor-gen-0.4.0.0
40.78 s
[cursor-gen] Dependency genvalidity-hspec: using genvalidity-hspec-1.0.0.3
40.78 s
[cursor-gen] Dependency genvalidity-hspec-optics: using genvalidity-hspec-optics-1.0.0.0
40.78 s
[cursor-gen] Dependency hspec: using hspec-2.11.9
40.78 s
[cursor-gen] Dependency microlens: using microlens-0.4.13.1
40.78 s
[cursor-gen] Dependency pretty-show: using pretty-show-1.10
40.78 s
[cursor-gen] Dependency text: using text-2.0.2
41.04 s
[cursor-gen] Source component graph:
41.04 s
[cursor-gen] component lib
41.04 s
[cursor-gen] component test:cursor-test dependency lib
41.04 s
[cursor-gen] Configured component graph:
41.04 s
[cursor-gen] component cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9
41.04 s
[cursor-gen] include QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
41.04 s
[cursor-gen] include base-4.18.2.1
41.04 s
[cursor-gen] include containers-0.6.7
41.04 s
[cursor-gen] include cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5
41.04 s
[cursor-gen] include genvalidity-1.1.1.0-2rUmIqnFSOoBp0hNYBULmv
41.04 s
[cursor-gen] include genvalidity-containers-1.0.0.2-3ixNolyiuPV1Cd2yhR9hIn
41.04 s
[cursor-gen] include genvalidity-text-1.0.0.1-5FUaEUeJZSDIFhRd0kyjgL
41.04 s
[cursor-gen] include text-2.0.2
41.04 s
[cursor-gen] component cursor-gen-0.4.0.0-8PJFZKaOrrL6ALdGWVxYSb-cursor-test
41.04 s
[cursor-gen] include QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
41.04 s
[cursor-gen] include base-4.18.2.1
41.04 s
[cursor-gen] include containers-0.6.7
41.04 s
[cursor-gen] include cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5
41.04 s
[cursor-gen] include cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9
41.04 s
[cursor-gen] include genvalidity-hspec-1.0.0.3-BnwEoLPLh2jJtz4qMHw0NS
41.04 s
[cursor-gen] include genvalidity-hspec-optics-1.0.0.0-8uOlPh0yonFATIB2J4CFNN
41.04 s
[cursor-gen] include hspec-2.11.9-K4kdq1ZGqnN7rZ0uL9rUZi
41.04 s
[cursor-gen] include microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
41.04 s
[cursor-gen] include pretty-show-1.10-Hkt8Fo77lI39LZgAuw0Xz
41.04 s
[cursor-gen] include text-2.0.2
41.04 s
[cursor-gen] Linked component graph:
41.04 s
[cursor-gen] unit cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9
41.04 s
[cursor-gen] include QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
41.04 s
[cursor-gen] include base-4.18.2.1
41.04 s
[cursor-gen] include containers-0.6.7
41.04 s
[cursor-gen] include cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5
41.05 s
[cursor-gen] include genvalidity-1.1.1.0-2rUmIqnFSOoBp0hNYBULmv
41.05 s
[cursor-gen] include genvalidity-containers-1.0.0.2-3ixNolyiuPV1Cd2yhR9hIn
41.05 s
[cursor-gen] include genvalidity-text-1.0.0.1-5FUaEUeJZSDIFhRd0kyjgL
41.05 s
[cursor-gen] include text-2.0.2
41.05 s
[cursor-gen] Cursor.Forest.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.Forest.Gen,Cursor.List.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.List.Gen,Cursor.List.NonEmpty.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.List.NonEmpty.Gen,Cursor.Map.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.Map.Gen,Cursor.Map.KeyValue.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.Map.KeyValue.Gen,Cursor.Simple.Forest.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.Simple.Forest.Gen,Cursor.Simple.List.NonEmpty.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.Simple.List.NonEmpty.Gen,Cursor.Simple.Map.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.Simple.Map.Gen,Cursor.Simple.Map.KeyValue.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.Simple.Map.KeyValue.Gen,Cursor.Simple.Tree.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.Simple.Tree.Gen,Cursor.Text.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.Text.Gen,Cursor.TextField.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.TextField.Gen,Cursor.Tree.Gen=cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9:Cursor.Tree.Gen
41.05 s
[cursor-gen] unit cursor-gen-0.4.0.0-8PJFZKaOrrL6ALdGWVxYSb-cursor-test
41.05 s
[cursor-gen] include QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
41.05 s
[cursor-gen] include base-4.18.2.1
41.05 s
[cursor-gen] include containers-0.6.7
41.05 s
[cursor-gen] include cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5
41.05 s
[cursor-gen] include cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9
41.05 s
[cursor-gen] include genvalidity-hspec-1.0.0.3-BnwEoLPLh2jJtz4qMHw0NS
41.05 s
[cursor-gen] include genvalidity-hspec-optics-1.0.0.0-8uOlPh0yonFATIB2J4CFNN
41.05 s
[cursor-gen] include hspec-2.11.9-K4kdq1ZGqnN7rZ0uL9rUZi
41.05 s
[cursor-gen] include microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
41.05 s
[cursor-gen] include pretty-show-1.10-Hkt8Fo77lI39LZgAuw0Xz
41.05 s
[cursor-gen] include text-2.0.2
41.05 s
[cursor-gen] Ready component graph:
41.05 s
[cursor-gen] definite cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9
41.05 s
[cursor-gen] depends QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
41.05 s
[cursor-gen] depends base-4.18.2.1
41.05 s
[cursor-gen] depends containers-0.6.7
41.05 s
[cursor-gen] depends cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5
41.05 s
[cursor-gen] depends genvalidity-1.1.1.0-2rUmIqnFSOoBp0hNYBULmv
41.05 s
[cursor-gen] depends genvalidity-containers-1.0.0.2-3ixNolyiuPV1Cd2yhR9hIn
41.05 s
[cursor-gen] depends genvalidity-text-1.0.0.1-5FUaEUeJZSDIFhRd0kyjgL
41.05 s
[cursor-gen] depends text-2.0.2
41.05 s
[cursor-gen] definite cursor-gen-0.4.0.0-8PJFZKaOrrL6ALdGWVxYSb-cursor-test
41.05 s
[cursor-gen] depends QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
41.05 s
[cursor-gen] depends base-4.18.2.1
41.05 s
[cursor-gen] depends containers-0.6.7
41.05 s
[cursor-gen] depends cursor-0.3.2.0-99VyfZONNPtBpUOMgTG6b5
41.05 s
[cursor-gen] depends cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9
41.05 s
[cursor-gen] depends genvalidity-hspec-1.0.0.3-BnwEoLPLh2jJtz4qMHw0NS
41.05 s
[cursor-gen] depends genvalidity-hspec-optics-1.0.0.0-8uOlPh0yonFATIB2J4CFNN
41.05 s
[cursor-gen] depends hspec-2.11.9-K4kdq1ZGqnN7rZ0uL9rUZi
41.05 s
[cursor-gen] depends microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
41.05 s
[cursor-gen] depends pretty-show-1.10-Hkt8Fo77lI39LZgAuw0Xz
41.05 s
[cursor-gen] depends text-2.0.2
41.05 s
[cursor-gen] Using Cabal-3.10.3.0 compiled by ghc-9.6
41.05 s
[cursor-gen] Using compiler: ghc-9.6.6
41.05 s
[cursor-gen] Using install prefix:
41.05 s
[cursor-gen] /nix/store/5pzifz9p13qnvjj2f81cqs3asmshjkll-cursor-gen-0.4.0.0
41.05 s
[cursor-gen] Executables installed in:
41.05 s
[cursor-gen] /nix/store/5pzifz9p13qnvjj2f81cqs3asmshjkll-cursor-gen-0.4.0.0/bin
41.05 s
[cursor-gen] Libraries installed in:
41.05 s
[cursor-gen] /nix/store/5pzifz9p13qnvjj2f81cqs3asmshjkll-cursor-gen-0.4.0.0/lib/ghc-9.6.6/lib/x86_64-linux-ghc-9.6.6/cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9
41.05 s
[cursor-gen] Dynamic Libraries installed in:
41.05 s
[cursor-gen] /nix/store/5pzifz9p13qnvjj2f81cqs3asmshjkll-cursor-gen-0.4.0.0/lib/ghc-9.6.6/lib/x86_64-linux-ghc-9.6.6
41.05 s
[cursor-gen] Private executables installed in:
41.05 s
[cursor-gen] /nix/store/5pzifz9p13qnvjj2f81cqs3asmshjkll-cursor-gen-0.4.0.0/libexec/x86_64-linux-ghc-9.6.6/cursor-gen-0.4.0.0
41.05 s
[cursor-gen] Data files installed in:
41.05 s
[cursor-gen] /nix/store/5pzifz9p13qnvjj2f81cqs3asmshjkll-cursor-gen-0.4.0.0/share/x86_64-linux-ghc-9.6.6/cursor-gen-0.4.0.0
41.05 s
[cursor-gen] Documentation installed in:
41.05 s
[cursor-gen] /nix/store/jqccvcnkb15bpgai8s0w8ra5sxxxh3ps-cursor-gen-0.4.0.0-doc/share/doc/cursor-gen-0.4.0.0
41.05 s
[cursor-gen] Configuration files installed in:
41.05 s
[cursor-gen] /nix/store/5pzifz9p13qnvjj2f81cqs3asmshjkll-cursor-gen-0.4.0.0/etc
41.05 s
[cursor-gen] No alex found
41.05 s
[cursor-gen] Using ar found on system at:
41.05 s
[cursor-gen] /nix/store/kmaz78bn767ffazkpf8zbq3plnh45nfm-binutils-wrapper-2.43.1/bin/ar
41.05 s
[cursor-gen] No c2hs found
41.05 s
[cursor-gen] No cpphs found
41.05 s
[cursor-gen] No doctest found
41.05 s
[cursor-gen] Using gcc version 13.3.0 given by user at:
41.05 s
[cursor-gen] /nix/store/mzfk1sdv6bxvdh9slvddpj734ck99idi-gcc-wrapper-13.3.0/bin/gcc
41.05 s
[cursor-gen] Using ghc version 9.6.6 found on system at:
41.05 s
[cursor-gen] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/ghc
41.05 s
[cursor-gen] Using ghc-pkg version 9.6.6 found on system at:
41.05 s
[cursor-gen] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/ghc-pkg-9.6.6
41.05 s
[cursor-gen] No ghcjs found
41.05 s
[cursor-gen] No ghcjs-pkg found
41.05 s
[cursor-gen] No greencard found
41.05 s
[cursor-gen] Using haddock version 2.29.2 found on system at:
41.05 s
[cursor-gen] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/haddock-ghc-9.6.6
41.05 s
[cursor-gen] No happy found
41.05 s
[cursor-gen] Using haskell-suite found on system at: haskell-suite-dummy-location
41.05 s
[cursor-gen] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
41.05 s
[cursor-gen] No hmake found
41.05 s
[cursor-gen] Using hpc version 0.68 found on system at:
41.05 s
[cursor-gen] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/hpc-ghc-9.6.6
41.05 s
[cursor-gen] Using hsc2hs version 0.68.9 found on system at:
41.05 s
[cursor-gen] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/hsc2hs-ghc-9.6.6
41.05 s
[cursor-gen] Using hscolour version 1.25 found on system at:
41.05 s
[cursor-gen] /nix/store/1486f5wc7jkiy8v60jdh30zr93aiswai-hscolour-1.25/bin/HsColour
41.05 s
[cursor-gen] No jhc found
41.05 s
[cursor-gen] Using ld found on system at:
41.05 s
[cursor-gen] /nix/store/kmaz78bn767ffazkpf8zbq3plnh45nfm-binutils-wrapper-2.43.1/bin/ld.gold
41.05 s
[cursor-gen] No pkg-config found
41.05 s
[cursor-gen] Using runghc version 9.6.6 found on system at:
41.05 s
[cursor-gen] /nix/store/imm84m7fafsybsaxlkvpv8inf2dwgkh5-ghc-9.6.6/bin/runghc-9.6.6
41.05 s
[cursor-gen] Using strip version 2.43 found on system at:
41.05 s
[cursor-gen] /nix/store/mzfk1sdv6bxvdh9slvddpj734ck99idi-gcc-wrapper-13.3.0/bin/strip
41.05 s
[cursor-gen] Using tar found on system at:
41.05 s
[cursor-gen] /nix/store/prkjsk3l0l253yn0y2zqpyjjjsnk91gw-gnutar-1.35/bin/tar
41.05 s
[cursor-gen] No uhc found
41.40 s
[cursor-gen] Phase: buildPhase
41.45 s
[cursor-gen] Preprocessing library for cursor-gen-0.4.0.0..
41.46 s
[cursor-gen] Building library for cursor-gen-0.4.0.0..
41.54 s
[cursor-gen] [ 1 of 14] Compiling Cursor.List.Gen ( src/Cursor/List/Gen.hs, dist/build/Cursor/List/Gen.o, dist/build/Cursor/List/Gen.dyn_o )
41.75 s
[cursor-gen] [ 2 of 14] Compiling Cursor.List.NonEmpty.Gen ( src/Cursor/List/NonEmpty/Gen.hs, dist/build/Cursor/List/NonEmpty/Gen.o, dist/build/Cursor/List/NonEmpty/Gen.dyn_o )
41.89 s
[cursor-gen] [ 3 of 14] Compiling Cursor.Map.KeyValue.Gen ( src/Cursor/Map/KeyValue/Gen.hs, dist/build/Cursor/Map/KeyValue/Gen.o, dist/build/Cursor/Map/KeyValue/Gen.dyn_o )
41.89 s
[cursor-gen] [ 4 of 14] Compiling Cursor.Map.Gen ( src/Cursor/Map/Gen.hs, dist/build/Cursor/Map/Gen.o, dist/build/Cursor/Map/Gen.dyn_o )
41.97 s
[cursor-gen] [ 5 of 14] Compiling Cursor.Simple.List.NonEmpty.Gen ( src/Cursor/Simple/List/NonEmpty/Gen.hs, dist/build/Cursor/Simple/List/NonEmpty/Gen.o, dist/build/Cursor/Simple/List/NonEmpty/Gen.dyn_o )
41.97 s
[cursor-gen] [ 6 of 14] Compiling Cursor.Simple.Map.Gen ( src/Cursor/Simple/Map/Gen.hs, dist/build/Cursor/Simple/Map/Gen.o, dist/build/Cursor/Simple/Map/Gen.dyn_o )
41.99 s
[cursor-gen] [ 7 of 14] Compiling Cursor.Simple.Map.KeyValue.Gen ( src/Cursor/Simple/Map/KeyValue/Gen.hs, dist/build/Cursor/Simple/Map/KeyValue/Gen.o, dist/build/Cursor/Simple/Map/KeyValue/Gen.dyn_o )
41.99 s
[cursor-gen] [ 8 of 14] Compiling Cursor.Text.Gen ( src/Cursor/Text/Gen.hs, dist/build/Cursor/Text/Gen.o, dist/build/Cursor/Text/Gen.dyn_o )
41.99 s
[cursor-gen] [ 9 of 14] Compiling Cursor.TextField.Gen ( src/Cursor/TextField/Gen.hs, dist/build/Cursor/TextField/Gen.o, dist/build/Cursor/TextField/Gen.dyn_o )
41.99 s
[cursor-gen] [10 of 14] Compiling Cursor.Tree.Gen ( src/Cursor/Tree/Gen.hs, dist/build/Cursor/Tree/Gen.o, dist/build/Cursor/Tree/Gen.dyn_o )
42.22 s
[cursor-gen] [11 of 14] Compiling Cursor.Simple.Tree.Gen ( src/Cursor/Simple/Tree/Gen.hs, dist/build/Cursor/Simple/Tree/Gen.o, dist/build/Cursor/Simple/Tree/Gen.dyn_o )
42.24 s
[cursor-gen] [12 of 14] Compiling Cursor.Forest.Gen ( src/Cursor/Forest/Gen.hs, dist/build/Cursor/Forest/Gen.o, dist/build/Cursor/Forest/Gen.dyn_o )
42.25 s
[cursor-gen] [13 of 14] Compiling Cursor.Simple.Forest.Gen ( src/Cursor/Simple/Forest/Gen.hs, dist/build/Cursor/Simple/Forest/Gen.o, dist/build/Cursor/Simple/Forest/Gen.dyn_o )
42.29 s
[cursor-gen] [14 of 14] Compiling Paths_cursor_gen ( dist/build/autogen/Paths_cursor_gen.hs, dist/build/Paths_cursor_gen.o, dist/build/Paths_cursor_gen.dyn_o )
42.49 s
[cursor-gen] [ 1 of 14] Compiling Cursor.List.Gen ( src/Cursor/List/Gen.hs, dist/build/Cursor/List/Gen.p_o )
42.73 s
[cursor-gen] [ 2 of 14] Compiling Cursor.List.NonEmpty.Gen ( src/Cursor/List/NonEmpty/Gen.hs, dist/build/Cursor/List/NonEmpty/Gen.p_o )
42.88 s
[cursor-gen] [ 3 of 14] Compiling Cursor.Map.KeyValue.Gen ( src/Cursor/Map/KeyValue/Gen.hs, dist/build/Cursor/Map/KeyValue/Gen.p_o )
42.88 s
[cursor-gen] [ 4 of 14] Compiling Cursor.Map.Gen ( src/Cursor/Map/Gen.hs, dist/build/Cursor/Map/Gen.p_o )
43.02 s
[cursor-gen] [ 5 of 14] Compiling Cursor.Simple.List.NonEmpty.Gen ( src/Cursor/Simple/List/NonEmpty/Gen.hs, dist/build/Cursor/Simple/List/NonEmpty/Gen.p_o )
43.02 s
[cursor-gen] [ 6 of 14] Compiling Cursor.Simple.Map.Gen ( src/Cursor/Simple/Map/Gen.hs, dist/build/Cursor/Simple/Map/Gen.p_o )
43.11 s
[cursor-gen] [ 7 of 14] Compiling Cursor.Simple.Map.KeyValue.Gen ( src/Cursor/Simple/Map/KeyValue/Gen.hs, dist/build/Cursor/Simple/Map/KeyValue/Gen.p_o )
43.11 s
[cursor-gen] [ 8 of 14] Compiling Cursor.Text.Gen ( src/Cursor/Text/Gen.hs, dist/build/Cursor/Text/Gen.p_o )
43.11 s
[cursor-gen] [ 9 of 14] Compiling Cursor.TextField.Gen ( src/Cursor/TextField/Gen.hs, dist/build/Cursor/TextField/Gen.p_o )
43.11 s
[cursor-gen] [10 of 14] Compiling Cursor.Tree.Gen ( src/Cursor/Tree/Gen.hs, dist/build/Cursor/Tree/Gen.p_o )
43.17 s
[cursor-gen] [11 of 14] Compiling Cursor.Simple.Tree.Gen ( src/Cursor/Simple/Tree/Gen.hs, dist/build/Cursor/Simple/Tree/Gen.p_o )
43.25 s
[cursor-gen] [12 of 14] Compiling Cursor.Forest.Gen ( src/Cursor/Forest/Gen.hs, dist/build/Cursor/Forest/Gen.p_o )
43.26 s
[cursor-gen] [13 of 14] Compiling Cursor.Simple.Forest.Gen ( src/Cursor/Simple/Forest/Gen.hs, dist/build/Cursor/Simple/Forest/Gen.p_o )
43.35 s
[cursor-gen] [14 of 14] Compiling Paths_cursor_gen ( dist/build/autogen/Paths_cursor_gen.hs, dist/build/Paths_cursor_gen.p_o )
45.47 s
[cursor-gen] Preprocessing test suite 'cursor-test' for cursor-gen-0.4.0.0..
45.47 s
[cursor-gen] Building test suite 'cursor-test' for cursor-gen-0.4.0.0..
45.61 s
[cursor-gen] [ 1 of 22] Compiling Cursor.List.NonEmptySpec ( test/Cursor/List/NonEmptySpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/List/NonEmptySpec.o )
45.95 s
[cursor-gen] [ 2 of 22] Compiling Cursor.ListSpec ( test/Cursor/ListSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/ListSpec.o )
47.05 s
[cursor-gen] [ 3 of 22] Compiling Cursor.Map.KeyValueSpec ( test/Cursor/Map/KeyValueSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Map/KeyValueSpec.o )
47.07 s
[cursor-gen] [ 4 of 22] Compiling Cursor.MapSpec ( test/Cursor/MapSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/MapSpec.o )
47.07 s
[cursor-gen] [ 5 of 22] Compiling Cursor.Simple.ForestSpec ( test/Cursor/Simple/ForestSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/ForestSpec.o )
48.98 s
[cursor-gen] [ 6 of 22] Compiling Cursor.Simple.List.NonEmptySpec ( test/Cursor/Simple/List/NonEmptySpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/List/NonEmptySpec.o )
48.98 s
[cursor-gen] [ 7 of 22] Compiling Cursor.Simple.Map.KeyValueSpec ( test/Cursor/Simple/Map/KeyValueSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/Map/KeyValueSpec.o )
48.98 s
[cursor-gen] [ 8 of 22] Compiling Cursor.Simple.MapSpec ( test/Cursor/Simple/MapSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/MapSpec.o )
48.98 s
[cursor-gen] [ 9 of 22] Compiling Cursor.Simple.Tree.CollapseSpec ( test/Cursor/Simple/Tree/CollapseSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/Tree/CollapseSpec.o )
48.98 s
[cursor-gen] [10 of 22] Compiling Cursor.Simple.Tree.InsertSpec ( test/Cursor/Simple/Tree/InsertSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/Tree/InsertSpec.o )
48.98 s
[cursor-gen] [11 of 22] Compiling Cursor.Simple.Tree.TestUtils ( test/Cursor/Simple/Tree/TestUtils.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/Tree/TestUtils.o )
48.98 s
[cursor-gen] [12 of 22] Compiling Cursor.Simple.Tree.SwapSpec ( test/Cursor/Simple/Tree/SwapSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/Tree/SwapSpec.o )
48.98 s
[cursor-gen] [13 of 22] Compiling Cursor.Simple.Tree.PromoteSpec ( test/Cursor/Simple/Tree/PromoteSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/Tree/PromoteSpec.o )
48.98 s
[cursor-gen] [14 of 22] Compiling Cursor.Simple.Tree.MovementSpec ( test/Cursor/Simple/Tree/MovementSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/Tree/MovementSpec.o )
48.98 s
[cursor-gen] [15 of 22] Compiling Cursor.Simple.Tree.DemoteSpec ( test/Cursor/Simple/Tree/DemoteSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/Tree/DemoteSpec.o )
48.98 s
[cursor-gen] [16 of 22] Compiling Cursor.Simple.Tree.DeleteSpec ( test/Cursor/Simple/Tree/DeleteSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/Tree/DeleteSpec.o )
48.98 s
[cursor-gen] [17 of 22] Compiling Cursor.Simple.Tree.BaseSpec ( test/Cursor/Simple/Tree/BaseSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Simple/Tree/BaseSpec.o )
48.98 s
[cursor-gen] [18 of 22] Compiling Cursor.TextFieldSpec ( test/Cursor/TextFieldSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/TextFieldSpec.o )
48.98 s
[cursor-gen] [19 of 22] Compiling Cursor.TextSpec ( test/Cursor/TextSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/TextSpec.o )
48.98 s
[cursor-gen] [20 of 22] Compiling Cursor.Tree.TypesSpec ( test/Cursor/Tree/TypesSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/Tree/TypesSpec.o )
48.98 s
[cursor-gen] [21 of 22] Compiling Main ( test/Spec.hs, dist/build/cursor-test/cursor-test-tmp/Main.o )
49.06 s
[cursor-gen] [22 of 22] Compiling Paths_cursor_gen ( dist/build/cursor-test/autogen/Paths_cursor_gen.hs, dist/build/cursor-test/cursor-test-tmp/Paths_cursor_gen.o )
49.38 s
[cursor-gen] [23 of 23] Linking dist/build/cursor-test/cursor-test
50.21 s
[cursor-gen] Phase: checkPhase
50.23 s
[cursor-gen] Running 1 test suites...
50.23 s
[cursor-gen] Test suite cursor-test: RUNNING...
50.26 s
[cursor-gen]
50.26 s
[cursor-gen] Cursor.List
50.26 s
[cursor-gen] Eq (ListCursor Bool)
50.26 s
[cursor-gen] (==) :: (ListCursor Bool) -> (ListCursor Bool) -> Bool
50.26 s
[cursor-gen] is reflexive for "valid (ListCursor Bool)"s [✔]
50.26 s
[cursor-gen] +++ OK, passed 100 tests.
50.26 s
[cursor-gen] is symmetric for "valid (ListCursor Bool)"s [✔]
50.26 s
[cursor-gen] +++ OK, passed 100 tests.
50.26 s
[cursor-gen] is transitive for "valid (ListCursor Bool)"s [✔]
50.26 s
[cursor-gen] +++ OK, passed 100 tests.
50.26 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (ListCursor Bool)"s [✔]
50.26 s
[cursor-gen] +++ OK, passed 100 tests.
50.30 s
[cursor-gen] (/=) :: (ListCursor Bool) -> (ListCursor Bool) -> Bool
50.30 s
[cursor-gen] is antireflexive for "valid (ListCursor Bool)"s [✔]
50.30 s
[cursor-gen] +++ OK, passed 100 tests.
50.30 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (ListCursor Bool)"s [✔]
50.30 s
[cursor-gen] +++ OK, passed 100 tests.
50.30 s
[cursor-gen] Functor ListCursor
50.30 s
[cursor-gen] fmap :: (a -> b) -> ListCursor a -> ListCursor b
50.30 s
[cursor-gen] satisfies the first Fuctor law: 'fmap id == id' for "ListCursor of ints :: (ListCursor Int)" [✔]
50.30 s
[cursor-gen] +++ OK, passed 100 tests.
50.30 s
[cursor-gen] satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "ListCursor of ints :: (ListCursor Int)" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" [✔]
50.30 s
[cursor-gen] +++ OK, passed 100 tests.
50.30 s
[cursor-gen] (<$) :: a -> ListCursor b -> ListCursor a
50.30 s
[cursor-gen] is equivalent to its default implementation for "int :: Int" and "ListCursor of ints :: (ListCursor Int)" [✔]
50.30 s
[cursor-gen] +++ OK, passed 100 tests.
50.30 s
[cursor-gen] GenValid (ListCursor Bool)
50.30 s
[cursor-gen] genValid :: Gen (ListCursor Bool)
50.30 s
[cursor-gen] only generates valid '(ListCursor Bool)'s [✔]
50.30 s
[cursor-gen] +++ OK, passed 100 tests.
50.30 s
[cursor-gen] emptyListCursor
50.30 s
[cursor-gen] is valid [✔]
50.30 s
[cursor-gen] makeListCursor
50.30 s
[cursor-gen] produces valid list cursors [✔]
50.30 s
[cursor-gen] +++ OK, passed 100 tests.
50.30 s
[cursor-gen] makeListCursorWithSelection
50.30 s
[cursor-gen] produces valid list cursors [✔]
50.30 s
[cursor-gen] +++ OK, passed 100 tests.
50.30 s
[cursor-gen] rebuildListCursor
50.30 s
[cursor-gen] produces valid lists [✔]
50.30 s
[cursor-gen] +++ OK, passed 100 tests.
50.30 s
[cursor-gen] is the inverse of makeListCursor [✔]
50.30 s
[cursor-gen] +++ OK, passed 100 tests.
50.31 s
[cursor-gen] is the inverse of makeListCursorWithSelection for any index [✔]
50.31 s
[cursor-gen] +++ OK, passed 100 tests.
50.31 s
[cursor-gen] listCursorNull
50.31 s
[cursor-gen] produces valid bools [✔]
50.31 s
[cursor-gen] +++ OK, passed 100 tests.
50.31 s
[cursor-gen] listCursorLength
50.31 s
[cursor-gen] produces valid bools [✔]
50.31 s
[cursor-gen] +++ OK, passed 100 tests.
50.31 s
[cursor-gen] listCursorIndex
50.31 s
[cursor-gen] produces valid indices [✔]
50.31 s
[cursor-gen] +++ OK, passed 100 tests.
50.31 s
[cursor-gen] listCursorSelectPrev
50.31 s
[cursor-gen] produces valid cursors [✔]
50.31 s
[cursor-gen] +++ OK, passed 100 tests.
50.31 s
[cursor-gen] is a movement [✔]
50.31 s
[cursor-gen] +++ OK, passed 100 tests.
50.31 s
[cursor-gen] selects the previous position [‐]
50.31 s
[cursor-gen] # PENDING: No reason given
50.31 s
[cursor-gen] listCursorSelectNext
50.31 s
[cursor-gen] produces valid cursors [✔]
50.31 s
[cursor-gen] +++ OK, passed 100 tests.
50.31 s
[cursor-gen] is a movement [✔]
50.31 s
[cursor-gen] +++ OK, passed 100 tests.
50.31 s
[cursor-gen] selects the next position [‐]
50.31 s
[cursor-gen] # PENDING: No reason given
50.31 s
[cursor-gen] listCursorSelectIndex
50.31 s
[cursor-gen] produces valid cursors [✔]
50.31 s
[cursor-gen] +++ OK, passed 100 tests.
50.42 s
[cursor-gen] is a movement [✔]
50.42 s
[cursor-gen] +++ OK, passed 100 tests.
50.42 s
[cursor-gen] selects the position at the given index [‐]
50.42 s
[cursor-gen] # PENDING: No reason given
50.42 s
[cursor-gen] listCursorPrevItem
50.42 s
[cursor-gen] produces valid items [✔]
50.42 s
[cursor-gen] +++ OK, passed 100 tests.
50.42 s
[cursor-gen] returns the item before the position [‐]
50.42 s
[cursor-gen] # PENDING: No reason given
50.42 s
[cursor-gen] listCursorNextItem
50.42 s
[cursor-gen] produces valid items [✔]
50.42 s
[cursor-gen] +++ OK, passed 100 tests.
50.42 s
[cursor-gen] returns the item after the position [‐]
50.42 s
[cursor-gen] # PENDING: No reason given
50.42 s
[cursor-gen] listCursorPrevUntil
50.42 s
[cursor-gen] produces valid cursors [✔]
50.42 s
[cursor-gen] +++ OK, passed 100 tests.
50.42 s
[cursor-gen] produces a cursor where the previous item either satisfies the predicate or is empty [✔]
50.42 s
[cursor-gen] +++ OK, passed 100 tests.
50.42 s
[cursor-gen] listCursorNextUntil
50.42 s
[cursor-gen] produces valid cursors [✔]
50.42 s
[cursor-gen] +++ OK, passed 100 tests.
50.43 s
[cursor-gen] produces a cursor where the previous item either satisfies the predicate or is empty [✔]
50.43 s
[cursor-gen] +++ OK, passed 100 tests.
50.43 s
[cursor-gen] listCursorSelectStart
50.43 s
[cursor-gen] produces valid cursors [✔]
50.43 s
[cursor-gen] +++ OK, passed 100 tests.
50.48 s
[cursor-gen] is a movement [✔]
50.48 s
[cursor-gen] +++ OK, passed 100 tests.
50.49 s
[cursor-gen] is idempotent [✔]
50.49 s
[cursor-gen] +++ OK, passed 100 tests.
50.49 s
[cursor-gen] selects the starting position [‐]
50.49 s
[cursor-gen] # PENDING: No reason given
50.50 s
[cursor-gen] listCursorSelectEnd
50.51 s
[cursor-gen] produces valid cursors [✔]
50.51 s
[cursor-gen] +++ OK, passed 100 tests.
50.51 s
[cursor-gen] is a movement [✔]
50.51 s
[cursor-gen] +++ OK, passed 100 tests.
50.52 s
[cursor-gen] is idempotent [✔]
50.52 s
[cursor-gen] +++ OK, passed 100 tests.
50.52 s
[cursor-gen] selects the end position [‐]
50.52 s
[cursor-gen] # PENDING: No reason given
50.52 s
[cursor-gen] listCursorInsert
50.53 s
[cursor-gen] produces valids [✔]
50.53 s
[cursor-gen] +++ OK, passed 100 tests.
50.53 s
[cursor-gen] inserts an item before the cursor [‐]
50.53 s
[cursor-gen] # PENDING: No reason given
50.53 s
[cursor-gen] listCursorAppend
50.53 s
[cursor-gen] produces valids [✔]
50.53 s
[cursor-gen] +++ OK, passed 100 tests.
50.53 s
[cursor-gen] inserts an item after the cursor [‐]
50.53 s
[cursor-gen] # PENDING: No reason given
50.53 s
[cursor-gen] listCursorInsertList
50.53 s
[cursor-gen] produces valids [✔]
50.53 s
[cursor-gen] +++ OK, passed 100 tests.
50.53 s
[cursor-gen] listCursorAppendList
50.53 s
[cursor-gen] produces valids [✔]
50.53 s
[cursor-gen] +++ OK, passed 100 tests.
50.53 s
[cursor-gen] listCursorRemove
50.53 s
[cursor-gen] produces valids [✔]
50.53 s
[cursor-gen] +++ OK, passed 100 tests.
50.53 s
[cursor-gen] removes an item before the cursor [‐]
50.53 s
[cursor-gen] # PENDING: No reason given
50.53 s
[cursor-gen] listCursorDelete
50.53 s
[cursor-gen] produces valids [✔]
50.53 s
[cursor-gen] +++ OK, passed 100 tests.
50.53 s
[cursor-gen] removes an item before the cursor [‐]
50.53 s
[cursor-gen] # PENDING: No reason given
50.53 s
[cursor-gen] listCursorSplit
50.53 s
[cursor-gen] produces valids [✔]
50.53 s
[cursor-gen] +++ OK, passed 100 tests.
50.53 s
[cursor-gen] produces two list cursors that rebuild to the rebuilding of the original [✔]
50.53 s
[cursor-gen] +++ OK, passed 100 tests.
50.53 s
[cursor-gen] listCursorCombine
50.53 s
[cursor-gen] produces valids [✔]
50.53 s
[cursor-gen] +++ OK, passed 100 tests.
50.53 s
[cursor-gen] produces a list that rebuilds to the rebuilding of the original two cursors [✔]
50.53 s
[cursor-gen] +++ OK, passed 100 tests.
50.53 s
[cursor-gen] Cursor.List.NonEmpty
50.53 s
[cursor-gen] nonemptyPrepend
50.53 s
[cursor-gen] is equivalent to regular prepend [✔]
50.53 s
[cursor-gen] +++ OK, passed 100 tests.
50.53 s
[cursor-gen] nonemptyAppend
50.72 s
[cursor-gen] is equivalent to regular append [✔]
50.72 s
[cursor-gen] +++ OK, passed 100 tests.
50.72 s
[cursor-gen] Cursor.Map
50.72 s
[cursor-gen] Eq (MapCursor Bool Bool Bool Bool)
50.72 s
[cursor-gen] (==) :: (MapCursor Bool Bool Bool Bool) -> (MapCursor Bool Bool Bool Bool) -> Bool
50.72 s
[cursor-gen] is reflexive for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
50.72 s
[cursor-gen] +++ OK, passed 100 tests.
50.72 s
[cursor-gen] is symmetric for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
50.72 s
[cursor-gen] +++ OK, passed 100 tests.
50.72 s
[cursor-gen] is transitive for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
50.72 s
[cursor-gen] +++ OK, passed 100 tests.
50.72 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
50.72 s
[cursor-gen] +++ OK, passed 100 tests.
50.72 s
[cursor-gen] (/=) :: (MapCursor Bool Bool Bool Bool) -> (MapCursor Bool Bool Bool Bool) -> Bool
50.72 s
[cursor-gen] is antireflexive for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
50.72 s
[cursor-gen] +++ OK, passed 100 tests.
50.72 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
50.72 s
[cursor-gen] +++ OK, passed 100 tests.
50.72 s
[cursor-gen] GenValid (MapCursor Bool Bool Bool Bool)
50.72 s
[cursor-gen] genValid :: Gen (MapCursor Bool Bool Bool Bool)
50.72 s
[cursor-gen] only generates valid '(MapCursor Bool Bool Bool Bool)'s [✔]
50.72 s
[cursor-gen] +++ OK, passed 100 tests.
50.72 s
[cursor-gen] Cursor.Map.KeyValue
50.72 s
[cursor-gen] Eq (KeyValueCursor Bool Bool Bool Bool)
50.72 s
[cursor-gen] (==) :: (KeyValueCursor Bool Bool Bool Bool) -> (KeyValueCursor Bool Bool Bool Bool) -> Bool
50.72 s
[cursor-gen] is reflexive for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
50.72 s
[cursor-gen] +++ OK, passed 100 tests.
50.72 s
[cursor-gen] is symmetric for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is transitive for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] (/=) :: (KeyValueCursor Bool Bool Bool Bool) -> (KeyValueCursor Bool Bool Bool Bool) -> Bool
50.73 s
[cursor-gen] is antireflexive for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] GenValid (KeyValueCursor Bool Bool Bool Bool)
50.73 s
[cursor-gen] genValid :: Gen (KeyValueCursor Bool Bool Bool Bool)
50.73 s
[cursor-gen] only generates valid '(KeyValueCursor Bool Bool Bool Bool)'s [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] Eq KeyValueToggle
50.73 s
[cursor-gen] (==) :: KeyValueToggle -> KeyValueToggle -> Bool
50.73 s
[cursor-gen] is reflexive for "valid KeyValueToggle"s [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is symmetric for "valid KeyValueToggle"s [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is transitive for "valid KeyValueToggle"s [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid KeyValueToggle"s [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] (/=) :: KeyValueToggle -> KeyValueToggle -> Bool
50.73 s
[cursor-gen] is antireflexive for "valid KeyValueToggle"s [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid KeyValueToggle"s [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] GenValid KeyValueToggle
50.73 s
[cursor-gen] genValid :: Gen KeyValueToggle
50.73 s
[cursor-gen] only generates valid 'KeyValueToggle's [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] Cursor.Simple.Forest
50.73 s
[cursor-gen] Eq (ForestCursor Int Int)
50.73 s
[cursor-gen] (==) :: (ForestCursor Int Int) -> (ForestCursor Int Int) -> Bool
50.73 s
[cursor-gen] is reflexive for "valid (ForestCursor Int Int)"s [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is symmetric for "valid (ForestCursor Int Int)"s [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is transitive for "valid (ForestCursor Int Int)"s [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (ForestCursor Int Int)"s [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] (/=) :: (ForestCursor Int Int) -> (ForestCursor Int Int) -> Bool
50.73 s
[cursor-gen] is antireflexive for "valid (ForestCursor Int Int)"s [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (ForestCursor Int Int)"s [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] GenValid (ForestCursor Bool Bool)
50.73 s
[cursor-gen] genValid :: Gen (ForestCursor Bool Bool)
50.73 s
[cursor-gen] only generates valid '(ForestCursor Bool Bool)'s [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] shrinkValid :: (ForestCursor Bool Bool -> [ForestCursor Bool Bool])
50.73 s
[cursor-gen] preserves validity for the first 10 elements [✔]
50.73 s
[cursor-gen] +++ OK, passed 50 tests.
50.73 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
50.73 s
[cursor-gen] +++ OK, passed 50 tests.
50.73 s
[cursor-gen] singletonForestCursor
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] makeForestCursor
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] rebuildForestCursor
50.73 s
[cursor-gen] produces valid forests [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is the inverse of makeForestCursor for integers [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] forestCursorLestCursorL
50.73 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] satisfies the second lens law for valid values [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] gets valid values from valid values values [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] forestCursorSelectedTreeL
50.73 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] satisfies the second lens law for valid values [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] gets valid values from valid values values [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] forestCursorSelection
50.73 s
[cursor-gen] produces valid ints [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] returns the index of the currently selected element [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorSelectIndex
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is the identity function when given the current selection [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] returns selects the element at the given index [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorSelectPrevTreeCursor
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is a movement [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] selects the previous tree cursor [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorSelectNextTreeCursor
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is a movement [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] selects the next tree [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorSelectFirstTreeCursor
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is a movement [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] selects the first tree [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorSelectLastTreeCursor
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is a movement [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] selects the last tree [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorSelectPrev
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is a movement [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] selects the previous node [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] Works for this classic example without any collapsing [✔]
50.73 s
[cursor-gen] forestCursorSelectNext
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is a movement [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] selects the next node [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] Works for this classic example [✔]
50.73 s
[cursor-gen] forestCursorSelectPrevOnSameLevel
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is a movement [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] selects the previous node on the same level as the current node [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorSelectNextOnSameLevel
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is a movement [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] selects the next node on the same level as the current node [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorSelectFirstOnSameLevel
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is a movement [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] selects the previous node on the same level as the current node [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorSelectLastOnSameLevel
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is a movement [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] selects the next node on the same level as the current node [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorSelectFirst
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is a movement [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] selects the first node in the forest [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorSelectLast
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is a movement [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] selects the last node in the forest [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorSelectAbove
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is a movement [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] selects the parent [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorSelectBelowAtPos
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is a movement for any index [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] selects the child of the selected node at the given position [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorSelectBelowAtStart
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is a movement [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] selects the first child of the selected node [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorSelectBelowAtEnd
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] is a movement [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] selects the first child of the selected node [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorOpenCurrentForest
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] forestCursorCloseCurrentForest
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] forestCursorToggleCurrentForest
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] forestCursorOpenCurrentForestRecursively
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] forestCursorToggleCurrentForestRecursively
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] forestCursorInsertEntireTree
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] inserts a tree cursor before the currently selected tree cursor [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorInsertAndSelectTreeCursor
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] inserts a tree cursor before the currently selected tree cursor and selects it [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorAppendEntireTree
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] appends a tree after the currently selected tree cursor [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorAppendAndSelectTreeCursor
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] appends a tree cursor after the currently selected tree cursor and selects it [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorInsertTree
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] inserts a tree before the currently selected tree [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorInsertAndSelectTree
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] inserts a tree before the currently selected tree and selects it [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorAppendTree
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] appends a tree after the currently selected tree [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorAppendAndSelectTree
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] appends a tree after the currently selected tree and selects it [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorInsert
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] inserts a node before the currently selected node [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorInsertAndSelect
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] inserts a node before the currently selected node and selects it [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorInsertNodeSingleAndSelect
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] inserts a node before the currently selected node and selects it [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorInsertNodeAndSelect
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] inserts a node before the currently selected node and selects it [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorAppend
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] appends a node after the currently selected node [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorAppendAndSelect
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] appends a node after the currently selected node and selects it [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorAppendNodeSingleAndSelect
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] appends a node after the currently selected node and selects it [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorAppendNodeAndSelect
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] appends a node after the currently selected node and selects it [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorAddChildTreeToNodeAtPos
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] adds a child tree to a node at the given position in the children of that node [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorAddChildTreeToNodeAtStart
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] adds a child tree to a node at the start the children of that node [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorAddChildTreeToNodeAtEnd
50.73 s
[cursor-gen] produces valid cursors [✔]
50.73 s
[cursor-gen] +++ OK, passed 100 tests.
50.73 s
[cursor-gen] adds a child tree to a node at the end the children of that node [‐]
50.73 s
[cursor-gen] # PENDING: No reason given
50.73 s
[cursor-gen] forestCursorAddChildToNodeAtPos
50.73 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] adds a child to a node at the given position in the children of that node [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] forestCursorAddChildToNodeAtStart
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] adds a child to a node at the start the children of that node [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] forestCursorAddChildToNodeAtEnd
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] adds a child to a node at the end the children of that node [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] forestCursorAddChildTreeToNodeAtPosAndSelect
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] adds a child tree to a node at the given position in the children of that node [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] forestCursorAddChildTreeToNodeAtStartAndSelect
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] adds a child tree to a node at the start the children of that node [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] forestCursorAddChildTreeToNodeAtEndAndSelect
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] adds a child tree to a node at the end the children of that node [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] forestCursorAddChildToNodeAtPosAndSelect
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] adds a child to a node at the given position in the children of that node [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] forestCursorAddChildToNodeAtStartAndSelect
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] adds a child to a node at the start the children of that node [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] forestCursorAddChildToNodeAtEndAndSelect
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] adds a child to a node at the end the children of that node [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] forestCursorAddChildNodeSingleToNodeAtPosAndSelect
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] forestCursorAddChildNodeSingleToNodeAtStartAndSelect
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] forestCursorAddChildNodeSingleToNodeAtEndAndSelect
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] forestCursorAddChildNodeToNodeAtPosAndSelect
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] forestCursorAddChildNodeToNodeAtStartAndSelect
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] forestCursorAddChildNodeToNodeAtEndAndSelect
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] forestCursorAddRoot
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] houses the entire forest under the given node [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] forestCursorSwapPrev
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] works on the example from the docs [✔]
50.74 s
[cursor-gen] swaps the current node with the previous node on the same level [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] reverts forestCursorSwapNext [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] forestCursorSwapNext
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] works on the example from the docs [✔]
50.74 s
[cursor-gen] swaps the current node with the next node on the same level [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] reverts forestCursorSwapPrev [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] forestCursorRemoveElemAndSelectPrev
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] works for this simple example [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] removes the selected element and selects the previous element [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] forestCursorDeleteElemAndSelectNext
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] works for this simple example [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] deletes the selected element and selects the next element [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] forestCursorRemoveElem
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] works for this simple example [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] removes the selected element [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] forestCursorDeleteElem
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] works for this simple example [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] deletes the selected element [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] forestCursorRemoveSubTreeAndSelectPrev
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] removes the selected subtree and selects the previous tree [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] forestCursorDeleteSubTreeAndSelectNext
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] deletes the selected subtree and selects the next tree [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] forestCursorRemoveSubTree
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] removes the selected subtree [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] forestCursorDeleteSubTree
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] deletes the selected subtree [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] forestCursorPromoteElem
50.74 s
[cursor-gen] produces valids on valids [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] works on the example from the documentation [✔]
50.74 s
[cursor-gen] promotes the current node to the level of its parent [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] forestCursorDemoteElem
50.74 s
[cursor-gen] produces valids on valids [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] works on the example from the documentation [✔]
50.74 s
[cursor-gen] demotes the current node to the level of its children [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] forestCursorPromoteSubTree
50.74 s
[cursor-gen] produces valids on valids [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] works on the example from the documentation [✔]
50.74 s
[cursor-gen] promotes the current subtree to the level of its parent [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] forestCursorDemoteSubTree
50.74 s
[cursor-gen] produces valids on valids [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] works on the example from the documentation [✔]
50.74 s
[cursor-gen] demotes the current subtree to the level of its children [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] forestCursorDemoteElemUnder
50.74 s
[cursor-gen] produces valids on valids [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] Works on the example from the docs [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] demotes the current node to the level of its children [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] forestCursorDemoteSubTreeUnder
50.74 s
[cursor-gen] produces valids on valids [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] Works on the example from the docs [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] demotes the current subtree to the level of its children, by adding a root [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] Cursor.Simple.List.NonEmpty
50.74 s
[cursor-gen] Eq (NonEmptyCursor Bool Bool)
50.74 s
[cursor-gen] (==) :: (NonEmptyCursor Bool Bool) -> (NonEmptyCursor Bool Bool) -> Bool
50.74 s
[cursor-gen] is reflexive for "valid (NonEmptyCursor Bool Bool)"s [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] is symmetric for "valid (NonEmptyCursor Bool Bool)"s [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] is transitive for "valid (NonEmptyCursor Bool Bool)"s [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (NonEmptyCursor Bool Bool)"s [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] (/=) :: (NonEmptyCursor Bool Bool) -> (NonEmptyCursor Bool Bool) -> Bool
50.74 s
[cursor-gen] is antireflexive for "valid (NonEmptyCursor Bool Bool)"s [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (NonEmptyCursor Bool Bool)"s [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] GenValid (NonEmptyCursor Bool Bool)
50.74 s
[cursor-gen] genValid :: Gen (NonEmptyCursor Bool Bool)
50.74 s
[cursor-gen] only generates valid '(NonEmptyCursor Bool Bool)'s [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] makeNonEmptyCursor
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] makeNonEmptyCursorWithSelection
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] is the inverse of rebuildNonEmptyCursor when using the current selection [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] singletonNonEmptyCursor
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] rebuildNonEmptyCursor
50.74 s
[cursor-gen] produces valid nonempty lists [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] is the inverse of makeNonEmptyCursor for integers [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] is the inverse of makeNonEmptyCursorWithSelection for integers, for any index [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] nonEmptyCursorElemL
50.74 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] satisfies the second lens law for valid values [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] gets valid values from valid values values [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] nonEmptyCursorSelectPrev
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] is a movement [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
50.74 s
[cursor-gen] selects the previous element [‐]
50.74 s
[cursor-gen] # PENDING: No reason given
50.74 s
[cursor-gen] nonEmptyCursorSelectNext
50.74 s
[cursor-gen] produces valid cursors [✔]
50.74 s
[cursor-gen] +++ OK, passed 100 tests.
51.36 s
[cursor-gen] is a movement [✔]
51.36 s
[cursor-gen] +++ OK, passed 100 tests.
51.36 s
[cursor-gen] selects the next element [‐]
51.36 s
[cursor-gen] # PENDING: No reason given
51.36 s
[cursor-gen] nonEmptyCursorSelectFirst
51.36 s
[cursor-gen] produces valid cursors [✔]
51.36 s
[cursor-gen] +++ OK, passed 100 tests.
51.36 s
[cursor-gen] is a movement [✔]
51.36 s
[cursor-gen] +++ OK, passed 100 tests.
51.36 s
[cursor-gen] is idempotent [✔]
51.36 s
[cursor-gen] +++ OK, passed 100 tests.
51.36 s
[cursor-gen] selects the first element [‐]
51.36 s
[cursor-gen] # PENDING: No reason given
51.36 s
[cursor-gen] nonEmptyCursorSelectLast
51.36 s
[cursor-gen] produces valid cursors [✔]
51.36 s
[cursor-gen] +++ OK, passed 100 tests.
51.36 s
[cursor-gen] is a movement [✔]
51.36 s
[cursor-gen] +++ OK, passed 100 tests.
51.36 s
[cursor-gen] is idempotent [✔]
51.36 s
[cursor-gen] +++ OK, passed 100 tests.
51.36 s
[cursor-gen] selects the last element [‐]
51.36 s
[cursor-gen] # PENDING: No reason given
51.36 s
[cursor-gen] nonEmptyCursorSelection
51.36 s
[cursor-gen] produces valid ints [✔]
51.36 s
[cursor-gen] +++ OK, passed 100 tests.
51.36 s
[cursor-gen] returns the index of the currently selected element [‐]
51.36 s
[cursor-gen] # PENDING: No reason given
51.36 s
[cursor-gen] nonEmptyCursorSelectIndex
51.36 s
[cursor-gen] produces valid cursors [✔]
51.36 s
[cursor-gen] +++ OK, passed 100 tests.
51.36 s
[cursor-gen] is the identity function when given the current selection [✔]
51.36 s
[cursor-gen] +++ OK, passed 100 tests.
51.36 s
[cursor-gen] returns selects the element at the given index [‐]
51.36 s
[cursor-gen] # PENDING: No reason given
51.36 s
[cursor-gen] nonEmptyCursorInsert
53.03 s
[cursor-gen] produces valid cursors [✔]
53.03 s
[cursor-gen] +++ OK, passed 100 tests.
53.03 s
[cursor-gen] inserts a character before the cursor [‐]
53.12 s
[cursor-gen] # PENDING: No reason given
53.12 s
[cursor-gen] nonEmptyCursorAppend
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] inserts a character after the cursor [‐]
53.12 s
[cursor-gen] # PENDING: No reason given
53.12 s
[cursor-gen] nonEmptyCursorInsertAndSelect
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] inserts a character before the cursor and selects it [‐]
53.12 s
[cursor-gen] # PENDING: No reason given
53.12 s
[cursor-gen] nonEmptyCursorAppendAndSelect
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] appends a character before the cursor and selects it [‐]
53.12 s
[cursor-gen] # PENDING: No reason given
53.12 s
[cursor-gen] nonEmptyCursorInsertAtStart
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] inserts a character at the start of the list [‐]
53.12 s
[cursor-gen] # PENDING: No reason given
53.12 s
[cursor-gen] nonEmptyCursorAppendAtEnd
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] inserts a character at the end of the list [‐]
53.12 s
[cursor-gen] # PENDING: No reason given
53.12 s
[cursor-gen] nonEmptyCursorInsertAtStartAndSelect
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] inserts a character at the start of the list and selects it [‐]
53.12 s
[cursor-gen] # PENDING: No reason given
53.12 s
[cursor-gen] nonEmptyCursorAppendAtEndAndSelect
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] appends a character at the end of the list and selects it [‐]
53.12 s
[cursor-gen] # PENDING: No reason given
53.12 s
[cursor-gen] nonEmptyCursorRemoveElem
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] removes an element [‐]
53.12 s
[cursor-gen] # PENDING: No reason given
53.12 s
[cursor-gen] nonEmptyCursorDeleteElem
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] nonEmptyCursorSearch
53.12 s
[cursor-gen] produces valid cursors when looking for an equal element [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] is indeed the right value when it finds a value and is looking for an equal element [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] finds an element if it is in there [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] nonEmptyCursorSelectOrAdd
53.12 s
[cursor-gen] produces valid cursors when looking for an equal element [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] Cursor.Simple.Map
53.12 s
[cursor-gen] makeMapCursor
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] makeMapCursorWithSelection
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] singletonMapCursorKey
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] singletonMapCursorValue
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] rebuildMapCursor
53.12 s
[cursor-gen] produces valid Nonempty lists [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] is the inverse of makeMapCursor for integers [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] mapCursorNonEmptyCursorL
53.12 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] satisfies the second lens law for valid values [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] gets valid values from valid values values [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] mapCursorElemL
53.12 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] satisfies the second lens law for valid values [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] gets valid values from valid values values [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] mapCursorSelectKey
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] mapCursorSelectValue
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] mapCursorToggleSelected
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] mapCursorSelectPrev
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] is a movement [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] selects the previous element [‐]
53.12 s
[cursor-gen] # PENDING: No reason given
53.12 s
[cursor-gen] mapCursorSelectNext
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] is a movement [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] selects the next element [‐]
53.12 s
[cursor-gen] # PENDING: No reason given
53.12 s
[cursor-gen] mapCursorSelectFirst
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] is a movement [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] is idempotent [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] selects the first element [‐]
53.12 s
[cursor-gen] # PENDING: No reason given
53.12 s
[cursor-gen] mapCursorSelectLast
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] is a movement [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] is idempotent [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] selects the last element [‐]
53.12 s
[cursor-gen] # PENDING: No reason given
53.12 s
[cursor-gen] mapCursorSelection
53.12 s
[cursor-gen] produces valid ints [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] returns the index of the currently selected element [‐]
53.12 s
[cursor-gen] # PENDING: No reason given
53.12 s
[cursor-gen] mapCursorSelectIndex
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] is the identity function when given the current selection [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] returns selects the element at the given index [‐]
53.12 s
[cursor-gen] # PENDING: No reason given
53.12 s
[cursor-gen] mapCursorInsert
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] inserts a character before the cursor [‐]
53.12 s
[cursor-gen] # PENDING: No reason given
53.12 s
[cursor-gen] mapCursorAppend
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] inserts a character after the cursor [‐]
53.12 s
[cursor-gen] # PENDING: No reason given
53.12 s
[cursor-gen] mapCursorInsertAndSelectKey
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] mapCursorAppendAndSelectKey
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] mapCursorInsertAndSelectValue
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] mapCursorAppendAndSelectValue
53.12 s
[cursor-gen] produces valid cursors [✔]
53.12 s
[cursor-gen] +++ OK, passed 100 tests.
53.12 s
[cursor-gen] mapCursorRemoveElem
53.13 s
[cursor-gen] produces valid cursors [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] removes an element [‐]
53.13 s
[cursor-gen] # PENDING: No reason given
53.13 s
[cursor-gen] mapCursorDeleteElem
53.13 s
[cursor-gen] produces valid cursors [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] deletes an element [‐]
53.13 s
[cursor-gen] # PENDING: No reason given
53.13 s
[cursor-gen] mapCursorSearch
53.13 s
[cursor-gen] produces valid cursors when looking for an equal pair [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] is indeed the right value when it finds a value and is looking for an equal element [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] mapCursorSelectOrAdd
53.13 s
[cursor-gen] produces valid cursors when looking for an equal element [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] Cursor.Simple.Map.KeyValue
53.13 s
[cursor-gen] makeKeyValueCursorKey
53.13 s
[cursor-gen] produces valid cursors [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] makeKeyValueCursorValue
53.13 s
[cursor-gen] produces valid cursors [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] rebuildKeyValueCursor
53.13 s
[cursor-gen] produces valid tuples [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] keyValueCursorSelection
53.13 s
[cursor-gen] produces valid selections [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] keyValueCursorSelectKey
53.13 s
[cursor-gen] produces valid cursors [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] is a movement [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] keyValueCursorSelectValue
53.13 s
[cursor-gen] produces valid cursors [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] is a movement [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] keyValueCursorToggleSelected
53.13 s
[cursor-gen] produces valid cursors [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] is a movement [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] Cursor.Simple.Tree.Base
53.13 s
[cursor-gen] Eq (TreeCursor Int Int)
53.13 s
[cursor-gen] (==) :: (TreeCursor Int Int) -> (TreeCursor Int Int) -> Bool
53.13 s
[cursor-gen] is reflexive for "valid (TreeCursor Int Int)"s [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] is symmetric for "valid (TreeCursor Int Int)"s [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] is transitive for "valid (TreeCursor Int Int)"s [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (TreeCursor Int Int)"s [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] (/=) :: (TreeCursor Int Int) -> (TreeCursor Int Int) -> Bool
53.13 s
[cursor-gen] is antireflexive for "valid (TreeCursor Int Int)"s [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (TreeCursor Int Int)"s [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] GenValid (TreeCursor Bool Bool)
53.13 s
[cursor-gen] genValid :: Gen (TreeCursor Bool Bool)
53.13 s
[cursor-gen] only generates valid '(TreeCursor Bool Bool)'s [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] makeTreeCursor
53.13 s
[cursor-gen] produces valid cursors [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] makeNodeTreeCursor
53.13 s
[cursor-gen] produces valid cursors [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] makeTreeCursorWithSelection
53.13 s
[cursor-gen] produces valid cursors [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] singletonTreeCursor
53.13 s
[cursor-gen] produces valid cursors [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] rebuildTreeCursor
53.13 s
[cursor-gen] produces valid trees [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] is the inverse of makeTreeCursor for integers [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] is the inverse of makeTreeCursorWithSelection for the current selection [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] Cursor.Simple.Tree.Collapse
53.13 s
[cursor-gen] treeCursorOpenCurrentForest
53.13 s
[cursor-gen] produces valid cursors [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] treeCursorCloseCurrentForest
53.13 s
[cursor-gen] produces valid cursors [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] treeCursorToggleCurrentForest
53.13 s
[cursor-gen] produces valid cursors [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] treeCursorOpenCurrentForestRecursively
53.13 s
[cursor-gen] produces valid cursors [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] treeCursorToggleCurrentForestRecursively
53.13 s
[cursor-gen] produces valid cursors [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] Cursor.Simple.Tree.Delete
53.13 s
[cursor-gen] treeCursorDeleteSubTreeAndSelectPrevious
53.13 s
[cursor-gen] produces valids on valids [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] deletes the current subtree selects the previous subtree [‐]
53.13 s
[cursor-gen] # PENDING: No reason given
53.13 s
[cursor-gen] treeCursorDeleteSubTreeAndSelectNext
53.13 s
[cursor-gen] produces valids on valids [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] deletes the current subtree selects the next subtree [‐]
53.13 s
[cursor-gen] # PENDING: No reason given
53.13 s
[cursor-gen] treeCursorDeleteSubTreeAndSelectAbove
53.13 s
[cursor-gen] produces valids on valids [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] deletes the current subtree selects the above node [‐]
53.13 s
[cursor-gen] # PENDING: No reason given
53.13 s
[cursor-gen] treeCursorRemoveSubTree
53.13 s
[cursor-gen] produces valids on valids [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] removes the current subtree [‐]
53.13 s
[cursor-gen] # PENDING: No reason given
53.13 s
[cursor-gen] treeCursorDeleteSubTree
53.13 s
[cursor-gen] produces valids on valids [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] deletes the current subtree [‐]
53.13 s
[cursor-gen] # PENDING: No reason given
53.13 s
[cursor-gen] treeCursorDeleteElemAndSelectPrevious
53.13 s
[cursor-gen] produces valids on valids [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] works for this simple example [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] deletes the current element and selects the previous element [‐]
53.13 s
[cursor-gen] # PENDING: No reason given
53.13 s
[cursor-gen] treeCursorDeleteElemAndSelectNext
53.13 s
[cursor-gen] produces valids on valids [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] works for this simple example [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] deletes the current element and selects the next element [‐]
53.13 s
[cursor-gen] # PENDING: No reason given
53.13 s
[cursor-gen] treeCursorDeleteElemAndSelectAbove
53.13 s
[cursor-gen] produces valids on valids [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] works for this simple example [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] deletes the current element and selects the above element [‐]
53.13 s
[cursor-gen] # PENDING: No reason given
53.13 s
[cursor-gen] treeCursorRemoveElem
53.13 s
[cursor-gen] produces valids on valids [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] removes the current element [‐]
53.13 s
[cursor-gen] # PENDING: No reason given
53.13 s
[cursor-gen] treeCursorDeleteElem
53.13 s
[cursor-gen] produces valids on valids [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] deletes the current element [‐]
53.13 s
[cursor-gen] # PENDING: No reason given
53.13 s
[cursor-gen] Cursor.Simple.Tree.Demote
53.13 s
[cursor-gen] Functor DemoteResult
53.13 s
[cursor-gen] fmap :: (a -> b) -> DemoteResult a -> DemoteResult b
53.13 s
[cursor-gen] satisfies the first Fuctor law: 'fmap id == id' for "DemoteResult of ints :: (DemoteResult Int)" [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "DemoteResult of ints :: (DemoteResult Int)" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] (<$) :: a -> DemoteResult b -> DemoteResult a
53.13 s
[cursor-gen] is equivalent to its default implementation for "int :: Int" and "DemoteResult of ints :: (DemoteResult Int)" [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] treeCursorDemoteElem
53.13 s
[cursor-gen] produces valids on valids [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] Works on the example from the docs [✔]
53.13 s
[cursor-gen] demotes the current node to the level of its children [‐]
53.13 s
[cursor-gen] # PENDING: No reason given
53.13 s
[cursor-gen] treeCursorDemoteSubTree
53.13 s
[cursor-gen] produces valids on valids [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] Works on the example from the docs [✔]
53.13 s
[cursor-gen] demotes the current subtree to the level of its children [‐]
53.13 s
[cursor-gen] # PENDING: No reason given
53.13 s
[cursor-gen] treeCursorDemoteElemUnder
53.13 s
[cursor-gen] produces valids on valids [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] Works on the example from the docs [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] demotes the current node to the level of its children [‐]
53.13 s
[cursor-gen] # PENDING: No reason given
53.13 s
[cursor-gen] treeCursorDemoteSubTreeUnder
53.13 s
[cursor-gen] produces valids on valids [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] Works on the example from the docs [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] demotes the current subtree to the level of its children, by adding a root [‐]
53.13 s
[cursor-gen] # PENDING: No reason given
53.13 s
[cursor-gen] Cursor.Simple.Tree.Insert
53.13 s
[cursor-gen] treeCursorInsert
53.13 s
[cursor-gen] produces valids on valids [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] inserts the element [‐]
53.13 s
[cursor-gen] # PENDING: No reason given
53.13 s
[cursor-gen] treeCursorInsertAndSelect
53.13 s
[cursor-gen] produces valids on valids [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] inserts and select the element [‐]
53.13 s
[cursor-gen] # PENDING: No reason given
53.13 s
[cursor-gen] treeCursorInsertNodeSingleAndSelect
53.13 s
[cursor-gen] produces valids on valids [✔]
53.13 s
[cursor-gen] +++ OK, passed 100 tests.
53.13 s
[cursor-gen] inserts and select the element [‐]
53.13 s
[cursor-gen] # PENDING: No reason given
53.14 s
[cursor-gen] treeCursorInsertNodeAndSelect
53.14 s
[cursor-gen] produces valids on valids [✔]
53.14 s
[cursor-gen] +++ OK, passed 100 tests.
53.14 s
[cursor-gen] inserts and select the element [‐]
53.14 s
[cursor-gen] # PENDING: No reason given
53.14 s
[cursor-gen] treeCursorAppend
53.14 s
[cursor-gen] produces valids on valids [✔]
53.14 s
[cursor-gen] +++ OK, passed 100 tests.
53.14 s
[cursor-gen] appends the element [‐]
53.14 s
[cursor-gen] # PENDING: No reason given
53.14 s
[cursor-gen] treeCursorAppendAndSelect
53.14 s
[cursor-gen] produces valids on valids [✔]
53.14 s
[cursor-gen] +++ OK, passed 100 tests.
53.14 s
[cursor-gen] appends and select the element [‐]
53.14 s
[cursor-gen] # PENDING: No reason given
53.14 s
[cursor-gen] treeCursorAppendNodeSingleAndSelect
53.14 s
[cursor-gen] produces valids on valids [✔]
53.14 s
[cursor-gen] +++ OK, passed 100 tests.
53.14 s
[cursor-gen] appends and select the element [‐]
53.14 s
[cursor-gen] # PENDING: No reason given
53.14 s
[cursor-gen] treeCursorAppendNodeAndSelect
53.14 s
[cursor-gen] produces valids on valids [✔]
53.14 s
[cursor-gen] +++ OK, passed 100 tests.
53.14 s
[cursor-gen] appends and select the element [‐]
53.14 s
[cursor-gen] # PENDING: No reason given
53.14 s
[cursor-gen] treeCursorAddChildAtPos
53.14 s
[cursor-gen] produces valid cursors [✔]
53.14 s
[cursor-gen] +++ OK, passed 100 tests.
53.14 s
[cursor-gen] adds a tree at the given index in the children of the current node [‐]
53.14 s
[cursor-gen] # PENDING: No reason given
53.14 s
[cursor-gen] treeCursorAddChildAtStart
53.14 s
[cursor-gen] produces valid cursors [✔]
53.14 s
[cursor-gen] +++ OK, passed 100 tests.
53.14 s
[cursor-gen] adds a tree at the start of the children of the current node [‐]
53.14 s
[cursor-gen] # PENDING: No reason given
53.14 s
[cursor-gen] treeCursorAddChildAtEnd
53.14 s
[cursor-gen] produces valid cursors [✔]
53.14 s
[cursor-gen] +++ OK, passed 100 tests.
53.14 s
[cursor-gen] adds a tree at the end of the children of the current node [‐]
53.14 s
[cursor-gen] # PENDING: No reason given
53.14 s
[cursor-gen] treeCursorAddChildAtPosAndSelect
53.14 s
[cursor-gen] produces valid cursors [✔]
53.14 s
[cursor-gen] +++ OK, passed 100 tests.
53.14 s
[cursor-gen] adds a tree at the given index in theAndSelect children of the current node [‐]
53.14 s
[cursor-gen] # PENDING: No reason given
53.14 s
[cursor-gen] treeCursorAddChildAtStartAndSelect
53.14 s
[cursor-gen] producesAndSelect valid cursors [✔]
53.14 s
[cursor-gen] +++ OK, passed 100 tests.
53.14 s
[cursor-gen] adds a tree at the start of the children of the current node [‐]
53.14 s
[cursor-gen] # PENDING: No reason given
53.14 s
[cursor-gen] treeCursorAddChildAtEndAndSelect
53.14 s
[cursor-gen] produces valid cursors [✔]
53.14 s
[cursor-gen] +++ OK, passed 100 tests.
53.14 s
[cursor-gen] adds a tree at the end of the children of the current node [‐]
53.14 s
[cursor-gen] # PENDING: No reason given
53.14 s
[cursor-gen] treeCursorAddChildNodeSingleAtPosAndSelect
53.14 s
[cursor-gen] produces valid cursors [✔]
53.14 s
[cursor-gen] +++ OK, passed 100 tests.
53.14 s
[cursor-gen] treeCursorAddChildNodeSingleAtStartAndSelect
53.14 s
[cursor-gen] produces valid cursors [✔]
53.14 s
[cursor-gen] +++ OK, passed 100 tests.
53.14 s
[cursor-gen] treeCursorAddChildNodeSingleAtEndAndSelect
53.14 s
[cursor-gen] produces valid cursors [✔]
53.14 s
[cursor-gen] +++ OK, passed 100 tests.
53.14 s
[cursor-gen] treeCursorAddChildNodeAtPosAndSelect
53.14 s
[cursor-gen] produces valid cursors [✔]
53.14 s
[cursor-gen] +++ OK, passed 100 tests.
53.14 s
[cursor-gen] treeCursorAddChildNodeAtStartAndSelect
53.14 s
[cursor-gen] produces valid cursors [✔]
53.14 s
[cursor-gen] +++ OK, passed 100 tests.
53.14 s
[cursor-gen] works for this example [✔]
53.14 s
[cursor-gen] treeCursorAddChildNodeAtEndAndSelect
53.14 s
[cursor-gen] produces valid cursors [✔]
53.14 s
[cursor-gen] +++ OK, passed 100 tests.
53.14 s
[cursor-gen] works for this example [✔]
53.14 s
[cursor-gen] Cursor.Simple.Tree.Movement
53.14 s
[cursor-gen] treeCursorSelection
53.14 s
[cursor-gen] produces valids on valids [✔]
53.14 s
[cursor-gen] +++ OK, passed 100 tests.
53.14 s
[cursor-gen] treeCursorSelect
53.14 s
[cursor-gen] produces valids on valids [✔]
53.14 s
[cursor-gen] +++ OK, passed 100 tests.
53.14 s
[cursor-gen] is identity with the current selection [✔]
53.14 s
[cursor-gen] +++ OK, passed 100 tests.
53.14 s
[cursor-gen] treeCursorSelectPrevOnSameLevel
53.14 s
[cursor-gen] produces valids on valids [✔]
53.14 s
[cursor-gen] +++ OK, passed 100 tests.
53.14 s
[cursor-gen] is a movement [✔]
53.14 s
[cursor-gen] +++ OK, passed 100 tests.
53.14 s
[cursor-gen] selects the previous element [‐]
53.14 s
[cursor-gen] # PENDING: No reason given
53.14 s
[cursor-gen] after treeCursorSelectNextOnSameLevel is identity if they don't fail [✔]
53.14 s
[cursor-gen] +++ OK, passed 100 tests.
53.14 s
[cursor-gen] treeCursorSelectNextOnSameLevel
54.04 s
[cursor-gen] produces valids on valids [✔]
54.04 s
[cursor-gen] +++ OK, passed 100 tests.
54.04 s
[cursor-gen] is a movement [✔]
54.04 s
[cursor-gen] +++ OK, passed 100 tests.
54.04 s
[cursor-gen] selects the next element [‐]
54.04 s
[cursor-gen] # PENDING: No reason given
54.04 s
[cursor-gen] after treeCursorSelectPrevOnSameLevel is identity if they don't fail [✔]
54.04 s
[cursor-gen] +++ OK, passed 100 tests.
54.04 s
[cursor-gen] treeCursorSelectFirstOnSameLevel
54.04 s
[cursor-gen] produces valids on valids [✔]
54.04 s
[cursor-gen] +++ OK, passed 100 tests.
54.04 s
[cursor-gen] is a movement [✔]
54.04 s
[cursor-gen] +++ OK, passed 100 tests.
54.04 s
[cursor-gen] selects the previous element [‐]
54.04 s
[cursor-gen] # PENDING: No reason given
54.04 s
[cursor-gen] treeCursorSelectNextOnSameLevel
54.04 s
[cursor-gen] produces valids on valids [✔]
54.04 s
[cursor-gen] +++ OK, passed 100 tests.
54.04 s
[cursor-gen] is a movement [✔]
54.04 s
[cursor-gen] +++ OK, passed 100 tests.
54.04 s
[cursor-gen] selects the next element [‐]
54.04 s
[cursor-gen] # PENDING: No reason given
54.04 s
[cursor-gen] treeCursorSelectAbovePrev
54.04 s
[cursor-gen] produces valids on valids [✔]
54.04 s
[cursor-gen] +++ OK, passed 100 tests.
54.04 s
[cursor-gen] is a movement [✔]
54.04 s
[cursor-gen] +++ OK, passed 100 tests.
54.04 s
[cursor-gen] Works for this classic example [✔]
54.04 s
[cursor-gen] selects the previous element [‐]
54.04 s
[cursor-gen] # PENDING: No reason given
54.04 s
[cursor-gen] after treeCursorSelectAboveNext is identity if they don't fail [✔]
54.04 s
[cursor-gen] +++ OK, passed 100 tests.
54.04 s
[cursor-gen] treeCursorSelectAboveNext
54.04 s
[cursor-gen] produces valids on valids [✔]
54.04 s
[cursor-gen] +++ OK, passed 100 tests.
54.05 s
[cursor-gen] is a movement [✔]
54.05 s
[cursor-gen] +++ OK, passed 100 tests.
54.05 s
[cursor-gen] Works for this classic example [✔]
54.05 s
[cursor-gen] selects the next element [‐]
54.05 s
[cursor-gen] # PENDING: No reason given
54.05 s
[cursor-gen] after treeCursorSelectAbovePrev is identity if they don't fail [✔]
54.05 s
[cursor-gen] +++ OK, passed 100 tests.
54.05 s
[cursor-gen] treeCursorSelectPrev
54.05 s
[cursor-gen] produces valids on valids [✔]
54.05 s
[cursor-gen] +++ OK, passed 100 tests.
54.05 s
[cursor-gen] is a movement [✔]
54.05 s
[cursor-gen] +++ OK, passed 100 tests.
54.05 s
[cursor-gen] selects the previous element [‐]
54.05 s
[cursor-gen] # PENDING: No reason given
54.05 s
[cursor-gen] after treeCursorSelectNext is identity if they don't fail [✔]
54.05 s
[cursor-gen] +++ OK, passed 100 tests.
54.05 s
[cursor-gen] treeCursorSelectNext
54.05 s
[cursor-gen] produces valids on valids [✔]
54.05 s
[cursor-gen] +++ OK, passed 100 tests.
54.05 s
[cursor-gen] is a movement [✔]
54.05 s
[cursor-gen] +++ OK, passed 100 tests.
54.05 s
[cursor-gen] selects the next element [‐]
54.05 s
[cursor-gen] # PENDING: No reason given
54.05 s
[cursor-gen] after treeCursorSelectPrev is identity if they don't fail [✔]
54.05 s
[cursor-gen] +++ OK, passed 100 tests.
54.05 s
[cursor-gen] treeCursorSelectFirst
54.05 s
[cursor-gen] produces valids on valids [✔]
54.05 s
[cursor-gen] +++ OK, passed 100 tests.
54.05 s
[cursor-gen] is a movement [✔]
54.05 s
[cursor-gen] +++ OK, passed 100 tests.
54.05 s
[cursor-gen] selects the first element [‐]
54.05 s
[cursor-gen] # PENDING: No reason given
54.05 s
[cursor-gen] is idempotent [✔]
54.05 s
[cursor-gen] +++ OK, passed 100 tests.
54.05 s
[cursor-gen] treeCursorSelectLast
54.05 s
[cursor-gen] produces valids on valids [✔]
54.05 s
[cursor-gen] +++ OK, passed 100 tests.
54.06 s
[cursor-gen] is a movement [✔]
54.06 s
[cursor-gen] +++ OK, passed 100 tests.
54.06 s
[cursor-gen] selects the last element [‐]
54.06 s
[cursor-gen] # PENDING: No reason given
54.06 s
[cursor-gen] is idempotent [✔]
54.06 s
[cursor-gen] +++ OK, passed 100 tests.
54.06 s
[cursor-gen] treeCursorSelectAbove
54.06 s
[cursor-gen] produces valids on valids [✔]
54.06 s
[cursor-gen] +++ OK, passed 100 tests.
54.06 s
[cursor-gen] is a movement [✔]
54.06 s
[cursor-gen] +++ OK, passed 100 tests.
54.06 s
[cursor-gen] selects the element above [‐]
54.06 s
[cursor-gen] # PENDING: No reason given
54.06 s
[cursor-gen] after treeCursorSelectBelow is identity if they don't fail [✔]
54.06 s
[cursor-gen] +++ OK, passed 100 tests.
54.06 s
[cursor-gen] treeCursorSelectBelowAtPos
54.06 s
[cursor-gen] produces valids on valids [✔]
54.06 s
[cursor-gen] +++ OK, passed 100 tests.
54.06 s
[cursor-gen] is a movement [✔]
54.06 s
[cursor-gen] +++ OK, passed 100 tests.
54.06 s
[cursor-gen] selects the element n-th below [‐]
54.06 s
[cursor-gen] # PENDING: No reason given
54.06 s
[cursor-gen] treeCursorSelectBelowAtStart
54.06 s
[cursor-gen] produces valids on valids [✔]
54.06 s
[cursor-gen] +++ OK, passed 100 tests.
54.06 s
[cursor-gen] is a movement [✔]
54.06 s
[cursor-gen] +++ OK, passed 100 tests.
54.06 s
[cursor-gen] selects the first child below [‐]
54.06 s
[cursor-gen] # PENDING: No reason given
54.06 s
[cursor-gen] treeCursorSelectBelowAtEnd
54.06 s
[cursor-gen] produces valids on valids [✔]
54.06 s
[cursor-gen] +++ OK, passed 100 tests.
54.06 s
[cursor-gen] is a movement [✔]
54.06 s
[cursor-gen] +++ OK, passed 100 tests.
54.06 s
[cursor-gen] selects the last child below [‐]
54.06 s
[cursor-gen] # PENDING: No reason given
54.06 s
[cursor-gen] treeCursorSelectBelowAtStartRecursively
54.06 s
[cursor-gen] produces valids on valids [✔]
54.06 s
[cursor-gen] +++ OK, passed 100 tests.
54.06 s
[cursor-gen] is a movement [✔]
54.06 s
[cursor-gen] +++ OK, passed 100 tests.
54.06 s
[cursor-gen] selects the first child below, recursively [‐]
54.06 s
[cursor-gen] # PENDING: No reason given
54.06 s
[cursor-gen] treeCursorSelectBelowAtEndRecursively
54.06 s
[cursor-gen] produces valids on valids [✔]
54.06 s
[cursor-gen] +++ OK, passed 100 tests.
54.06 s
[cursor-gen] is a movement [✔]
54.06 s
[cursor-gen] +++ OK, passed 100 tests.
54.06 s
[cursor-gen] selects the last child below, recursively [‐]
54.06 s
[cursor-gen] # PENDING: No reason given
54.06 s
[cursor-gen] Cursor.Simple.Tree.Promote
54.06 s
[cursor-gen] Functor PromoteElemResult
54.06 s
[cursor-gen] fmap :: (a -> b) -> PromoteElemResult a -> PromoteElemResult b
54.06 s
[cursor-gen] satisfies the first Fuctor law: 'fmap id == id' for "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
54.06 s
[cursor-gen] +++ OK, passed 100 tests.
54.06 s
[cursor-gen] satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "PromoteElemResult of ints :: (PromoteElemResult Int)" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" [✔]
54.06 s
[cursor-gen] +++ OK, passed 100 tests.
54.06 s
[cursor-gen] (<$) :: a -> PromoteElemResult b -> PromoteElemResult a
54.06 s
[cursor-gen] is equivalent to its default implementation for "int :: Int" and "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
54.06 s
[cursor-gen] +++ OK, passed 100 tests.
54.06 s
[cursor-gen] Applicative PromoteElemResult
54.06 s
[cursor-gen] pure :: a -> PromoteElemResult a and (<*>) :: PromoteElemResult (a -> b) -> PromoteElemResult a -> PromoteElemResult b
54.06 s
[cursor-gen] satisfy the identity law: 'pure id <*> v = v' for "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
54.06 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] satisfy the composition law: 'pure (.) <*> u <*> v <*> w = u <*> (v <*> w)' for "PromoteElemResult of scalings :: (PromoteElemResult (Int -> Int))" composed with "PromoteElemResult of increments :: (PromoteElemResult (Int -> Int))" and applied to "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "int :: Int" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "PromoteElemResult of increments :: (PromoteElemResult (Int -> Int))" sequenced with "int :: Int" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] satisfy the law about the functor instance: fmap f x = pure f <*> x for "increments :: (Int -> Int)" mapped over "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] (*>) :: PromoteElemResult a -> PromoteElemResult b -> PromoteElemResult b
54.07 s
[cursor-gen] is equivalent to its default implementation 'u Type> v = pure (const id) <*> u <*> v' for "PromoteElemResult of ints :: (PromoteElemResult Int)" in front of "PromoteElemResult of ints :: Int" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] (<*) :: PromoteElemResult a -> PromoteElemResult b -> PromoteElemResult a
54.07 s
[cursor-gen] is equivalent to its default implementation 'u <* v = pure const <*> u <*> v' for "PromoteElemResult of ints :: Int" behind "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] Monad PromoteElemResult
54.07 s
[cursor-gen] return :: a -> PromoteElemResult a and (>>=) :: PromoteElemResult a -> (b -> PromoteElemResult a) -> PromoteElemResult b
54.07 s
[cursor-gen] satisfy the first Monad law: 'return a >>= k = k a' for "int :: Int" and "perturbations using the int :: (Int -> PromoteElemResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] satisfy the second Monad law: 'm >>= return = m' for "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] (>>=) :: PromoteElemResult a -> (b -> PromoteElemResult a) -> PromoteElemResult b
54.07 s
[cursor-gen] satisfies the third Monad law: 'm >>= (x -> k x >>= h) = (m >>= k) >>= h' for "PromoteElemResult of ints :: (PromoteElemResult Int)" "perturbations using the int :: (Int -> PromoteElemResult Int)" and "perturbations using the double the int :: (Int -> PromoteElemResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] relation with Applicative PromoteElemResult
54.07 s
[cursor-gen] satisfies 'pure = return' for "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] satisfies '(<*>) = ap' for "PromoteElemResult of additions :: (PromoteElemResult (Int -> Int))" and "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] satisfies '(>>) = (*>)' for "PromoteElemResult of ints :: (PromoteElemResult Int)" and "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] relation with Functor PromoteElemResult
54.07 s
[cursor-gen] satisfies 'fmap f xs = xs >>= return . f' for "increments :: (Int -> Int)" and "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] treeCursorPromoteElem
54.07 s
[cursor-gen] produces valids on valids [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] Works on the example from the docs [✔]
54.07 s
[cursor-gen] promotes the current node to the level of its parent [‐]
54.07 s
[cursor-gen] # PENDING: No reason given
54.07 s
[cursor-gen] Functor PromoteResult
54.07 s
[cursor-gen] fmap :: (a -> b) -> PromoteResult a -> PromoteResult b
54.07 s
[cursor-gen] satisfies the first Fuctor law: 'fmap id == id' for "PromoteResult of ints :: (PromoteResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "PromoteResult of ints :: (PromoteResult Int)" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] (<$) :: a -> PromoteResult b -> PromoteResult a
54.07 s
[cursor-gen] is equivalent to its default implementation for "int :: Int" and "PromoteResult of ints :: (PromoteResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] Applicative PromoteResult
54.07 s
[cursor-gen] pure :: a -> PromoteResult a and (<*>) :: PromoteResult (a -> b) -> PromoteResult a -> PromoteResult b
54.07 s
[cursor-gen] satisfy the identity law: 'pure id <*> v = v' for "PromoteResult of ints :: (PromoteResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] satisfy the composition law: 'pure (.) <*> u <*> v <*> w = u <*> (v <*> w)' for "PromoteResult of scalings :: (PromoteResult (Int -> Int))" composed with "PromoteResult of increments :: (PromoteResult (Int -> Int))" and applied to "PromoteResult of ints :: (PromoteResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "int :: Int" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "PromoteResult of increments :: (PromoteResult (Int -> Int))" sequenced with "int :: Int" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] satisfy the law about the functor instance: fmap f x = pure f <*> x for "increments :: (Int -> Int)" mapped over "PromoteResult of ints :: (PromoteResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] (*>) :: PromoteResult a -> PromoteResult b -> PromoteResult b
54.07 s
[cursor-gen] is equivalent to its default implementation 'u Type> v = pure (const id) <*> u <*> v' for "PromoteResult of ints :: (PromoteResult Int)" in front of "PromoteResult of ints :: Int" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] (<*) :: PromoteResult a -> PromoteResult b -> PromoteResult a
54.07 s
[cursor-gen] is equivalent to its default implementation 'u <* v = pure const <*> u <*> v' for "PromoteResult of ints :: Int" behind "PromoteResult of ints :: (PromoteResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] Monad PromoteResult
54.07 s
[cursor-gen] return :: a -> PromoteResult a and (>>=) :: PromoteResult a -> (b -> PromoteResult a) -> PromoteResult b
54.07 s
[cursor-gen] satisfy the first Monad law: 'return a >>= k = k a' for "int :: Int" and "perturbations using the int :: (Int -> PromoteResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] satisfy the second Monad law: 'm >>= return = m' for "PromoteResult of ints :: (PromoteResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] (>>=) :: PromoteResult a -> (b -> PromoteResult a) -> PromoteResult b
54.07 s
[cursor-gen] satisfies the third Monad law: 'm >>= (x -> k x >>= h) = (m >>= k) >>= h' for "PromoteResult of ints :: (PromoteResult Int)" "perturbations using the int :: (Int -> PromoteResult Int)" and "perturbations using the double the int :: (Int -> PromoteResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] relation with Applicative PromoteResult
54.07 s
[cursor-gen] satisfies 'pure = return' for "PromoteResult of ints :: (PromoteResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] satisfies '(<*>) = ap' for "PromoteResult of additions :: (PromoteResult (Int -> Int))" and "PromoteResult of ints :: (PromoteResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] satisfies '(>>) = (*>)' for "PromoteResult of ints :: (PromoteResult Int)" and "PromoteResult of ints :: (PromoteResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] relation with Functor PromoteResult
54.07 s
[cursor-gen] satisfies 'fmap f xs = xs >>= return . f' for "increments :: (Int -> Int)" and "PromoteResult of ints :: (PromoteResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] treeCursorPromoteSubTree
54.07 s
[cursor-gen] produces valids on valids [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] Works on the example from the docs [✔]
54.07 s
[cursor-gen] promotes the current subtree to the level of its parent [‐]
54.07 s
[cursor-gen] # PENDING: No reason given
54.07 s
[cursor-gen] Cursor.Simple.Tree.Swap
54.07 s
[cursor-gen] Functor SwapResult
54.07 s
[cursor-gen] fmap :: (a -> b) -> SwapResult a -> SwapResult b
54.07 s
[cursor-gen] satisfies the first Fuctor law: 'fmap id == id' for "SwapResult of ints :: (SwapResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "SwapResult of ints :: (SwapResult Int)" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] (<$) :: a -> SwapResult b -> SwapResult a
54.07 s
[cursor-gen] is equivalent to its default implementation for "int :: Int" and "SwapResult of ints :: (SwapResult Int)" [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] treeCursorSwapPrev
54.07 s
[cursor-gen] produces valids on valids [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] works on the example from the docs [✔]
54.07 s
[cursor-gen] reverts treeCursorSwapNext [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] swaps the current node with the previous node [‐]
54.07 s
[cursor-gen] # PENDING: No reason given
54.07 s
[cursor-gen] treeCursorSwapNext
54.07 s
[cursor-gen] produces valids on valids [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] works on the example from the docs [✔]
54.07 s
[cursor-gen] reverts treeCursorSwapNext [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] swaps the current node with the next node [‐]
54.07 s
[cursor-gen] # PENDING: No reason given
54.07 s
[cursor-gen] Cursor.Text
54.07 s
[cursor-gen] Eq TextCursor
54.07 s
[cursor-gen] (==) :: TextCursor -> TextCursor -> Bool
54.07 s
[cursor-gen] is reflexive for "valid TextCursor"s [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] is symmetric for "valid TextCursor"s [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] is transitive for "valid TextCursor"s [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid TextCursor"s [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] (/=) :: TextCursor -> TextCursor -> Bool
54.07 s
[cursor-gen] is antireflexive for "valid TextCursor"s [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid TextCursor"s [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] GenValid TextCursor
54.07 s
[cursor-gen] genValid :: Gen TextCursor
54.07 s
[cursor-gen] only generates valid 'TextCursor's [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] Validity TextCursor
54.07 s
[cursor-gen] considers a text cursor with a newline in the previous characters invalid [✔]
54.07 s
[cursor-gen] considers a text cursor with a newline in the next characters invalid [✔]
54.07 s
[cursor-gen] considers a text cursor with an unsafe character in the previous characters invalid [✔]
54.07 s
[cursor-gen] considers a text cursor with an unsafe character in the next characters invalid [✔]
54.07 s
[cursor-gen] emptyTextCursor
54.07 s
[cursor-gen] is valid [✔]
54.07 s
[cursor-gen] makeTextCursor
54.07 s
[cursor-gen] produces valid list cursors [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] makeTextCursorWithSelection
54.07 s
[cursor-gen] produces valid list cursors [✔]
54.07 s
[cursor-gen] +++ OK, passed 100 tests.
54.07 s
[cursor-gen] rebuildTextCursor
54.08 s
[cursor-gen] produces valid lists [✔]
54.08 s
[cursor-gen] +++ OK, passed 100 tests.
54.08 s
[cursor-gen] is the inverse of makeTextCursor [✔]
54.08 s
[cursor-gen] +++ OK, passed 100 tests.
54.08 s
[cursor-gen] is the inverse of makeTextCursorWithSelection for any index [✔]
54.08 s
[cursor-gen] +++ OK, passed 100 tests.
54.08 s
[cursor-gen] textCursorNull
54.08 s
[cursor-gen] produces valid bools [✔]
54.08 s
[cursor-gen] +++ OK, passed 100 tests.
54.08 s
[cursor-gen] textCursorLength
54.08 s
[cursor-gen] produces valid ints [✔]
54.08 s
[cursor-gen] +++ OK, passed 100 tests.
54.08 s
[cursor-gen] textCursorIndex
54.08 s
[cursor-gen] produces valid indices [✔]
54.08 s
[cursor-gen] +++ OK, passed 100 tests.
54.08 s
[cursor-gen] textCursorSelectPrev
54.08 s
[cursor-gen] produces valid cursors [✔]
54.08 s
[cursor-gen] +++ OK, passed 100 tests.
54.08 s
[cursor-gen] is a movement [✔]
54.08 s
[cursor-gen] +++ OK, passed 100 tests.
54.08 s
[cursor-gen] selects the previous position [‐]
54.08 s
[cursor-gen] # PENDING: No reason given
54.08 s
[cursor-gen] textCursorSelectNext
54.08 s
[cursor-gen] produces valid cursors [✔]
54.08 s
[cursor-gen] +++ OK, passed 100 tests.
54.08 s
[cursor-gen] is a movement [✔]
54.08 s
[cursor-gen] +++ OK, passed 100 tests.
54.08 s
[cursor-gen] selects the next position [‐]
54.08 s
[cursor-gen] # PENDING: No reason given
54.08 s
[cursor-gen] textCursorSelectIndex
54.08 s
[cursor-gen] produces valid cursors [✔]
54.08 s
[cursor-gen] +++ OK, passed 100 tests.
54.09 s
[cursor-gen] is a movement [✔]
54.09 s
[cursor-gen] +++ OK, passed 100 tests.
54.09 s
[cursor-gen] selects the position at the given index [‐]
54.09 s
[cursor-gen] # PENDING: No reason given
54.09 s
[cursor-gen] produces a cursor that has the given selection for valid selections in the cursor [✔]
54.09 s
[cursor-gen] +++ OK, passed 100 tests.
54.09 s
[cursor-gen] textCursorSelectStart
54.09 s
[cursor-gen] produces valid cursors [✔]
54.09 s
[cursor-gen] +++ OK, passed 100 tests.
54.09 s
[cursor-gen] is a movement [✔]
54.09 s
[cursor-gen] +++ OK, passed 100 tests.
54.09 s
[cursor-gen] is idempotent [✔]
54.09 s
[cursor-gen] +++ OK, passed 100 tests.
54.09 s
[cursor-gen] selects the starting position [‐]
54.09 s
[cursor-gen] # PENDING: No reason given
54.09 s
[cursor-gen] textCursorSelectEnd
54.09 s
[cursor-gen] produces valid cursors [✔]
54.09 s
[cursor-gen] +++ OK, passed 100 tests.
54.09 s
[cursor-gen] is a movement [✔]
54.09 s
[cursor-gen] +++ OK, passed 100 tests.
54.09 s
[cursor-gen] is idempotent [✔]
54.09 s
[cursor-gen] +++ OK, passed 100 tests.
54.09 s
[cursor-gen] selects the end position [‐]
54.09 s
[cursor-gen] # PENDING: No reason given
54.09 s
[cursor-gen] textCursorPrevChar
54.09 s
[cursor-gen] produces valid items [✔]
54.09 s
[cursor-gen] +++ OK, passed 100 tests.
54.09 s
[cursor-gen] returns the item before the position [‐]
54.09 s
[cursor-gen] # PENDING: No reason given
54.10 s
[cursor-gen] textCursorNextChar
54.10 s
[cursor-gen] produces valid items [✔]
54.10 s
[cursor-gen] +++ OK, passed 100 tests.
54.10 s
[cursor-gen] returns the item after the position [‐]
54.10 s
[cursor-gen] # PENDING: No reason given
54.10 s
[cursor-gen] textCursorSelectBeginWord
54.10 s
[cursor-gen] produces valid items [✔]
54.10 s
[cursor-gen] +++ OK, passed 100 tests.
54.10 s
[cursor-gen] is a movement [✔]
54.10 s
[cursor-gen] +++ OK, passed 100 tests.
54.10 s
[cursor-gen] is idempotent [✔]
54.10 s
[cursor-gen] +++ OK, passed 100 tests (89% non trivial).
54.10 s
[cursor-gen] works for this example [✔]
54.10 s
[cursor-gen] works for this example [✔]
54.10 s
[cursor-gen] works for this example [✔]
54.10 s
[cursor-gen] works for this example [✔]
54.10 s
[cursor-gen] textCursorSelectEndWord
54.10 s
[cursor-gen] produces valid items [✔]
54.10 s
[cursor-gen] +++ OK, passed 100 tests.
54.10 s
[cursor-gen] is a movement [✔]
54.10 s
[cursor-gen] +++ OK, passed 100 tests.
54.10 s
[cursor-gen] is idempotent [✔]
54.10 s
[cursor-gen] +++ OK, passed 100 tests (89% non trivial).
54.10 s
[cursor-gen] works for this example [✔]
54.10 s
[cursor-gen] works for this example [✔]
54.10 s
[cursor-gen] works for this example [✔]
54.10 s
[cursor-gen] works for this example [✔]
54.10 s
[cursor-gen] textCursorSelectNextWord
54.11 s
[cursor-gen] produces valid items [✔]
54.11 s
[cursor-gen] +++ OK, passed 100 tests.
54.11 s
[cursor-gen] is a movement [✔]
54.11 s
[cursor-gen] +++ OK, passed 100 tests.
54.11 s
[cursor-gen] works for this example [✔]
54.11 s
[cursor-gen] works for this example [✔]
54.11 s
[cursor-gen] works for this example [✔]
54.11 s
[cursor-gen] works for this example [✔]
54.11 s
[cursor-gen] goes to the end of the cursor [✔]
54.11 s
[cursor-gen] chooses the next word correctly [✔]
54.11 s
[cursor-gen] textCursorSelectPrevWord
54.11 s
[cursor-gen] produces valid items [✔]
54.11 s
[cursor-gen] +++ OK, passed 100 tests.
54.11 s
[cursor-gen] is a movement [✔]
54.11 s
[cursor-gen] +++ OK, passed 100 tests.
54.11 s
[cursor-gen] works for this example [✔]
54.11 s
[cursor-gen] works for this example [✔]
54.11 s
[cursor-gen] works for this example [✔]
54.11 s
[cursor-gen] works for this example [✔]
54.11 s
[cursor-gen] goes to the beginning of the cursor [✔]
54.11 s
[cursor-gen] chooses the previous word correctly [✔]
54.11 s
[cursor-gen] textCursorInsert
54.11 s
[cursor-gen] produces valids [✔]
54.11 s
[cursor-gen] +++ OK, passed 100 tests.
54.11 s
[cursor-gen] inserts an item before the cursor [‐]
54.11 s
[cursor-gen] # PENDING: No reason given
54.11 s
[cursor-gen] textCursorAppend
54.11 s
[cursor-gen] produces valids [✔]
54.11 s
[cursor-gen] +++ OK, passed 100 tests.
54.11 s
[cursor-gen] inserts an item after the cursor [‐]
54.11 s
[cursor-gen] # PENDING: No reason given
54.11 s
[cursor-gen] textCursorInsertString
54.11 s
[cursor-gen] produces valids [✔]
54.11 s
[cursor-gen] +++ OK, passed 100 tests.
54.11 s
[cursor-gen] works for this example [✔]
54.11 s
[cursor-gen] textCursorAppendString
54.12 s
[cursor-gen] produces valids [✔]
54.12 s
[cursor-gen] +++ OK, passed 100 tests.
54.12 s
[cursor-gen] textCursorInsertText
54.12 s
[cursor-gen] produces valids [✔]
54.12 s
[cursor-gen] +++ OK, passed 100 tests.
54.12 s
[cursor-gen] textCursorAppendText
54.12 s
[cursor-gen] produces valids [✔]
54.12 s
[cursor-gen] +++ OK, passed 100 tests.
54.12 s
[cursor-gen] textCursorRemove
54.12 s
[cursor-gen] produces valids [✔]
54.12 s
[cursor-gen] +++ OK, passed 100 tests.
54.12 s
[cursor-gen] removes an item before the cursor [‐]
54.12 s
[cursor-gen] # PENDING: No reason given
54.12 s
[cursor-gen] textCursorDelete
54.12 s
[cursor-gen] produces valids [✔]
54.12 s
[cursor-gen] +++ OK, passed 100 tests.
54.12 s
[cursor-gen] removes an item before the cursor [‐]
54.12 s
[cursor-gen] # PENDING: No reason given
54.12 s
[cursor-gen] textCursorSplit
54.12 s
[cursor-gen] produces valids [✔]
54.12 s
[cursor-gen] +++ OK, passed 100 tests.
54.12 s
[cursor-gen] produces two list cursors that rebuild to the rebuilding of the original [✔]
54.12 s
[cursor-gen] +++ OK, passed 100 tests.
54.12 s
[cursor-gen] textCursorCombine
54.13 s
[cursor-gen] produces valids [✔]
54.13 s
[cursor-gen] +++ OK, passed 100 tests.
54.13 s
[cursor-gen] produces a list that rebuilds to the rebuilding of the original two cursors [✔]
54.13 s
[cursor-gen] +++ OK, passed 100 tests.
54.13 s
[cursor-gen] Cursor.TextField
54.13 s
[cursor-gen] Eq TextFieldCursor
54.13 s
[cursor-gen] (==) :: TextFieldCursor -> TextFieldCursor -> Bool
54.13 s
[cursor-gen] is reflexive for "valid TextFieldCursor"s [✔]
54.13 s
[cursor-gen] +++ OK, passed 100 tests.
54.13 s
[cursor-gen] is symmetric for "valid TextFieldCursor"s [✔]
54.13 s
[cursor-gen] +++ OK, passed 100 tests.
54.13 s
[cursor-gen] is transitive for "valid TextFieldCursor"s [✔]
54.13 s
[cursor-gen] +++ OK, passed 100 tests.
54.13 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid TextFieldCursor"s [✔]
54.13 s
[cursor-gen] +++ OK, passed 100 tests.
54.13 s
[cursor-gen] (/=) :: TextFieldCursor -> TextFieldCursor -> Bool
54.13 s
[cursor-gen] is antireflexive for "valid TextFieldCursor"s [✔]
54.13 s
[cursor-gen] +++ OK, passed 100 tests.
54.13 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid TextFieldCursor"s [✔]
54.13 s
[cursor-gen] +++ OK, passed 100 tests.
54.13 s
[cursor-gen] GenValid TextFieldCursor
54.13 s
[cursor-gen] genValid :: Gen TextFieldCursor
54.13 s
[cursor-gen] only generates valid 'TextFieldCursor's [✔]
54.13 s
[cursor-gen] +++ OK, passed 100 tests.
54.13 s
[cursor-gen] Validity TextFieldCursor
54.13 s
[cursor-gen] consider a textfield with a newline in the previous lines invalid [✔]
54.13 s
[cursor-gen] +++ OK, passed 100 tests.
54.13 s
[cursor-gen] consider a textfield with a newline in the next lines invalid [✔]
54.13 s
[cursor-gen] +++ OK, passed 100 tests.
54.13 s
[cursor-gen] makeTextFieldCursor
54.13 s
[cursor-gen] produces a valid cursor for "\n" [✔]
54.13 s
[cursor-gen] produces a valid cursor for "\n\n" [✔]
54.13 s
[cursor-gen] produces valid cursors [✔]
54.13 s
[cursor-gen] +++ OK, passed 100 tests.
54.13 s
[cursor-gen] makeTextFieldCursorWithSelection
54.13 s
[cursor-gen] produces a valid cursor for "\n" [✔]
54.13 s
[cursor-gen] +++ OK, passed 100 tests.
54.13 s
[cursor-gen] produces a valid cursor for "\n\n" [✔]
54.13 s
[cursor-gen] +++ OK, passed 100 tests.
54.13 s
[cursor-gen] produces valid cursors [✔]
54.13 s
[cursor-gen] +++ OK, passed 100 tests.
54.14 s
[cursor-gen] is the inverse of rebuildTextFieldCursor when using the current selection [✔]
54.14 s
[cursor-gen] +++ OK, passed 100 tests.
54.14 s
[cursor-gen] rebuildTextFieldCursorLines
54.14 s
[cursor-gen] produces valid lists [✔]
54.14 s
[cursor-gen] +++ OK, passed 100 tests.
54.14 s
[cursor-gen] produces texts without newlines [✔]
54.14 s
[cursor-gen] +++ OK, passed 100 tests.
54.14 s
[cursor-gen] rebuildTextFieldCursor
54.14 s
[cursor-gen] produces valid texts [✔]
54.14 s
[cursor-gen] +++ OK, passed 100 tests.
54.14 s
[cursor-gen] is the inverse of makeTextFieldCursor [✔]
54.14 s
[cursor-gen] +++ OK, passed 100 tests.
54.15 s
[cursor-gen] is the inverse of makeTextFieldCursorWithSelection for integers, for any index [✔]
54.15 s
[cursor-gen] +++ OK, passed 100 tests.
54.15 s
[cursor-gen] textFieldCursorSelection
54.15 s
[cursor-gen] produces valid tuples [✔]
54.15 s
[cursor-gen] +++ OK, passed 100 tests.
54.15 s
[cursor-gen] emptyTextFieldCursor
54.15 s
[cursor-gen] is valid [✔]
54.15 s
[cursor-gen] nullTextFieldCursor
54.15 s
[cursor-gen] produces valid [✔]
54.15 s
[cursor-gen] +++ OK, passed 100 tests.
54.15 s
[cursor-gen] textFieldCursorSelectPrevLine
54.15 s
[cursor-gen] produces valid cursors [✔]
54.15 s
[cursor-gen] +++ OK, passed 100 tests.
54.15 s
[cursor-gen] is a movement [✔]
54.15 s
[cursor-gen] +++ OK, passed 100 tests.
54.15 s
[cursor-gen] selects the previous line [‐]
54.15 s
[cursor-gen] # PENDING: No reason given
54.15 s
[cursor-gen] textFieldCursorSelectNextLine
54.15 s
[cursor-gen] produces valid cursors [✔]
54.15 s
[cursor-gen] +++ OK, passed 100 tests.
54.16 s
[cursor-gen] is a movement [✔]
54.16 s
[cursor-gen] +++ OK, passed 100 tests.
54.16 s
[cursor-gen] selects the next line [‐]
54.16 s
[cursor-gen] # PENDING: No reason given
54.16 s
[cursor-gen] textFieldCursorSelectFirstLine
54.16 s
[cursor-gen] produces valid cursors [✔]
54.16 s
[cursor-gen] +++ OK, passed 100 tests.
54.16 s
[cursor-gen] is a movement [✔]
54.16 s
[cursor-gen] +++ OK, passed 100 tests.
54.16 s
[cursor-gen] is idempotent [✔]
54.16 s
[cursor-gen] +++ OK, passed 100 tests.
54.16 s
[cursor-gen] selects the first line [‐]
54.16 s
[cursor-gen] # PENDING: No reason given
54.16 s
[cursor-gen] textFieldCursorSelectLastLine
54.16 s
[cursor-gen] produces valid cursors [✔]
54.16 s
[cursor-gen] +++ OK, passed 100 tests.
54.17 s
[cursor-gen] is a movement [✔]
54.17 s
[cursor-gen] +++ OK, passed 100 tests.
54.17 s
[cursor-gen] is idempotent [✔]
54.17 s
[cursor-gen] +++ OK, passed 100 tests.
54.17 s
[cursor-gen] selects the last line [‐]
54.17 s
[cursor-gen] # PENDING: No reason given
54.17 s
[cursor-gen] textFieldCursorSelectPrevChar
54.17 s
[cursor-gen] produces valid cursors [✔]
54.17 s
[cursor-gen] +++ OK, passed 100 tests.
54.17 s
[cursor-gen] selects the previous character on the current line [‐]
54.17 s
[cursor-gen] # PENDING: No reason given
54.17 s
[cursor-gen] textFieldCursorSelectNextChar
54.17 s
[cursor-gen] produces valid cursors [✔]
54.17 s
[cursor-gen] +++ OK, passed 100 tests.
54.17 s
[cursor-gen] selects the previous character on the current line [‐]
54.17 s
[cursor-gen] # PENDING: No reason given
54.17 s
[cursor-gen] textFieldCursorSelectBeginWord
54.18 s
[cursor-gen] produces valid cursors [✔]
54.18 s
[cursor-gen] +++ OK, passed 100 tests.
54.18 s
[cursor-gen] textFieldCursorSelectEndWord
54.18 s
[cursor-gen] produces valid cursors [✔]
54.18 s
[cursor-gen] +++ OK, passed 100 tests.
54.18 s
[cursor-gen] textFieldCursorSelectPrevWord
54.18 s
[cursor-gen] produces valid cursors [✔]
54.18 s
[cursor-gen] +++ OK, passed 100 tests.
54.18 s
[cursor-gen] textFieldCursorSelectNextWord
54.18 s
[cursor-gen] produces valid cursors [✔]
54.18 s
[cursor-gen] +++ OK, passed 100 tests.
54.18 s
[cursor-gen] textFieldCursorIndexOnLine
54.18 s
[cursor-gen] produces valid indices [✔]
54.18 s
[cursor-gen] +++ OK, passed 100 tests.
54.18 s
[cursor-gen] returns the index on the current line [‐]
54.18 s
[cursor-gen] # PENDING: No reason given
54.18 s
[cursor-gen] textFieldCursorSelectIndexOnLine
54.18 s
[cursor-gen] produces valid cursors for any index [✔]
54.18 s
[cursor-gen] +++ OK, passed 100 tests.
54.18 s
[cursor-gen] selects the given index on the current line [‐]
54.19 s
[cursor-gen] # PENDING: No reason given
54.19 s
[cursor-gen] textFieldCursorInsertChar
54.19 s
[cursor-gen] produces valid cursors [✔]
54.19 s
[cursor-gen] +++ OK, passed 100 tests.
54.19 s
[cursor-gen] inserts a character before the cursor on the current line [‐]
54.19 s
[cursor-gen] # PENDING: No reason given
54.19 s
[cursor-gen] textFieldCursorAppendChar
54.19 s
[cursor-gen] produces valid cursors [✔]
54.19 s
[cursor-gen] +++ OK, passed 100 tests.
54.19 s
[cursor-gen] inserts a character after the cursor on the currrent line [‐]
54.19 s
[cursor-gen] # PENDING: No reason given
54.19 s
[cursor-gen] textFieldCursorInsertNewline
54.19 s
[cursor-gen] produces valid cursors [✔]
54.19 s
[cursor-gen] +++ OK, passed 100 tests.
54.19 s
[cursor-gen] inserts a new line [‐]
54.19 s
[cursor-gen] # PENDING: No reason given
54.19 s
[cursor-gen] textFieldCursorAppendNewline
54.19 s
[cursor-gen] produces valid cursors [✔]
54.19 s
[cursor-gen] +++ OK, passed 100 tests.
54.19 s
[cursor-gen] textFieldCursorRemove
54.19 s
[cursor-gen] produces valid cursors [✔]
54.19 s
[cursor-gen] +++ OK, passed 100 tests.
54.19 s
[cursor-gen] removes empty text field cursor [✔]
54.19 s
[cursor-gen] removes a character or a line [‐]
54.19 s
[cursor-gen] # PENDING: No reason given
54.19 s
[cursor-gen] textFieldCursorDelete
54.20 s
[cursor-gen] produces valid cursors [✔]
54.20 s
[cursor-gen] +++ OK, passed 100 tests.
54.20 s
[cursor-gen] removes empty text field cursor [✔]
54.20 s
[cursor-gen] deletes a character or a line [‐]
54.20 s
[cursor-gen] # PENDING: No reason given
54.20 s
[cursor-gen] textFieldCursorSelectStartOfLine
54.20 s
[cursor-gen] produces valid cursors [✔]
54.20 s
[cursor-gen] +++ OK, passed 100 tests.
54.20 s
[cursor-gen] selects the start of the current line [‐]
54.20 s
[cursor-gen] # PENDING: No reason given
54.20 s
[cursor-gen] textFieldCursorSelectEndOfLine
54.20 s
[cursor-gen] produces valid cursors [✔]
54.20 s
[cursor-gen] +++ OK, passed 100 tests.
54.20 s
[cursor-gen] selects the end of the current line [‐]
54.20 s
[cursor-gen] # PENDING: No reason given
54.20 s
[cursor-gen] Cursor.Tree.Types
54.20 s
[cursor-gen] Eq TreeCursorSelection
54.20 s
[cursor-gen] (==) :: TreeCursorSelection -> TreeCursorSelection -> Bool
54.20 s
[cursor-gen] is reflexive for "valid TreeCursorSelection"s [✔]
54.20 s
[cursor-gen] +++ OK, passed 100 tests.
54.20 s
[cursor-gen] is symmetric for "valid TreeCursorSelection"s [✔]
54.20 s
[cursor-gen] +++ OK, passed 100 tests.
54.20 s
[cursor-gen] is transitive for "valid TreeCursorSelection"s [✔]
54.20 s
[cursor-gen] +++ OK, passed 100 tests.
54.20 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid TreeCursorSelection"s [✔]
54.20 s
[cursor-gen] +++ OK, passed 100 tests.
54.20 s
[cursor-gen] (/=) :: TreeCursorSelection -> TreeCursorSelection -> Bool
54.20 s
[cursor-gen] is antireflexive for "valid TreeCursorSelection"s [✔]
54.20 s
[cursor-gen] +++ OK, passed 100 tests.
54.20 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid TreeCursorSelection"s [✔]
54.20 s
[cursor-gen] +++ OK, passed 100 tests.
54.20 s
[cursor-gen] GenValid TreeCursorSelection
54.20 s
[cursor-gen] genValid :: Gen TreeCursorSelection
54.20 s
[cursor-gen] only generates valid 'TreeCursorSelection's [✔]
54.20 s
[cursor-gen] +++ OK, passed 100 tests.
54.20 s
[cursor-gen] shrinkValid :: (TreeCursorSelection -> [TreeCursorSelection])
54.20 s
[cursor-gen] preserves validity for the first 10 elements [✔]
54.20 s
[cursor-gen] +++ OK, passed 100 tests.
54.20 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
54.20 s
[cursor-gen] +++ OK, passed 100 tests.
54.20 s
[cursor-gen] Eq (SwapResult Bool)
54.20 s
[cursor-gen] (==) :: (SwapResult Bool) -> (SwapResult Bool) -> Bool
54.20 s
[cursor-gen] is reflexive for "valid (SwapResult Bool)"s [✔]
54.20 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is symmetric for "valid (SwapResult Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is transitive for "valid (SwapResult Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (SwapResult Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] (/=) :: (SwapResult Bool) -> (SwapResult Bool) -> Bool
54.21 s
[cursor-gen] is antireflexive for "valid (SwapResult Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (SwapResult Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] GenValid (SwapResult Bool)
54.21 s
[cursor-gen] genValid :: Gen (SwapResult Bool)
54.21 s
[cursor-gen] only generates valid '(SwapResult Bool)'s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] shrinkValid :: (SwapResult Bool -> [SwapResult Bool])
54.21 s
[cursor-gen] preserves validity for the first 10 elements [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] Eq (PromoteElemResult Bool)
54.21 s
[cursor-gen] (==) :: (PromoteElemResult Bool) -> (PromoteElemResult Bool) -> Bool
54.21 s
[cursor-gen] is reflexive for "valid (PromoteElemResult Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is symmetric for "valid (PromoteElemResult Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is transitive for "valid (PromoteElemResult Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (PromoteElemResult Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] (/=) :: (PromoteElemResult Bool) -> (PromoteElemResult Bool) -> Bool
54.21 s
[cursor-gen] is antireflexive for "valid (PromoteElemResult Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (PromoteElemResult Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] GenValid (PromoteElemResult Bool)
54.21 s
[cursor-gen] genValid :: Gen (PromoteElemResult Bool)
54.21 s
[cursor-gen] only generates valid '(PromoteElemResult Bool)'s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] shrinkValid :: (PromoteElemResult Bool -> [PromoteElemResult Bool])
54.21 s
[cursor-gen] preserves validity for the first 10 elements [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] Eq (PromoteResult Bool)
54.21 s
[cursor-gen] (==) :: (PromoteResult Bool) -> (PromoteResult Bool) -> Bool
54.21 s
[cursor-gen] is reflexive for "valid (PromoteResult Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is symmetric for "valid (PromoteResult Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is transitive for "valid (PromoteResult Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (PromoteResult Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] (/=) :: (PromoteResult Bool) -> (PromoteResult Bool) -> Bool
54.21 s
[cursor-gen] is antireflexive for "valid (PromoteResult Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (PromoteResult Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] GenValid (PromoteResult Bool)
54.21 s
[cursor-gen] genValid :: Gen (PromoteResult Bool)
54.21 s
[cursor-gen] only generates valid '(PromoteResult Bool)'s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] shrinkValid :: (PromoteResult Bool -> [PromoteResult Bool])
54.21 s
[cursor-gen] preserves validity for the first 10 elements [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] Eq (DemoteResult Bool)
54.21 s
[cursor-gen] (==) :: (DemoteResult Bool) -> (DemoteResult Bool) -> Bool
54.21 s
[cursor-gen] is reflexive for "valid (DemoteResult Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is symmetric for "valid (DemoteResult Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is transitive for "valid (DemoteResult Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (DemoteResult Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] (/=) :: (DemoteResult Bool) -> (DemoteResult Bool) -> Bool
54.21 s
[cursor-gen] is antireflexive for "valid (DemoteResult Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (DemoteResult Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] GenValid (DemoteResult Bool)
54.21 s
[cursor-gen] genValid :: Gen (DemoteResult Bool)
54.21 s
[cursor-gen] only generates valid '(DemoteResult Bool)'s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] shrinkValid :: (DemoteResult Bool -> [DemoteResult Bool])
54.21 s
[cursor-gen] preserves validity for the first 10 elements [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] Eq (CTree Bool)
54.21 s
[cursor-gen] (==) :: (CTree Bool) -> (CTree Bool) -> Bool
54.21 s
[cursor-gen] is reflexive for "valid (CTree Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is symmetric for "valid (CTree Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is transitive for "valid (CTree Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (CTree Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] (/=) :: (CTree Bool) -> (CTree Bool) -> Bool
54.21 s
[cursor-gen] is antireflexive for "valid (CTree Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (CTree Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] GenValid (CTree Bool)
54.21 s
[cursor-gen] genValid :: Gen (CTree Bool)
54.21 s
[cursor-gen] only generates valid '(CTree Bool)'s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] shrinkValid :: (CTree Bool -> [CTree Bool])
54.21 s
[cursor-gen] preserves validity for the first 10 elements [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] Eq (CForest Bool)
54.21 s
[cursor-gen] (==) :: (CForest Bool) -> (CForest Bool) -> Bool
54.21 s
[cursor-gen] is reflexive for "valid (CForest Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is symmetric for "valid (CForest Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is transitive for "valid (CForest Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (CForest Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] (/=) :: (CForest Bool) -> (CForest Bool) -> Bool
54.21 s
[cursor-gen] is antireflexive for "valid (CForest Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (CForest Bool)"s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] GenValid (CForest Bool)
54.21 s
[cursor-gen] genValid :: Gen (CForest Bool)
54.21 s
[cursor-gen] only generates valid '(CForest Bool)'s [✔]
54.21 s
[cursor-gen] +++ OK, passed 100 tests.
54.21 s
[cursor-gen] shrinkValid :: (CForest Bool -> [CForest Bool])
54.22 s
[cursor-gen] preserves validity for the first 10 elements [✔]
54.22 s
[cursor-gen] +++ OK, passed 100 tests.
54.22 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
54.22 s
[cursor-gen] +++ OK, passed 100 tests.
54.22 s
[cursor-gen] Eq (TreeAbove Bool)
54.22 s
[cursor-gen] (==) :: (TreeAbove Bool) -> (TreeAbove Bool) -> Bool
54.22 s
[cursor-gen] is reflexive for "valid (TreeAbove Bool)"s [✔]
54.22 s
[cursor-gen] +++ OK, passed 100 tests.
54.22 s
[cursor-gen] is symmetric for "valid (TreeAbove Bool)"s [✔]
54.22 s
[cursor-gen] +++ OK, passed 100 tests.
54.22 s
[cursor-gen] is transitive for "valid (TreeAbove Bool)"s [✔]
54.22 s
[cursor-gen] +++ OK, passed 100 tests.
54.22 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (TreeAbove Bool)"s [✔]
54.22 s
[cursor-gen] +++ OK, passed 100 tests.
54.22 s
[cursor-gen] (/=) :: (TreeAbove Bool) -> (TreeAbove Bool) -> Bool
54.22 s
[cursor-gen] is antireflexive for "valid (TreeAbove Bool)"s [✔]
54.22 s
[cursor-gen] +++ OK, passed 100 tests.
54.22 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (TreeAbove Bool)"s [✔]
54.22 s
[cursor-gen] +++ OK, passed 100 tests.
54.22 s
[cursor-gen] GenValid (TreeAbove Bool)
54.22 s
[cursor-gen] genValid :: Gen (TreeAbove Bool)
54.22 s
[cursor-gen] only generates valid '(TreeAbove Bool)'s [✔]
54.22 s
[cursor-gen] +++ OK, passed 100 tests.
54.22 s
[cursor-gen] shrinkValid :: (TreeAbove Bool -> [TreeAbove Bool])
54.22 s
[cursor-gen] preserves validity for the first 10 elements [✔]
54.22 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] treeAboveLeftsL
54.23 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] satisfies the second lens law for valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] gets valid values from valid values values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] treeAboveAboveL
54.23 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] satisfies the second lens law for valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] gets valid values from valid values values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] treeAboveNodeL
54.23 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] satisfies the second lens law for valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] gets valid values from valid values values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] treeAboveRightsL
54.23 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] satisfies the second lens law for valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] gets valid values from valid values values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] Eq (TreeCursor Bool Word)
54.23 s
[cursor-gen] (==) :: (TreeCursor Bool Word) -> (TreeCursor Bool Word) -> Bool
54.23 s
[cursor-gen] is reflexive for "valid (TreeCursor Bool Word)"s [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] is symmetric for "valid (TreeCursor Bool Word)"s [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] is transitive for "valid (TreeCursor Bool Word)"s [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (TreeCursor Bool Word)"s [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] (/=) :: (TreeCursor Bool Word) -> (TreeCursor Bool Word) -> Bool
54.23 s
[cursor-gen] is antireflexive for "valid (TreeCursor Bool Word)"s [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (TreeCursor Bool Word)"s [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] GenValid (TreeCursor Bool Bool)
54.23 s
[cursor-gen] genValid :: Gen (TreeCursor Bool Bool)
54.23 s
[cursor-gen] only generates valid '(TreeCursor Bool Bool)'s [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] shrinkValid :: (TreeCursor Word Bool -> [TreeCursor Word Bool])
54.23 s
[cursor-gen] preserves validity for the first 10 elements [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] treeCursorAboveL
54.23 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] satisfies the second lens law for valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] gets valid values from valid values values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] treeCursorCurrentL
54.23 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] satisfies the second lens law for valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] gets valid values from valid values values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] treeCursorBelowL
54.23 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] satisfies the second lens law for valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] gets valid values from valid values values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] treeCursorCurrentSubTreeL
54.23 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] satisfies the second lens law for valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] gets valid values from valid values values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
54.23 s
[cursor-gen] +++ OK, passed 100 tests.
54.23 s
[cursor-gen]
54.23 s
[cursor-gen] Finished in 3.9882 seconds
54.23 s
[cursor-gen] 881 examples, 0 failures, 173 pending
54.33 s
[cursor-gen] Test suite cursor-test: PASS
54.33 s
[cursor-gen] Test suite logged to: dist/test/cursor-gen-0.4.0.0-cursor-test.log
54.33 s
[cursor-gen] 1 of 1 test suites (1 of 1 test cases) passed.
55.31 s
[cursor-gen] Phase: haddockPhase
55.43 s
[cursor-gen] Preprocessing library for cursor-gen-0.4.0.0..
55.43 s
[cursor-gen] Running Haddock on library for cursor-gen-0.4.0.0..
55.49 s
[cursor-gen] Warning: --source-* options are ignored when --hyperlinked-source is enabled.
55.69 s
[cursor-gen] 0% ( 0 / 3) in 'Cursor.List.Gen'
55.69 s
[cursor-gen] Missing documentation for:
55.69 s
[cursor-gen] Module header
55.69 s
[cursor-gen] listCursorWithGen (src/Cursor/List/Gen.hs:24)
55.69 s
[cursor-gen] listCursorWithIndex0 (src/Cursor/List/Gen.hs:27)
55.71 s
[cursor-gen] 0% ( 0 / 5) in 'Cursor.List.NonEmpty.Gen'
55.71 s
[cursor-gen] Missing documentation for:
55.71 s
[cursor-gen] Module header
55.71 s
[cursor-gen] genNonEmptyCursorBy (src/Cursor/List/NonEmpty/Gen.hs:23)
55.71 s
[cursor-gen] nonEmptyElemOf (src/Cursor/List/NonEmpty/Gen.hs:37)
55.71 s
[cursor-gen] nonEmptyWithIndex0 (src/Cursor/List/NonEmpty/Gen.hs:40)
55.71 s
[cursor-gen] nonEmptyWith (src/Cursor/List/NonEmpty/Gen.hs:43)
55.72 s
[cursor-gen] 0% ( 0 / 3) in 'Cursor.Map.KeyValue.Gen'
55.72 s
[cursor-gen] Missing documentation for:
55.72 s
[cursor-gen] Module header
55.72 s
[cursor-gen] genKeyValueCursorBy (src/Cursor/Map/KeyValue/Gen.hs:22)
55.72 s
[cursor-gen] genKeyValueCursorByDependent (src/Cursor/Map/KeyValue/Gen.hs:26)
55.73 s
[cursor-gen] 0% ( 0 / 3) in 'Cursor.Map.Gen'
55.73 s
[cursor-gen] Missing documentation for:
55.73 s
[cursor-gen] Module header
55.73 s
[cursor-gen] genMapCursorBy (src/Cursor/Map/Gen.hs:20)
55.73 s
[cursor-gen] genMapCursorByDependent (src/Cursor/Map/Gen.hs:25)
55.73 s
[cursor-gen] 0% ( 0 / 4) in 'Cursor.Simple.List.NonEmpty.Gen'
55.73 s
[cursor-gen] Missing documentation for:
55.73 s
[cursor-gen] Module header
55.73 s
[cursor-gen] nonEmptyElemOf (src/Cursor/Simple/List/NonEmpty/Gen.hs:12)
55.73 s
[cursor-gen] nonEmptyWithIndex0 (src/Cursor/Simple/List/NonEmpty/Gen.hs:15)
55.73 s
[cursor-gen] nonEmptyWith (src/Cursor/Simple/List/NonEmpty/Gen.hs:18)
55.73 s
[cursor-gen] 0% ( 0 / 1) in 'Cursor.Simple.Map.Gen'
55.73 s
[cursor-gen] Missing documentation for:
55.73 s
[cursor-gen] Module header
55.73 s
[cursor-gen] 0% ( 0 / 1) in 'Cursor.Simple.Map.KeyValue.Gen'
55.73 s
[cursor-gen] Missing documentation for:
55.73 s
[cursor-gen] Module header
55.74 s
[cursor-gen] 0% ( 0 / 7) in 'Cursor.Text.Gen'
55.74 s
[cursor-gen] Missing documentation for:
55.74 s
[cursor-gen] Module header
55.74 s
[cursor-gen] genSafeChar (src/Cursor/Text/Gen.hs:26)
55.74 s
[cursor-gen] genTextCursorChar (src/Cursor/Text/Gen.hs:32)
55.74 s
[cursor-gen] textCursorSentenceGen (src/Cursor/Text/Gen.hs:41)
55.74 s
[cursor-gen] textCursorWithGen (src/Cursor/Text/Gen.hs:35)
55.74 s
[cursor-gen] textCursorWithIndex0 (src/Cursor/Text/Gen.hs:38)
55.74 s
[cursor-gen] shrinkSentence (src/Cursor/Text/Gen.hs:47)
55.75 s
[cursor-gen] 0% ( 0 / 1) in 'Cursor.TextField.Gen'
55.75 s
[cursor-gen] Missing documentation for:
55.75 s
[cursor-gen] Module header
55.76 s
[cursor-gen] 0% ( 0 / 1) in 'Cursor.Tree.Gen'
55.76 s
[cursor-gen] Missing documentation for:
55.76 s
[cursor-gen] Module header
55.78 s
[cursor-gen] 0% ( 0 / 1) in 'Cursor.Simple.Tree.Gen'
55.78 s
[cursor-gen] Missing documentation for:
55.78 s
[cursor-gen] Module header
55.78 s
[cursor-gen] 0% ( 0 / 1) in 'Cursor.Forest.Gen'
55.78 s
[cursor-gen] Missing documentation for:
55.78 s
[cursor-gen] Module header
55.78 s
[cursor-gen] 0% ( 0 / 1) in 'Cursor.Simple.Forest.Gen'
55.78 s
[cursor-gen] Missing documentation for:
55.78 s
[cursor-gen] Module header
58.00 s
[cursor-gen] Documentation created: dist/doc/html/cursor-gen/,
58.00 s
[cursor-gen] dist/doc/html/cursor-gen/cursor-gen.txt
58.04 s
[cursor-gen] Preprocessing test suite 'cursor-test' for cursor-gen-0.4.0.0..
58.22 s
[cursor-gen] Phase: installPhase
58.22 s
[cursor-gen] Installing library in /nix/store/5pzifz9p13qnvjj2f81cqs3asmshjkll-cursor-gen-0.4.0.0/lib/ghc-9.6.6/lib/x86_64-linux-ghc-9.6.6/cursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9
58.37 s
[cursor-gen] Phase: fixupPhase
58.39 s
[cursor-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/5pzifz9p13qnvjj2f81cqs3asmshjkll-cursor-gen-0.4.0.0
58.39 s
[cursor-gen] shrinking /nix/store/5pzifz9p13qnvjj2f81cqs3asmshjkll-cursor-gen-0.4.0.0/lib/ghc-9.6.6/lib/x86_64-linux-ghc-9.6.6/libHScursor-gen-0.4.0.0-6ALASydxdrrAFK2oOBGjG9-ghc9.6.6.so
58.41 s
[cursor-gen] checking for references to /build/ in /nix/store/5pzifz9p13qnvjj2f81cqs3asmshjkll-cursor-gen-0.4.0.0...
58.42 s
[cursor-gen] patching script interpreter paths in /nix/store/5pzifz9p13qnvjj2f81cqs3asmshjkll-cursor-gen-0.4.0.0
58.43 s
[cursor-gen] stripping (with command strip and flags -S -p) in /nix/store/5pzifz9p13qnvjj2f81cqs3asmshjkll-cursor-gen-0.4.0.0/lib
58.48 s
[cursor-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/jqccvcnkb15bpgai8s0w8ra5sxxxh3ps-cursor-gen-0.4.0.0-doc
58.49 s
[cursor-gen] checking for references to /build/ in /nix/store/jqccvcnkb15bpgai8s0w8ra5sxxxh3ps-cursor-gen-0.4.0.0-doc...
58.49 s
[cursor-gen] patching script interpreter paths in /nix/store/jqccvcnkb15bpgai8s0w8ra5sxxxh3ps-cursor-gen-0.4.0.0-doc
58.54 s
[post-build-hook] Uploading to cachix cache "cursor": /nix/store/5pzifz9p13qnvjj2f81cqs3asmshjkll-cursor-gen-0.4.0.0 /nix/store/jqccvcnkb15bpgai8s0w8ra5sxxxh3ps-cursor-gen-0.4.0.0-doc
58.93 s
[post-build-hook] Pushing 3 paths (84 are already present) using zstd to cache cursor ⏳
58.93 s
[post-build-hook]
59.34 s
[post-build-hook] Pushing /nix/store/5pzifz9p13qnvjj2f81cqs3asmshjkll-cursor-gen-0.4.0.0 (2.23 MiB)
59.35 s
[post-build-hook] Pushing /nix/store/sk59zgr2kcdnwsjk26c79n0dl6s72pvr-mpfr-4.2.1 (775.71 KiB)
59.37 s
[post-build-hook] Pushing /nix/store/jqccvcnkb15bpgai8s0w8ra5sxxxh3ps-cursor-gen-0.4.0.0-doc (489.75 KiB)
60.98 s
[post-build-hook]
60.98 s
[post-build-hook] All done.
61.00 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/5pzifz9p13qnvjj2f81cqs3asmshjkll-cursor-gen-0.4.0.0 /nix/store/jqccvcnkb15bpgai8s0w8ra5sxxxh3ps-cursor-gen-0.4.0.0-doc
61.26 s
[post-build-hook] copying 2 paths...
61.26 s
[post-build-hook] copying path '/nix/store/jqccvcnkb15bpgai8s0w8ra5sxxxh3ps-cursor-gen-0.4.0.0-doc' to 'https://cache.staging.nix-ci.com'...
61.52 s
[post-build-hook] copying path '/nix/store/5pzifz9p13qnvjj2f81cqs3asmshjkll-cursor-gen-0.4.0.0' to 'https://cache.staging.nix-ci.com'...
62.65 s
[post-build-hook] copying 1 paths...
62.65 s
[post-build-hook] copying path '/nix/store/xzg3vqf72r813bsicamdp62ggw37d7zz-cursor-gen-0.4.0.0.drv' to 'https://cache.staging.nix-ci.com'...
62.89 s
Progress: 4 of 6 built, 21 of 21 downloaded from cache
62.93 s
Building cursor-release
62.96 s
[cursor-release] /nix/store/5pzifz9p13qnvjj2f81cqs3asmshjkll-cursor-gen-0.4.0.0/nix-support:
62.96 s
[cursor-release] propagated-build-inputs: Keeping existing link to /nix/store/5jbn6gvg30q103ljwykkwv16g191dc5r-cursor-0.3.2.0/nix-support/propagated-build-inputs
63.00 s
[post-build-hook] Uploading to cachix cache "cursor": /nix/store/7qip7v0y6yslj96zy6ki1792ng49wr6p-cursor-release
63.37 s
[post-build-hook] Pushing 1 paths (87 are already present) using zstd to cache cursor ⏳
63.51 s
[post-build-hook]
63.76 s
[post-build-hook] Pushing /nix/store/7qip7v0y6yslj96zy6ki1792ng49wr6p-cursor-release (49.54 KiB)
64.83 s
[post-build-hook]
64.83 s
[post-build-hook] All done.
64.85 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/7qip7v0y6yslj96zy6ki1792ng49wr6p-cursor-release
65.50 s
[post-build-hook] copying 1 paths...
65.50 s
[post-build-hook] copying path '/nix/store/7qip7v0y6yslj96zy6ki1792ng49wr6p-cursor-release' to 'https://cache.staging.nix-ci.com'...
67.85 s
[post-build-hook] copying 1 paths...
67.85 s
[post-build-hook] copying path '/nix/store/0y2lvwl2sdis78j73l7m212dlilvjzm5-cursor-release.drv' to 'https://cache.staging.nix-ci.com'...
68.43 s
Progress: 5 of 6 built, 21 of 21 downloaded from cache