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_05 --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.26 s
Downloading cached lndir from https://cache.staging.nix-ci.com
1.27 s
Downloading cached validity-0.12.0.2-doc from https://cache.staging.nix-ci.com
1.31 s
Progress: 0 of 14 built, 1 of 19 downloaded from cache (1 downloading)
1.48 s
Progress: 0 of 13 built, 2 of 19 downloaded from cache
1.48 s
Downloading cached genvalidity-1.1.0.0-doc from https://cache.staging.nix-ci.com
1.48 s
Downloading cached validity from https://cache.staging.nix-ci.com
1.48 s
Downloading cached validity-containers-0.5.0.4-doc from https://cache.staging.nix-ci.com
1.48 s
Downloading cached validity-text-0.3.1.3-doc from https://cache.staging.nix-ci.com
1.68 s
Progress: 0 of 13 built, 3 of 19 downloaded from cache (3 downloading)
1.73 s
Progress: 0 of 13 built, 4 of 19 downloaded from cache (2 downloading)
1.73 s
Downloading cached genvalidity-containers-1.0.0.1-doc from https://cache.staging.nix-ci.com
1.73 s
Downloading cached genvalidity-property-1.0.0.0-doc from https://cache.staging.nix-ci.com
1.75 s
Progress: 0 of 13 built, 5 of 19 downloaded from cache (3 downloading)
1.75 s
Downloading cached genvalidity from https://cache.staging.nix-ci.com
1.75 s
Downloading cached validity-containers from https://cache.staging.nix-ci.com
1.76 s
Progress: 0 of 12 built, 6 of 19 downloaded from cache (4 downloading)
1.76 s
Downloading cached genvalidity-text-1.0.0.1-doc from https://cache.staging.nix-ci.com
1.76 s
Downloading cached validity-text from https://cache.staging.nix-ci.com
1.95 s
Progress: 0 of 12 built, 7 of 19 downloaded from cache (5 downloading)
1.95 s
Progress: 0 of 12 built, 8 of 19 downloaded from cache (4 downloading)
1.98 s
Progress: 0 of 12 built, 9 of 19 downloaded from cache (3 downloading)
2.03 s
Progress: 0 of 11 built, 10 of 19 downloaded from cache (2 downloading)
2.30 s
Building cursor-source
2.30 s
Progress: 0 of 10 built (1 building), 11 of 19 downloaded from cache (1 downloading)
2.30 s
Progress: 0 of 10 built (1 building), 12 of 19 downloaded from cache
2.30 s
Downloading cached genvalidity-hspec-1.0.0.3-doc from https://cache.staging.nix-ci.com
2.30 s
Downloading cached genvalidity-property from https://cache.staging.nix-ci.com
2.30 s
Downloading cached genvalidity-text from https://cache.staging.nix-ci.com
2.32 s
Downloading cached genvalidity-containers from https://cache.staging.nix-ci.com
2.35 s
[cursor-source] Phase: setupCompilerEnvironmentPhase
2.35 s
[cursor-source] Build with /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5.
2.47 s
[cursor-source] Phase: unpackPhase
2.47 s
[cursor-source] unpacking source archive /nix/store/qr40r9gasc3qyg92cxgyvj69jz7qw20y-cursor
2.48 s
[cursor-source] source root is cursor
2.49 s
[cursor-source] Phase: patchPhase
2.49 s
[cursor-source] Phase: compileBuildDriverPhase
2.53 s
Progress: 0 of 9 built (1 building), 13 of 19 downloaded from cache (3 downloading)
2.56 s
Progress: 0 of 8 built (1 building), 14 of 19 downloaded from cache (2 downloading)
2.57 s
[cursor-source] setupCompileFlags: -package-db=/build/tmp.0LXbxDzZjd/setup-package.conf.d -threaded
2.62 s
[cursor-source] [1 of 2] Compiling Main ( /nix/store/4mdp8nhyfddh7bllbi7xszz7k9955n79-Setup.hs, /build/tmp.0LXbxDzZjd/Main.o )
2.63 s
Progress: 0 of 7 built (1 building), 15 of 19 downloaded from cache (1 downloading)
2.63 s
Downloading cached genvalidity-hspec-optics-1.0.0.0-doc from https://cache.staging.nix-ci.com
2.63 s
Progress: 0 of 7 built (1 building), 16 of 19 downloaded from cache (1 downloading)
2.63 s
Downloading cached genvalidity-hspec from https://cache.staging.nix-ci.com
2.66 s
[cursor-source] [2 of 2] Linking Setup
2.86 s
Progress: 0 of 7 built (1 building), 17 of 19 downloaded from cache (1 downloading)
2.94 s
Progress: 0 of 7 built (1 building), 18 of 19 downloaded from cache
2.94 s
Downloading cached genvalidity-hspec-optics from https://cache.staging.nix-ci.com
3.14 s
Progress: 0 of 6 built (1 building), 19 of 19 downloaded from cache
3.77 s
[cursor-source] Phase: updateAutotoolsGnuConfigScriptsPhase
3.78 s
[cursor-source] Phase: configurePhase
3.78 s
[cursor-source] configureFlags: --verbose --prefix=/nix/store/npcjvz3px9r4lh588la3rlgn4hni0vgz-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.0LXbxDzZjd/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/zmi2nlx42h1qrs2v7yn142dq4zjq30im-ncurses-6.4/lib --extra-lib-dirs=/nix/store/gniy4ab9wcijxjpcciddgpzdwq3v3dnb-libffi-3.4.6/lib --extra-lib-dirs=/nix/store/jsizfglsm40vsjc81xnm3wa0rxshpnz0-elfutils-0.191/lib --extra-lib-dirs=/nix/store/s8q3rch0wd3shdnznz9bcj8mj6pvz1gr-gmp-with-cxx-6.3.0/lib
3.79 s
[cursor-source] Using Parsec parser
3.79 s
[cursor-source] Configuring cursor-0.3.2.0...
4.07 s
[cursor-source] Dependency base <5: using base-4.18.2.1
4.07 s
[cursor-source] Dependency containers: using containers-0.6.7
4.07 s
[cursor-source] Dependency deepseq: using deepseq-1.4.8.1
4.07 s
[cursor-source] Dependency microlens: using microlens-0.4.13.1
4.07 s
[cursor-source] Dependency text: using text-2.0.2
4.07 s
[cursor-source] Dependency validity >=0.8.0.0: using validity-0.12.0.2
4.07 s
[cursor-source] Dependency validity-containers: using validity-containers-0.5.0.4
4.07 s
[cursor-source] Dependency validity-text: using validity-text-0.3.1.3
4.33 s
[cursor-source] Source component graph: component lib
4.33 s
[cursor-source] Configured component graph:
4.33 s
[cursor-source] component cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg
4.33 s
[cursor-source] include base-4.18.2.1
4.33 s
[cursor-source] include containers-0.6.7
4.33 s
[cursor-source] include deepseq-1.4.8.1
4.33 s
[cursor-source] include microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
4.33 s
[cursor-source] include text-2.0.2
4.33 s
[cursor-source] include validity-0.12.0.2-AqvCHWoomQb7m5ThLeZJUF
4.33 s
[cursor-source] include validity-containers-0.5.0.4-HslGVSV6GkS7jwFislmzmK
4.33 s
[cursor-source] include validity-text-0.3.1.3-6Zok7jKKi6MH9yUmWvp5nD
4.33 s
[cursor-source] Linked component graph:
4.33 s
[cursor-source] unit cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg
4.33 s
[cursor-source] include base-4.18.2.1
4.33 s
[cursor-source] include containers-0.6.7
4.33 s
[cursor-source] include deepseq-1.4.8.1
4.33 s
[cursor-source] include microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
4.33 s
[cursor-source] include text-2.0.2
4.33 s
[cursor-source] include validity-0.12.0.2-AqvCHWoomQb7m5ThLeZJUF
4.33 s
[cursor-source] include validity-containers-0.5.0.4-HslGVSV6GkS7jwFislmzmK
4.33 s
[cursor-source] include validity-text-0.3.1.3-6Zok7jKKi6MH9yUmWvp5nD
4.33 s
[cursor-source] Cursor.Forest=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Forest,Cursor.List=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.List,Cursor.List.NonEmpty=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.List.NonEmpty,Cursor.Map=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Map,Cursor.Map.KeyValue=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Map.KeyValue,Cursor.Simple.Forest=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Simple.Forest,Cursor.Simple.List.NonEmpty=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Simple.List.NonEmpty,Cursor.Simple.Map=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Simple.Map,Cursor.Simple.Map.KeyValue=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Simple.Map.KeyValue,Cursor.Simple.Tree=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Simple.Tree,Cursor.Text=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Text,Cursor.TextField=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.TextField,Cursor.Tree=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Tree,Cursor.Tree.Base=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Tree.Base,Cursor.Tree.Collapse=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Tree.Collapse,Cursor.Tree.Delete=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Tree.Delete,Cursor.Tree.Demote=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Tree.Demote,Cursor.Tree.Draw=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Tree.Draw,Cursor.Tree.Insert=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Tree.Insert,Cursor.Tree.Movement=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Tree.Movement,Cursor.Tree.Promote=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Tree.Promote,Cursor.Tree.Swap=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Tree.Swap,Cursor.Tree.Types=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Tree.Types,Cursor.Types=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Types
4.33 s
[cursor-source] Ready component graph:
4.33 s
[cursor-source] definite cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg
4.33 s
[cursor-source] depends base-4.18.2.1
4.33 s
[cursor-source] depends containers-0.6.7
4.33 s
[cursor-source] depends deepseq-1.4.8.1
4.33 s
[cursor-source] depends microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
4.33 s
[cursor-source] depends text-2.0.2
4.33 s
[cursor-source] depends validity-0.12.0.2-AqvCHWoomQb7m5ThLeZJUF
4.33 s
[cursor-source] depends validity-containers-0.5.0.4-HslGVSV6GkS7jwFislmzmK
4.33 s
[cursor-source] depends validity-text-0.3.1.3-6Zok7jKKi6MH9yUmWvp5nD
4.33 s
[cursor-source] Using Cabal-3.10.3.0 compiled by ghc-9.6
4.33 s
[cursor-source] Using compiler: ghc-9.6.5
4.33 s
[cursor-source] Using install prefix:
4.33 s
[cursor-source] /nix/store/npcjvz3px9r4lh588la3rlgn4hni0vgz-cursor-source-0.3.2.0
4.33 s
[cursor-source] Executables installed in:
4.33 s
[cursor-source] /nix/store/npcjvz3px9r4lh588la3rlgn4hni0vgz-cursor-source-0.3.2.0/bin
4.33 s
[cursor-source] Libraries installed in:
4.33 s
[cursor-source] /nix/store/npcjvz3px9r4lh588la3rlgn4hni0vgz-cursor-source-0.3.2.0/lib/ghc-9.6.5/lib/x86_64-linux-ghc-9.6.5/cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg
4.33 s
[cursor-source] Dynamic Libraries installed in:
4.33 s
[cursor-source] /nix/store/npcjvz3px9r4lh588la3rlgn4hni0vgz-cursor-source-0.3.2.0/lib/ghc-9.6.5/lib/x86_64-linux-ghc-9.6.5
4.33 s
[cursor-source] Private executables installed in:
4.33 s
[cursor-source] /nix/store/npcjvz3px9r4lh588la3rlgn4hni0vgz-cursor-source-0.3.2.0/libexec/x86_64-linux-ghc-9.6.5/cursor-0.3.2.0
4.33 s
[cursor-source] Data files installed in:
4.33 s
[cursor-source] /nix/store/npcjvz3px9r4lh588la3rlgn4hni0vgz-cursor-source-0.3.2.0/share/x86_64-linux-ghc-9.6.5/cursor-0.3.2.0
4.33 s
[cursor-source] Documentation installed in: /share/doc/cursor-0.3.2.0
4.33 s
[cursor-source] Configuration files installed in:
4.33 s
[cursor-source] /nix/store/npcjvz3px9r4lh588la3rlgn4hni0vgz-cursor-source-0.3.2.0/etc
4.33 s
[cursor-source] No alex found
4.33 s
[cursor-source] Using ar found on system at:
4.33 s
[cursor-source] /nix/store/z34dss3rj1rnp1g820r64w0na7452jy1-binutils-2.41/bin/ar
4.33 s
[cursor-source] No c2hs found
4.33 s
[cursor-source] No cpphs found
4.33 s
[cursor-source] No doctest found
4.33 s
[cursor-source] Using gcc version 13.2.0 given by user at:
4.33 s
[cursor-source] /nix/store/rdc1jnyw74mwr2gszqc5zwi433zxs089-gcc-wrapper-13.2.0/bin/gcc
4.33 s
[cursor-source] Using ghc version 9.6.5 found on system at:
4.33 s
[cursor-source] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/ghc
4.33 s
[cursor-source] Using ghc-pkg version 9.6.5 found on system at:
4.33 s
[cursor-source] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/ghc-pkg-9.6.5
4.33 s
[cursor-source] No ghcjs found
4.33 s
[cursor-source] No ghcjs-pkg found
4.33 s
[cursor-source] No greencard found
4.33 s
[cursor-source] Using haddock version 2.29.2 found on system at:
4.33 s
[cursor-source] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/haddock-ghc-9.6.5
4.33 s
[cursor-source] No happy found
4.33 s
[cursor-source] Using haskell-suite found on system at: haskell-suite-dummy-location
4.33 s
[cursor-source] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
4.33 s
[cursor-source] No hmake found
4.33 s
[cursor-source] Using hpc version 0.68 found on system at:
4.33 s
[cursor-source] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/hpc-ghc-9.6.5
4.33 s
[cursor-source] Using hsc2hs version 0.68.9 found on system at:
4.33 s
[cursor-source] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/hsc2hs-ghc-9.6.5
4.33 s
[cursor-source] Using hscolour version 1.25 found on system at:
4.33 s
[cursor-source] /nix/store/i9w3cy6bda04c89yh2wk5l5mwhddihsf-hscolour-1.25/bin/HsColour
4.33 s
[cursor-source] No jhc found
4.33 s
[cursor-source] Using ld found on system at:
4.33 s
[cursor-source] /nix/store/rl56awy2w2iwvgdmibv98k0vx7lzyw21-binutils-wrapper-2.41/bin/ld.gold
4.33 s
[cursor-source] No pkg-config found
4.33 s
[cursor-source] Using runghc version 9.6.5 found on system at:
4.33 s
[cursor-source] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/runghc-9.6.5
4.33 s
[cursor-source] Using strip version 2.41 found on system at:
4.33 s
[cursor-source] /nix/store/rdc1jnyw74mwr2gszqc5zwi433zxs089-gcc-wrapper-13.2.0/bin/strip
4.33 s
[cursor-source] Using tar found on system at:
4.33 s
[cursor-source] /nix/store/llalnjlyrj2zv12q5bjy8cagqv70j73y-gnutar-1.35/bin/tar
4.33 s
[cursor-source] No uhc found
4.42 s
[cursor-source] Phase: buildPhase
4.43 s
[cursor-source] Building source dist for cursor-0.3.2.0...
4.44 s
[cursor-source] Source tarball created: dist/cursor-0.3.2.0.tar.gz
4.45 s
[cursor-source] Phase: checkPhase
4.45 s
[cursor-source] Phase: haddockPhase
4.46 s
[cursor-source] Phase: installPhase
4.46 s
[cursor-source] Phase: fixupPhase
4.86 s
[post-build-hook] Uploading to cachix cache "cursor": /nix/store/npcjvz3px9r4lh588la3rlgn4hni0vgz-cursor-source-0.3.2.0
5.23 s
[post-build-hook] Pushing 1 paths (0 are already present) using zstd to cache cursor ⏳
5.23 s
[post-build-hook]
5.62 s
[post-build-hook] Pushing /nix/store/npcjvz3px9r4lh588la3rlgn4hni0vgz-cursor-source-0.3.2.0 (23.73 KiB)
6.64 s
[post-build-hook]
6.64 s
[post-build-hook] All done.
6.66 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/npcjvz3px9r4lh588la3rlgn4hni0vgz-cursor-source-0.3.2.0
6.72 s
[post-build-hook] copying 1 paths...
6.72 s
[post-build-hook] copying path '/nix/store/npcjvz3px9r4lh588la3rlgn4hni0vgz-cursor-source-0.3.2.0' to 'https://cache.staging.nix-ci.com'...
7.25 s
[post-build-hook] copying 7 paths...
7.25 s
[post-build-hook] copying path '/nix/store/gjl69b42s3kl6x93p8a33590yx0dqr1f-validity-containers-0.5.0.4.tar.gz.drv' to 'https://cache.staging.nix-ci.com'...
7.25 s
[post-build-hook] copying path '/nix/store/2i3hh8508bb09ijfpd8mriipdp7156h5-validity-text-0.3.1.3.tar.gz.drv' to 'https://cache.staging.nix-ci.com'...
7.25 s
[post-build-hook] copying path '/nix/store/73mhhkiik1njr7kcr7vc8qspirn91d2a-validity-0.12.0.2.tar.gz.drv' to 'https://cache.staging.nix-ci.com'...
7.44 s
[post-build-hook] copying path '/nix/store/azpni2ywy00gck0kn41fnv6zr5r4cdx3-validity-0.12.0.2.drv' to 'https://cache.staging.nix-ci.com'...
7.64 s
[post-build-hook] copying path '/nix/store/qwmh51c2wa0w9dh22hzww0c3dwgz1dhs-validity-text-0.3.1.3.drv' to 'https://cache.staging.nix-ci.com'...
7.65 s
[post-build-hook] copying path '/nix/store/31p04j0bix7wwc18x0q649630019z1as-validity-containers-0.5.0.4.drv' to 'https://cache.staging.nix-ci.com'...
7.88 s
[post-build-hook] copying path '/nix/store/adiav67i762ghcc4ppsca55phcv3wgaa-cursor-source-0.3.2.0.drv' to 'https://cache.staging.nix-ci.com'...
8.12 s
Progress: 1 of 6 built, 19 of 19 downloaded from cache
8.15 s
Building cursor
8.21 s
[cursor] Phase: setupCompilerEnvironmentPhase
8.22 s
[cursor] Build with /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5.
8.34 s
[cursor] Phase: unpackPhase
8.35 s
[cursor] unpacking source archive /nix/store/npcjvz3px9r4lh588la3rlgn4hni0vgz-cursor-source-0.3.2.0/cursor-0.3.2.0.tar.gz
8.35 s
[cursor] source root is cursor-0.3.2.0
8.36 s
[cursor] setting SOURCE_DATE_EPOCH to timestamp 1780346375 of file cursor-0.3.2.0/src/Cursor/Types.hs
8.36 s
[cursor] warning: file cursor-0.3.2.0/src/Cursor/Types.hs may be generated; SOURCE_DATE_EPOCH may be non-deterministic
8.36 s
[cursor] Phase: patchPhase
8.37 s
[cursor] Phase: compileBuildDriverPhase
8.37 s
[cursor] setupCompileFlags: -package-db=/build/tmp.gmGlqmV4zC/setup-package.conf.d -threaded
8.42 s
[cursor] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.gmGlqmV4zC/Main.o )
8.47 s
[cursor] [2 of 2] Linking Setup
9.55 s
[cursor] Phase: updateAutotoolsGnuConfigScriptsPhase
9.57 s
[cursor] Phase: configurePhase
9.57 s
[cursor] configureFlags: --verbose --prefix=/nix/store/krb3zl4f99q4v3v15hxmwz2vrd8qj4y6-cursor-0.3.2.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/lyybcxiz19axiilpm4lg5vwp9hmqp1nr-cursor-0.3.2.0-doc/share/doc/cursor-0.3.2.0 --with-gcc=gcc --package-db=/build/tmp.gmGlqmV4zC/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/zmi2nlx42h1qrs2v7yn142dq4zjq30im-ncurses-6.4/lib --extra-lib-dirs=/nix/store/gniy4ab9wcijxjpcciddgpzdwq3v3dnb-libffi-3.4.6/lib --extra-lib-dirs=/nix/store/jsizfglsm40vsjc81xnm3wa0rxshpnz0-elfutils-0.191/lib --extra-lib-dirs=/nix/store/s8q3rch0wd3shdnznz9bcj8mj6pvz1gr-gmp-with-cxx-6.3.0/lib
9.58 s
[cursor] Using Parsec parser
9.58 s
[cursor] Configuring cursor-0.3.2.0...
9.85 s
[cursor] Dependency base <5: using base-4.18.2.1
9.85 s
[cursor] Dependency containers: using containers-0.6.7
9.85 s
[cursor] Dependency deepseq: using deepseq-1.4.8.1
9.85 s
[cursor] Dependency microlens: using microlens-0.4.13.1
9.85 s
[cursor] Dependency text: using text-2.0.2
9.85 s
[cursor] Dependency validity >=0.8.0.0: using validity-0.12.0.2
9.85 s
[cursor] Dependency validity-containers: using validity-containers-0.5.0.4
9.85 s
[cursor] Dependency validity-text: using validity-text-0.3.1.3
10.11 s
[cursor] Source component graph: component lib
10.11 s
[cursor] Configured component graph:
10.11 s
[cursor] component cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg
10.11 s
[cursor] include base-4.18.2.1
10.11 s
[cursor] include containers-0.6.7
10.11 s
[cursor] include deepseq-1.4.8.1
10.11 s
[cursor] include microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
10.11 s
[cursor] include text-2.0.2
10.11 s
[cursor] include validity-0.12.0.2-AqvCHWoomQb7m5ThLeZJUF
10.11 s
[cursor] include validity-containers-0.5.0.4-HslGVSV6GkS7jwFislmzmK
10.11 s
[cursor] include validity-text-0.3.1.3-6Zok7jKKi6MH9yUmWvp5nD
10.11 s
[cursor] Linked component graph:
10.11 s
[cursor] unit cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg
10.11 s
[cursor] include base-4.18.2.1
10.11 s
[cursor] include containers-0.6.7
10.11 s
[cursor] include deepseq-1.4.8.1
10.11 s
[cursor] include microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
10.11 s
[cursor] include text-2.0.2
10.11 s
[cursor] include validity-0.12.0.2-AqvCHWoomQb7m5ThLeZJUF
10.11 s
[cursor] include validity-containers-0.5.0.4-HslGVSV6GkS7jwFislmzmK
10.11 s
[cursor] include validity-text-0.3.1.3-6Zok7jKKi6MH9yUmWvp5nD
10.11 s
[cursor] Cursor.Forest=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Forest,Cursor.List=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.List,Cursor.List.NonEmpty=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.List.NonEmpty,Cursor.Map=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Map,Cursor.Map.KeyValue=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Map.KeyValue,Cursor.Simple.Forest=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Simple.Forest,Cursor.Simple.List.NonEmpty=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Simple.List.NonEmpty,Cursor.Simple.Map=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Simple.Map,Cursor.Simple.Map.KeyValue=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Simple.Map.KeyValue,Cursor.Simple.Tree=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Simple.Tree,Cursor.Text=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Text,Cursor.TextField=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.TextField,Cursor.Tree=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Tree,Cursor.Tree.Base=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Tree.Base,Cursor.Tree.Collapse=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Tree.Collapse,Cursor.Tree.Delete=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Tree.Delete,Cursor.Tree.Demote=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Tree.Demote,Cursor.Tree.Draw=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Tree.Draw,Cursor.Tree.Insert=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Tree.Insert,Cursor.Tree.Movement=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Tree.Movement,Cursor.Tree.Promote=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Tree.Promote,Cursor.Tree.Swap=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Tree.Swap,Cursor.Tree.Types=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Tree.Types,Cursor.Types=cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg:Cursor.Types
10.11 s
[cursor] Ready component graph:
10.11 s
[cursor] definite cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg
10.11 s
[cursor] depends base-4.18.2.1
10.11 s
[cursor] depends containers-0.6.7
10.11 s
[cursor] depends deepseq-1.4.8.1
10.11 s
[cursor] depends microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
10.11 s
[cursor] depends text-2.0.2
10.11 s
[cursor] depends validity-0.12.0.2-AqvCHWoomQb7m5ThLeZJUF
10.11 s
[cursor] depends validity-containers-0.5.0.4-HslGVSV6GkS7jwFislmzmK
10.11 s
[cursor] depends validity-text-0.3.1.3-6Zok7jKKi6MH9yUmWvp5nD
10.11 s
[cursor] Using Cabal-3.10.3.0 compiled by ghc-9.6
10.11 s
[cursor] Using compiler: ghc-9.6.5
10.11 s
[cursor] Using install prefix:
10.11 s
[cursor] /nix/store/krb3zl4f99q4v3v15hxmwz2vrd8qj4y6-cursor-0.3.2.0
10.11 s
[cursor] Executables installed in:
10.11 s
[cursor] /nix/store/krb3zl4f99q4v3v15hxmwz2vrd8qj4y6-cursor-0.3.2.0/bin
10.11 s
[cursor] Libraries installed in:
10.11 s
[cursor] /nix/store/krb3zl4f99q4v3v15hxmwz2vrd8qj4y6-cursor-0.3.2.0/lib/ghc-9.6.5/lib/x86_64-linux-ghc-9.6.5/cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg
10.11 s
[cursor] Dynamic Libraries installed in:
10.11 s
[cursor] /nix/store/krb3zl4f99q4v3v15hxmwz2vrd8qj4y6-cursor-0.3.2.0/lib/ghc-9.6.5/lib/x86_64-linux-ghc-9.6.5
10.11 s
[cursor] Private executables installed in:
10.11 s
[cursor] /nix/store/krb3zl4f99q4v3v15hxmwz2vrd8qj4y6-cursor-0.3.2.0/libexec/x86_64-linux-ghc-9.6.5/cursor-0.3.2.0
10.12 s
[cursor] Data files installed in:
10.12 s
[cursor] /nix/store/krb3zl4f99q4v3v15hxmwz2vrd8qj4y6-cursor-0.3.2.0/share/x86_64-linux-ghc-9.6.5/cursor-0.3.2.0
10.12 s
[cursor] Documentation installed in:
10.12 s
[cursor] /nix/store/lyybcxiz19axiilpm4lg5vwp9hmqp1nr-cursor-0.3.2.0-doc/share/doc/cursor-0.3.2.0
10.12 s
[cursor] Configuration files installed in:
10.12 s
[cursor] /nix/store/krb3zl4f99q4v3v15hxmwz2vrd8qj4y6-cursor-0.3.2.0/etc
10.12 s
[cursor] No alex found
10.12 s
[cursor] Using ar found on system at:
10.12 s
[cursor] /nix/store/z34dss3rj1rnp1g820r64w0na7452jy1-binutils-2.41/bin/ar
10.12 s
[cursor] No c2hs found
10.12 s
[cursor] No cpphs found
10.12 s
[cursor] No doctest found
10.12 s
[cursor] Using gcc version 13.2.0 given by user at:
10.12 s
[cursor] /nix/store/rdc1jnyw74mwr2gszqc5zwi433zxs089-gcc-wrapper-13.2.0/bin/gcc
10.12 s
[cursor] Using ghc version 9.6.5 found on system at:
10.12 s
[cursor] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/ghc
10.12 s
[cursor] Using ghc-pkg version 9.6.5 found on system at:
10.12 s
[cursor] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/ghc-pkg-9.6.5
10.12 s
[cursor] No ghcjs found
10.12 s
[cursor] No ghcjs-pkg found
10.12 s
[cursor] No greencard found
10.12 s
[cursor] Using haddock version 2.29.2 found on system at:
10.12 s
[cursor] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/haddock-ghc-9.6.5
10.12 s
[cursor] No happy found
10.12 s
[cursor] Using haskell-suite found on system at: haskell-suite-dummy-location
10.12 s
[cursor] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
10.12 s
[cursor] No hmake found
10.12 s
[cursor] Using hpc version 0.68 found on system at:
10.12 s
[cursor] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/hpc-ghc-9.6.5
10.12 s
[cursor] Using hsc2hs version 0.68.9 found on system at:
10.12 s
[cursor] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/hsc2hs-ghc-9.6.5
10.12 s
[cursor] Using hscolour version 1.25 found on system at:
10.12 s
[cursor] /nix/store/i9w3cy6bda04c89yh2wk5l5mwhddihsf-hscolour-1.25/bin/HsColour
10.12 s
[cursor] No jhc found
10.12 s
[cursor] Using ld found on system at:
10.12 s
[cursor] /nix/store/rl56awy2w2iwvgdmibv98k0vx7lzyw21-binutils-wrapper-2.41/bin/ld.gold
10.12 s
[cursor] No pkg-config found
10.12 s
[cursor] Using runghc version 9.6.5 found on system at:
10.12 s
[cursor] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/runghc-9.6.5
10.12 s
[cursor] Using strip version 2.41 found on system at:
10.12 s
[cursor] /nix/store/rdc1jnyw74mwr2gszqc5zwi433zxs089-gcc-wrapper-13.2.0/bin/strip
10.12 s
[cursor] Using tar found on system at:
10.12 s
[cursor] /nix/store/llalnjlyrj2zv12q5bjy8cagqv70j73y-gnutar-1.35/bin/tar
10.12 s
[cursor] No uhc found
10.20 s
[cursor] Phase: buildPhase
10.25 s
[cursor] Preprocessing library for cursor-0.3.2.0..
10.25 s
[cursor] Building library for cursor-0.3.2.0..
10.35 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 )
10.68 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 )
10.73 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 )
11.41 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 )
11.51 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 )
11.60 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 )
11.60 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 )
11.60 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 )
11.60 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 )
11.70 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 )
11.70 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 )
11.70 s
[cursor] [12 of 25] Compiling Cursor.Types ( src/Cursor/Types.hs, dist/build/Cursor/Types.o, dist/build/Cursor/Types.dyn_o )
11.70 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 )
11.70 s
[cursor] [14 of 25] Compiling Cursor.Tree ( src/Cursor/Tree.hs, dist/build/Cursor/Tree.o, dist/build/Cursor/Tree.dyn_o )
11.72 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 )
11.89 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 )
11.89 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 )
11.89 s
[cursor] [18 of 25] Compiling Cursor.Map ( src/Cursor/Map.hs, dist/build/Cursor/Map.o, dist/build/Cursor/Map.dyn_o )
11.89 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 )
11.89 s
[cursor] [20 of 25] Compiling Cursor.List ( src/Cursor/List.hs, dist/build/Cursor/List.o, dist/build/Cursor/List.dyn_o )
11.89 s
[cursor] [21 of 25] Compiling Cursor.Text ( src/Cursor/Text.hs, dist/build/Cursor/Text.o, dist/build/Cursor/Text.dyn_o )
11.89 s
[cursor] [22 of 25] Compiling Cursor.TextField ( src/Cursor/TextField.hs, dist/build/Cursor/TextField.o, dist/build/Cursor/TextField.dyn_o )
11.89 s
[cursor] [23 of 25] Compiling Cursor.Forest ( src/Cursor/Forest.hs, dist/build/Cursor/Forest.o, dist/build/Cursor/Forest.dyn_o )
12.46 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 )
12.66 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 )
12.87 s
[cursor] [ 1 of 25] Compiling Cursor.Map.KeyValue ( src/Cursor/Map/KeyValue.hs, dist/build/Cursor/Map/KeyValue.p_o )
13.27 s
[cursor] [ 2 of 25] Compiling Cursor.Simple.Map.KeyValue ( src/Cursor/Simple/Map/KeyValue.hs, dist/build/Cursor/Simple/Map/KeyValue.p_o )
13.38 s
[cursor] [ 3 of 25] Compiling Cursor.Tree.Types ( src/Cursor/Tree/Types.hs, dist/build/Cursor/Tree/Types.p_o )
13.91 s
[cursor] [ 4 of 25] Compiling Cursor.Tree.Swap ( src/Cursor/Tree/Swap.hs, dist/build/Cursor/Tree/Swap.p_o )
14.08 s
[cursor] [ 5 of 25] Compiling Cursor.Tree.Insert ( src/Cursor/Tree/Insert.hs, dist/build/Cursor/Tree/Insert.p_o )
14.16 s
[cursor] [ 6 of 25] Compiling Cursor.Tree.Draw ( src/Cursor/Tree/Draw.hs, dist/build/Cursor/Tree/Draw.p_o )
14.16 s
[cursor] [ 7 of 25] Compiling Cursor.Tree.Collapse ( src/Cursor/Tree/Collapse.hs, dist/build/Cursor/Tree/Collapse.p_o )
14.16 s
[cursor] [ 8 of 25] Compiling Cursor.Tree.Base ( src/Cursor/Tree/Base.hs, dist/build/Cursor/Tree/Base.p_o )
14.16 s
[cursor] [ 9 of 25] Compiling Cursor.Tree.Promote ( src/Cursor/Tree/Promote.hs, dist/build/Cursor/Tree/Promote.p_o )
14.33 s
[cursor] [10 of 25] Compiling Cursor.Tree.Movement ( src/Cursor/Tree/Movement.hs, dist/build/Cursor/Tree/Movement.p_o )
14.33 s
[cursor] [11 of 25] Compiling Cursor.Tree.Demote ( src/Cursor/Tree/Demote.hs, dist/build/Cursor/Tree/Demote.p_o )
14.33 s
[cursor] [12 of 25] Compiling Cursor.Types ( src/Cursor/Types.hs, dist/build/Cursor/Types.p_o )
14.33 s
[cursor] [13 of 25] Compiling Cursor.Tree.Delete ( src/Cursor/Tree/Delete.hs, dist/build/Cursor/Tree/Delete.p_o )
14.33 s
[cursor] [14 of 25] Compiling Cursor.Tree ( src/Cursor/Tree.hs, dist/build/Cursor/Tree.p_o )
14.42 s
[cursor] [15 of 25] Compiling Cursor.Simple.Tree ( src/Cursor/Simple/Tree.hs, dist/build/Cursor/Simple/Tree.p_o )
14.66 s
[cursor] [16 of 25] Compiling Cursor.List.NonEmpty ( src/Cursor/List/NonEmpty.hs, dist/build/Cursor/List/NonEmpty.p_o )
14.66 s
[cursor] [17 of 25] Compiling Cursor.Simple.List.NonEmpty ( src/Cursor/Simple/List/NonEmpty.hs, dist/build/Cursor/Simple/List/NonEmpty.p_o )
14.66 s
[cursor] [18 of 25] Compiling Cursor.Map ( src/Cursor/Map.hs, dist/build/Cursor/Map.p_o )
14.66 s
[cursor] [19 of 25] Compiling Cursor.Simple.Map ( src/Cursor/Simple/Map.hs, dist/build/Cursor/Simple/Map.p_o )
14.66 s
[cursor] [20 of 25] Compiling Cursor.List ( src/Cursor/List.hs, dist/build/Cursor/List.p_o )
14.66 s
[cursor] [21 of 25] Compiling Cursor.Text ( src/Cursor/Text.hs, dist/build/Cursor/Text.p_o )
14.66 s
[cursor] [22 of 25] Compiling Cursor.TextField ( src/Cursor/TextField.hs, dist/build/Cursor/TextField.p_o )
14.66 s
[cursor] [23 of 25] Compiling Cursor.Forest ( src/Cursor/Forest.hs, dist/build/Cursor/Forest.p_o )
15.17 s
[cursor] [24 of 25] Compiling Cursor.Simple.Forest ( src/Cursor/Simple/Forest.hs, dist/build/Cursor/Simple/Forest.p_o )
15.35 s
[cursor] [25 of 25] Compiling Paths_cursor ( dist/build/autogen/Paths_cursor.hs, dist/build/Paths_cursor.p_o )
16.41 s
[cursor] Phase: checkPhase
16.44 s
[cursor] Package has no test suites.
16.44 s
[cursor] Phase: haddockPhase
16.57 s
[cursor] Preprocessing library for cursor-0.3.2.0..
16.63 s
[cursor] Running Haddock on library for cursor-0.3.2.0..
16.63 s
[cursor] Warning: --source-* options are ignored when --hyperlinked-source is enabled.
16.79 s
[cursor] 0% ( 0 / 15) in 'Cursor.Map.KeyValue'
16.79 s
[cursor] Missing documentation for:
16.79 s
[cursor] Module header
16.79 s
[cursor] KeyValueCursor (src/Cursor/Map/KeyValue.hs:28)
16.79 s
[cursor] makeKeyValueCursorKey (src/Cursor/Map/KeyValue.hs:39)
16.79 s
[cursor] makeKeyValueCursorValue (src/Cursor/Map/KeyValue.hs:42)
16.79 s
[cursor] rebuildKeyValueCursor (src/Cursor/Map/KeyValue.hs:45)
16.79 s
[cursor] keyValueCursorSelection (src/Cursor/Map/KeyValue.hs:49)
16.79 s
[cursor] mapKeyValueCursor (src/Cursor/Map/KeyValue.hs:53)
16.79 s
[cursor] keyValueCursorSelectKey (src/Cursor/Map/KeyValue.hs:65)
16.79 s
[cursor] keyValueCursorSelectValue (src/Cursor/Map/KeyValue.hs:72)
16.79 s
[cursor] keyValueCursorToggleSelected (src/Cursor/Map/KeyValue.hs:79)
16.79 s
[cursor] KeyValueToggle (src/Cursor/Map/KeyValue.hs:91)
16.79 s
[cursor] traverseKeyValueCursor (src/Cursor/Map/KeyValue.hs:98)
16.79 s
[cursor] keyValueCursorTraverseKeyCase (src/Cursor/Map/KeyValue.hs:101)
16.79 s
[cursor] keyValueCursorTraverseValueCase (src/Cursor/Map/KeyValue.hs:111)
16.79 s
[cursor] foldKeyValueCursor (src/Cursor/Map/KeyValue.hs:121)
16.81 s
[cursor] 0% ( 0 / 13) in 'Cursor.Simple.Map.KeyValue'
16.81 s
[cursor] Missing documentation for:
16.81 s
[cursor] Module header
16.81 s
[cursor] KeyValueCursor (src/Cursor/Simple/Map/KeyValue.hs:21)
16.81 s
[cursor] KeyValueCursorKey (src/Cursor/Map/KeyValue.hs:29)
16.81 s
[cursor] KeyValueCursorValue (src/Cursor/Map/KeyValue.hs:30)
16.81 s
[cursor] makeKeyValueCursorKey (src/Cursor/Map/KeyValue.hs:39)
16.81 s
[cursor] makeKeyValueCursorValue (src/Cursor/Map/KeyValue.hs:42)
16.81 s
[cursor] rebuildKeyValueCursor (src/Cursor/Simple/Map/KeyValue.hs:23)
16.81 s
[cursor] keyValueCursorSelection (src/Cursor/Map/KeyValue.hs:49)
16.81 s
[cursor] mapKeyValueCursor (src/Cursor/Simple/Map/KeyValue.hs:26)
16.81 s
[cursor] keyValueCursorSelectKey (src/Cursor/Simple/Map/KeyValue.hs:29)
16.81 s
[cursor] keyValueCursorSelectValue (src/Cursor/Simple/Map/KeyValue.hs:32)
16.81 s
[cursor] keyValueCursorToggleSelected (src/Cursor/Simple/Map/KeyValue.hs:35)
16.81 s
[cursor] KeyValueToggle (src/Cursor/Map/KeyValue.hs:91)
16.91 s
[cursor] 3% ( 1 / 26) in 'Cursor.Tree.Types'
16.91 s
[cursor] Missing documentation for:
16.91 s
[cursor] Module header
16.91 s
[cursor] TreeCursor (src/Cursor/Tree/Types.hs:45)
16.91 s
[cursor] treeCursorAboveL (src/Cursor/Tree/Types.hs:56)
16.91 s
[cursor] treeCursorCurrentL (src/Cursor/Tree/Types.hs:59)
16.91 s
[cursor] treeCursorBelowL (src/Cursor/Tree/Types.hs:62)
16.91 s
[cursor] treeCursorCurrentSubTreeL (src/Cursor/Tree/Types.hs:65)
16.91 s
[cursor] TreeAbove (src/Cursor/Tree/Types.hs:69)
16.91 s
[cursor] treeAboveLeftsL (src/Cursor/Tree/Types.hs:81)
16.92 s
[cursor] treeAboveAboveL (src/Cursor/Tree/Types.hs:84)
16.92 s
[cursor] treeAboveNodeL (src/Cursor/Tree/Types.hs:87)
16.92 s
[cursor] treeAboveRightsL (src/Cursor/Tree/Types.hs:90)
16.92 s
[cursor] TreeCursorSelection (src/Cursor/Tree/Types.hs:93)
16.92 s
[cursor] CTree (src/Cursor/Tree/Types.hs:102)
16.92 s
[cursor] makeCTree (src/Cursor/Tree/Types.hs:116)
16.92 s
[cursor] cTree (src/Cursor/Tree/Types.hs:119)
16.92 s
[cursor] rebuildCTree (src/Cursor/Tree/Types.hs:122)
16.92 s
[cursor] CForest (src/Cursor/Tree/Types.hs:125)
16.92 s
[cursor] makeCForest (src/Cursor/Tree/Types.hs:147)
16.92 s
[cursor] cForest (src/Cursor/Tree/Types.hs:150)
16.92 s
[cursor] rebuildCForest (src/Cursor/Tree/Types.hs:156)
16.92 s
[cursor] emptyCForest (src/Cursor/Tree/Types.hs:161)
16.92 s
[cursor] openForest (src/Cursor/Tree/Types.hs:164)
16.92 s
[cursor] closedForest (src/Cursor/Tree/Types.hs:167)
16.92 s
[cursor] lengthCForest (src/Cursor/Tree/Types.hs:170)
16.92 s
[cursor] unpackCForest (src/Cursor/Tree/Types.hs:175)
16.95 s
[cursor] 50% ( 2 / 4) in 'Cursor.Tree.Swap'
16.95 s
[cursor] Missing documentation for:
16.95 s
[cursor] Module header
16.95 s
[cursor] SwapResult (src/Cursor/Tree/Swap.hs:69)
16.97 s
[cursor] 0% ( 0 / 21) in 'Cursor.Tree.Insert'
16.97 s
[cursor] Missing documentation for:
16.97 s
[cursor] Module header
16.97 s
[cursor] treeCursorInsert (src/Cursor/Tree/Insert.hs:33)
16.97 s
[cursor] treeCursorInsertAndSelect (src/Cursor/Tree/Insert.hs:39)
16.97 s
[cursor] treeCursorInsertNodeSingleAndSelect (src/Cursor/Tree/Insert.hs:43)
16.97 s
[cursor] treeCursorInsertNodeAndSelect (src/Cursor/Tree/Insert.hs:47)
16.97 s
[cursor] treeCursorAppend (src/Cursor/Tree/Insert.hs:55)
16.97 s
[cursor] treeCursorAppendAndSelect (src/Cursor/Tree/Insert.hs:61)
16.97 s
[cursor] treeCursorAppendNodeSingleAndSelect (src/Cursor/Tree/Insert.hs:65)
16.97 s
[cursor] treeCursorAppendNodeAndSelect (src/Cursor/Tree/Insert.hs:69)
16.97 s
[cursor] treeCursorAddChildAtPos (src/Cursor/Tree/Insert.hs:78)
16.97 s
[cursor] treeCursorAddChildAtStart (src/Cursor/Tree/Insert.hs:89)
16.97 s
[cursor] treeCursorAddChildAtEnd (src/Cursor/Tree/Insert.hs:96)
16.97 s
[cursor] treeCursorAddChildAtPosAndSelect (src/Cursor/Tree/Insert.hs:103)
16.97 s
[cursor] treeCursorAddChildAtStartAndSelect (src/Cursor/Tree/Insert.hs:107)
16.97 s
[cursor] treeCursorAddChildAtEndAndSelect (src/Cursor/Tree/Insert.hs:111)
16.97 s
[cursor] treeCursorAddChildNodeSingleAtPosAndSelect (src/Cursor/Tree/Insert.hs:115)
16.97 s
[cursor] treeCursorAddChildNodeSingleAtStartAndSelect (src/Cursor/Tree/Insert.hs:119)
16.97 s
[cursor] treeCursorAddChildNodeSingleAtEndAndSelect (src/Cursor/Tree/Insert.hs:123)
16.97 s
[cursor] treeCursorAddChildNodeAtPosAndSelect (src/Cursor/Tree/Insert.hs:127)
16.97 s
[cursor] treeCursorAddChildNodeAtStartAndSelect (src/Cursor/Tree/Insert.hs:144)
16.97 s
[cursor] treeCursorAddChildNodeAtEndAndSelect (src/Cursor/Tree/Insert.hs:160)
16.99 s
[cursor] 0% ( 0 / 7) in 'Cursor.Tree.Draw'
16.99 s
[cursor] Missing documentation for:
16.99 s
[cursor] Module header
16.99 s
[cursor] drawTreeCursor (src/Cursor/Tree/Draw.hs:18)
16.99 s
[cursor] treeCursorWithPointer (src/Cursor/Tree/Draw.hs:21)
16.99 s
[cursor] showCForest (src/Cursor/Tree/Draw.hs:32)
16.99 s
[cursor] showCTree (src/Cursor/Tree/Draw.hs:37)
16.99 s
[cursor] showForest (src/Cursor/Tree/Draw.hs:40)
16.99 s
[cursor] showTree (src/Cursor/Tree/Draw.hs:43)
16.99 s
[cursor] 0% ( 0 / 6) in 'Cursor.Tree.Collapse'
16.99 s
[cursor] Missing documentation for:
16.99 s
[cursor] Module header
16.99 s
[cursor] treeCursorOpenCurrentForest (src/Cursor/Tree/Collapse.hs:13)
16.99 s
[cursor] treeCursorCloseCurrentForest (src/Cursor/Tree/Collapse.hs:20)
16.99 s
[cursor] treeCursorToggleCurrentForest (src/Cursor/Tree/Collapse.hs:27)
16.99 s
[cursor] treeCursorOpenCurrentForestRecursively (src/Cursor/Tree/Collapse.hs:34)
16.99 s
[cursor] treeCursorToggleCurrentForestRecursively (src/Cursor/Tree/Collapse.hs:41)
17.00 s
[cursor] 0% ( 0 / 11) in 'Cursor.Tree.Base'
17.00 s
[cursor] Missing documentation for:
17.00 s
[cursor] Module header
17.00 s
[cursor] singletonTreeCursor (src/Cursor/Tree/Base.hs:22)
17.00 s
[cursor] makeTreeCursor (src/Cursor/Tree/Base.hs:25)
17.00 s
[cursor] makeNodeTreeCursor (src/Cursor/Tree/Base.hs:28)
17.00 s
[cursor] makeTreeCursorWithSelection (src/Cursor/Tree/Base.hs:31)
17.00 s
[cursor] rebuildTreeCursor (src/Cursor/Tree/Base.hs:51)
17.00 s
[cursor] mapTreeCursor (src/Cursor/Tree/Base.hs:61)
17.00 s
[cursor] currentTree (src/Cursor/Tree/Base.hs:69)
17.00 s
[cursor] makeTreeCursorWithAbove (src/Cursor/Tree/Base.hs:72)
17.00 s
[cursor] traverseTreeCursor (src/Cursor/Tree/Base.hs:76)
17.00 s
[cursor] foldTreeCursor (src/Cursor/Tree/Base.hs:93)
17.08 s
[cursor] 40% ( 2 / 5) in 'Cursor.Tree.Promote'
17.08 s
[cursor] Missing documentation for:
17.08 s
[cursor] Module header
17.08 s
[cursor] PromoteElemResult (src/Cursor/Tree/Promote.hs:69)
17.08 s
[cursor] PromoteResult (src/Cursor/Tree/Promote.hs:136)
17.10 s
[cursor] 10% ( 2 / 20) in 'Cursor.Tree.Movement'
17.10 s
[cursor] Missing documentation for:
17.10 s
[cursor] Module header
17.10 s
[cursor] treeCursorSelection (src/Cursor/Tree/Movement.hs:34)
17.10 s
[cursor] TreeCursorSelection (src/Cursor/Tree/Types.hs:93)
17.10 s
[cursor] treeCursorSelect (src/Cursor/Tree/Movement.hs:41)
17.10 s
[cursor] treeCursorSelectPrev (src/Cursor/Tree/Movement.hs:45)
17.10 s
[cursor] treeCursorSelectNext (src/Cursor/Tree/Movement.hs:51)
17.10 s
[cursor] treeCursorSelectFirst (src/Cursor/Tree/Movement.hs:57)
17.10 s
[cursor] treeCursorSelectLast (src/Cursor/Tree/Movement.hs:60)
17.10 s
[cursor] treeCursorSelectAbove (src/Cursor/Tree/Movement.hs:63)
17.10 s
[cursor] treeCursorSelectBelowAtPos (src/Cursor/Tree/Movement.hs:72)
17.10 s
[cursor] treeCursorSelectBelowAtStart (src/Cursor/Tree/Movement.hs:92)
17.10 s
[cursor] treeCursorSelectBelowAtEnd (src/Cursor/Tree/Movement.hs:95)
17.10 s
[cursor] treeCursorSelectBelowAtStartRecursively (src/Cursor/Tree/Movement.hs:102)
17.10 s
[cursor] treeCursorSelectBelowAtEndRecursively (src/Cursor/Tree/Movement.hs:108)
17.10 s
[cursor] treeCursorSelectPrevOnSameLevel (src/Cursor/Tree/Movement.hs:114)
17.10 s
[cursor] treeCursorSelectNextOnSameLevel (src/Cursor/Tree/Movement.hs:123)
17.10 s
[cursor] treeCursorSelectFirstOnSameLevel (src/Cursor/Tree/Movement.hs:132)
17.10 s
[cursor] treeCursorSelectLastOnSameLevel (src/Cursor/Tree/Movement.hs:138)
17.12 s
[cursor] 66% ( 4 / 6) in 'Cursor.Tree.Demote'
17.12 s
[cursor] Missing documentation for:
17.12 s
[cursor] Module header
17.12 s
[cursor] DemoteResult (src/Cursor/Tree/Demote.hs:98)
17.13 s
[cursor] 0% ( 0 / 9) in 'Cursor.Types'
17.13 s
[cursor] Missing documentation for:
17.13 s
[cursor] Module header
17.13 s
[cursor] isSafeChar (src/Cursor/Types.hs:12)
17.13 s
[cursor] DeleteOrUpdate (src/Cursor/Types.hs:15)
17.13 s
[cursor] joinDeletes (src/Cursor/Types.hs:42)
17.13 s
[cursor] joinDeletes3 (src/Cursor/Types.hs:49)
17.13 s
[cursor] joinPossibleDeletes (src/Cursor/Types.hs:61)
17.13 s
[cursor] focusPossibleDeleteOrUpdate (src/Cursor/Types.hs:65)
17.13 s
[cursor] dullMDelete (src/Cursor/Types.hs:72)
17.13 s
[cursor] dullDelete (src/Cursor/Types.hs:76)
17.15 s
[cursor] 0% ( 0 / 11) in 'Cursor.Tree.Delete'
17.15 s
[cursor] Missing documentation for:
17.15 s
[cursor] Module header
17.15 s
[cursor] treeCursorDeleteSubTreeAndSelectPrevious (src/Cursor/Tree/Delete.hs:26)
17.15 s
[cursor] treeCursorDeleteSubTreeAndSelectNext (src/Cursor/Tree/Delete.hs:36)
17.15 s
[cursor] treeCursorDeleteSubTreeAndSelectAbove (src/Cursor/Tree/Delete.hs:46)
17.15 s
[cursor] treeCursorRemoveSubTree (src/Cursor/Tree/Delete.hs:59)
17.15 s
[cursor] treeCursorDeleteSubTree (src/Cursor/Tree/Delete.hs:66)
17.15 s
[cursor] treeCursorDeleteElemAndSelectPrevious (src/Cursor/Tree/Delete.hs:73)
17.15 s
[cursor] treeCursorDeleteElemAndSelectNext (src/Cursor/Tree/Delete.hs:92)
17.15 s
[cursor] treeCursorDeleteElemAndSelectAbove (src/Cursor/Tree/Delete.hs:130)
17.15 s
[cursor] treeCursorRemoveElem (src/Cursor/Tree/Delete.hs:148)
17.15 s
[cursor] treeCursorDeleteElem (src/Cursor/Tree/Delete.hs:155)
17.16 s
[cursor] 86% ( 20 / 23) in 'Cursor.Tree'
17.16 s
[cursor] Missing documentation for:
17.16 s
[cursor] Module header
17.16 s
[cursor] TreeCursor (src/Cursor/Tree/Types.hs:45)
17.16 s
[cursor] TreeAbove (src/Cursor/Tree/Types.hs:69)
17.17 s
[cursor] 6% ( 6 / 89) in 'Cursor.Simple.Tree'
17.17 s
[cursor] Missing documentation for:
17.17 s
[cursor] Module header
17.17 s
[cursor] TreeCursor (src/Cursor/Simple/Tree.hs:100)
17.17 s
[cursor] TreeAbove (src/Cursor/Tree/Types.hs:69)
17.17 s
[cursor] singletonTreeCursor (src/Cursor/Simple/Tree.hs:108)
17.17 s
[cursor] makeTreeCursor (src/Cursor/Simple/Tree.hs:102)
17.17 s
[cursor] makeNodeTreeCursor (src/Cursor/Tree/Base.hs:28)
17.17 s
[cursor] makeTreeCursorWithSelection (src/Cursor/Simple/Tree.hs:105)
17.17 s
[cursor] rebuildTreeCursor (src/Cursor/Simple/Tree.hs:111)
17.17 s
[cursor] drawTreeCursor (src/Cursor/Tree/Draw.hs:18)
17.17 s
[cursor] mapTreeCursor (src/Cursor/Simple/Tree.hs:114)
17.17 s
[cursor] treeCursorAboveL (src/Cursor/Tree/Types.hs:56)
17.17 s
[cursor] treeCursorCurrentL (src/Cursor/Tree/Types.hs:59)
17.17 s
[cursor] treeCursorBelowL (src/Cursor/Tree/Types.hs:62)
17.17 s
[cursor] treeAboveLeftsL (src/Cursor/Tree/Types.hs:81)
17.17 s
[cursor] treeAboveAboveL (src/Cursor/Tree/Types.hs:84)
17.17 s
[cursor] treeAboveNodeL (src/Cursor/Tree/Types.hs:87)
17.17 s
[cursor] treeAboveRightsL (src/Cursor/Tree/Types.hs:90)
17.17 s
[cursor] treeCursorWithPointer (src/Cursor/Tree/Draw.hs:21)
17.17 s
[cursor] treeCursorSelection (src/Cursor/Tree/Movement.hs:34)
17.17 s
[cursor] TreeCursorSelection (src/Cursor/Tree/Types.hs:93)
17.17 s
[cursor] treeCursorSelect (src/Cursor/Simple/Tree.hs:117)
17.17 s
[cursor] treeCursorSelectPrev (src/Cursor/Simple/Tree.hs:120)
17.17 s
[cursor] treeCursorSelectNext (src/Cursor/Simple/Tree.hs:123)
17.17 s
[cursor] treeCursorSelectFirst (src/Cursor/Simple/Tree.hs:126)
17.17 s
[cursor] treeCursorSelectLast (src/Cursor/Simple/Tree.hs:129)
17.17 s
[cursor] treeCursorSelectAbove (src/Cursor/Simple/Tree.hs:132)
17.17 s
[cursor] treeCursorSelectBelowAtPos (src/Cursor/Simple/Tree.hs:135)
17.17 s
[cursor] treeCursorSelectBelowAtStart (src/Cursor/Simple/Tree.hs:138)
17.17 s
[cursor] treeCursorSelectBelowAtEnd (src/Cursor/Simple/Tree.hs:141)
17.17 s
[cursor] treeCursorSelectBelowAtStartRecursively (src/Cursor/Simple/Tree.hs:144)
17.17 s
[cursor] treeCursorSelectBelowAtEndRecursively (src/Cursor/Simple/Tree.hs:147)
17.17 s
[cursor] treeCursorSelectPrevOnSameLevel (src/Cursor/Simple/Tree.hs:150)
17.17 s
[cursor] treeCursorSelectNextOnSameLevel (src/Cursor/Simple/Tree.hs:153)
17.17 s
[cursor] treeCursorSelectFirstOnSameLevel (src/Cursor/Simple/Tree.hs:156)
17.17 s
[cursor] treeCursorSelectLastOnSameLevel (src/Cursor/Simple/Tree.hs:159)
17.17 s
[cursor] treeCursorOpenCurrentForest (src/Cursor/Tree/Collapse.hs:13)
17.17 s
[cursor] treeCursorCloseCurrentForest (src/Cursor/Tree/Collapse.hs:20)
17.17 s
[cursor] treeCursorToggleCurrentForest (src/Cursor/Tree/Collapse.hs:27)
17.17 s
[cursor] treeCursorOpenCurrentForestRecursively (src/Cursor/Tree/Collapse.hs:34)
17.17 s
[cursor] treeCursorToggleCurrentForestRecursively (src/Cursor/Tree/Collapse.hs:41)
17.17 s
[cursor] treeCursorInsert (src/Cursor/Tree/Insert.hs:33)
17.17 s
[cursor] treeCursorInsertAndSelect (src/Cursor/Simple/Tree.hs:172)
17.17 s
[cursor] treeCursorInsertNodeSingleAndSelect (src/Cursor/Simple/Tree.hs:175)
17.17 s
[cursor] treeCursorInsertNodeAndSelect (src/Cursor/Simple/Tree.hs:178)
17.17 s
[cursor] treeCursorAppend (src/Cursor/Tree/Insert.hs:55)
17.17 s
[cursor] treeCursorAppendAndSelect (src/Cursor/Simple/Tree.hs:181)
17.17 s
[cursor] treeCursorAppendNodeSingleAndSelect (src/Cursor/Simple/Tree.hs:184)
17.17 s
[cursor] treeCursorAppendNodeAndSelect (src/Cursor/Simple/Tree.hs:187)
17.17 s
[cursor] treeCursorAddChildAtPos (src/Cursor/Tree/Insert.hs:78)
17.17 s
[cursor] treeCursorAddChildAtStart (src/Cursor/Tree/Insert.hs:89)
17.17 s
[cursor] treeCursorAddChildAtEnd (src/Cursor/Tree/Insert.hs:96)
17.17 s
[cursor] treeCursorAddChildAtPosAndSelect (src/Cursor/Simple/Tree.hs:190)
17.17 s
[cursor] treeCursorAddChildAtStartAndSelect (src/Cursor/Simple/Tree.hs:193)
17.17 s
[cursor] treeCursorAddChildAtEndAndSelect (src/Cursor/Simple/Tree.hs:196)
17.17 s
[cursor] treeCursorAddChildNodeSingleAtPosAndSelect (src/Cursor/Simple/Tree.hs:199)
17.17 s
[cursor] treeCursorAddChildNodeSingleAtStartAndSelect (src/Cursor/Simple/Tree.hs:202)
17.17 s
[cursor] treeCursorAddChildNodeSingleAtEndAndSelect (src/Cursor/Simple/Tree.hs:205)
17.17 s
[cursor] treeCursorAddChildNodeAtPosAndSelect (src/Cursor/Simple/Tree.hs:208)
17.17 s
[cursor] treeCursorAddChildNodeAtStartAndSelect (src/Cursor/Simple/Tree.hs:211)
17.17 s
[cursor] treeCursorAddChildNodeAtEndAndSelect (src/Cursor/Simple/Tree.hs:214)
17.17 s
[cursor] treeCursorDeleteSubTreeAndSelectPrevious (src/Cursor/Simple/Tree.hs:217)
17.17 s
[cursor] treeCursorDeleteSubTreeAndSelectNext (src/Cursor/Simple/Tree.hs:220)
17.17 s
[cursor] treeCursorDeleteSubTreeAndSelectAbove (src/Cursor/Simple/Tree.hs:223)
17.17 s
[cursor] treeCursorRemoveSubTree (src/Cursor/Simple/Tree.hs:226)
17.17 s
[cursor] treeCursorDeleteSubTree (src/Cursor/Simple/Tree.hs:229)
17.17 s
[cursor] treeCursorDeleteElemAndSelectPrevious (src/Cursor/Simple/Tree.hs:232)
17.17 s
[cursor] treeCursorDeleteElemAndSelectNext (src/Cursor/Simple/Tree.hs:235)
17.17 s
[cursor] treeCursorDeleteElemAndSelectAbove (src/Cursor/Simple/Tree.hs:238)
17.17 s
[cursor] treeCursorRemoveElem (src/Cursor/Simple/Tree.hs:241)
17.17 s
[cursor] treeCursorDeleteElem (src/Cursor/Simple/Tree.hs:244)
17.17 s
[cursor] SwapResult (src/Cursor/Tree/Swap.hs:69)
17.17 s
[cursor] treeCursorPromoteElem (src/Cursor/Simple/Tree.hs:247)
17.17 s
[cursor] PromoteElemResult (src/Cursor/Tree/Promote.hs:69)
17.17 s
[cursor] treeCursorPromoteSubTree (src/Cursor/Simple/Tree.hs:250)
17.17 s
[cursor] PromoteResult (src/Cursor/Tree/Promote.hs:136)
17.17 s
[cursor] treeCursorDemoteElem (src/Cursor/Simple/Tree.hs:253)
17.17 s
[cursor] treeCursorDemoteSubTree (src/Cursor/Simple/Tree.hs:256)
17.17 s
[cursor] DemoteResult (src/Cursor/Tree/Demote.hs:98)
17.17 s
[cursor] CTree (src/Cursor/Tree/Types.hs:102)
17.17 s
[cursor] CForest (src/Cursor/Tree/Types.hs:125)
17.17 s
[cursor] makeCTree (src/Cursor/Tree/Types.hs:116)
17.17 s
[cursor] cTree (src/Cursor/Tree/Types.hs:119)
17.17 s
[cursor] rebuildCTree (src/Cursor/Tree/Types.hs:122)
17.20 s
[cursor] 3% ( 1 / 33) in 'Cursor.List.NonEmpty'
17.20 s
[cursor] Missing documentation for:
17.20 s
[cursor] Module header
17.20 s
[cursor] makeNonEmptyCursor (src/Cursor/List/NonEmpty.hs:64)
17.20 s
[cursor] makeNonEmptyCursorWithSelection (src/Cursor/List/NonEmpty.hs:67)
17.20 s
[cursor] singletonNonEmptyCursor (src/Cursor/List/NonEmpty.hs:86)
17.20 s
[cursor] rebuildNonEmptyCursor (src/Cursor/List/NonEmpty.hs:90)
17.20 s
[cursor] nonEmptyCursorElemL (src/Cursor/List/NonEmpty.hs:102)
17.20 s
[cursor] mapNonEmptyCursor (src/Cursor/List/NonEmpty.hs:94)
17.20 s
[cursor] nonEmptyCursorSelectPrev (src/Cursor/List/NonEmpty.hs:105)
17.20 s
[cursor] nonEmptyCursorSelectNext (src/Cursor/List/NonEmpty.hs:117)
17.20 s
[cursor] nonEmptyCursorSelectFirst (src/Cursor/List/NonEmpty.hs:129)
17.20 s
[cursor] nonEmptyCursorSelectLast (src/Cursor/List/NonEmpty.hs:135)
17.20 s
[cursor] nonEmptyCursorSelection (src/Cursor/List/NonEmpty.hs:141)
17.20 s
[cursor] nonEmptyCursorSelectIndex (src/Cursor/List/NonEmpty.hs:144)
17.20 s
[cursor] nonEmptyCursorInsert (src/Cursor/List/NonEmpty.hs:153)
17.20 s
[cursor] nonEmptyCursorAppend (src/Cursor/List/NonEmpty.hs:156)
17.20 s
[cursor] nonEmptyCursorInsertAndSelect (src/Cursor/List/NonEmpty.hs:159)
17.20 s
[cursor] nonEmptyCursorAppendAndSelect (src/Cursor/List/NonEmpty.hs:166)
17.20 s
[cursor] nonEmptyCursorInsertAtStart (src/Cursor/List/NonEmpty.hs:173)
17.20 s
[cursor] nonEmptyCursorAppendAtEnd (src/Cursor/List/NonEmpty.hs:176)
17.20 s
[cursor] nonEmptyCursorInsertAtStartAndSelect (src/Cursor/List/NonEmpty.hs:179)
17.20 s
[cursor] nonEmptyCursorAppendAtEndAndSelect (src/Cursor/List/NonEmpty.hs:184)
17.20 s
[cursor] nonEmptyCursorRemoveElemAndSelectPrev (src/Cursor/List/NonEmpty.hs:189)
17.20 s
[cursor] nonEmptyCursorDeleteElemAndSelectNext (src/Cursor/List/NonEmpty.hs:199)
17.20 s
[cursor] nonEmptyCursorRemoveElem (src/Cursor/List/NonEmpty.hs:209)
17.20 s
[cursor] nonEmptyCursorDeleteElem (src/Cursor/List/NonEmpty.hs:215)
17.20 s
[cursor] nonEmptyCursorSearch (src/Cursor/List/NonEmpty.hs:221)
17.20 s
[cursor] nonEmptyCursorSelectOrAdd (src/Cursor/List/NonEmpty.hs:236)
17.20 s
[cursor] renderNonEmptyCursor (src/Cursor/List/NonEmpty.hs:243)
17.20 s
[cursor] nonemptyPrepend (src/Cursor/List/NonEmpty.hs:247)
17.20 s
[cursor] nonemptyAppend (src/Cursor/List/NonEmpty.hs:250)
17.20 s
[cursor] traverseNonEmptyCursor (src/Cursor/List/NonEmpty.hs:253)
17.20 s
[cursor] foldNonEmptyCursor (src/Cursor/List/NonEmpty.hs:256)
17.23 s
[cursor] 3% ( 1 / 31) in 'Cursor.Simple.List.NonEmpty'
17.23 s
[cursor] Missing documentation for:
17.23 s
[cursor] Module header
17.23 s
[cursor] nonEmptyCursorPrev (src/Cursor/List/NonEmpty.hs:54)
17.23 s
[cursor] nonEmptyCursorCurrent (src/Cursor/List/NonEmpty.hs:55)
17.23 s
[cursor] nonEmptyCursorNext (src/Cursor/List/NonEmpty.hs:56)
17.23 s
[cursor] makeNonEmptyCursor (src/Cursor/Simple/List/NonEmpty.hs:44)
17.23 s
[cursor] makeNonEmptyCursorWithSelection (src/Cursor/Simple/List/NonEmpty.hs:47)
17.23 s
[cursor] singletonNonEmptyCursor (src/Cursor/List/NonEmpty.hs:86)
17.23 s
[cursor] rebuildNonEmptyCursor (src/Cursor/Simple/List/NonEmpty.hs:50)
17.23 s
[cursor] mapNonEmptyCursor (src/Cursor/Simple/List/NonEmpty.hs:53)
17.23 s
[cursor] nonEmptyCursorElemL (src/Cursor/List/NonEmpty.hs:102)
17.23 s
[cursor] nonEmptyCursorSelectPrev (src/Cursor/Simple/List/NonEmpty.hs:56)
17.23 s
[cursor] nonEmptyCursorSelectNext (src/Cursor/Simple/List/NonEmpty.hs:59)
17.23 s
[cursor] nonEmptyCursorSelectFirst (src/Cursor/Simple/List/NonEmpty.hs:62)
17.23 s
[cursor] nonEmptyCursorSelectLast (src/Cursor/Simple/List/NonEmpty.hs:65)
17.23 s
[cursor] nonEmptyCursorSelection (src/Cursor/List/NonEmpty.hs:141)
17.23 s
[cursor] nonEmptyCursorSelectIndex (src/Cursor/Simple/List/NonEmpty.hs:68)
17.23 s
[cursor] nonEmptyCursorInsert (src/Cursor/List/NonEmpty.hs:153)
17.23 s
[cursor] nonEmptyCursorAppend (src/Cursor/List/NonEmpty.hs:156)
17.23 s
[cursor] nonEmptyCursorInsertAndSelect (src/Cursor/Simple/List/NonEmpty.hs:71)
17.23 s
[cursor] nonEmptyCursorAppendAndSelect (src/Cursor/Simple/List/NonEmpty.hs:74)
17.23 s
[cursor] nonEmptyCursorInsertAtStart (src/Cursor/List/NonEmpty.hs:173)
17.23 s
[cursor] nonEmptyCursorAppendAtEnd (src/Cursor/List/NonEmpty.hs:176)
17.23 s
[cursor] nonEmptyCursorInsertAtStartAndSelect (src/Cursor/Simple/List/NonEmpty.hs:77)
17.23 s
[cursor] nonEmptyCursorAppendAtEndAndSelect (src/Cursor/Simple/List/NonEmpty.hs:80)
17.23 s
[cursor] nonEmptyCursorRemoveElemAndSelectPrev (src/Cursor/Simple/List/NonEmpty.hs:83)
17.23 s
[cursor] nonEmptyCursorDeleteElemAndSelectNext (src/Cursor/Simple/List/NonEmpty.hs:87)
17.23 s
[cursor] nonEmptyCursorRemoveElem (src/Cursor/Simple/List/NonEmpty.hs:91)
17.23 s
[cursor] nonEmptyCursorDeleteElem (src/Cursor/Simple/List/NonEmpty.hs:94)
17.23 s
[cursor] nonEmptyCursorSearch (src/Cursor/Simple/List/NonEmpty.hs:97)
17.23 s
[cursor] nonEmptyCursorSelectOrAdd (src/Cursor/Simple/List/NonEmpty.hs:100)
17.25 s
[cursor] 2% ( 1 / 37) in 'Cursor.Map'
17.25 s
[cursor] Missing documentation for:
17.25 s
[cursor] Module header
17.25 s
[cursor] MapCursor (src/Cursor/Map.hs:56)
17.25 s
[cursor] makeMapCursor (src/Cursor/Map.hs:65)
17.25 s
[cursor] makeMapCursorWithSelection (src/Cursor/Map.hs:68)
17.25 s
[cursor] singletonMapCursorKey (src/Cursor/Map.hs:72)
17.25 s
[cursor] singletonMapCursorValue (src/Cursor/Map.hs:76)
17.25 s
[cursor] rebuildMapCursor (src/Cursor/Map.hs:80)
17.25 s
[cursor] mapMapCursor (src/Cursor/Map.hs:83)
17.25 s
[cursor] mapCursorNonEmptyCursorL (src/Cursor/Map.hs:88)
17.25 s
[cursor] mapCursorElemL (src/Cursor/Map.hs:106)
17.25 s
[cursor] mapCursorElemSelection (src/Cursor/Map.hs:110)
17.25 s
[cursor] mapCursorSelectKey (src/Cursor/Map.hs:113)
17.25 s
[cursor] mapCursorSelectValue (src/Cursor/Map.hs:116)
17.25 s
[cursor] mapCursorToggleSelected (src/Cursor/Map.hs:119)
17.25 s
[cursor] mapCursorSelectPrev (src/Cursor/Map.hs:123)
17.25 s
[cursor] mapCursorSelectNext (src/Cursor/Map.hs:128)
17.25 s
[cursor] mapCursorSelectFirst (src/Cursor/Map.hs:133)
17.25 s
[cursor] mapCursorSelectLast (src/Cursor/Map.hs:138)
17.25 s
[cursor] mapCursorSelection (src/Cursor/Map.hs:143)
17.25 s
[cursor] mapCursorSelectIndex (src/Cursor/Map.hs:146)
17.25 s
[cursor] mapCursorInsert (src/Cursor/Map.hs:156)
17.25 s
[cursor] mapCursorAppend (src/Cursor/Map.hs:159)
17.25 s
[cursor] mapCursorInsertAndSelectKey (src/Cursor/Map.hs:162)
17.25 s
[cursor] mapCursorAppendAndSelectKey (src/Cursor/Map.hs:168)
17.25 s
[cursor] mapCursorInsertAndSelectValue (src/Cursor/Map.hs:174)
17.25 s
[cursor] mapCursorAppendAndSelectValue (src/Cursor/Map.hs:180)
17.25 s
[cursor] mapCursorRemoveElemAndSelectPrev (src/Cursor/Map.hs:186)
17.25 s
[cursor] mapCursorDeleteElemAndSelectNext (src/Cursor/Map.hs:192)
17.25 s
[cursor] mapCursorRemoveElem (src/Cursor/Map.hs:198)
17.25 s
[cursor] mapCursorDeleteElem (src/Cursor/Map.hs:201)
17.25 s
[cursor] mapCursorSearch (src/Cursor/Map.hs:204)
17.25 s
[cursor] mapCursorSelectOrAdd (src/Cursor/Map.hs:214)
17.25 s
[cursor] traverseMapCursor (src/Cursor/Map.hs:232)
17.25 s
[cursor] mapCursorTraverseKeyCase (src/Cursor/Map.hs:236)
17.25 s
[cursor] mapCursorTraverseValueCase (src/Cursor/Map.hs:240)
17.25 s
[cursor] foldMapCursor (src/Cursor/Map.hs:244)
17.33 s
[cursor] 3% ( 1 / 33) in 'Cursor.Simple.Map'
17.33 s
[cursor] Missing documentation for:
17.33 s
[cursor] Module header
17.33 s
[cursor] MapCursor (src/Cursor/Simple/Map.hs:45)
17.33 s
[cursor] mapCursorList (src/Cursor/Map.hs:57)
17.33 s
[cursor] makeMapCursor (src/Cursor/Simple/Map.hs:47)
17.33 s
[cursor] makeMapCursorWithSelection (src/Cursor/Simple/Map.hs:50)
17.33 s
[cursor] singletonMapCursorKey (src/Cursor/Map.hs:72)
17.33 s
[cursor] singletonMapCursorValue (src/Cursor/Map.hs:76)
17.33 s
[cursor] rebuildMapCursor (src/Cursor/Simple/Map.hs:53)
17.33 s
[cursor] mapMapCursor (src/Cursor/Simple/Map.hs:56)
17.33 s
[cursor] mapCursorNonEmptyCursorL (src/Cursor/Map.hs:88)
17.33 s
[cursor] mapCursorElemL (src/Cursor/Map.hs:106)
17.33 s
[cursor] mapCursorSelectKey (src/Cursor/Simple/Map.hs:59)
17.33 s
[cursor] mapCursorSelectValue (src/Cursor/Simple/Map.hs:62)
17.33 s
[cursor] mapCursorToggleSelected (src/Cursor/Simple/Map.hs:65)
17.33 s
[cursor] mapCursorSelectPrev (src/Cursor/Simple/Map.hs:68)
17.33 s
[cursor] mapCursorSelectNext (src/Cursor/Simple/Map.hs:71)
17.33 s
[cursor] mapCursorSelectFirst (src/Cursor/Simple/Map.hs:74)
17.33 s
[cursor] mapCursorSelectLast (src/Cursor/Simple/Map.hs:77)
17.33 s
[cursor] mapCursorSelection (src/Cursor/Map.hs:143)
17.33 s
[cursor] mapCursorSelectIndex (src/Cursor/Simple/Map.hs:80)
17.33 s
[cursor] mapCursorInsert (src/Cursor/Map.hs:156)
17.33 s
[cursor] mapCursorAppend (src/Cursor/Map.hs:159)
17.33 s
[cursor] mapCursorInsertAndSelectKey (src/Cursor/Simple/Map.hs:83)
17.33 s
[cursor] mapCursorAppendAndSelectKey (src/Cursor/Simple/Map.hs:86)
17.33 s
[cursor] mapCursorInsertAndSelectValue (src/Cursor/Simple/Map.hs:89)
17.33 s
[cursor] mapCursorAppendAndSelectValue (src/Cursor/Simple/Map.hs:92)
17.33 s
[cursor] mapCursorRemoveElemAndSelectPrev (src/Cursor/Simple/Map.hs:95)
17.33 s
[cursor] mapCursorDeleteElemAndSelectNext (src/Cursor/Simple/Map.hs:98)
17.33 s
[cursor] mapCursorRemoveElem (src/Cursor/Simple/Map.hs:101)
17.33 s
[cursor] mapCursorDeleteElem (src/Cursor/Simple/Map.hs:104)
17.33 s
[cursor] mapCursorSearch (src/Cursor/Simple/Map.hs:107)
17.33 s
[cursor] mapCursorSelectOrAdd (src/Cursor/Simple/Map.hs:110)
17.35 s
[cursor] 0% ( 0 / 28) in 'Cursor.List'
17.35 s
[cursor] Missing documentation for:
17.35 s
[cursor] Module header
17.35 s
[cursor] ListCursor (src/Cursor/List.hs:42)
17.35 s
[cursor] emptyListCursor (src/Cursor/List.hs:53)
17.35 s
[cursor] makeListCursor (src/Cursor/List.hs:56)
17.35 s
[cursor] makeListCursorWithSelection (src/Cursor/List.hs:59)
17.35 s
[cursor] rebuildListCursor (src/Cursor/List.hs:65)
17.35 s
[cursor] listCursorNull (src/Cursor/List.hs:68)
17.35 s
[cursor] listCursorLength (src/Cursor/List.hs:71)
17.35 s
[cursor] listCursorIndex (src/Cursor/List.hs:74)
17.35 s
[cursor] listCursorSelectPrev (src/Cursor/List.hs:77)
17.35 s
[cursor] listCursorSelectNext (src/Cursor/List.hs:83)
17.35 s
[cursor] listCursorSelectIndex (src/Cursor/List.hs:89)
17.35 s
[cursor] listCursorSelectStart (src/Cursor/List.hs:95)
17.35 s
[cursor] listCursorSelectEnd (src/Cursor/List.hs:101)
17.35 s
[cursor] listCursorPrevItem (src/Cursor/List.hs:107)
17.35 s
[cursor] listCursorNextItem (src/Cursor/List.hs:113)
17.35 s
[cursor] listCursorPrevUntil (src/Cursor/List.hs:119)
17.35 s
[cursor] listCursorNextUntil (src/Cursor/List.hs:129)
17.35 s
[cursor] listCursorInsert (src/Cursor/List.hs:139)
17.35 s
[cursor] listCursorAppend (src/Cursor/List.hs:142)
17.35 s
[cursor] listCursorInsertList (src/Cursor/List.hs:145)
17.35 s
[cursor] listCursorAppendList (src/Cursor/List.hs:148)
17.35 s
[cursor] listCursorRemove (src/Cursor/List.hs:151)
17.35 s
[cursor] listCursorDelete (src/Cursor/List.hs:160)
17.35 s
[cursor] listCursorSplit (src/Cursor/List.hs:169)
17.35 s
[cursor] listCursorCombine (src/Cursor/List.hs:175)
17.35 s
[cursor] traverseListCursor (src/Cursor/List.hs:182)
17.35 s
[cursor] foldListCursor (src/Cursor/List.hs:185)
17.39 s
[cursor] 16% ( 5 / 30) in 'Cursor.Text'
17.39 s
[cursor] Missing documentation for:
17.39 s
[cursor] Module header
17.39 s
[cursor] emptyTextCursor (src/Cursor/Text.hs:66)
17.39 s
[cursor] makeTextCursor (src/Cursor/Text.hs:69)
17.39 s
[cursor] makeTextCursorWithSelection (src/Cursor/Text.hs:72)
17.39 s
[cursor] rebuildTextCursor (src/Cursor/Text.hs:78)
17.39 s
[cursor] textCursorNull (src/Cursor/Text.hs:85)
17.39 s
[cursor] textCursorLength (src/Cursor/Text.hs:88)
17.39 s
[cursor] textCursorIndex (src/Cursor/Text.hs:91)
17.39 s
[cursor] textCursorSelectPrev (src/Cursor/Text.hs:94)
17.39 s
[cursor] textCursorSelectNext (src/Cursor/Text.hs:97)
17.39 s
[cursor] textCursorSelectIndex (src/Cursor/Text.hs:100)
17.39 s
[cursor] textCursorSelectStart (src/Cursor/Text.hs:103)
17.39 s
[cursor] textCursorSelectEnd (src/Cursor/Text.hs:106)
17.39 s
[cursor] textCursorPrevChar (src/Cursor/Text.hs:109)
17.39 s
[cursor] textCursorNextChar (src/Cursor/Text.hs:112)
17.39 s
[cursor] textCursorInsert (src/Cursor/Text.hs:189)
17.39 s
[cursor] textCursorAppend (src/Cursor/Text.hs:196)
17.39 s
[cursor] textCursorInsertString (src/Cursor/Text.hs:203)
17.39 s
[cursor] textCursorAppendString (src/Cursor/Text.hs:209)
17.39 s
[cursor] textCursorInsertText (src/Cursor/Text.hs:215)
17.39 s
[cursor] textCursorAppendText (src/Cursor/Text.hs:218)
17.39 s
[cursor] textCursorRemove (src/Cursor/Text.hs:221)
17.39 s
[cursor] textCursorDelete (src/Cursor/Text.hs:224)
17.39 s
[cursor] textCursorSplit (src/Cursor/Text.hs:227)
17.39 s
[cursor] textCursorCombine (src/Cursor/Text.hs:232)
17.42 s
[cursor] 6% ( 2 / 31) in 'Cursor.TextField'
17.42 s
[cursor] Missing documentation for:
17.42 s
[cursor] Module header
17.42 s
[cursor] TextFieldCursor (src/Cursor/TextField.hs:55)
17.42 s
[cursor] makeTextFieldCursor (src/Cursor/TextField.hs:72)
17.42 s
[cursor] makeTextFieldCursorWithSelection (src/Cursor/TextField.hs:75)
17.42 s
[cursor] rebuildTextFieldCursorLines (src/Cursor/TextField.hs:85)
17.42 s
[cursor] rebuildTextFieldCursor (src/Cursor/TextField.hs:88)
17.42 s
[cursor] emptyTextFieldCursor (src/Cursor/TextField.hs:91)
17.42 s
[cursor] nullTextFieldCursor (src/Cursor/TextField.hs:95)
17.42 s
[cursor] textFieldCursorSelection (src/Cursor/TextField.hs:98)
17.42 s
[cursor] textFieldCursorNonEmptyCursorL (src/Cursor/TextField.hs:104)
17.42 s
[cursor] textFieldCursorSelectedL (src/Cursor/TextField.hs:108)
17.42 s
[cursor] textFieldCursorSelectPrevLine (src/Cursor/TextField.hs:111)
17.42 s
[cursor] textFieldCursorSelectNextLine (src/Cursor/TextField.hs:115)
17.42 s
[cursor] textFieldCursorSelectFirstLine (src/Cursor/TextField.hs:129)
17.42 s
[cursor] textFieldCursorSelectLastLine (src/Cursor/TextField.hs:133)
17.42 s
[cursor] textFieldCursorSelectPrevChar (src/Cursor/TextField.hs:147)
17.42 s
[cursor] textFieldCursorSelectNextChar (src/Cursor/TextField.hs:150)
17.42 s
[cursor] textFieldCursorSelectPrevWord (src/Cursor/TextField.hs:159)
17.42 s
[cursor] textFieldCursorSelectNextWord (src/Cursor/TextField.hs:162)
17.42 s
[cursor] textFieldCursorSelectBeginWord (src/Cursor/TextField.hs:153)
17.42 s
[cursor] textFieldCursorSelectEndWord (src/Cursor/TextField.hs:156)
17.42 s
[cursor] textFieldCursorIndexOnLine (src/Cursor/TextField.hs:165)
17.42 s
[cursor] textFieldCursorSelectIndexOnLine (src/Cursor/TextField.hs:168)
17.42 s
[cursor] textFieldCursorInsertNewline (src/Cursor/TextField.hs:199)
17.42 s
[cursor] textFieldCursorAppendNewline (src/Cursor/TextField.hs:212)
17.42 s
[cursor] textFieldCursorRemove (src/Cursor/TextField.hs:225)
17.42 s
[cursor] textFieldCursorDelete (src/Cursor/TextField.hs:249)
17.42 s
[cursor] textFieldCursorSelectStartOfLine (src/Cursor/TextField.hs:273)
17.42 s
[cursor] textFieldCursorSelectEndOfLine (src/Cursor/TextField.hs:276)
17.47 s
[cursor] 8% ( 8 / 93) in 'Cursor.Forest'
17.47 s
[cursor] Missing documentation for:
17.47 s
[cursor] Module header
17.47 s
[cursor] ForestCursor (src/Cursor/Forest.hs:114)
17.47 s
[cursor] singletonForestCursor (src/Cursor/Forest.hs:123)
17.47 s
[cursor] makeForestCursor (src/Cursor/Forest.hs:126)
17.47 s
[cursor] rebuildForestCursor (src/Cursor/Forest.hs:129)
17.47 s
[cursor] drawForestCursor (src/Cursor/Forest.hs:132)
17.47 s
[cursor] mapForestCursor (src/Cursor/Forest.hs:139)
17.47 s
[cursor] forestCursorListCursorL (src/Cursor/Forest.hs:142)
17.47 s
[cursor] forestCursorSelectedTreeL (src/Cursor/Forest.hs:146)
17.47 s
[cursor] forestCursorSelectPrevTreeCursor (src/Cursor/Forest.hs:149)
17.47 s
[cursor] forestCursorSelectNextTreeCursor (src/Cursor/Forest.hs:154)
17.47 s
[cursor] forestCursorSelectFirstTreeCursor (src/Cursor/Forest.hs:159)
17.47 s
[cursor] forestCursorSelectLastTreeCursor (src/Cursor/Forest.hs:163)
17.47 s
[cursor] forestCursorSelectPrev (src/Cursor/Forest.hs:172)
17.47 s
[cursor] forestCursorSelectNext (src/Cursor/Forest.hs:167)
17.47 s
[cursor] forestCursorSelectPrevOnSameLevel (src/Cursor/Forest.hs:186)
17.47 s
[cursor] forestCursorSelectNextOnSameLevel (src/Cursor/Forest.hs:180)
17.47 s
[cursor] forestCursorSelectFirst (src/Cursor/Forest.hs:204)
17.47 s
[cursor] forestCursorSelectLast (src/Cursor/Forest.hs:213)
17.47 s
[cursor] forestCursorSelectFirstOnSameLevel (src/Cursor/Forest.hs:198)
17.47 s
[cursor] forestCursorSelectLastOnSameLevel (src/Cursor/Forest.hs:192)
17.47 s
[cursor] forestCursorSelectAbove (src/Cursor/Forest.hs:222)
17.47 s
[cursor] forestCursorSelectBelowAtPos (src/Cursor/Forest.hs:225)
17.47 s
[cursor] forestCursorSelectBelowAtStart (src/Cursor/Forest.hs:229)
17.47 s
[cursor] forestCursorSelectBelowAtEnd (src/Cursor/Forest.hs:233)
17.47 s
[cursor] forestCursorSelection (src/Cursor/Forest.hs:236)
17.47 s
[cursor] forestCursorSelectIndex (src/Cursor/Forest.hs:239)
17.47 s
[cursor] forestCursorOpenCurrentForest (src/Cursor/Forest.hs:244)
17.47 s
[cursor] forestCursorCloseCurrentForest (src/Cursor/Forest.hs:247)
17.47 s
[cursor] forestCursorToggleCurrentForest (src/Cursor/Forest.hs:250)
17.47 s
[cursor] forestCursorOpenCurrentForestRecursively (src/Cursor/Forest.hs:253)
17.47 s
[cursor] forestCursorToggleCurrentForestRecursively (src/Cursor/Forest.hs:257)
17.47 s
[cursor] forestCursorInsertEntireTree (src/Cursor/Forest.hs:261)
17.47 s
[cursor] forestCursorAppendEntireTree (src/Cursor/Forest.hs:269)
17.47 s
[cursor] forestCursorInsertAndSelectTreeCursor (src/Cursor/Forest.hs:264)
17.47 s
[cursor] forestCursorAppendAndSelectTreeCursor (src/Cursor/Forest.hs:272)
17.47 s
[cursor] forestCursorInsertTree (src/Cursor/Forest.hs:277)
17.47 s
[cursor] forestCursorAppendTree (src/Cursor/Forest.hs:287)
17.47 s
[cursor] forestCursorInsertAndSelectTree (src/Cursor/Forest.hs:282)
17.47 s
[cursor] forestCursorAppendAndSelectTree (src/Cursor/Forest.hs:292)
17.47 s
[cursor] forestCursorInsert (src/Cursor/Forest.hs:297)
17.47 s
[cursor] forestCursorAppend (src/Cursor/Forest.hs:311)
17.47 s
[cursor] forestCursorInsertAndSelect (src/Cursor/Forest.hs:300)
17.47 s
[cursor] forestCursorAppendAndSelect (src/Cursor/Forest.hs:314)
17.47 s
[cursor] forestCursorInsertNodeSingleAndSelect (src/Cursor/Forest.hs:303)
17.47 s
[cursor] forestCursorAppendNodeSingleAndSelect (src/Cursor/Forest.hs:317)
17.47 s
[cursor] forestCursorInsertNodeAndSelect (src/Cursor/Forest.hs:306)
17.47 s
[cursor] forestCursorAppendNodeAndSelect (src/Cursor/Forest.hs:320)
17.47 s
[cursor] forestCursorAddChildTreeToNodeAtPos (src/Cursor/Forest.hs:325)
17.47 s
[cursor] forestCursorAddChildTreeToNodeAtStart (src/Cursor/Forest.hs:328)
17.47 s
[cursor] forestCursorAddChildTreeToNodeAtEnd (src/Cursor/Forest.hs:331)
17.47 s
[cursor] forestCursorAddChildToNodeAtPos (src/Cursor/Forest.hs:335)
17.47 s
[cursor] forestCursorAddChildToNodeAtStart (src/Cursor/Forest.hs:338)
17.47 s
[cursor] forestCursorAddChildToNodeAtEnd (src/Cursor/Forest.hs:341)
17.47 s
[cursor] forestCursorAddChildTreeToNodeAtPosAndSelect (src/Cursor/Forest.hs:344)
17.47 s
[cursor] forestCursorAddChildTreeToNodeAtStartAndSelect (src/Cursor/Forest.hs:349)
17.47 s
[cursor] forestCursorAddChildTreeToNodeAtEndAndSelect (src/Cursor/Forest.hs:354)
17.47 s
[cursor] forestCursorAddChildToNodeAtPosAndSelect (src/Cursor/Forest.hs:359)
17.47 s
[cursor] forestCursorAddChildToNodeAtStartAndSelect (src/Cursor/Forest.hs:364)
17.47 s
[cursor] forestCursorAddChildToNodeAtEndAndSelect (src/Cursor/Forest.hs:369)
17.47 s
[cursor] forestCursorAddChildNodeSingleToNodeAtPosAndSelect (src/Cursor/Forest.hs:374)
17.47 s
[cursor] forestCursorAddChildNodeSingleToNodeAtStartAndSelect (src/Cursor/Forest.hs:378)
17.47 s
[cursor] forestCursorAddChildNodeSingleToNodeAtEndAndSelect (src/Cursor/Forest.hs:382)
17.47 s
[cursor] forestCursorAddChildNodeToNodeAtPosAndSelect (src/Cursor/Forest.hs:386)
17.47 s
[cursor] forestCursorAddChildNodeToNodeAtStartAndSelect (src/Cursor/Forest.hs:390)
17.47 s
[cursor] forestCursorAddChildNodeToNodeAtEndAndSelect (src/Cursor/Forest.hs:394)
17.47 s
[cursor] forestCursorRemoveElemAndSelectPrev (src/Cursor/Forest.hs:398)
17.47 s
[cursor] forestCursorDeleteElemAndSelectNext (src/Cursor/Forest.hs:412)
17.47 s
[cursor] forestCursorRemoveElem (src/Cursor/Forest.hs:424)
17.47 s
[cursor] forestCursorDeleteElem (src/Cursor/Forest.hs:429)
17.47 s
[cursor] forestCursorRemoveSubTreeAndSelectPrev (src/Cursor/Forest.hs:434)
17.47 s
[cursor] forestCursorDeleteSubTreeAndSelectNext (src/Cursor/Forest.hs:449)
17.47 s
[cursor] forestCursorRemoveSubTree (src/Cursor/Forest.hs:462)
17.47 s
[cursor] forestCursorDeleteSubTree (src/Cursor/Forest.hs:467)
17.47 s
[cursor] forestCursorAddRoot (src/Cursor/Forest.hs:472)
17.47 s
[cursor] CTree (src/Cursor/Tree/Types.hs:102)
17.47 s
[cursor] makeCTree (src/Cursor/Tree/Types.hs:116)
17.47 s
[cursor] cTree (src/Cursor/Tree/Types.hs:119)
17.47 s
[cursor] rebuildCTree (src/Cursor/Tree/Types.hs:122)
17.47 s
[cursor] CForest (src/Cursor/Tree/Types.hs:125)
17.47 s
[cursor] makeCForest (src/Cursor/Tree/Types.hs:147)
17.47 s
[cursor] cForest (src/Cursor/Tree/Types.hs:150)
17.47 s
[cursor] rebuildCForest (src/Cursor/Tree/Types.hs:156)
17.47 s
[cursor] traverseForestCursor (src/Cursor/Forest.hs:750)
17.47 s
[cursor] foldForestCursor (src/Cursor/Forest.hs:753)
17.62 s
[cursor] 4% ( 4 / 91) in 'Cursor.Simple.Forest'
17.62 s
[cursor] Missing documentation for:
17.62 s
[cursor] Module header
17.62 s
[cursor] ForestCursor (src/Cursor/Simple/Forest.hs:104)
17.63 s
[cursor] singletonForestCursor (src/Cursor/Forest.hs:123)
17.63 s
[cursor] makeForestCursor (src/Cursor/Simple/Forest.hs:106)
17.63 s
[cursor] rebuildForestCursor (src/Cursor/Simple/Forest.hs:109)
17.63 s
[cursor] drawForestCursor (src/Cursor/Forest.hs:132)
17.63 s
[cursor] mapForestCursor (src/Cursor/Simple/Forest.hs:112)
17.63 s
[cursor] forestCursorListCursorL (src/Cursor/Forest.hs:142)
17.63 s
[cursor] forestCursorSelectedTreeL (src/Cursor/Forest.hs:146)
17.63 s
[cursor] forestCursorSelectPrevTreeCursor (src/Cursor/Simple/Forest.hs:115)
17.63 s
[cursor] forestCursorSelectNextTreeCursor (src/Cursor/Simple/Forest.hs:118)
17.63 s
[cursor] forestCursorSelectFirstTreeCursor (src/Cursor/Simple/Forest.hs:121)
17.63 s
[cursor] forestCursorSelectLastTreeCursor (src/Cursor/Simple/Forest.hs:124)
17.63 s
[cursor] forestCursorSelectPrev (src/Cursor/Simple/Forest.hs:130)
17.63 s
[cursor] forestCursorSelectNext (src/Cursor/Simple/Forest.hs:127)
17.63 s
[cursor] forestCursorSelectPrevOnSameLevel (src/Cursor/Simple/Forest.hs:136)
17.63 s
[cursor] forestCursorSelectNextOnSameLevel (src/Cursor/Simple/Forest.hs:133)
17.63 s
[cursor] forestCursorSelectFirst (src/Cursor/Simple/Forest.hs:139)
17.63 s
[cursor] forestCursorSelectLast (src/Cursor/Simple/Forest.hs:142)
17.63 s
[cursor] forestCursorSelectFirstOnSameLevel (src/Cursor/Simple/Forest.hs:145)
17.63 s
[cursor] forestCursorSelectLastOnSameLevel (src/Cursor/Simple/Forest.hs:148)
17.63 s
[cursor] forestCursorSelectAbove (src/Cursor/Simple/Forest.hs:151)
17.63 s
[cursor] forestCursorSelectBelowAtPos (src/Cursor/Simple/Forest.hs:154)
17.63 s
[cursor] forestCursorSelectBelowAtStart (src/Cursor/Simple/Forest.hs:157)
17.63 s
[cursor] forestCursorSelectBelowAtEnd (src/Cursor/Simple/Forest.hs:160)
17.63 s
[cursor] forestCursorOpenCurrentForest (src/Cursor/Forest.hs:244)
17.63 s
[cursor] forestCursorCloseCurrentForest (src/Cursor/Forest.hs:247)
17.63 s
[cursor] forestCursorToggleCurrentForest (src/Cursor/Forest.hs:250)
17.63 s
[cursor] forestCursorOpenCurrentForestRecursively (src/Cursor/Forest.hs:253)
17.63 s
[cursor] forestCursorToggleCurrentForestRecursively (src/Cursor/Forest.hs:257)
17.63 s
[cursor] forestCursorSelection (src/Cursor/Forest.hs:236)
17.63 s
[cursor] forestCursorSelectIndex (src/Cursor/Simple/Forest.hs:163)
17.63 s
[cursor] forestCursorInsertEntireTree (src/Cursor/Forest.hs:261)
17.63 s
[cursor] forestCursorInsertAndSelectTreeCursor (src/Cursor/Simple/Forest.hs:166)
17.63 s
[cursor] forestCursorAppendEntireTree (src/Cursor/Forest.hs:269)
17.63 s
[cursor] forestCursorAppendAndSelectTreeCursor (src/Cursor/Simple/Forest.hs:169)
17.63 s
[cursor] forestCursorInsertTree (src/Cursor/Forest.hs:277)
17.63 s
[cursor] forestCursorAppendTree (src/Cursor/Forest.hs:287)
17.63 s
[cursor] forestCursorInsertAndSelectTree (src/Cursor/Simple/Forest.hs:172)
17.63 s
[cursor] forestCursorAppendAndSelectTree (src/Cursor/Simple/Forest.hs:175)
17.63 s
[cursor] forestCursorInsert (src/Cursor/Forest.hs:297)
17.63 s
[cursor] forestCursorAppend (src/Cursor/Forest.hs:311)
17.63 s
[cursor] forestCursorInsertAndSelect (src/Cursor/Simple/Forest.hs:178)
17.63 s
[cursor] forestCursorAppendAndSelect (src/Cursor/Simple/Forest.hs:187)
17.63 s
[cursor] forestCursorInsertNodeSingleAndSelect (src/Cursor/Simple/Forest.hs:181)
17.63 s
[cursor] forestCursorAppendNodeSingleAndSelect (src/Cursor/Simple/Forest.hs:190)
17.63 s
[cursor] forestCursorInsertNodeAndSelect (src/Cursor/Simple/Forest.hs:184)
17.63 s
[cursor] forestCursorAppendNodeAndSelect (src/Cursor/Simple/Forest.hs:193)
17.63 s
[cursor] forestCursorAddChildTreeToNodeAtPos (src/Cursor/Forest.hs:325)
17.63 s
[cursor] forestCursorAddChildTreeToNodeAtStart (src/Cursor/Forest.hs:328)
17.63 s
[cursor] forestCursorAddChildTreeToNodeAtEnd (src/Cursor/Forest.hs:331)
17.63 s
[cursor] forestCursorAddChildToNodeAtPos (src/Cursor/Forest.hs:335)
17.63 s
[cursor] forestCursorAddChildToNodeAtStart (src/Cursor/Forest.hs:338)
17.63 s
[cursor] forestCursorAddChildToNodeAtEnd (src/Cursor/Forest.hs:341)
17.63 s
[cursor] forestCursorAddChildTreeToNodeAtPosAndSelect (src/Cursor/Simple/Forest.hs:196)
17.63 s
[cursor] forestCursorAddChildTreeToNodeAtStartAndSelect (src/Cursor/Simple/Forest.hs:199)
17.63 s
[cursor] forestCursorAddChildTreeToNodeAtEndAndSelect (src/Cursor/Simple/Forest.hs:203)
17.63 s
[cursor] forestCursorAddChildToNodeAtPosAndSelect (src/Cursor/Simple/Forest.hs:206)
17.63 s
[cursor] forestCursorAddChildToNodeAtStartAndSelect (src/Cursor/Simple/Forest.hs:209)
17.63 s
[cursor] forestCursorAddChildToNodeAtEndAndSelect (src/Cursor/Simple/Forest.hs:212)
17.63 s
[cursor] forestCursorAddChildNodeSingleToNodeAtPosAndSelect (src/Cursor/Simple/Forest.hs:215)
17.63 s
[cursor] forestCursorAddChildNodeSingleToNodeAtStartAndSelect (src/Cursor/Simple/Forest.hs:218)
17.63 s
[cursor] forestCursorAddChildNodeSingleToNodeAtEndAndSelect (src/Cursor/Simple/Forest.hs:221)
17.63 s
[cursor] forestCursorAddChildNodeToNodeAtPosAndSelect (src/Cursor/Simple/Forest.hs:224)
17.63 s
[cursor] forestCursorAddChildNodeToNodeAtStartAndSelect (src/Cursor/Simple/Forest.hs:227)
17.63 s
[cursor] forestCursorAddChildNodeToNodeAtEndAndSelect (src/Cursor/Simple/Forest.hs:230)
17.63 s
[cursor] forestCursorRemoveElemAndSelectPrev (src/Cursor/Simple/Forest.hs:233)
17.63 s
[cursor] forestCursorDeleteElemAndSelectNext (src/Cursor/Simple/Forest.hs:236)
17.63 s
[cursor] forestCursorRemoveElem (src/Cursor/Simple/Forest.hs:239)
17.63 s
[cursor] forestCursorDeleteElem (src/Cursor/Simple/Forest.hs:242)
17.63 s
[cursor] forestCursorRemoveSubTreeAndSelectPrev (src/Cursor/Simple/Forest.hs:245)
17.63 s
[cursor] forestCursorDeleteSubTreeAndSelectNext (src/Cursor/Simple/Forest.hs:248)
17.63 s
[cursor] forestCursorRemoveSubTree (src/Cursor/Simple/Forest.hs:251)
17.63 s
[cursor] forestCursorDeleteSubTree (src/Cursor/Simple/Forest.hs:254)
17.63 s
[cursor] forestCursorAddRoot (src/Cursor/Simple/Forest.hs:257)
17.63 s
[cursor] forestCursorPromoteElem (src/Cursor/Simple/Forest.hs:260)
17.63 s
[cursor] forestCursorPromoteSubTree (src/Cursor/Simple/Forest.hs:263)
17.63 s
[cursor] forestCursorDemoteElem (src/Cursor/Simple/Forest.hs:266)
17.63 s
[cursor] forestCursorDemoteSubTree (src/Cursor/Simple/Forest.hs:269)
17.63 s
[cursor] CTree (src/Cursor/Tree/Types.hs:102)
17.63 s
[cursor] makeCTree (src/Cursor/Tree/Types.hs:116)
17.63 s
[cursor] cTree (src/Cursor/Tree/Types.hs:119)
17.63 s
[cursor] rebuildCTree (src/Cursor/Tree/Types.hs:122)
17.63 s
[cursor] CForest (src/Cursor/Tree/Types.hs:125)
17.63 s
[cursor] makeCForest (src/Cursor/Tree/Types.hs:147)
17.63 s
[cursor] cForest (src/Cursor/Tree/Types.hs:150)
17.63 s
[cursor] rebuildCForest (src/Cursor/Tree/Types.hs:156)
20.04 s
[cursor] Documentation created: dist/doc/html/cursor/, dist/doc/html/cursor/cursor.txt
20.10 s
[cursor] Phase: installPhase
20.15 s
[cursor] Installing library in /nix/store/krb3zl4f99q4v3v15hxmwz2vrd8qj4y6-cursor-0.3.2.0/lib/ghc-9.6.5/lib/x86_64-linux-ghc-9.6.5/cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg
20.70 s
[cursor] Phase: fixupPhase
20.72 s
[cursor] shrinking RPATHs of ELF executables and libraries in /nix/store/krb3zl4f99q4v3v15hxmwz2vrd8qj4y6-cursor-0.3.2.0
20.74 s
[cursor] shrinking /nix/store/krb3zl4f99q4v3v15hxmwz2vrd8qj4y6-cursor-0.3.2.0/lib/ghc-9.6.5/lib/x86_64-linux-ghc-9.6.5/libHScursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg-ghc9.6.5.so
20.74 s
[cursor] checking for references to /build/ in /nix/store/krb3zl4f99q4v3v15hxmwz2vrd8qj4y6-cursor-0.3.2.0...
20.76 s
[cursor] patching script interpreter paths in /nix/store/krb3zl4f99q4v3v15hxmwz2vrd8qj4y6-cursor-0.3.2.0
20.77 s
[cursor] stripping (with command strip and flags -S -p) in /nix/store/krb3zl4f99q4v3v15hxmwz2vrd8qj4y6-cursor-0.3.2.0/lib
21.10 s
[cursor] shrinking RPATHs of ELF executables and libraries in /nix/store/lyybcxiz19axiilpm4lg5vwp9hmqp1nr-cursor-0.3.2.0-doc
21.11 s
[cursor] checking for references to /build/ in /nix/store/lyybcxiz19axiilpm4lg5vwp9hmqp1nr-cursor-0.3.2.0-doc...
21.13 s
[cursor] patching script interpreter paths in /nix/store/lyybcxiz19axiilpm4lg5vwp9hmqp1nr-cursor-0.3.2.0-doc
21.19 s
[post-build-hook] Uploading to cachix cache "cursor": /nix/store/krb3zl4f99q4v3v15hxmwz2vrd8qj4y6-cursor-0.3.2.0 /nix/store/lyybcxiz19axiilpm4lg5vwp9hmqp1nr-cursor-0.3.2.0-doc
21.58 s
[post-build-hook] Pushing 2 paths (71 are already present) using zstd to cache cursor ⏳
21.58 s
[post-build-hook]
21.96 s
[post-build-hook] Pushing /nix/store/krb3zl4f99q4v3v15hxmwz2vrd8qj4y6-cursor-0.3.2.0 (10.76 MiB)
22.07 s
[post-build-hook] Pushing /nix/store/lyybcxiz19axiilpm4lg5vwp9hmqp1nr-cursor-0.3.2.0-doc (4.85 MiB)
23.52 s
[post-build-hook]
23.52 s
[post-build-hook] All done.
23.54 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/krb3zl4f99q4v3v15hxmwz2vrd8qj4y6-cursor-0.3.2.0 /nix/store/lyybcxiz19axiilpm4lg5vwp9hmqp1nr-cursor-0.3.2.0-doc
23.78 s
[post-build-hook] copying 2 paths...
23.78 s
[post-build-hook] copying path '/nix/store/lyybcxiz19axiilpm4lg5vwp9hmqp1nr-cursor-0.3.2.0-doc' to 'https://cache.staging.nix-ci.com'...
24.46 s
[post-build-hook] copying path '/nix/store/krb3zl4f99q4v3v15hxmwz2vrd8qj4y6-cursor-0.3.2.0' to 'https://cache.staging.nix-ci.com'...
27.59 s
[post-build-hook] copying 1 paths...
27.59 s
[post-build-hook] copying path '/nix/store/m4mdgxxz7lsf6zbwbhl8qyqa0kqd923a-cursor-0.3.2.0.drv' to 'https://cache.staging.nix-ci.com'...
27.82 s
Progress: 2 of 6 built, 19 of 19 downloaded from cache
27.86 s
Building cursor-gen-source
27.95 s
[cursor-gen-source] Phase: setupCompilerEnvironmentPhase
27.96 s
[cursor-gen-source] Build with /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5.
28.12 s
[cursor-gen-source] Phase: unpackPhase
28.12 s
[cursor-gen-source] unpacking source archive /nix/store/zr91qcy7vh6f07g44v03gchz5zlvgwpq-cursor-gen
28.13 s
[cursor-gen-source] source root is cursor-gen
28.14 s
[cursor-gen-source] Phase: patchPhase
28.14 s
[cursor-gen-source] Phase: compileBuildDriverPhase
28.15 s
[cursor-gen-source] setupCompileFlags: -package-db=/build/tmp.JamKO88dam/setup-package.conf.d -threaded
28.19 s
[cursor-gen-source] [1 of 2] Compiling Main ( /nix/store/4mdp8nhyfddh7bllbi7xszz7k9955n79-Setup.hs, /build/tmp.JamKO88dam/Main.o )
28.23 s
[cursor-gen-source] [2 of 2] Linking Setup
29.31 s
[cursor-gen-source] Phase: updateAutotoolsGnuConfigScriptsPhase
29.33 s
[cursor-gen-source] Phase: configurePhase
29.33 s
[cursor-gen-source] configureFlags: --verbose --prefix=/nix/store/vlr5x2vqsrg3x7pwfqs061s8wsnma27x-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.JamKO88dam/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/zmi2nlx42h1qrs2v7yn142dq4zjq30im-ncurses-6.4/lib --extra-lib-dirs=/nix/store/gniy4ab9wcijxjpcciddgpzdwq3v3dnb-libffi-3.4.6/lib --extra-lib-dirs=/nix/store/jsizfglsm40vsjc81xnm3wa0rxshpnz0-elfutils-0.191/lib --extra-lib-dirs=/nix/store/s8q3rch0wd3shdnznz9bcj8mj6pvz1gr-gmp-with-cxx-6.3.0/lib
29.34 s
[cursor-gen-source] Using Parsec parser
29.34 s
[cursor-gen-source] Configuring cursor-gen-0.4.0.0...
29.65 s
[cursor-gen-source] Dependency QuickCheck: using QuickCheck-2.14.3
29.65 s
[cursor-gen-source] Dependency base <5: using base-4.18.2.1
29.65 s
[cursor-gen-source] Dependency containers: using containers-0.6.7
29.65 s
[cursor-gen-source] Dependency cursor >=0.2: using cursor-0.3.2.0
29.65 s
[cursor-gen-source] Dependency genvalidity >=0.8: using genvalidity-1.1.0.0
29.65 s
[cursor-gen-source] Dependency genvalidity-containers: using genvalidity-containers-1.0.0.1
29.65 s
[cursor-gen-source] Dependency genvalidity-text >=0.6: using genvalidity-text-1.0.0.1
29.65 s
[cursor-gen-source] Dependency text: using text-2.0.2
29.65 s
[cursor-gen-source] Dependency QuickCheck: using QuickCheck-2.14.3
29.65 s
[cursor-gen-source] Dependency base <5: using base-4.18.2.1
29.65 s
[cursor-gen-source] Dependency containers: using containers-0.6.7
29.65 s
[cursor-gen-source] Dependency cursor: using cursor-0.3.2.0
29.65 s
[cursor-gen-source] Dependency cursor-gen: using cursor-gen-0.4.0.0
29.65 s
[cursor-gen-source] Dependency genvalidity-hspec: using genvalidity-hspec-1.0.0.3
29.65 s
[cursor-gen-source] Dependency genvalidity-hspec-optics: using genvalidity-hspec-optics-1.0.0.0
29.65 s
[cursor-gen-source] Dependency hspec: using hspec-2.11.8
29.65 s
[cursor-gen-source] Dependency microlens: using microlens-0.4.13.1
29.65 s
[cursor-gen-source] Dependency pretty-show: using pretty-show-1.10
29.65 s
[cursor-gen-source] Dependency text: using text-2.0.2
30.05 s
[cursor-gen-source] Source component graph:
30.05 s
[cursor-gen-source] component lib
30.05 s
[cursor-gen-source] component test:cursor-test dependency lib
30.05 s
[cursor-gen-source] Configured component graph:
30.05 s
[cursor-gen-source] component cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5
30.05 s
[cursor-gen-source] include QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
30.05 s
[cursor-gen-source] include base-4.18.2.1
30.05 s
[cursor-gen-source] include containers-0.6.7
30.05 s
[cursor-gen-source] include cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg
30.05 s
[cursor-gen-source] include genvalidity-1.1.0.0-Hnrz93nLqnV1SyLJgLbhb7
30.05 s
[cursor-gen-source] include genvalidity-containers-1.0.0.1-A1si27ik5cZLPNLxFEVzUA
30.05 s
[cursor-gen-source] include genvalidity-text-1.0.0.1-3SFLc4HohSp9CVrwpSodsq
30.05 s
[cursor-gen-source] include text-2.0.2
30.05 s
[cursor-gen-source] component cursor-gen-0.4.0.0-LAJqmYs3kyM7GA9SUqEQKd-cursor-test
30.05 s
[cursor-gen-source] include QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
30.05 s
[cursor-gen-source] include base-4.18.2.1
30.05 s
[cursor-gen-source] include containers-0.6.7
30.05 s
[cursor-gen-source] include cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg
30.05 s
[cursor-gen-source] include cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5
30.05 s
[cursor-gen-source] include genvalidity-hspec-1.0.0.3-LlORI2pXlyl7xhUmBdQ5k2
30.05 s
[cursor-gen-source] include genvalidity-hspec-optics-1.0.0.0-2k9FjOjjrnhb7A6Q37VLX
30.05 s
[cursor-gen-source] include hspec-2.11.8-79uMZ5cowBYG3Ct2joOIyM
30.05 s
[cursor-gen-source] include microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
30.05 s
[cursor-gen-source] include pretty-show-1.10-Hkt8Fo77lI39LZgAuw0Xz
30.05 s
[cursor-gen-source] include text-2.0.2
30.05 s
[cursor-gen-source] Linked component graph:
30.05 s
[cursor-gen-source] unit cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5
30.05 s
[cursor-gen-source] include QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
30.05 s
[cursor-gen-source] include base-4.18.2.1
30.05 s
[cursor-gen-source] include containers-0.6.7
30.05 s
[cursor-gen-source] include cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg
30.05 s
[cursor-gen-source] include genvalidity-1.1.0.0-Hnrz93nLqnV1SyLJgLbhb7
30.05 s
[cursor-gen-source] include genvalidity-containers-1.0.0.1-A1si27ik5cZLPNLxFEVzUA
30.05 s
[cursor-gen-source] include genvalidity-text-1.0.0.1-3SFLc4HohSp9CVrwpSodsq
30.05 s
[cursor-gen-source] include text-2.0.2
30.05 s
[cursor-gen-source] Cursor.Forest.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.Forest.Gen,Cursor.List.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.List.Gen,Cursor.List.NonEmpty.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.List.NonEmpty.Gen,Cursor.Map.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.Map.Gen,Cursor.Map.KeyValue.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.Map.KeyValue.Gen,Cursor.Simple.Forest.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.Simple.Forest.Gen,Cursor.Simple.List.NonEmpty.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.Simple.List.NonEmpty.Gen,Cursor.Simple.Map.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.Simple.Map.Gen,Cursor.Simple.Map.KeyValue.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.Simple.Map.KeyValue.Gen,Cursor.Simple.Tree.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.Simple.Tree.Gen,Cursor.Text.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.Text.Gen,Cursor.TextField.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.TextField.Gen,Cursor.Tree.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.Tree.Gen
30.05 s
[cursor-gen-source] unit cursor-gen-0.4.0.0-LAJqmYs3kyM7GA9SUqEQKd-cursor-test
30.05 s
[cursor-gen-source] include QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
30.05 s
[cursor-gen-source] include base-4.18.2.1
30.05 s
[cursor-gen-source] include containers-0.6.7
30.05 s
[cursor-gen-source] include cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg
30.05 s
[cursor-gen-source] include cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5
30.05 s
[cursor-gen-source] include genvalidity-hspec-1.0.0.3-LlORI2pXlyl7xhUmBdQ5k2
30.05 s
[cursor-gen-source] include genvalidity-hspec-optics-1.0.0.0-2k9FjOjjrnhb7A6Q37VLX
30.05 s
[cursor-gen-source] include hspec-2.11.8-79uMZ5cowBYG3Ct2joOIyM
30.05 s
[cursor-gen-source] include microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
30.05 s
[cursor-gen-source] include pretty-show-1.10-Hkt8Fo77lI39LZgAuw0Xz
30.05 s
[cursor-gen-source] include text-2.0.2
30.05 s
[cursor-gen-source] Ready component graph:
30.05 s
[cursor-gen-source] definite cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5
30.05 s
[cursor-gen-source] depends QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
30.05 s
[cursor-gen-source] depends base-4.18.2.1
30.05 s
[cursor-gen-source] depends containers-0.6.7
30.05 s
[cursor-gen-source] depends cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg
30.05 s
[cursor-gen-source] depends genvalidity-1.1.0.0-Hnrz93nLqnV1SyLJgLbhb7
30.05 s
[cursor-gen-source] depends genvalidity-containers-1.0.0.1-A1si27ik5cZLPNLxFEVzUA
30.05 s
[cursor-gen-source] depends genvalidity-text-1.0.0.1-3SFLc4HohSp9CVrwpSodsq
30.05 s
[cursor-gen-source] depends text-2.0.2
30.05 s
[cursor-gen-source] definite cursor-gen-0.4.0.0-LAJqmYs3kyM7GA9SUqEQKd-cursor-test
30.05 s
[cursor-gen-source] depends QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
30.05 s
[cursor-gen-source] depends base-4.18.2.1
30.05 s
[cursor-gen-source] depends containers-0.6.7
30.05 s
[cursor-gen-source] depends cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg
30.05 s
[cursor-gen-source] depends cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5
30.05 s
[cursor-gen-source] depends genvalidity-hspec-1.0.0.3-LlORI2pXlyl7xhUmBdQ5k2
30.05 s
[cursor-gen-source] depends genvalidity-hspec-optics-1.0.0.0-2k9FjOjjrnhb7A6Q37VLX
30.05 s
[cursor-gen-source] depends hspec-2.11.8-79uMZ5cowBYG3Ct2joOIyM
30.05 s
[cursor-gen-source] depends microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
30.05 s
[cursor-gen-source] depends pretty-show-1.10-Hkt8Fo77lI39LZgAuw0Xz
30.05 s
[cursor-gen-source] depends text-2.0.2
30.05 s
[cursor-gen-source] Using Cabal-3.10.3.0 compiled by ghc-9.6
30.05 s
[cursor-gen-source] Using compiler: ghc-9.6.5
30.05 s
[cursor-gen-source] Using install prefix:
30.05 s
[cursor-gen-source] /nix/store/vlr5x2vqsrg3x7pwfqs061s8wsnma27x-cursor-gen-source-0.4.0.0
30.05 s
[cursor-gen-source] Executables installed in:
30.05 s
[cursor-gen-source] /nix/store/vlr5x2vqsrg3x7pwfqs061s8wsnma27x-cursor-gen-source-0.4.0.0/bin
30.05 s
[cursor-gen-source] Libraries installed in:
30.05 s
[cursor-gen-source] /nix/store/vlr5x2vqsrg3x7pwfqs061s8wsnma27x-cursor-gen-source-0.4.0.0/lib/ghc-9.6.5/lib/x86_64-linux-ghc-9.6.5/cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5
30.05 s
[cursor-gen-source] Dynamic Libraries installed in:
30.05 s
[cursor-gen-source] /nix/store/vlr5x2vqsrg3x7pwfqs061s8wsnma27x-cursor-gen-source-0.4.0.0/lib/ghc-9.6.5/lib/x86_64-linux-ghc-9.6.5
30.05 s
[cursor-gen-source] Private executables installed in:
30.05 s
[cursor-gen-source] /nix/store/vlr5x2vqsrg3x7pwfqs061s8wsnma27x-cursor-gen-source-0.4.0.0/libexec/x86_64-linux-ghc-9.6.5/cursor-gen-0.4.0.0
30.05 s
[cursor-gen-source] Data files installed in:
30.05 s
[cursor-gen-source] /nix/store/vlr5x2vqsrg3x7pwfqs061s8wsnma27x-cursor-gen-source-0.4.0.0/share/x86_64-linux-ghc-9.6.5/cursor-gen-0.4.0.0
30.05 s
[cursor-gen-source] Documentation installed in: /share/doc/cursor-gen-0.4.0.0
30.05 s
[cursor-gen-source] Configuration files installed in:
30.05 s
[cursor-gen-source] /nix/store/vlr5x2vqsrg3x7pwfqs061s8wsnma27x-cursor-gen-source-0.4.0.0/etc
30.05 s
[cursor-gen-source] No alex found
30.05 s
[cursor-gen-source] Using ar found on system at:
30.05 s
[cursor-gen-source] /nix/store/z34dss3rj1rnp1g820r64w0na7452jy1-binutils-2.41/bin/ar
30.05 s
[cursor-gen-source] No c2hs found
30.05 s
[cursor-gen-source] No cpphs found
30.05 s
[cursor-gen-source] No doctest found
30.05 s
[cursor-gen-source] Using gcc version 13.2.0 given by user at:
30.05 s
[cursor-gen-source] /nix/store/rdc1jnyw74mwr2gszqc5zwi433zxs089-gcc-wrapper-13.2.0/bin/gcc
30.05 s
[cursor-gen-source] Using ghc version 9.6.5 found on system at:
30.05 s
[cursor-gen-source] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/ghc
30.05 s
[cursor-gen-source] Using ghc-pkg version 9.6.5 found on system at:
30.05 s
[cursor-gen-source] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/ghc-pkg-9.6.5
30.05 s
[cursor-gen-source] No ghcjs found
30.05 s
[cursor-gen-source] No ghcjs-pkg found
30.05 s
[cursor-gen-source] No greencard found
30.05 s
[cursor-gen-source] Using haddock version 2.29.2 found on system at:
30.05 s
[cursor-gen-source] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/haddock-ghc-9.6.5
30.05 s
[cursor-gen-source] No happy found
30.05 s
[cursor-gen-source] Using haskell-suite found on system at: haskell-suite-dummy-location
30.05 s
[cursor-gen-source] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
30.05 s
[cursor-gen-source] No hmake found
30.05 s
[cursor-gen-source] Using hpc version 0.68 found on system at:
30.05 s
[cursor-gen-source] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/hpc-ghc-9.6.5
30.05 s
[cursor-gen-source] Using hsc2hs version 0.68.9 found on system at:
30.05 s
[cursor-gen-source] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/hsc2hs-ghc-9.6.5
30.05 s
[cursor-gen-source] Using hscolour version 1.25 found on system at:
30.05 s
[cursor-gen-source] /nix/store/i9w3cy6bda04c89yh2wk5l5mwhddihsf-hscolour-1.25/bin/HsColour
30.05 s
[cursor-gen-source] No jhc found
30.05 s
[cursor-gen-source] Using ld found on system at:
30.05 s
[cursor-gen-source] /nix/store/rl56awy2w2iwvgdmibv98k0vx7lzyw21-binutils-wrapper-2.41/bin/ld.gold
30.05 s
[cursor-gen-source] No pkg-config found
30.05 s
[cursor-gen-source] Using runghc version 9.6.5 found on system at:
30.05 s
[cursor-gen-source] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/runghc-9.6.5
30.05 s
[cursor-gen-source] Using strip version 2.41 found on system at:
30.05 s
[cursor-gen-source] /nix/store/rdc1jnyw74mwr2gszqc5zwi433zxs089-gcc-wrapper-13.2.0/bin/strip
30.05 s
[cursor-gen-source] Using tar found on system at:
30.05 s
[cursor-gen-source] /nix/store/llalnjlyrj2zv12q5bjy8cagqv70j73y-gnutar-1.35/bin/tar
30.05 s
[cursor-gen-source] No uhc found
30.17 s
[cursor-gen-source] Phase: buildPhase
30.18 s
[cursor-gen-source] Building source dist for cursor-gen-0.4.0.0...
30.20 s
[cursor-gen-source] Source tarball created: dist/cursor-gen-0.4.0.0.tar.gz
30.21 s
[cursor-gen-source] Phase: checkPhase
30.22 s
[cursor-gen-source] Phase: haddockPhase
30.22 s
[cursor-gen-source] Phase: installPhase
30.23 s
[cursor-gen-source] Phase: fixupPhase
31.80 s
[post-build-hook] Uploading to cachix cache "cursor": /nix/store/vlr5x2vqsrg3x7pwfqs061s8wsnma27x-cursor-gen-source-0.4.0.0
31.80 s
[post-build-hook] Pushing 1 paths (0 are already present) using zstd to cache cursor ⏳
31.80 s
[post-build-hook]
31.80 s
[post-build-hook] Pushing /nix/store/vlr5x2vqsrg3x7pwfqs061s8wsnma27x-cursor-gen-source-0.4.0.0 (19.02 KiB)
33.85 s
[post-build-hook]
33.85 s
[post-build-hook] All done.
33.85 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/vlr5x2vqsrg3x7pwfqs061s8wsnma27x-cursor-gen-source-0.4.0.0
33.90 s
[post-build-hook] copying 1 paths...
33.90 s
[post-build-hook] copying path '/nix/store/vlr5x2vqsrg3x7pwfqs061s8wsnma27x-cursor-gen-source-0.4.0.0' to 'https://cache.staging.nix-ci.com'...
33.90 s
[post-build-hook] copying 13 paths...
33.90 s
[post-build-hook] copying path '/nix/store/4x716cyimz3i6swyq1vwpmlindzc820l-genvalidity-hspec-1.0.0.3.tar.gz.drv' to 'https://cache.staging.nix-ci.com'...
33.90 s
[post-build-hook] copying path '/nix/store/cz4m7amks9g7hzb313qwv7wqi9d652pk-genvalidity-hspec-optics-1.0.0.0.tar.gz.drv' to 'https://cache.staging.nix-ci.com'...
33.90 s
[post-build-hook] copying path '/nix/store/rm2jrx00a21lw17f05vf3rc4l6i2gp5r-genvalidity-containers-1.0.0.1.tar.gz.drv' to 'https://cache.staging.nix-ci.com'...
33.90 s
[post-build-hook] copying path '/nix/store/x060kimdwg928yy4qkhl62jjfic9hx0k-genvalidity-1.1.0.0.tar.gz.drv' to 'https://cache.staging.nix-ci.com'...
33.90 s
[post-build-hook] copying path '/nix/store/x8dlg6ax44zb7ryk18q5z2hk1xkj19ih-genvalidity-property-1.0.0.0.tar.gz.drv' to 'https://cache.staging.nix-ci.com'...
33.90 s
[post-build-hook] copying path '/nix/store/vhfj6ykc62xxrbvlpi5sxzhw95v6nnkf-genvalidity-text-1.0.0.1.tar.gz.drv' to 'https://cache.staging.nix-ci.com'...
33.93 s
[post-build-hook] copying path '/nix/store/q4hn3f9h4yq0q99bnl39ry8n8f3ii70n-genvalidity-1.1.0.0.drv' to 'https://cache.staging.nix-ci.com'...
34.12 s
[post-build-hook] copying path '/nix/store/7gz2hh1ry87giik0hbcbkal17dzz0c87-genvalidity-property-1.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
34.31 s
[post-build-hook] copying path '/nix/store/q663kd03fxy8fhkl6z2sn8gn1g4xhyf7-genvalidity-hspec-1.0.0.3.drv' to 'https://cache.staging.nix-ci.com'...
34.49 s
[post-build-hook] copying path '/nix/store/z38v0a47b29p9ncj0lgm8pw7r6gzba7k-genvalidity-containers-1.0.0.1.drv' to 'https://cache.staging.nix-ci.com'...
34.49 s
[post-build-hook] copying path '/nix/store/pp6phbfswhgycj4lllip9yjcfksb7fgb-genvalidity-hspec-optics-1.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
34.49 s
[post-build-hook] copying path '/nix/store/p6ypaz8j74wbgmc8nfpqgcbsm1v9k08y-genvalidity-text-1.0.0.1.drv' to 'https://cache.staging.nix-ci.com'...
34.77 s
[post-build-hook] copying path '/nix/store/kns8s0y47vr597ni4airmwc4sxblrpvg-cursor-gen-source-0.4.0.0.drv' to 'https://cache.staging.nix-ci.com'...
34.96 s
Progress: 3 of 6 built, 19 of 19 downloaded from cache
34.99 s
Building cursor-gen
35.07 s
[cursor-gen] Phase: setupCompilerEnvironmentPhase
35.08 s
[cursor-gen] Build with /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5.
35.24 s
[cursor-gen] Phase: unpackPhase
35.24 s
[cursor-gen] unpacking source archive /nix/store/vlr5x2vqsrg3x7pwfqs061s8wsnma27x-cursor-gen-source-0.4.0.0/cursor-gen-0.4.0.0.tar.gz
35.25 s
[cursor-gen] source root is cursor-gen-0.4.0.0
35.25 s
[cursor-gen] setting SOURCE_DATE_EPOCH to timestamp 1780346400 of file cursor-gen-0.4.0.0/test/Spec.hs
35.25 s
[cursor-gen] warning: file cursor-gen-0.4.0.0/test/Spec.hs may be generated; SOURCE_DATE_EPOCH may be non-deterministic
35.26 s
[cursor-gen] Phase: patchPhase
35.26 s
[cursor-gen] Phase: compileBuildDriverPhase
35.27 s
[cursor-gen] setupCompileFlags: -package-db=/build/tmp.aWMku2BFDC/setup-package.conf.d -threaded
35.31 s
[cursor-gen] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.aWMku2BFDC/Main.o )
35.35 s
[cursor-gen] [2 of 2] Linking Setup
36.34 s
[cursor-gen] Phase: updateAutotoolsGnuConfigScriptsPhase
36.35 s
[cursor-gen] Phase: configurePhase
36.36 s
[cursor-gen] configureFlags: --verbose --prefix=/nix/store/qm6mn50xy627i844lq8h5alpz26w8c99-cursor-gen-0.4.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/mnc996djbqh3wmhc3gkjmn25d6v5s8ah-cursor-gen-0.4.0.0-doc/share/doc/cursor-gen-0.4.0.0 --with-gcc=gcc --package-db=/build/tmp.aWMku2BFDC/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/zmi2nlx42h1qrs2v7yn142dq4zjq30im-ncurses-6.4/lib --extra-lib-dirs=/nix/store/gniy4ab9wcijxjpcciddgpzdwq3v3dnb-libffi-3.4.6/lib --extra-lib-dirs=/nix/store/jsizfglsm40vsjc81xnm3wa0rxshpnz0-elfutils-0.191/lib --extra-lib-dirs=/nix/store/s8q3rch0wd3shdnznz9bcj8mj6pvz1gr-gmp-with-cxx-6.3.0/lib
36.36 s
[cursor-gen] Using Parsec parser
36.36 s
[cursor-gen] Configuring cursor-gen-0.4.0.0...
36.64 s
[cursor-gen] Dependency QuickCheck: using QuickCheck-2.14.3
36.64 s
[cursor-gen] Dependency base <5: using base-4.18.2.1
36.64 s
[cursor-gen] Dependency containers: using containers-0.6.7
36.64 s
[cursor-gen] Dependency cursor >=0.2: using cursor-0.3.2.0
36.64 s
[cursor-gen] Dependency genvalidity >=0.8: using genvalidity-1.1.0.0
36.64 s
[cursor-gen] Dependency genvalidity-containers: using genvalidity-containers-1.0.0.1
36.64 s
[cursor-gen] Dependency genvalidity-text >=0.6: using genvalidity-text-1.0.0.1
36.64 s
[cursor-gen] Dependency text: using text-2.0.2
36.64 s
[cursor-gen] Dependency QuickCheck: using QuickCheck-2.14.3
36.64 s
[cursor-gen] Dependency base <5: using base-4.18.2.1
36.64 s
[cursor-gen] Dependency containers: using containers-0.6.7
36.64 s
[cursor-gen] Dependency cursor: using cursor-0.3.2.0
36.64 s
[cursor-gen] Dependency cursor-gen: using cursor-gen-0.4.0.0
36.64 s
[cursor-gen] Dependency genvalidity-hspec: using genvalidity-hspec-1.0.0.3
36.64 s
[cursor-gen] Dependency genvalidity-hspec-optics: using genvalidity-hspec-optics-1.0.0.0
36.64 s
[cursor-gen] Dependency hspec: using hspec-2.11.8
36.64 s
[cursor-gen] Dependency microlens: using microlens-0.4.13.1
36.64 s
[cursor-gen] Dependency pretty-show: using pretty-show-1.10
36.64 s
[cursor-gen] Dependency text: using text-2.0.2
36.89 s
[cursor-gen] Source component graph:
36.89 s
[cursor-gen] component lib
36.89 s
[cursor-gen] component test:cursor-test dependency lib
36.89 s
[cursor-gen] Configured component graph:
36.89 s
[cursor-gen] component cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5
36.89 s
[cursor-gen] include QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
36.89 s
[cursor-gen] include base-4.18.2.1
36.89 s
[cursor-gen] include containers-0.6.7
36.89 s
[cursor-gen] include cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg
36.89 s
[cursor-gen] include genvalidity-1.1.0.0-Hnrz93nLqnV1SyLJgLbhb7
36.89 s
[cursor-gen] include genvalidity-containers-1.0.0.1-A1si27ik5cZLPNLxFEVzUA
36.89 s
[cursor-gen] include genvalidity-text-1.0.0.1-3SFLc4HohSp9CVrwpSodsq
36.89 s
[cursor-gen] include text-2.0.2
36.89 s
[cursor-gen] component cursor-gen-0.4.0.0-LAJqmYs3kyM7GA9SUqEQKd-cursor-test
36.89 s
[cursor-gen] include QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
36.89 s
[cursor-gen] include base-4.18.2.1
36.89 s
[cursor-gen] include containers-0.6.7
36.89 s
[cursor-gen] include cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg
36.89 s
[cursor-gen] include cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5
36.89 s
[cursor-gen] include genvalidity-hspec-1.0.0.3-LlORI2pXlyl7xhUmBdQ5k2
36.89 s
[cursor-gen] include genvalidity-hspec-optics-1.0.0.0-2k9FjOjjrnhb7A6Q37VLX
36.89 s
[cursor-gen] include hspec-2.11.8-79uMZ5cowBYG3Ct2joOIyM
36.89 s
[cursor-gen] include microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
36.89 s
[cursor-gen] include pretty-show-1.10-Hkt8Fo77lI39LZgAuw0Xz
36.89 s
[cursor-gen] include text-2.0.2
36.89 s
[cursor-gen] Linked component graph:
36.89 s
[cursor-gen] unit cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5
36.89 s
[cursor-gen] include QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
36.89 s
[cursor-gen] include base-4.18.2.1
36.89 s
[cursor-gen] include containers-0.6.7
36.89 s
[cursor-gen] include cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg
36.89 s
[cursor-gen] include genvalidity-1.1.0.0-Hnrz93nLqnV1SyLJgLbhb7
36.89 s
[cursor-gen] include genvalidity-containers-1.0.0.1-A1si27ik5cZLPNLxFEVzUA
36.89 s
[cursor-gen] include genvalidity-text-1.0.0.1-3SFLc4HohSp9CVrwpSodsq
36.89 s
[cursor-gen] include text-2.0.2
36.89 s
[cursor-gen] Cursor.Forest.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.Forest.Gen,Cursor.List.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.List.Gen,Cursor.List.NonEmpty.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.List.NonEmpty.Gen,Cursor.Map.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.Map.Gen,Cursor.Map.KeyValue.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.Map.KeyValue.Gen,Cursor.Simple.Forest.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.Simple.Forest.Gen,Cursor.Simple.List.NonEmpty.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.Simple.List.NonEmpty.Gen,Cursor.Simple.Map.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.Simple.Map.Gen,Cursor.Simple.Map.KeyValue.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.Simple.Map.KeyValue.Gen,Cursor.Simple.Tree.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.Simple.Tree.Gen,Cursor.Text.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.Text.Gen,Cursor.TextField.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.TextField.Gen,Cursor.Tree.Gen=cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5:Cursor.Tree.Gen
36.89 s
[cursor-gen] unit cursor-gen-0.4.0.0-LAJqmYs3kyM7GA9SUqEQKd-cursor-test
36.89 s
[cursor-gen] include QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
36.89 s
[cursor-gen] include base-4.18.2.1
36.89 s
[cursor-gen] include containers-0.6.7
36.89 s
[cursor-gen] include cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg
36.89 s
[cursor-gen] include cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5
36.89 s
[cursor-gen] include genvalidity-hspec-1.0.0.3-LlORI2pXlyl7xhUmBdQ5k2
36.89 s
[cursor-gen] include genvalidity-hspec-optics-1.0.0.0-2k9FjOjjrnhb7A6Q37VLX
36.89 s
[cursor-gen] include hspec-2.11.8-79uMZ5cowBYG3Ct2joOIyM
36.89 s
[cursor-gen] include microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
36.89 s
[cursor-gen] include pretty-show-1.10-Hkt8Fo77lI39LZgAuw0Xz
36.89 s
[cursor-gen] include text-2.0.2
36.89 s
[cursor-gen] Ready component graph:
36.89 s
[cursor-gen] definite cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5
36.89 s
[cursor-gen] depends QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
36.89 s
[cursor-gen] depends base-4.18.2.1
36.89 s
[cursor-gen] depends containers-0.6.7
36.89 s
[cursor-gen] depends cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg
36.89 s
[cursor-gen] depends genvalidity-1.1.0.0-Hnrz93nLqnV1SyLJgLbhb7
36.89 s
[cursor-gen] depends genvalidity-containers-1.0.0.1-A1si27ik5cZLPNLxFEVzUA
36.89 s
[cursor-gen] depends genvalidity-text-1.0.0.1-3SFLc4HohSp9CVrwpSodsq
36.89 s
[cursor-gen] depends text-2.0.2
36.89 s
[cursor-gen] definite cursor-gen-0.4.0.0-LAJqmYs3kyM7GA9SUqEQKd-cursor-test
36.89 s
[cursor-gen] depends QuickCheck-2.14.3-2ib5howz5bF8WgkuPDgHew
36.89 s
[cursor-gen] depends base-4.18.2.1
36.89 s
[cursor-gen] depends containers-0.6.7
36.89 s
[cursor-gen] depends cursor-0.3.2.0-JCYfA8ASkKCCJgzHKxm8tg
36.89 s
[cursor-gen] depends cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5
36.89 s
[cursor-gen] depends genvalidity-hspec-1.0.0.3-LlORI2pXlyl7xhUmBdQ5k2
36.89 s
[cursor-gen] depends genvalidity-hspec-optics-1.0.0.0-2k9FjOjjrnhb7A6Q37VLX
36.89 s
[cursor-gen] depends hspec-2.11.8-79uMZ5cowBYG3Ct2joOIyM
36.89 s
[cursor-gen] depends microlens-0.4.13.1-KYxyai9RKt756hvMHa07OI
36.89 s
[cursor-gen] depends pretty-show-1.10-Hkt8Fo77lI39LZgAuw0Xz
36.89 s
[cursor-gen] depends text-2.0.2
36.89 s
[cursor-gen] Using Cabal-3.10.3.0 compiled by ghc-9.6
36.89 s
[cursor-gen] Using compiler: ghc-9.6.5
36.89 s
[cursor-gen] Using install prefix:
36.89 s
[cursor-gen] /nix/store/qm6mn50xy627i844lq8h5alpz26w8c99-cursor-gen-0.4.0.0
36.89 s
[cursor-gen] Executables installed in:
36.89 s
[cursor-gen] /nix/store/qm6mn50xy627i844lq8h5alpz26w8c99-cursor-gen-0.4.0.0/bin
36.89 s
[cursor-gen] Libraries installed in:
36.89 s
[cursor-gen] /nix/store/qm6mn50xy627i844lq8h5alpz26w8c99-cursor-gen-0.4.0.0/lib/ghc-9.6.5/lib/x86_64-linux-ghc-9.6.5/cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5
36.89 s
[cursor-gen] Dynamic Libraries installed in:
36.89 s
[cursor-gen] /nix/store/qm6mn50xy627i844lq8h5alpz26w8c99-cursor-gen-0.4.0.0/lib/ghc-9.6.5/lib/x86_64-linux-ghc-9.6.5
36.89 s
[cursor-gen] Private executables installed in:
36.89 s
[cursor-gen] /nix/store/qm6mn50xy627i844lq8h5alpz26w8c99-cursor-gen-0.4.0.0/libexec/x86_64-linux-ghc-9.6.5/cursor-gen-0.4.0.0
36.89 s
[cursor-gen] Data files installed in:
36.89 s
[cursor-gen] /nix/store/qm6mn50xy627i844lq8h5alpz26w8c99-cursor-gen-0.4.0.0/share/x86_64-linux-ghc-9.6.5/cursor-gen-0.4.0.0
36.89 s
[cursor-gen] Documentation installed in:
36.89 s
[cursor-gen] /nix/store/mnc996djbqh3wmhc3gkjmn25d6v5s8ah-cursor-gen-0.4.0.0-doc/share/doc/cursor-gen-0.4.0.0
36.89 s
[cursor-gen] Configuration files installed in:
36.89 s
[cursor-gen] /nix/store/qm6mn50xy627i844lq8h5alpz26w8c99-cursor-gen-0.4.0.0/etc
36.89 s
[cursor-gen] No alex found
36.89 s
[cursor-gen] Using ar found on system at:
36.89 s
[cursor-gen] /nix/store/z34dss3rj1rnp1g820r64w0na7452jy1-binutils-2.41/bin/ar
36.89 s
[cursor-gen] No c2hs found
36.89 s
[cursor-gen] No cpphs found
36.89 s
[cursor-gen] No doctest found
36.89 s
[cursor-gen] Using gcc version 13.2.0 given by user at:
36.89 s
[cursor-gen] /nix/store/rdc1jnyw74mwr2gszqc5zwi433zxs089-gcc-wrapper-13.2.0/bin/gcc
36.89 s
[cursor-gen] Using ghc version 9.6.5 found on system at:
36.89 s
[cursor-gen] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/ghc
36.89 s
[cursor-gen] Using ghc-pkg version 9.6.5 found on system at:
36.89 s
[cursor-gen] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/ghc-pkg-9.6.5
36.89 s
[cursor-gen] No ghcjs found
36.89 s
[cursor-gen] No ghcjs-pkg found
36.89 s
[cursor-gen] No greencard found
36.89 s
[cursor-gen] Using haddock version 2.29.2 found on system at:
36.89 s
[cursor-gen] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/haddock-ghc-9.6.5
36.89 s
[cursor-gen] No happy found
36.89 s
[cursor-gen] Using haskell-suite found on system at: haskell-suite-dummy-location
36.89 s
[cursor-gen] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
36.89 s
[cursor-gen] No hmake found
36.89 s
[cursor-gen] Using hpc version 0.68 found on system at:
36.89 s
[cursor-gen] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/hpc-ghc-9.6.5
36.89 s
[cursor-gen] Using hsc2hs version 0.68.9 found on system at:
36.89 s
[cursor-gen] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/hsc2hs-ghc-9.6.5
36.89 s
[cursor-gen] Using hscolour version 1.25 found on system at:
36.89 s
[cursor-gen] /nix/store/i9w3cy6bda04c89yh2wk5l5mwhddihsf-hscolour-1.25/bin/HsColour
36.89 s
[cursor-gen] No jhc found
36.89 s
[cursor-gen] Using ld found on system at:
36.89 s
[cursor-gen] /nix/store/rl56awy2w2iwvgdmibv98k0vx7lzyw21-binutils-wrapper-2.41/bin/ld.gold
36.89 s
[cursor-gen] No pkg-config found
36.89 s
[cursor-gen] Using runghc version 9.6.5 found on system at:
36.89 s
[cursor-gen] /nix/store/w66yphwmcsvxl2h91kv7cdrcp81vd295-ghc-9.6.5/bin/runghc-9.6.5
36.89 s
[cursor-gen] Using strip version 2.41 found on system at:
36.89 s
[cursor-gen] /nix/store/rdc1jnyw74mwr2gszqc5zwi433zxs089-gcc-wrapper-13.2.0/bin/strip
36.89 s
[cursor-gen] Using tar found on system at:
36.89 s
[cursor-gen] /nix/store/llalnjlyrj2zv12q5bjy8cagqv70j73y-gnutar-1.35/bin/tar
36.89 s
[cursor-gen] No uhc found
37.00 s
[cursor-gen] Phase: buildPhase
37.04 s
[cursor-gen] Preprocessing library for cursor-gen-0.4.0.0..
37.05 s
[cursor-gen] Building library for cursor-gen-0.4.0.0..
37.13 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 )
37.32 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 )
37.47 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 )
37.47 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 )
37.55 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 )
37.55 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 )
37.57 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 )
37.57 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 )
37.57 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 )
37.57 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 )
37.79 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 )
37.81 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 )
37.83 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 )
37.85 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 )
38.06 s
[cursor-gen] [ 1 of 14] Compiling Cursor.List.Gen ( src/Cursor/List/Gen.hs, dist/build/Cursor/List/Gen.p_o )
38.30 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 )
38.47 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 )
38.47 s
[cursor-gen] [ 4 of 14] Compiling Cursor.Map.Gen ( src/Cursor/Map/Gen.hs, dist/build/Cursor/Map/Gen.p_o )
38.60 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 )
38.60 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 )
38.69 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 )
38.69 s
[cursor-gen] [ 8 of 14] Compiling Cursor.Text.Gen ( src/Cursor/Text/Gen.hs, dist/build/Cursor/Text/Gen.p_o )
38.69 s
[cursor-gen] [ 9 of 14] Compiling Cursor.TextField.Gen ( src/Cursor/TextField/Gen.hs, dist/build/Cursor/TextField/Gen.p_o )
38.69 s
[cursor-gen] [10 of 14] Compiling Cursor.Tree.Gen ( src/Cursor/Tree/Gen.hs, dist/build/Cursor/Tree/Gen.p_o )
38.75 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 )
38.85 s
[cursor-gen] [12 of 14] Compiling Cursor.Forest.Gen ( src/Cursor/Forest/Gen.hs, dist/build/Cursor/Forest/Gen.p_o )
38.86 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 )
38.95 s
[cursor-gen] [14 of 14] Compiling Paths_cursor_gen ( dist/build/autogen/Paths_cursor_gen.hs, dist/build/Paths_cursor_gen.p_o )
39.98 s
[cursor-gen] Preprocessing test suite 'cursor-test' for cursor-gen-0.4.0.0..
39.98 s
[cursor-gen] Building test suite 'cursor-test' for cursor-gen-0.4.0.0..
40.11 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 )
40.44 s
[cursor-gen] [ 2 of 22] Compiling Cursor.ListSpec ( test/Cursor/ListSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/ListSpec.o )
41.62 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 )
41.62 s
[cursor-gen] [ 4 of 22] Compiling Cursor.MapSpec ( test/Cursor/MapSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/MapSpec.o )
41.62 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 )
43.88 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 )
43.90 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 )
43.90 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 )
43.90 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 )
43.90 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 )
43.90 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 )
43.90 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 )
43.90 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 )
43.90 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 )
43.90 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 )
43.90 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 )
43.90 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 )
43.90 s
[cursor-gen] [18 of 22] Compiling Cursor.TextFieldSpec ( test/Cursor/TextFieldSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/TextFieldSpec.o )
43.90 s
[cursor-gen] [19 of 22] Compiling Cursor.TextSpec ( test/Cursor/TextSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/TextSpec.o )
43.90 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 )
43.90 s
[cursor-gen] [21 of 22] Compiling Main ( test/Spec.hs, dist/build/cursor-test/cursor-test-tmp/Main.o )
43.97 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 )
44.38 s
[cursor-gen] [23 of 23] Linking dist/build/cursor-test/cursor-test
45.22 s
[cursor-gen] Phase: checkPhase
45.24 s
[cursor-gen] Running 1 test suites...
45.24 s
[cursor-gen] Test suite cursor-test: RUNNING...
45.28 s
[cursor-gen]
45.28 s
[cursor-gen] Cursor.List
45.28 s
[cursor-gen] Eq (ListCursor Bool)
45.28 s
[cursor-gen] (==) :: (ListCursor Bool) -> (ListCursor Bool) -> Bool
45.28 s
[cursor-gen] is reflexive for "valid (ListCursor Bool)"s [✔]
45.28 s
[cursor-gen] +++ OK, passed 100 tests.
45.28 s
[cursor-gen] is symmetric for "valid (ListCursor Bool)"s [✔]
45.28 s
[cursor-gen] +++ OK, passed 100 tests.
45.28 s
[cursor-gen] is transitive for "valid (ListCursor Bool)"s [✔]
45.28 s
[cursor-gen] +++ OK, passed 100 tests.
45.28 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (ListCursor Bool)"s [✔]
45.28 s
[cursor-gen] +++ OK, passed 100 tests.
45.28 s
[cursor-gen] (/=) :: (ListCursor Bool) -> (ListCursor Bool) -> Bool
45.28 s
[cursor-gen] is antireflexive for "valid (ListCursor Bool)"s [✔]
45.28 s
[cursor-gen] +++ OK, passed 100 tests.
45.28 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (ListCursor Bool)"s [✔]
45.28 s
[cursor-gen] +++ OK, passed 100 tests.
45.28 s
[cursor-gen] Functor ListCursor
45.28 s
[cursor-gen] fmap :: (a -> b) -> ListCursor a -> ListCursor b
45.28 s
[cursor-gen] satisfies the first Fuctor law: 'fmap id == id' for "ListCursor of ints :: (ListCursor Int)" [✔]
45.28 s
[cursor-gen] +++ OK, passed 100 tests.
45.28 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)" [✔]
45.28 s
[cursor-gen] +++ OK, passed 100 tests.
45.28 s
[cursor-gen] (<$) :: a -> ListCursor b -> ListCursor a
45.28 s
[cursor-gen] is equivalent to its default implementation for "int :: Int" and "ListCursor of ints :: (ListCursor Int)" [✔]
45.28 s
[cursor-gen] +++ OK, passed 100 tests.
45.28 s
[cursor-gen] GenValid (ListCursor Bool)
45.28 s
[cursor-gen] genValid :: Gen (ListCursor Bool)
45.28 s
[cursor-gen] only generates valid '(ListCursor Bool)'s [✔]
45.28 s
[cursor-gen] +++ OK, passed 100 tests.
45.28 s
[cursor-gen] emptyListCursor
45.28 s
[cursor-gen] is valid [✔]
45.28 s
[cursor-gen] makeListCursor
45.37 s
[cursor-gen] produces valid list cursors [✔]
45.37 s
[cursor-gen] +++ OK, passed 100 tests.
45.37 s
[cursor-gen] makeListCursorWithSelection
45.39 s
[cursor-gen] produces valid list cursors [✔]
45.39 s
[cursor-gen] +++ OK, passed 100 tests.
45.39 s
[cursor-gen] rebuildListCursor
45.39 s
[cursor-gen] produces valid lists [✔]
45.39 s
[cursor-gen] +++ OK, passed 100 tests.
45.40 s
[cursor-gen] is the inverse of makeListCursor [✔]
45.40 s
[cursor-gen] +++ OK, passed 100 tests.
45.40 s
[cursor-gen] is the inverse of makeListCursorWithSelection for any index [✔]
45.40 s
[cursor-gen] +++ OK, passed 100 tests.
45.40 s
[cursor-gen] listCursorNull
45.40 s
[cursor-gen] produces valid bools [✔]
45.40 s
[cursor-gen] +++ OK, passed 100 tests.
45.40 s
[cursor-gen] listCursorLength
45.40 s
[cursor-gen] produces valid bools [✔]
45.40 s
[cursor-gen] +++ OK, passed 100 tests.
45.40 s
[cursor-gen] listCursorIndex
45.40 s
[cursor-gen] produces valid indices [✔]
45.40 s
[cursor-gen] +++ OK, passed 100 tests.
45.40 s
[cursor-gen] listCursorSelectPrev
45.40 s
[cursor-gen] produces valid cursors [✔]
45.40 s
[cursor-gen] +++ OK, passed 100 tests.
45.40 s
[cursor-gen] is a movement [✔]
45.40 s
[cursor-gen] +++ OK, passed 100 tests.
45.40 s
[cursor-gen] selects the previous position [‐]
45.40 s
[cursor-gen] # PENDING: No reason given
45.40 s
[cursor-gen] listCursorSelectNext
45.45 s
[cursor-gen] produces valid cursors [✔]
45.45 s
[cursor-gen] +++ OK, passed 100 tests.
45.45 s
[cursor-gen] is a movement [✔]
45.45 s
[cursor-gen] +++ OK, passed 100 tests.
45.45 s
[cursor-gen] selects the next position [‐]
45.45 s
[cursor-gen] # PENDING: No reason given
45.45 s
[cursor-gen] listCursorSelectIndex
45.45 s
[cursor-gen] produces valid cursors [✔]
45.45 s
[cursor-gen] +++ OK, passed 100 tests.
45.45 s
[cursor-gen] is a movement [✔]
45.45 s
[cursor-gen] +++ OK, passed 100 tests.
45.45 s
[cursor-gen] selects the position at the given index [‐]
45.48 s
[cursor-gen] # PENDING: No reason given
45.48 s
[cursor-gen] listCursorPrevItem
45.48 s
[cursor-gen] produces valid items [✔]
45.48 s
[cursor-gen] +++ OK, passed 100 tests.
45.48 s
[cursor-gen] returns the item before the position [‐]
45.48 s
[cursor-gen] # PENDING: No reason given
45.48 s
[cursor-gen] listCursorNextItem
45.48 s
[cursor-gen] produces valid items [✔]
45.48 s
[cursor-gen] +++ OK, passed 100 tests.
45.48 s
[cursor-gen] returns the item after the position [‐]
45.48 s
[cursor-gen] # PENDING: No reason given
45.48 s
[cursor-gen] listCursorPrevUntil
45.48 s
[cursor-gen] produces valid cursors [✔]
45.48 s
[cursor-gen] +++ OK, passed 100 tests.
45.50 s
[cursor-gen] produces a cursor where the previous item either satisfies the predicate or is empty [✔]
45.50 s
[cursor-gen] +++ OK, passed 100 tests.
45.50 s
[cursor-gen] listCursorNextUntil
45.50 s
[cursor-gen] produces valid cursors [✔]
45.50 s
[cursor-gen] +++ OK, passed 100 tests.
45.50 s
[cursor-gen] produces a cursor where the previous item either satisfies the predicate or is empty [✔]
45.50 s
[cursor-gen] +++ OK, passed 100 tests.
45.50 s
[cursor-gen] listCursorSelectStart
45.50 s
[cursor-gen] produces valid cursors [✔]
45.50 s
[cursor-gen] +++ OK, passed 100 tests.
45.50 s
[cursor-gen] is a movement [✔]
45.50 s
[cursor-gen] +++ OK, passed 100 tests.
45.50 s
[cursor-gen] is idempotent [✔]
45.50 s
[cursor-gen] +++ OK, passed 100 tests.
45.50 s
[cursor-gen] selects the starting position [‐]
45.50 s
[cursor-gen] # PENDING: No reason given
45.50 s
[cursor-gen] listCursorSelectEnd
45.50 s
[cursor-gen] produces valid cursors [✔]
45.51 s
[cursor-gen] +++ OK, passed 100 tests.
45.51 s
[cursor-gen] is a movement [✔]
45.51 s
[cursor-gen] +++ OK, passed 100 tests.
45.51 s
[cursor-gen] is idempotent [✔]
45.51 s
[cursor-gen] +++ OK, passed 100 tests.
45.51 s
[cursor-gen] selects the end position [‐]
45.51 s
[cursor-gen] # PENDING: No reason given
45.51 s
[cursor-gen] listCursorInsert
45.51 s
[cursor-gen] produces valids [✔]
45.51 s
[cursor-gen] +++ OK, passed 100 tests.
45.51 s
[cursor-gen] inserts an item before the cursor [‐]
45.51 s
[cursor-gen] # PENDING: No reason given
45.57 s
[cursor-gen] listCursorAppend
45.57 s
[cursor-gen] produces valids [✔]
45.57 s
[cursor-gen] +++ OK, passed 100 tests.
45.57 s
[cursor-gen] inserts an item after the cursor [‐]
45.57 s
[cursor-gen] # PENDING: No reason given
45.57 s
[cursor-gen] listCursorInsertList
45.57 s
[cursor-gen] produces valids [✔]
45.57 s
[cursor-gen] +++ OK, passed 100 tests.
45.57 s
[cursor-gen] listCursorAppendList
45.57 s
[cursor-gen] produces valids [✔]
45.57 s
[cursor-gen] +++ OK, passed 100 tests.
45.57 s
[cursor-gen] listCursorRemove
45.57 s
[cursor-gen] produces valids [✔]
45.57 s
[cursor-gen] +++ OK, passed 100 tests.
45.57 s
[cursor-gen] removes an item before the cursor [‐]
45.57 s
[cursor-gen] # PENDING: No reason given
45.57 s
[cursor-gen] listCursorDelete
45.57 s
[cursor-gen] produces valids [✔]
45.57 s
[cursor-gen] +++ OK, passed 100 tests.
45.57 s
[cursor-gen] removes an item before the cursor [‐]
45.57 s
[cursor-gen] # PENDING: No reason given
45.57 s
[cursor-gen] listCursorSplit
45.57 s
[cursor-gen] produces valids [✔]
45.57 s
[cursor-gen] +++ OK, passed 100 tests.
45.57 s
[cursor-gen] produces two list cursors that rebuild to the rebuilding of the original [✔]
45.57 s
[cursor-gen] +++ OK, passed 100 tests.
45.57 s
[cursor-gen] listCursorCombine
45.57 s
[cursor-gen] produces valids [✔]
45.57 s
[cursor-gen] +++ OK, passed 100 tests.
45.57 s
[cursor-gen] produces a list that rebuilds to the rebuilding of the original two cursors [✔]
45.57 s
[cursor-gen] +++ OK, passed 100 tests.
45.62 s
[cursor-gen] Cursor.List.NonEmpty
45.62 s
[cursor-gen] nonemptyPrepend
45.62 s
[cursor-gen] is equivalent to regular prepend [✔]
45.62 s
[cursor-gen] +++ OK, passed 100 tests.
45.62 s
[cursor-gen] nonemptyAppend
45.62 s
[cursor-gen] is equivalent to regular append [✔]
45.62 s
[cursor-gen] +++ OK, passed 100 tests.
45.62 s
[cursor-gen] Cursor.Map
45.62 s
[cursor-gen] Eq (MapCursor Bool Bool Bool Bool)
45.62 s
[cursor-gen] (==) :: (MapCursor Bool Bool Bool Bool) -> (MapCursor Bool Bool Bool Bool) -> Bool
45.62 s
[cursor-gen] is reflexive for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
45.62 s
[cursor-gen] +++ OK, passed 100 tests.
45.62 s
[cursor-gen] is symmetric for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
45.62 s
[cursor-gen] +++ OK, passed 100 tests.
45.62 s
[cursor-gen] is transitive for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
45.62 s
[cursor-gen] +++ OK, passed 100 tests.
45.62 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
45.62 s
[cursor-gen] +++ OK, passed 100 tests.
45.62 s
[cursor-gen] (/=) :: (MapCursor Bool Bool Bool Bool) -> (MapCursor Bool Bool Bool Bool) -> Bool
45.62 s
[cursor-gen] is antireflexive for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
45.62 s
[cursor-gen] +++ OK, passed 100 tests.
45.62 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
45.62 s
[cursor-gen] +++ OK, passed 100 tests.
45.62 s
[cursor-gen] GenValid (MapCursor Bool Bool Bool Bool)
45.62 s
[cursor-gen] genValid :: Gen (MapCursor Bool Bool Bool Bool)
45.62 s
[cursor-gen] only generates valid '(MapCursor Bool Bool Bool Bool)'s [✔]
45.62 s
[cursor-gen] +++ OK, passed 100 tests.
45.62 s
[cursor-gen] Cursor.Map.KeyValue
45.62 s
[cursor-gen] Eq (KeyValueCursor Bool Bool Bool Bool)
45.73 s
[cursor-gen] (==) :: (KeyValueCursor Bool Bool Bool Bool) -> (KeyValueCursor Bool Bool Bool Bool) -> Bool
45.73 s
[cursor-gen] is reflexive for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
45.73 s
[cursor-gen] +++ OK, passed 100 tests.
45.73 s
[cursor-gen] is symmetric for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
45.73 s
[cursor-gen] +++ OK, passed 100 tests.
45.73 s
[cursor-gen] is transitive for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
45.73 s
[cursor-gen] +++ OK, passed 100 tests.
45.73 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
45.73 s
[cursor-gen] +++ OK, passed 100 tests.
45.73 s
[cursor-gen] (/=) :: (KeyValueCursor Bool Bool Bool Bool) -> (KeyValueCursor Bool Bool Bool Bool) -> Bool
45.73 s
[cursor-gen] is antireflexive for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
45.73 s
[cursor-gen] +++ OK, passed 100 tests.
45.73 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
45.73 s
[cursor-gen] +++ OK, passed 100 tests.
45.73 s
[cursor-gen] GenValid (KeyValueCursor Bool Bool Bool Bool)
45.73 s
[cursor-gen] genValid :: Gen (KeyValueCursor Bool Bool Bool Bool)
45.73 s
[cursor-gen] only generates valid '(KeyValueCursor Bool Bool Bool Bool)'s [✔]
45.73 s
[cursor-gen] +++ OK, passed 100 tests.
45.73 s
[cursor-gen] Eq KeyValueToggle
45.73 s
[cursor-gen] (==) :: KeyValueToggle -> KeyValueToggle -> Bool
45.73 s
[cursor-gen] is reflexive for "valid KeyValueToggle"s [✔]
45.73 s
[cursor-gen] +++ OK, passed 100 tests.
45.73 s
[cursor-gen] is symmetric for "valid KeyValueToggle"s [✔]
45.73 s
[cursor-gen] +++ OK, passed 100 tests.
45.73 s
[cursor-gen] is transitive for "valid KeyValueToggle"s [✔]
45.73 s
[cursor-gen] +++ OK, passed 100 tests.
45.73 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid KeyValueToggle"s [✔]
45.81 s
[cursor-gen] +++ OK, passed 100 tests.
45.81 s
[cursor-gen] (/=) :: KeyValueToggle -> KeyValueToggle -> Bool
45.81 s
[cursor-gen] is antireflexive for "valid KeyValueToggle"s [✔]
45.81 s
[cursor-gen] +++ OK, passed 100 tests.
45.81 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid KeyValueToggle"s [✔]
45.81 s
[cursor-gen] +++ OK, passed 100 tests.
45.81 s
[cursor-gen] GenValid KeyValueToggle
45.81 s
[cursor-gen] genValid :: Gen KeyValueToggle
45.81 s
[cursor-gen] only generates valid 'KeyValueToggle's [✔]
45.81 s
[cursor-gen] +++ OK, passed 100 tests.
45.81 s
[cursor-gen] Cursor.Simple.Forest
45.81 s
[cursor-gen] Eq (ForestCursor Int Int)
45.81 s
[cursor-gen] (==) :: (ForestCursor Int Int) -> (ForestCursor Int Int) -> Bool
45.81 s
[cursor-gen] is reflexive for "valid (ForestCursor Int Int)"s [✔]
45.81 s
[cursor-gen] +++ OK, passed 100 tests.
45.81 s
[cursor-gen] is symmetric for "valid (ForestCursor Int Int)"s [✔]
45.81 s
[cursor-gen] +++ OK, passed 100 tests.
45.81 s
[cursor-gen] is transitive for "valid (ForestCursor Int Int)"s [✔]
45.81 s
[cursor-gen] +++ OK, passed 100 tests.
45.81 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (ForestCursor Int Int)"s [✔]
45.81 s
[cursor-gen] +++ OK, passed 100 tests.
45.81 s
[cursor-gen] (/=) :: (ForestCursor Int Int) -> (ForestCursor Int Int) -> Bool
45.81 s
[cursor-gen] is antireflexive for "valid (ForestCursor Int Int)"s [✔]
45.81 s
[cursor-gen] +++ OK, passed 100 tests.
45.81 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (ForestCursor Int Int)"s [✔]
45.81 s
[cursor-gen] +++ OK, passed 100 tests.
45.81 s
[cursor-gen] GenValid (ForestCursor Bool Bool)
45.81 s
[cursor-gen] genValid :: Gen (ForestCursor Bool Bool)
45.81 s
[cursor-gen] only generates valid '(ForestCursor Bool Bool)'s [✔]
45.81 s
[cursor-gen] +++ OK, passed 100 tests.
45.81 s
[cursor-gen] shrinkValid :: (ForestCursor Bool Bool -> [ForestCursor Bool Bool])
45.81 s
[cursor-gen] preserves validity for the first 10 elements [✔]
45.81 s
[cursor-gen] +++ OK, passed 50 tests.
45.88 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
45.88 s
[cursor-gen] +++ OK, passed 50 tests.
45.88 s
[cursor-gen] singletonForestCursor
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] makeForestCursor
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] rebuildForestCursor
45.88 s
[cursor-gen] produces valid forests [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] is the inverse of makeForestCursor for integers [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] forestCursorLestCursorL
45.88 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] satisfies the second lens law for valid values [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] gets valid values from valid values values [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] forestCursorSelectedTreeL
45.88 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] satisfies the second lens law for valid values [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] gets valid values from valid values values [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] forestCursorSelection
45.88 s
[cursor-gen] produces valid ints [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] returns the index of the currently selected element [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorSelectIndex
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] is the identity function when given the current selection [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] returns selects the element at the given index [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorSelectPrevTreeCursor
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] is a movement [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] selects the previous tree cursor [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorSelectNextTreeCursor
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] is a movement [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] selects the next tree [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorSelectFirstTreeCursor
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] is a movement [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] selects the first tree [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorSelectLastTreeCursor
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] is a movement [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] selects the last tree [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorSelectPrev
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] is a movement [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] selects the previous node [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] Works for this classic example without any collapsing [✔]
45.88 s
[cursor-gen] forestCursorSelectNext
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] is a movement [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] selects the next node [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] Works for this classic example [✔]
45.88 s
[cursor-gen] forestCursorSelectPrevOnSameLevel
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] is a movement [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] selects the previous node on the same level as the current node [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorSelectNextOnSameLevel
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] is a movement [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] selects the next node on the same level as the current node [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorSelectFirstOnSameLevel
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] is a movement [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] selects the previous node on the same level as the current node [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorSelectLastOnSameLevel
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] is a movement [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] selects the next node on the same level as the current node [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorSelectFirst
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] is a movement [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] selects the first node in the forest [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorSelectLast
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] is a movement [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] selects the last node in the forest [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorSelectAbove
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] is a movement [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] selects the parent [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorSelectBelowAtPos
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] is a movement for any index [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] selects the child of the selected node at the given position [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorSelectBelowAtStart
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] is a movement [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] selects the first child of the selected node [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorSelectBelowAtEnd
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] is a movement [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] selects the first child of the selected node [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorOpenCurrentForest
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] forestCursorCloseCurrentForest
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] forestCursorToggleCurrentForest
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] forestCursorOpenCurrentForestRecursively
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] forestCursorToggleCurrentForestRecursively
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] forestCursorInsertEntireTree
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] inserts a tree cursor before the currently selected tree cursor [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorInsertAndSelectTreeCursor
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] inserts a tree cursor before the currently selected tree cursor and selects it [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorAppendEntireTree
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] appends a tree after the currently selected tree cursor [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorAppendAndSelectTreeCursor
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] appends a tree cursor after the currently selected tree cursor and selects it [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorInsertTree
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] inserts a tree before the currently selected tree [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorInsertAndSelectTree
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] inserts a tree before the currently selected tree and selects it [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorAppendTree
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] appends a tree after the currently selected tree [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorAppendAndSelectTree
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] appends a tree after the currently selected tree and selects it [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorInsert
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] inserts a node before the currently selected node [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorInsertAndSelect
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] inserts a node before the currently selected node and selects it [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorInsertNodeSingleAndSelect
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] inserts a node before the currently selected node and selects it [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorInsertNodeAndSelect
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] inserts a node before the currently selected node and selects it [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorAppend
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] appends a node after the currently selected node [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorAppendAndSelect
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] appends a node after the currently selected node and selects it [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorAppendNodeSingleAndSelect
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] appends a node after the currently selected node and selects it [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorAppendNodeAndSelect
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] appends a node after the currently selected node and selects it [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorAddChildTreeToNodeAtPos
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] adds a child tree to a node at the given position in the children of that node [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorAddChildTreeToNodeAtStart
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.88 s
[cursor-gen] adds a child tree to a node at the start the children of that node [‐]
45.88 s
[cursor-gen] # PENDING: No reason given
45.88 s
[cursor-gen] forestCursorAddChildTreeToNodeAtEnd
45.88 s
[cursor-gen] produces valid cursors [✔]
45.88 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] adds a child tree to a node at the end the children of that node [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorAddChildToNodeAtPos
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] adds a child to a node at the given position in the children of that node [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorAddChildToNodeAtStart
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] adds a child to a node at the start the children of that node [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorAddChildToNodeAtEnd
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] adds a child to a node at the end the children of that node [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorAddChildTreeToNodeAtPosAndSelect
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] adds a child tree to a node at the given position in the children of that node [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorAddChildTreeToNodeAtStartAndSelect
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] adds a child tree to a node at the start the children of that node [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorAddChildTreeToNodeAtEndAndSelect
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] adds a child tree to a node at the end the children of that node [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorAddChildToNodeAtPosAndSelect
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] adds a child to a node at the given position in the children of that node [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorAddChildToNodeAtStartAndSelect
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] adds a child to a node at the start the children of that node [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorAddChildToNodeAtEndAndSelect
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] adds a child to a node at the end the children of that node [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorAddChildNodeSingleToNodeAtPosAndSelect
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] forestCursorAddChildNodeSingleToNodeAtStartAndSelect
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] forestCursorAddChildNodeSingleToNodeAtEndAndSelect
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] forestCursorAddChildNodeToNodeAtPosAndSelect
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] forestCursorAddChildNodeToNodeAtStartAndSelect
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] forestCursorAddChildNodeToNodeAtEndAndSelect
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] forestCursorAddRoot
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] houses the entire forest under the given node [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorSwapPrev
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] works on the example from the docs [✔]
45.89 s
[cursor-gen] swaps the current node with the previous node on the same level [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] reverts forestCursorSwapNext [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] forestCursorSwapNext
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] works on the example from the docs [✔]
45.89 s
[cursor-gen] swaps the current node with the next node on the same level [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] reverts forestCursorSwapPrev [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] forestCursorRemoveElemAndSelectPrev
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] works for this simple example [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] removes the selected element and selects the previous element [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorDeleteElemAndSelectNext
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] works for this simple example [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] deletes the selected element and selects the next element [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorRemoveElem
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] works for this simple example [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] removes the selected element [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorDeleteElem
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] works for this simple example [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] deletes the selected element [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorRemoveSubTreeAndSelectPrev
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] removes the selected subtree and selects the previous tree [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorDeleteSubTreeAndSelectNext
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] deletes the selected subtree and selects the next tree [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorRemoveSubTree
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] removes the selected subtree [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorDeleteSubTree
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] deletes the selected subtree [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorPromoteElem
45.89 s
[cursor-gen] produces valids on valids [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] works on the example from the documentation [✔]
45.89 s
[cursor-gen] promotes the current node to the level of its parent [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorDemoteElem
45.89 s
[cursor-gen] produces valids on valids [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] works on the example from the documentation [✔]
45.89 s
[cursor-gen] demotes the current node to the level of its children [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorPromoteSubTree
45.89 s
[cursor-gen] produces valids on valids [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] works on the example from the documentation [✔]
45.89 s
[cursor-gen] promotes the current subtree to the level of its parent [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorDemoteSubTree
45.89 s
[cursor-gen] produces valids on valids [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] works on the example from the documentation [✔]
45.89 s
[cursor-gen] demotes the current subtree to the level of its children [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorDemoteElemUnder
45.89 s
[cursor-gen] produces valids on valids [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] Works on the example from the docs [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] demotes the current node to the level of its children [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] forestCursorDemoteSubTreeUnder
45.89 s
[cursor-gen] produces valids on valids [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] Works on the example from the docs [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] demotes the current subtree to the level of its children, by adding a root [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] Cursor.Simple.List.NonEmpty
45.89 s
[cursor-gen] Eq (NonEmptyCursor Bool Bool)
45.89 s
[cursor-gen] (==) :: (NonEmptyCursor Bool Bool) -> (NonEmptyCursor Bool Bool) -> Bool
45.89 s
[cursor-gen] is reflexive for "valid (NonEmptyCursor Bool Bool)"s [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] is symmetric for "valid (NonEmptyCursor Bool Bool)"s [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] is transitive for "valid (NonEmptyCursor Bool Bool)"s [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (NonEmptyCursor Bool Bool)"s [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] (/=) :: (NonEmptyCursor Bool Bool) -> (NonEmptyCursor Bool Bool) -> Bool
45.89 s
[cursor-gen] is antireflexive for "valid (NonEmptyCursor Bool Bool)"s [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (NonEmptyCursor Bool Bool)"s [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] GenValid (NonEmptyCursor Bool Bool)
45.89 s
[cursor-gen] genValid :: Gen (NonEmptyCursor Bool Bool)
45.89 s
[cursor-gen] only generates valid '(NonEmptyCursor Bool Bool)'s [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] makeNonEmptyCursor
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] makeNonEmptyCursorWithSelection
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] is the inverse of rebuildNonEmptyCursor when using the current selection [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] singletonNonEmptyCursor
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] rebuildNonEmptyCursor
45.89 s
[cursor-gen] produces valid nonempty lists [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] is the inverse of makeNonEmptyCursor for integers [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] is the inverse of makeNonEmptyCursorWithSelection for integers, for any index [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] nonEmptyCursorElemL
45.89 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] satisfies the second lens law for valid values [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] gets valid values from valid values values [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] nonEmptyCursorSelectPrev
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] is a movement [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] selects the previous element [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] nonEmptyCursorSelectNext
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] is a movement [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] selects the next element [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] nonEmptyCursorSelectFirst
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] is a movement [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] is idempotent [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] selects the first element [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] nonEmptyCursorSelectLast
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] is a movement [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] is idempotent [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] selects the last element [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] nonEmptyCursorSelection
45.89 s
[cursor-gen] produces valid ints [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] returns the index of the currently selected element [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] nonEmptyCursorSelectIndex
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] is the identity function when given the current selection [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] returns selects the element at the given index [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] nonEmptyCursorInsert
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] inserts a character before the cursor [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] nonEmptyCursorAppend
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] inserts a character after the cursor [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] nonEmptyCursorInsertAndSelect
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] inserts a character before the cursor and selects it [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] nonEmptyCursorAppendAndSelect
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] appends a character before the cursor and selects it [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] nonEmptyCursorInsertAtStart
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] inserts a character at the start of the list [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] nonEmptyCursorAppendAtEnd
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] inserts a character at the end of the list [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] nonEmptyCursorInsertAtStartAndSelect
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] inserts a character at the start of the list and selects it [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] nonEmptyCursorAppendAtEndAndSelect
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] appends a character at the end of the list and selects it [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] nonEmptyCursorRemoveElem
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] removes an element [‐]
45.89 s
[cursor-gen] # PENDING: No reason given
45.89 s
[cursor-gen] nonEmptyCursorDeleteElem
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] nonEmptyCursorSearch
45.89 s
[cursor-gen] produces valid cursors when looking for an equal element [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] is indeed the right value when it finds a value and is looking for an equal element [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] finds an element if it is in there [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] nonEmptyCursorSelectOrAdd
45.89 s
[cursor-gen] produces valid cursors when looking for an equal element [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] Cursor.Simple.Map
45.89 s
[cursor-gen] makeMapCursor
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] makeMapCursorWithSelection
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] singletonMapCursorKey
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] singletonMapCursorValue
45.89 s
[cursor-gen] produces valid cursors [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] rebuildMapCursor
45.89 s
[cursor-gen] produces valid Nonempty lists [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] is the inverse of makeMapCursor for integers [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] mapCursorNonEmptyCursorL
45.89 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] satisfies the second lens law for valid values [✔]
45.89 s
[cursor-gen] +++ OK, passed 100 tests.
45.89 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] gets valid values from valid values values [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] mapCursorElemL
45.90 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] satisfies the second lens law for valid values [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] gets valid values from valid values values [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] mapCursorSelectKey
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] mapCursorSelectValue
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] mapCursorToggleSelected
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] mapCursorSelectPrev
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] is a movement [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] selects the previous element [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] mapCursorSelectNext
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] is a movement [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] selects the next element [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] mapCursorSelectFirst
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] is a movement [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] is idempotent [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] selects the first element [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] mapCursorSelectLast
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] is a movement [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] is idempotent [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] selects the last element [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] mapCursorSelection
45.90 s
[cursor-gen] produces valid ints [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] returns the index of the currently selected element [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] mapCursorSelectIndex
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] is the identity function when given the current selection [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] returns selects the element at the given index [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] mapCursorInsert
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] inserts a character before the cursor [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] mapCursorAppend
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] inserts a character after the cursor [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] mapCursorInsertAndSelectKey
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] mapCursorAppendAndSelectKey
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] mapCursorInsertAndSelectValue
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] mapCursorAppendAndSelectValue
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] mapCursorRemoveElem
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] removes an element [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] mapCursorDeleteElem
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] deletes an element [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] mapCursorSearch
45.90 s
[cursor-gen] produces valid cursors when looking for an equal pair [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] is indeed the right value when it finds a value and is looking for an equal element [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] mapCursorSelectOrAdd
45.90 s
[cursor-gen] produces valid cursors when looking for an equal element [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] Cursor.Simple.Map.KeyValue
45.90 s
[cursor-gen] makeKeyValueCursorKey
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] makeKeyValueCursorValue
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] rebuildKeyValueCursor
45.90 s
[cursor-gen] produces valid tuples [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] keyValueCursorSelection
45.90 s
[cursor-gen] produces valid selections [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] keyValueCursorSelectKey
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] is a movement [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] keyValueCursorSelectValue
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] is a movement [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] keyValueCursorToggleSelected
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] is a movement [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] Cursor.Simple.Tree.Base
45.90 s
[cursor-gen] Eq (TreeCursor Int Int)
45.90 s
[cursor-gen] (==) :: (TreeCursor Int Int) -> (TreeCursor Int Int) -> Bool
45.90 s
[cursor-gen] is reflexive for "valid (TreeCursor Int Int)"s [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] is symmetric for "valid (TreeCursor Int Int)"s [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] is transitive for "valid (TreeCursor Int Int)"s [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (TreeCursor Int Int)"s [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] (/=) :: (TreeCursor Int Int) -> (TreeCursor Int Int) -> Bool
45.90 s
[cursor-gen] is antireflexive for "valid (TreeCursor Int Int)"s [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (TreeCursor Int Int)"s [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] GenValid (TreeCursor Bool Bool)
45.90 s
[cursor-gen] genValid :: Gen (TreeCursor Bool Bool)
45.90 s
[cursor-gen] only generates valid '(TreeCursor Bool Bool)'s [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] makeTreeCursor
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] makeNodeTreeCursor
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] makeTreeCursorWithSelection
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] singletonTreeCursor
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] rebuildTreeCursor
45.90 s
[cursor-gen] produces valid trees [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] is the inverse of makeTreeCursor for integers [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] is the inverse of makeTreeCursorWithSelection for the current selection [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] Cursor.Simple.Tree.Collapse
45.90 s
[cursor-gen] treeCursorOpenCurrentForest
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] treeCursorCloseCurrentForest
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] treeCursorToggleCurrentForest
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] treeCursorOpenCurrentForestRecursively
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] treeCursorToggleCurrentForestRecursively
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] Cursor.Simple.Tree.Delete
45.90 s
[cursor-gen] treeCursorDeleteSubTreeAndSelectPrevious
45.90 s
[cursor-gen] produces valids on valids [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] deletes the current subtree selects the previous subtree [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorDeleteSubTreeAndSelectNext
45.90 s
[cursor-gen] produces valids on valids [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] deletes the current subtree selects the next subtree [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorDeleteSubTreeAndSelectAbove
45.90 s
[cursor-gen] produces valids on valids [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] deletes the current subtree selects the above node [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorRemoveSubTree
45.90 s
[cursor-gen] produces valids on valids [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] removes the current subtree [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorDeleteSubTree
45.90 s
[cursor-gen] produces valids on valids [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] deletes the current subtree [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorDeleteElemAndSelectPrevious
45.90 s
[cursor-gen] produces valids on valids [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] works for this simple example [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] deletes the current element and selects the previous element [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorDeleteElemAndSelectNext
45.90 s
[cursor-gen] produces valids on valids [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] works for this simple example [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] deletes the current element and selects the next element [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorDeleteElemAndSelectAbove
45.90 s
[cursor-gen] produces valids on valids [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] works for this simple example [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] deletes the current element and selects the above element [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorRemoveElem
45.90 s
[cursor-gen] produces valids on valids [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] removes the current element [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorDeleteElem
45.90 s
[cursor-gen] produces valids on valids [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] deletes the current element [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] Cursor.Simple.Tree.Demote
45.90 s
[cursor-gen] Functor DemoteResult
45.90 s
[cursor-gen] fmap :: (a -> b) -> DemoteResult a -> DemoteResult b
45.90 s
[cursor-gen] satisfies the first Fuctor law: 'fmap id == id' for "DemoteResult of ints :: (DemoteResult Int)" [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 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)" [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] (<$) :: a -> DemoteResult b -> DemoteResult a
45.90 s
[cursor-gen] is equivalent to its default implementation for "int :: Int" and "DemoteResult of ints :: (DemoteResult Int)" [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] treeCursorDemoteElem
45.90 s
[cursor-gen] produces valids on valids [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] Works on the example from the docs [✔]
45.90 s
[cursor-gen] demotes the current node to the level of its children [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorDemoteSubTree
45.90 s
[cursor-gen] produces valids on valids [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] Works on the example from the docs [✔]
45.90 s
[cursor-gen] demotes the current subtree to the level of its children [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorDemoteElemUnder
45.90 s
[cursor-gen] produces valids on valids [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] Works on the example from the docs [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] demotes the current node to the level of its children [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorDemoteSubTreeUnder
45.90 s
[cursor-gen] produces valids on valids [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] Works on the example from the docs [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] demotes the current subtree to the level of its children, by adding a root [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] Cursor.Simple.Tree.Insert
45.90 s
[cursor-gen] treeCursorInsert
45.90 s
[cursor-gen] produces valids on valids [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] inserts the element [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorInsertAndSelect
45.90 s
[cursor-gen] produces valids on valids [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] inserts and select the element [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorInsertNodeSingleAndSelect
45.90 s
[cursor-gen] produces valids on valids [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] inserts and select the element [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorInsertNodeAndSelect
45.90 s
[cursor-gen] produces valids on valids [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] inserts and select the element [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorAppend
45.90 s
[cursor-gen] produces valids on valids [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] appends the element [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorAppendAndSelect
45.90 s
[cursor-gen] produces valids on valids [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] appends and select the element [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorAppendNodeSingleAndSelect
45.90 s
[cursor-gen] produces valids on valids [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] appends and select the element [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorAppendNodeAndSelect
45.90 s
[cursor-gen] produces valids on valids [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] appends and select the element [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorAddChildAtPos
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] adds a tree at the given index in the children of the current node [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorAddChildAtStart
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] adds a tree at the start of the children of the current node [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorAddChildAtEnd
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] adds a tree at the end of the children of the current node [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorAddChildAtPosAndSelect
45.90 s
[cursor-gen] produces valid cursors [✔]
45.90 s
[cursor-gen] +++ OK, passed 100 tests.
45.90 s
[cursor-gen] adds a tree at the given index in theAndSelect children of the current node [‐]
45.90 s
[cursor-gen] # PENDING: No reason given
45.90 s
[cursor-gen] treeCursorAddChildAtStartAndSelect
45.90 s
[cursor-gen] producesAndSelect valid cursors [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] adds a tree at the start of the children of the current node [‐]
45.91 s
[cursor-gen] # PENDING: No reason given
45.91 s
[cursor-gen] treeCursorAddChildAtEndAndSelect
45.91 s
[cursor-gen] produces valid cursors [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] adds a tree at the end of the children of the current node [‐]
45.91 s
[cursor-gen] # PENDING: No reason given
45.91 s
[cursor-gen] treeCursorAddChildNodeSingleAtPosAndSelect
45.91 s
[cursor-gen] produces valid cursors [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] treeCursorAddChildNodeSingleAtStartAndSelect
45.91 s
[cursor-gen] produces valid cursors [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] treeCursorAddChildNodeSingleAtEndAndSelect
45.91 s
[cursor-gen] produces valid cursors [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] treeCursorAddChildNodeAtPosAndSelect
45.91 s
[cursor-gen] produces valid cursors [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] treeCursorAddChildNodeAtStartAndSelect
45.91 s
[cursor-gen] produces valid cursors [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] works for this example [✔]
45.91 s
[cursor-gen] treeCursorAddChildNodeAtEndAndSelect
45.91 s
[cursor-gen] produces valid cursors [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] works for this example [✔]
45.91 s
[cursor-gen] Cursor.Simple.Tree.Movement
45.91 s
[cursor-gen] treeCursorSelection
45.91 s
[cursor-gen] produces valids on valids [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] treeCursorSelect
45.91 s
[cursor-gen] produces valids on valids [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] is identity with the current selection [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] treeCursorSelectPrevOnSameLevel
45.91 s
[cursor-gen] produces valids on valids [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] is a movement [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] selects the previous element [‐]
45.91 s
[cursor-gen] # PENDING: No reason given
45.91 s
[cursor-gen] after treeCursorSelectNextOnSameLevel is identity if they don't fail [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] treeCursorSelectNextOnSameLevel
45.91 s
[cursor-gen] produces valids on valids [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] is a movement [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] selects the next element [‐]
45.91 s
[cursor-gen] # PENDING: No reason given
45.91 s
[cursor-gen] after treeCursorSelectPrevOnSameLevel is identity if they don't fail [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] treeCursorSelectFirstOnSameLevel
45.91 s
[cursor-gen] produces valids on valids [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] is a movement [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] selects the previous element [‐]
45.91 s
[cursor-gen] # PENDING: No reason given
45.91 s
[cursor-gen] treeCursorSelectNextOnSameLevel
45.91 s
[cursor-gen] produces valids on valids [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] is a movement [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] selects the next element [‐]
45.91 s
[cursor-gen] # PENDING: No reason given
45.91 s
[cursor-gen] treeCursorSelectAbovePrev
45.91 s
[cursor-gen] produces valids on valids [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] is a movement [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] Works for this classic example [✔]
45.91 s
[cursor-gen] selects the previous element [‐]
45.91 s
[cursor-gen] # PENDING: No reason given
45.91 s
[cursor-gen] after treeCursorSelectAboveNext is identity if they don't fail [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] treeCursorSelectAboveNext
45.91 s
[cursor-gen] produces valids on valids [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] is a movement [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] Works for this classic example [✔]
45.91 s
[cursor-gen] selects the next element [‐]
45.91 s
[cursor-gen] # PENDING: No reason given
45.91 s
[cursor-gen] after treeCursorSelectAbovePrev is identity if they don't fail [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] treeCursorSelectPrev
45.91 s
[cursor-gen] produces valids on valids [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] is a movement [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] selects the previous element [‐]
45.91 s
[cursor-gen] # PENDING: No reason given
45.91 s
[cursor-gen] after treeCursorSelectNext is identity if they don't fail [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] treeCursorSelectNext
45.91 s
[cursor-gen] produces valids on valids [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] is a movement [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] selects the next element [‐]
45.91 s
[cursor-gen] # PENDING: No reason given
45.91 s
[cursor-gen] after treeCursorSelectPrev is identity if they don't fail [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] treeCursorSelectFirst
45.91 s
[cursor-gen] produces valids on valids [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] is a movement [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] selects the first element [‐]
45.91 s
[cursor-gen] # PENDING: No reason given
45.91 s
[cursor-gen] is idempotent [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] treeCursorSelectLast
45.91 s
[cursor-gen] produces valids on valids [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] is a movement [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] selects the last element [‐]
45.91 s
[cursor-gen] # PENDING: No reason given
45.91 s
[cursor-gen] is idempotent [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] treeCursorSelectAbove
45.91 s
[cursor-gen] produces valids on valids [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] is a movement [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
45.91 s
[cursor-gen] selects the element above [‐]
45.91 s
[cursor-gen] # PENDING: No reason given
45.91 s
[cursor-gen] after treeCursorSelectBelow is identity if they don't fail [✔]
45.91 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] treeCursorSelectBelowAtPos
48.04 s
[cursor-gen] produces valids on valids [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] is a movement [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] selects the element n-th below [‐]
48.04 s
[cursor-gen] # PENDING: No reason given
48.04 s
[cursor-gen] treeCursorSelectBelowAtStart
48.04 s
[cursor-gen] produces valids on valids [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] is a movement [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] selects the first child below [‐]
48.04 s
[cursor-gen] # PENDING: No reason given
48.04 s
[cursor-gen] treeCursorSelectBelowAtEnd
48.04 s
[cursor-gen] produces valids on valids [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] is a movement [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] selects the last child below [‐]
48.04 s
[cursor-gen] # PENDING: No reason given
48.04 s
[cursor-gen] treeCursorSelectBelowAtStartRecursively
48.04 s
[cursor-gen] produces valids on valids [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] is a movement [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] selects the first child below, recursively [‐]
48.04 s
[cursor-gen] # PENDING: No reason given
48.04 s
[cursor-gen] treeCursorSelectBelowAtEndRecursively
48.04 s
[cursor-gen] produces valids on valids [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] is a movement [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] selects the last child below, recursively [‐]
48.04 s
[cursor-gen] # PENDING: No reason given
48.04 s
[cursor-gen] Cursor.Simple.Tree.Promote
48.04 s
[cursor-gen] Functor PromoteElemResult
48.04 s
[cursor-gen] fmap :: (a -> b) -> PromoteElemResult a -> PromoteElemResult b
48.04 s
[cursor-gen] satisfies the first Fuctor law: 'fmap id == id' for "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 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)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] (<$) :: a -> PromoteElemResult b -> PromoteElemResult a
48.04 s
[cursor-gen] is equivalent to its default implementation for "int :: Int" and "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] Applicative PromoteElemResult
48.04 s
[cursor-gen] pure :: a -> PromoteElemResult a and (<*>) :: PromoteElemResult (a -> b) -> PromoteElemResult a -> PromoteElemResult b
48.04 s
[cursor-gen] satisfy the identity law: 'pure id <*> v = v' for "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 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)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "int :: Int" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "PromoteElemResult of increments :: (PromoteElemResult (Int -> Int))" sequenced with "int :: Int" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 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)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] (*>) :: PromoteElemResult a -> PromoteElemResult b -> PromoteElemResult b
48.04 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" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] (<*) :: PromoteElemResult a -> PromoteElemResult b -> PromoteElemResult a
48.04 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)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] Monad PromoteElemResult
48.04 s
[cursor-gen] return :: a -> PromoteElemResult a and (>>=) :: PromoteElemResult a -> (b -> PromoteElemResult a) -> PromoteElemResult b
48.04 s
[cursor-gen] satisfy the first Monad law: 'return a >>= k = k a' for "int :: Int" and "perturbations using the int :: (Int -> PromoteElemResult Int)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] satisfy the second Monad law: 'm >>= return = m' for "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] (>>=) :: PromoteElemResult a -> (b -> PromoteElemResult a) -> PromoteElemResult b
48.04 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)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] relation with Applicative PromoteElemResult
48.04 s
[cursor-gen] satisfies 'pure = return' for "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] satisfies '(<*>) = ap' for "PromoteElemResult of additions :: (PromoteElemResult (Int -> Int))" and "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] satisfies '(>>) = (*>)' for "PromoteElemResult of ints :: (PromoteElemResult Int)" and "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] relation with Functor PromoteElemResult
48.04 s
[cursor-gen] satisfies 'fmap f xs = xs >>= return . f' for "increments :: (Int -> Int)" and "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] treeCursorPromoteElem
48.04 s
[cursor-gen] produces valids on valids [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] Works on the example from the docs [✔]
48.04 s
[cursor-gen] promotes the current node to the level of its parent [‐]
48.04 s
[cursor-gen] # PENDING: No reason given
48.04 s
[cursor-gen] Functor PromoteResult
48.04 s
[cursor-gen] fmap :: (a -> b) -> PromoteResult a -> PromoteResult b
48.04 s
[cursor-gen] satisfies the first Fuctor law: 'fmap id == id' for "PromoteResult of ints :: (PromoteResult Int)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 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)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] (<$) :: a -> PromoteResult b -> PromoteResult a
48.04 s
[cursor-gen] is equivalent to its default implementation for "int :: Int" and "PromoteResult of ints :: (PromoteResult Int)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] Applicative PromoteResult
48.04 s
[cursor-gen] pure :: a -> PromoteResult a and (<*>) :: PromoteResult (a -> b) -> PromoteResult a -> PromoteResult b
48.04 s
[cursor-gen] satisfy the identity law: 'pure id <*> v = v' for "PromoteResult of ints :: (PromoteResult Int)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 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)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "int :: Int" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "PromoteResult of increments :: (PromoteResult (Int -> Int))" sequenced with "int :: Int" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 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)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] (*>) :: PromoteResult a -> PromoteResult b -> PromoteResult b
48.04 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" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] (<*) :: PromoteResult a -> PromoteResult b -> PromoteResult a
48.04 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)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] Monad PromoteResult
48.04 s
[cursor-gen] return :: a -> PromoteResult a and (>>=) :: PromoteResult a -> (b -> PromoteResult a) -> PromoteResult b
48.04 s
[cursor-gen] satisfy the first Monad law: 'return a >>= k = k a' for "int :: Int" and "perturbations using the int :: (Int -> PromoteResult Int)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] satisfy the second Monad law: 'm >>= return = m' for "PromoteResult of ints :: (PromoteResult Int)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] (>>=) :: PromoteResult a -> (b -> PromoteResult a) -> PromoteResult b
48.04 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)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] relation with Applicative PromoteResult
48.04 s
[cursor-gen] satisfies 'pure = return' for "PromoteResult of ints :: (PromoteResult Int)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] satisfies '(<*>) = ap' for "PromoteResult of additions :: (PromoteResult (Int -> Int))" and "PromoteResult of ints :: (PromoteResult Int)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] satisfies '(>>) = (*>)' for "PromoteResult of ints :: (PromoteResult Int)" and "PromoteResult of ints :: (PromoteResult Int)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] relation with Functor PromoteResult
48.04 s
[cursor-gen] satisfies 'fmap f xs = xs >>= return . f' for "increments :: (Int -> Int)" and "PromoteResult of ints :: (PromoteResult Int)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] treeCursorPromoteSubTree
48.04 s
[cursor-gen] produces valids on valids [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] Works on the example from the docs [✔]
48.04 s
[cursor-gen] promotes the current subtree to the level of its parent [‐]
48.04 s
[cursor-gen] # PENDING: No reason given
48.04 s
[cursor-gen] Cursor.Simple.Tree.Swap
48.04 s
[cursor-gen] Functor SwapResult
48.04 s
[cursor-gen] fmap :: (a -> b) -> SwapResult a -> SwapResult b
48.04 s
[cursor-gen] satisfies the first Fuctor law: 'fmap id == id' for "SwapResult of ints :: (SwapResult Int)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 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)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] (<$) :: a -> SwapResult b -> SwapResult a
48.04 s
[cursor-gen] is equivalent to its default implementation for "int :: Int" and "SwapResult of ints :: (SwapResult Int)" [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] treeCursorSwapPrev
48.04 s
[cursor-gen] produces valids on valids [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] works on the example from the docs [✔]
48.04 s
[cursor-gen] reverts treeCursorSwapNext [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] swaps the current node with the previous node [‐]
48.04 s
[cursor-gen] # PENDING: No reason given
48.04 s
[cursor-gen] treeCursorSwapNext
48.04 s
[cursor-gen] produces valids on valids [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] works on the example from the docs [✔]
48.04 s
[cursor-gen] reverts treeCursorSwapNext [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] swaps the current node with the next node [‐]
48.04 s
[cursor-gen] # PENDING: No reason given
48.04 s
[cursor-gen] Cursor.Text
48.04 s
[cursor-gen] Eq TextCursor
48.04 s
[cursor-gen] (==) :: TextCursor -> TextCursor -> Bool
48.04 s
[cursor-gen] is reflexive for "valid TextCursor"s [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] is symmetric for "valid TextCursor"s [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] is transitive for "valid TextCursor"s [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid TextCursor"s [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] (/=) :: TextCursor -> TextCursor -> Bool
48.04 s
[cursor-gen] is antireflexive for "valid TextCursor"s [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid TextCursor"s [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] GenValid TextCursor
48.04 s
[cursor-gen] genValid :: Gen TextCursor
48.04 s
[cursor-gen] only generates valid 'TextCursor's [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] Validity TextCursor
48.04 s
[cursor-gen] considers a text cursor with a newline in the previous characters invalid [✔]
48.04 s
[cursor-gen] considers a text cursor with a newline in the next characters invalid [✔]
48.04 s
[cursor-gen] considers a text cursor with an unsafe character in the previous characters invalid [✔]
48.04 s
[cursor-gen] considers a text cursor with an unsafe character in the next characters invalid [✔]
48.04 s
[cursor-gen] emptyTextCursor
48.04 s
[cursor-gen] is valid [✔]
48.04 s
[cursor-gen] makeTextCursor
48.04 s
[cursor-gen] produces valid list cursors [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] makeTextCursorWithSelection
48.04 s
[cursor-gen] produces valid list cursors [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] rebuildTextCursor
48.04 s
[cursor-gen] produces valid lists [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] is the inverse of makeTextCursor [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] is the inverse of makeTextCursorWithSelection for any index [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] textCursorNull
48.04 s
[cursor-gen] produces valid bools [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] textCursorLength
48.04 s
[cursor-gen] produces valid ints [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] textCursorIndex
48.04 s
[cursor-gen] produces valid indices [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] textCursorSelectPrev
48.04 s
[cursor-gen] produces valid cursors [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] is a movement [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] selects the previous position [‐]
48.04 s
[cursor-gen] # PENDING: No reason given
48.04 s
[cursor-gen] textCursorSelectNext
48.04 s
[cursor-gen] produces valid cursors [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] is a movement [✔]
48.04 s
[cursor-gen] +++ OK, passed 100 tests.
48.04 s
[cursor-gen] selects the next position [‐]
48.04 s
[cursor-gen] # PENDING: No reason given
48.04 s
[cursor-gen] textCursorSelectIndex
48.04 s
[cursor-gen] produces valid cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is a movement [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] selects the position at the given index [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] produces a cursor that has the given selection for valid selections in the cursor [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] textCursorSelectStart
48.05 s
[cursor-gen] produces valid cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is a movement [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is idempotent [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] selects the starting position [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] textCursorSelectEnd
48.05 s
[cursor-gen] produces valid cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is a movement [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is idempotent [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] selects the end position [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] textCursorPrevChar
48.05 s
[cursor-gen] produces valid items [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] returns the item before the position [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] textCursorNextChar
48.05 s
[cursor-gen] produces valid items [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] returns the item after the position [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] textCursorSelectBeginWord
48.05 s
[cursor-gen] produces valid items [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is a movement [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is idempotent [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests (84% non trivial).
48.05 s
[cursor-gen] works for this example [✔]
48.05 s
[cursor-gen] works for this example [✔]
48.05 s
[cursor-gen] works for this example [✔]
48.05 s
[cursor-gen] works for this example [✔]
48.05 s
[cursor-gen] textCursorSelectEndWord
48.05 s
[cursor-gen] produces valid items [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is a movement [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is idempotent [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests (84% non trivial).
48.05 s
[cursor-gen] works for this example [✔]
48.05 s
[cursor-gen] works for this example [✔]
48.05 s
[cursor-gen] works for this example [✔]
48.05 s
[cursor-gen] works for this example [✔]
48.05 s
[cursor-gen] textCursorSelectNextWord
48.05 s
[cursor-gen] produces valid items [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is a movement [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] works for this example [✔]
48.05 s
[cursor-gen] works for this example [✔]
48.05 s
[cursor-gen] works for this example [✔]
48.05 s
[cursor-gen] works for this example [✔]
48.05 s
[cursor-gen] goes to the end of the cursor [✔]
48.05 s
[cursor-gen] chooses the next word correctly [✔]
48.05 s
[cursor-gen] textCursorSelectPrevWord
48.05 s
[cursor-gen] produces valid items [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is a movement [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] works for this example [✔]
48.05 s
[cursor-gen] works for this example [✔]
48.05 s
[cursor-gen] works for this example [✔]
48.05 s
[cursor-gen] works for this example [✔]
48.05 s
[cursor-gen] goes to the beginning of the cursor [✔]
48.05 s
[cursor-gen] chooses the previous word correctly [✔]
48.05 s
[cursor-gen] textCursorInsert
48.05 s
[cursor-gen] produces valids [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] inserts an item before the cursor [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] textCursorAppend
48.05 s
[cursor-gen] produces valids [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] inserts an item after the cursor [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] textCursorInsertString
48.05 s
[cursor-gen] produces valids [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] works for this example [✔]
48.05 s
[cursor-gen] textCursorAppendString
48.05 s
[cursor-gen] produces valids [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] textCursorInsertText
48.05 s
[cursor-gen] produces valids [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] textCursorAppendText
48.05 s
[cursor-gen] produces valids [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] textCursorRemove
48.05 s
[cursor-gen] produces valids [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] removes an item before the cursor [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] textCursorDelete
48.05 s
[cursor-gen] produces valids [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] removes an item before the cursor [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] textCursorSplit
48.05 s
[cursor-gen] produces valids [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] produces two list cursors that rebuild to the rebuilding of the original [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] textCursorCombine
48.05 s
[cursor-gen] produces valids [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] produces a list that rebuilds to the rebuilding of the original two cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] Cursor.TextField
48.05 s
[cursor-gen] Eq TextFieldCursor
48.05 s
[cursor-gen] (==) :: TextFieldCursor -> TextFieldCursor -> Bool
48.05 s
[cursor-gen] is reflexive for "valid TextFieldCursor"s [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is symmetric for "valid TextFieldCursor"s [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is transitive for "valid TextFieldCursor"s [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid TextFieldCursor"s [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] (/=) :: TextFieldCursor -> TextFieldCursor -> Bool
48.05 s
[cursor-gen] is antireflexive for "valid TextFieldCursor"s [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid TextFieldCursor"s [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] GenValid TextFieldCursor
48.05 s
[cursor-gen] genValid :: Gen TextFieldCursor
48.05 s
[cursor-gen] only generates valid 'TextFieldCursor's [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] Validity TextFieldCursor
48.05 s
[cursor-gen] consider a textfield with a newline in the previous lines invalid [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] consider a textfield with a newline in the next lines invalid [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] makeTextFieldCursor
48.05 s
[cursor-gen] produces a valid cursor for "\n" [✔]
48.05 s
[cursor-gen] produces a valid cursor for "\n\n" [✔]
48.05 s
[cursor-gen] produces valid cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] makeTextFieldCursorWithSelection
48.05 s
[cursor-gen] produces a valid cursor for "\n" [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] produces a valid cursor for "\n\n" [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] produces valid cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is the inverse of rebuildTextFieldCursor when using the current selection [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] rebuildTextFieldCursorLines
48.05 s
[cursor-gen] produces valid lists [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] produces texts without newlines [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] rebuildTextFieldCursor
48.05 s
[cursor-gen] produces valid texts [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is the inverse of makeTextFieldCursor [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is the inverse of makeTextFieldCursorWithSelection for integers, for any index [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] textFieldCursorSelection
48.05 s
[cursor-gen] produces valid tuples [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] emptyTextFieldCursor
48.05 s
[cursor-gen] is valid [✔]
48.05 s
[cursor-gen] nullTextFieldCursor
48.05 s
[cursor-gen] produces valid [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] textFieldCursorSelectPrevLine
48.05 s
[cursor-gen] produces valid cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is a movement [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] selects the previous line [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] textFieldCursorSelectNextLine
48.05 s
[cursor-gen] produces valid cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is a movement [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] selects the next line [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] textFieldCursorSelectFirstLine
48.05 s
[cursor-gen] produces valid cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is a movement [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is idempotent [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] selects the first line [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] textFieldCursorSelectLastLine
48.05 s
[cursor-gen] produces valid cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is a movement [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is idempotent [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] selects the last line [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] textFieldCursorSelectPrevChar
48.05 s
[cursor-gen] produces valid cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] selects the previous character on the current line [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] textFieldCursorSelectNextChar
48.05 s
[cursor-gen] produces valid cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] selects the previous character on the current line [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] textFieldCursorSelectBeginWord
48.05 s
[cursor-gen] produces valid cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] textFieldCursorSelectEndWord
48.05 s
[cursor-gen] produces valid cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] textFieldCursorSelectPrevWord
48.05 s
[cursor-gen] produces valid cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] textFieldCursorSelectNextWord
48.05 s
[cursor-gen] produces valid cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] textFieldCursorIndexOnLine
48.05 s
[cursor-gen] produces valid indices [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] returns the index on the current line [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] textFieldCursorSelectIndexOnLine
48.05 s
[cursor-gen] produces valid cursors for any index [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] selects the given index on the current line [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] textFieldCursorInsertChar
48.05 s
[cursor-gen] produces valid cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] inserts a character before the cursor on the current line [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] textFieldCursorAppendChar
48.05 s
[cursor-gen] produces valid cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] inserts a character after the cursor on the currrent line [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] textFieldCursorInsertNewline
48.05 s
[cursor-gen] produces valid cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] inserts a new line [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] textFieldCursorAppendNewline
48.05 s
[cursor-gen] produces valid cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] textFieldCursorRemove
48.05 s
[cursor-gen] produces valid cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] removes empty text field cursor [✔]
48.05 s
[cursor-gen] removes a character or a line [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] textFieldCursorDelete
48.05 s
[cursor-gen] produces valid cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] removes empty text field cursor [✔]
48.05 s
[cursor-gen] deletes a character or a line [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] textFieldCursorSelectStartOfLine
48.05 s
[cursor-gen] produces valid cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] selects the start of the current line [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] textFieldCursorSelectEndOfLine
48.05 s
[cursor-gen] produces valid cursors [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] selects the end of the current line [‐]
48.05 s
[cursor-gen] # PENDING: No reason given
48.05 s
[cursor-gen] Cursor.Tree.Types
48.05 s
[cursor-gen] Eq TreeCursorSelection
48.05 s
[cursor-gen] (==) :: TreeCursorSelection -> TreeCursorSelection -> Bool
48.05 s
[cursor-gen] is reflexive for "valid TreeCursorSelection"s [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is symmetric for "valid TreeCursorSelection"s [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is transitive for "valid TreeCursorSelection"s [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid TreeCursorSelection"s [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] (/=) :: TreeCursorSelection -> TreeCursorSelection -> Bool
48.05 s
[cursor-gen] is antireflexive for "valid TreeCursorSelection"s [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid TreeCursorSelection"s [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] GenValid TreeCursorSelection
48.05 s
[cursor-gen] genValid :: Gen TreeCursorSelection
48.05 s
[cursor-gen] only generates valid 'TreeCursorSelection's [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
48.05 s
[cursor-gen] shrinkValid :: (TreeCursorSelection -> [TreeCursorSelection])
48.05 s
[cursor-gen] preserves validity for the first 10 elements [✔]
48.05 s
[cursor-gen] +++ OK, passed 100 tests.
49.16 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
49.38 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] Eq (SwapResult Bool)
49.39 s
[cursor-gen] (==) :: (SwapResult Bool) -> (SwapResult Bool) -> Bool
49.39 s
[cursor-gen] is reflexive for "valid (SwapResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is symmetric for "valid (SwapResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is transitive for "valid (SwapResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (SwapResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] (/=) :: (SwapResult Bool) -> (SwapResult Bool) -> Bool
49.39 s
[cursor-gen] is antireflexive for "valid (SwapResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (SwapResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] GenValid (SwapResult Bool)
49.39 s
[cursor-gen] genValid :: Gen (SwapResult Bool)
49.39 s
[cursor-gen] only generates valid '(SwapResult Bool)'s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] shrinkValid :: (SwapResult Bool -> [SwapResult Bool])
49.39 s
[cursor-gen] preserves validity for the first 10 elements [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] Eq (PromoteElemResult Bool)
49.39 s
[cursor-gen] (==) :: (PromoteElemResult Bool) -> (PromoteElemResult Bool) -> Bool
49.39 s
[cursor-gen] is reflexive for "valid (PromoteElemResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is symmetric for "valid (PromoteElemResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is transitive for "valid (PromoteElemResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (PromoteElemResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] (/=) :: (PromoteElemResult Bool) -> (PromoteElemResult Bool) -> Bool
49.39 s
[cursor-gen] is antireflexive for "valid (PromoteElemResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (PromoteElemResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] GenValid (PromoteElemResult Bool)
49.39 s
[cursor-gen] genValid :: Gen (PromoteElemResult Bool)
49.39 s
[cursor-gen] only generates valid '(PromoteElemResult Bool)'s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] shrinkValid :: (PromoteElemResult Bool -> [PromoteElemResult Bool])
49.39 s
[cursor-gen] preserves validity for the first 10 elements [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] Eq (PromoteResult Bool)
49.39 s
[cursor-gen] (==) :: (PromoteResult Bool) -> (PromoteResult Bool) -> Bool
49.39 s
[cursor-gen] is reflexive for "valid (PromoteResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is symmetric for "valid (PromoteResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is transitive for "valid (PromoteResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (PromoteResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] (/=) :: (PromoteResult Bool) -> (PromoteResult Bool) -> Bool
49.39 s
[cursor-gen] is antireflexive for "valid (PromoteResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (PromoteResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] GenValid (PromoteResult Bool)
49.39 s
[cursor-gen] genValid :: Gen (PromoteResult Bool)
49.39 s
[cursor-gen] only generates valid '(PromoteResult Bool)'s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] shrinkValid :: (PromoteResult Bool -> [PromoteResult Bool])
49.39 s
[cursor-gen] preserves validity for the first 10 elements [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] Eq (DemoteResult Bool)
49.39 s
[cursor-gen] (==) :: (DemoteResult Bool) -> (DemoteResult Bool) -> Bool
49.39 s
[cursor-gen] is reflexive for "valid (DemoteResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is symmetric for "valid (DemoteResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is transitive for "valid (DemoteResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (DemoteResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] (/=) :: (DemoteResult Bool) -> (DemoteResult Bool) -> Bool
49.39 s
[cursor-gen] is antireflexive for "valid (DemoteResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (DemoteResult Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] GenValid (DemoteResult Bool)
49.39 s
[cursor-gen] genValid :: Gen (DemoteResult Bool)
49.39 s
[cursor-gen] only generates valid '(DemoteResult Bool)'s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] shrinkValid :: (DemoteResult Bool -> [DemoteResult Bool])
49.39 s
[cursor-gen] preserves validity for the first 10 elements [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] Eq (CTree Bool)
49.39 s
[cursor-gen] (==) :: (CTree Bool) -> (CTree Bool) -> Bool
49.39 s
[cursor-gen] is reflexive for "valid (CTree Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is symmetric for "valid (CTree Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is transitive for "valid (CTree Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (CTree Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] (/=) :: (CTree Bool) -> (CTree Bool) -> Bool
49.39 s
[cursor-gen] is antireflexive for "valid (CTree Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (CTree Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] GenValid (CTree Bool)
49.39 s
[cursor-gen] genValid :: Gen (CTree Bool)
49.39 s
[cursor-gen] only generates valid '(CTree Bool)'s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] shrinkValid :: (CTree Bool -> [CTree Bool])
49.39 s
[cursor-gen] preserves validity for the first 10 elements [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] Eq (CForest Bool)
49.39 s
[cursor-gen] (==) :: (CForest Bool) -> (CForest Bool) -> Bool
49.39 s
[cursor-gen] is reflexive for "valid (CForest Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is symmetric for "valid (CForest Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is transitive for "valid (CForest Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (CForest Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] (/=) :: (CForest Bool) -> (CForest Bool) -> Bool
49.39 s
[cursor-gen] is antireflexive for "valid (CForest Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (CForest Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] GenValid (CForest Bool)
49.39 s
[cursor-gen] genValid :: Gen (CForest Bool)
49.39 s
[cursor-gen] only generates valid '(CForest Bool)'s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] shrinkValid :: (CForest Bool -> [CForest Bool])
49.39 s
[cursor-gen] preserves validity for the first 10 elements [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] Eq (TreeAbove Bool)
49.39 s
[cursor-gen] (==) :: (TreeAbove Bool) -> (TreeAbove Bool) -> Bool
49.39 s
[cursor-gen] is reflexive for "valid (TreeAbove Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is symmetric for "valid (TreeAbove Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is transitive for "valid (TreeAbove Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (TreeAbove Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] (/=) :: (TreeAbove Bool) -> (TreeAbove Bool) -> Bool
49.39 s
[cursor-gen] is antireflexive for "valid (TreeAbove Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (TreeAbove Bool)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] GenValid (TreeAbove Bool)
49.39 s
[cursor-gen] genValid :: Gen (TreeAbove Bool)
49.39 s
[cursor-gen] only generates valid '(TreeAbove Bool)'s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] shrinkValid :: (TreeAbove Bool -> [TreeAbove Bool])
49.39 s
[cursor-gen] preserves validity for the first 10 elements [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] treeAboveLeftsL
49.39 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] satisfies the second lens law for valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] gets valid values from valid values values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] treeAboveAboveL
49.39 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] satisfies the second lens law for valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] gets valid values from valid values values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] treeAboveNodeL
49.39 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] satisfies the second lens law for valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] gets valid values from valid values values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] treeAboveRightsL
49.39 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] satisfies the second lens law for valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] gets valid values from valid values values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] Eq (TreeCursor Bool Word)
49.39 s
[cursor-gen] (==) :: (TreeCursor Bool Word) -> (TreeCursor Bool Word) -> Bool
49.39 s
[cursor-gen] is reflexive for "valid (TreeCursor Bool Word)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is symmetric for "valid (TreeCursor Bool Word)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is transitive for "valid (TreeCursor Bool Word)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (TreeCursor Bool Word)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] (/=) :: (TreeCursor Bool Word) -> (TreeCursor Bool Word) -> Bool
49.39 s
[cursor-gen] is antireflexive for "valid (TreeCursor Bool Word)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (TreeCursor Bool Word)"s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] GenValid (TreeCursor Bool Bool)
49.39 s
[cursor-gen] genValid :: Gen (TreeCursor Bool Bool)
49.39 s
[cursor-gen] only generates valid '(TreeCursor Bool Bool)'s [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] shrinkValid :: (TreeCursor Word Bool -> [TreeCursor Word Bool])
49.39 s
[cursor-gen] preserves validity for the first 10 elements [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] treeCursorAboveL
49.39 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] satisfies the second lens law for valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] gets valid values from valid values values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] treeCursorCurrentL
49.39 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] satisfies the second lens law for valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] gets valid values from valid values values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] treeCursorBelowL
49.39 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] satisfies the second lens law for valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] gets valid values from valid values values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] treeCursorCurrentSubTreeL
49.39 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] satisfies the second lens law for valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] gets valid values from valid values values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
49.39 s
[cursor-gen] +++ OK, passed 100 tests.
49.39 s
[cursor-gen]
49.39 s
[cursor-gen] Finished in 3.9362 seconds
49.39 s
[cursor-gen] 881 examples, 0 failures, 173 pending
49.39 s
[cursor-gen] Test suite cursor-test: PASS
49.39 s
[cursor-gen] Test suite logged to: dist/test/cursor-gen-0.4.0.0-cursor-test.log
49.39 s
[cursor-gen] 1 of 1 test suites (1 of 1 test cases) passed.
49.39 s
[cursor-gen] Phase: haddockPhase
49.39 s
[cursor-gen] Preprocessing library for cursor-gen-0.4.0.0..
49.39 s
[cursor-gen] Running Haddock on library for cursor-gen-0.4.0.0..
49.44 s
[cursor-gen] Warning: --source-* options are ignored when --hyperlinked-source is enabled.
49.64 s
[cursor-gen] 0% ( 0 / 3) in 'Cursor.List.Gen'
49.64 s
[cursor-gen] Missing documentation for:
49.64 s
[cursor-gen] Module header
49.64 s
[cursor-gen] listCursorWithGen (src/Cursor/List/Gen.hs:24)
49.64 s
[cursor-gen] listCursorWithIndex0 (src/Cursor/List/Gen.hs:27)
49.66 s
[cursor-gen] 0% ( 0 / 5) in 'Cursor.List.NonEmpty.Gen'
49.66 s
[cursor-gen] Missing documentation for:
49.66 s
[cursor-gen] Module header
49.66 s
[cursor-gen] genNonEmptyCursorBy (src/Cursor/List/NonEmpty/Gen.hs:23)
49.66 s
[cursor-gen] nonEmptyElemOf (src/Cursor/List/NonEmpty/Gen.hs:37)
49.66 s
[cursor-gen] nonEmptyWithIndex0 (src/Cursor/List/NonEmpty/Gen.hs:40)
49.66 s
[cursor-gen] nonEmptyWith (src/Cursor/List/NonEmpty/Gen.hs:43)
49.67 s
[cursor-gen] 0% ( 0 / 3) in 'Cursor.Map.KeyValue.Gen'
49.67 s
[cursor-gen] Missing documentation for:
49.67 s
[cursor-gen] Module header
49.67 s
[cursor-gen] genKeyValueCursorBy (src/Cursor/Map/KeyValue/Gen.hs:22)
49.67 s
[cursor-gen] genKeyValueCursorByDependent (src/Cursor/Map/KeyValue/Gen.hs:26)
49.68 s
[cursor-gen] 0% ( 0 / 3) in 'Cursor.Map.Gen'
49.68 s
[cursor-gen] Missing documentation for:
49.68 s
[cursor-gen] Module header
49.68 s
[cursor-gen] genMapCursorBy (src/Cursor/Map/Gen.hs:20)
49.68 s
[cursor-gen] genMapCursorByDependent (src/Cursor/Map/Gen.hs:25)
49.68 s
[cursor-gen] 0% ( 0 / 4) in 'Cursor.Simple.List.NonEmpty.Gen'
49.68 s
[cursor-gen] Missing documentation for:
49.68 s
[cursor-gen] Module header
49.68 s
[cursor-gen] nonEmptyElemOf (src/Cursor/Simple/List/NonEmpty/Gen.hs:12)
49.68 s
[cursor-gen] nonEmptyWithIndex0 (src/Cursor/Simple/List/NonEmpty/Gen.hs:15)
49.68 s
[cursor-gen] nonEmptyWith (src/Cursor/Simple/List/NonEmpty/Gen.hs:18)
49.68 s
[cursor-gen] 0% ( 0 / 1) in 'Cursor.Simple.Map.Gen'
49.68 s
[cursor-gen] Missing documentation for:
49.68 s
[cursor-gen] Module header
49.68 s
[cursor-gen] 0% ( 0 / 1) in 'Cursor.Simple.Map.KeyValue.Gen'
49.68 s
[cursor-gen] Missing documentation for:
49.68 s
[cursor-gen] Module header
49.69 s
[cursor-gen] 0% ( 0 / 7) in 'Cursor.Text.Gen'
49.69 s
[cursor-gen] Missing documentation for:
49.69 s
[cursor-gen] Module header
49.69 s
[cursor-gen] genSafeChar (src/Cursor/Text/Gen.hs:26)
49.69 s
[cursor-gen] genTextCursorChar (src/Cursor/Text/Gen.hs:32)
49.69 s
[cursor-gen] textCursorSentenceGen (src/Cursor/Text/Gen.hs:41)
49.69 s
[cursor-gen] textCursorWithGen (src/Cursor/Text/Gen.hs:35)
49.69 s
[cursor-gen] textCursorWithIndex0 (src/Cursor/Text/Gen.hs:38)
49.69 s
[cursor-gen] shrinkSentence (src/Cursor/Text/Gen.hs:47)
49.70 s
[cursor-gen] 0% ( 0 / 1) in 'Cursor.TextField.Gen'
49.70 s
[cursor-gen] Missing documentation for:
49.70 s
[cursor-gen] Module header
49.71 s
[cursor-gen] 0% ( 0 / 1) in 'Cursor.Tree.Gen'
49.71 s
[cursor-gen] Missing documentation for:
49.71 s
[cursor-gen] Module header
49.73 s
[cursor-gen] 0% ( 0 / 1) in 'Cursor.Simple.Tree.Gen'
49.73 s
[cursor-gen] Missing documentation for:
49.73 s
[cursor-gen] Module header
49.73 s
[cursor-gen] 0% ( 0 / 1) in 'Cursor.Forest.Gen'
49.73 s
[cursor-gen] Missing documentation for:
49.73 s
[cursor-gen] Module header
49.73 s
[cursor-gen] 0% ( 0 / 1) in 'Cursor.Simple.Forest.Gen'
49.73 s
[cursor-gen] Missing documentation for:
49.73 s
[cursor-gen] Module header
52.00 s
[cursor-gen] Documentation created: dist/doc/html/cursor-gen/,
52.00 s
[cursor-gen] dist/doc/html/cursor-gen/cursor-gen.txt
52.05 s
[cursor-gen] Preprocessing test suite 'cursor-test' for cursor-gen-0.4.0.0..
52.06 s
[cursor-gen] Phase: installPhase
52.11 s
[cursor-gen] Installing library in /nix/store/qm6mn50xy627i844lq8h5alpz26w8c99-cursor-gen-0.4.0.0/lib/ghc-9.6.5/lib/x86_64-linux-ghc-9.6.5/cursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5
52.43 s
[cursor-gen] Phase: fixupPhase
52.45 s
[cursor-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/qm6mn50xy627i844lq8h5alpz26w8c99-cursor-gen-0.4.0.0
52.46 s
[cursor-gen] shrinking /nix/store/qm6mn50xy627i844lq8h5alpz26w8c99-cursor-gen-0.4.0.0/lib/ghc-9.6.5/lib/x86_64-linux-ghc-9.6.5/libHScursor-gen-0.4.0.0-CDLiz7GCawTEocNcfHpwE5-ghc9.6.5.so
52.50 s
[cursor-gen] checking for references to /build/ in /nix/store/qm6mn50xy627i844lq8h5alpz26w8c99-cursor-gen-0.4.0.0...
52.50 s
[cursor-gen] patching script interpreter paths in /nix/store/qm6mn50xy627i844lq8h5alpz26w8c99-cursor-gen-0.4.0.0
52.50 s
[cursor-gen] stripping (with command strip and flags -S -p) in /nix/store/qm6mn50xy627i844lq8h5alpz26w8c99-cursor-gen-0.4.0.0/lib
52.57 s
[cursor-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/mnc996djbqh3wmhc3gkjmn25d6v5s8ah-cursor-gen-0.4.0.0-doc
52.58 s
[cursor-gen] checking for references to /build/ in /nix/store/mnc996djbqh3wmhc3gkjmn25d6v5s8ah-cursor-gen-0.4.0.0-doc...
52.59 s
[cursor-gen] patching script interpreter paths in /nix/store/mnc996djbqh3wmhc3gkjmn25d6v5s8ah-cursor-gen-0.4.0.0-doc
52.64 s
[post-build-hook] Uploading to cachix cache "cursor": /nix/store/mnc996djbqh3wmhc3gkjmn25d6v5s8ah-cursor-gen-0.4.0.0-doc /nix/store/qm6mn50xy627i844lq8h5alpz26w8c99-cursor-gen-0.4.0.0
53.07 s
[post-build-hook] Pushing 2 paths (85 are already present) using zstd to cache cursor ⏳
53.07 s
[post-build-hook]
53.46 s
[post-build-hook] Pushing /nix/store/mnc996djbqh3wmhc3gkjmn25d6v5s8ah-cursor-gen-0.4.0.0-doc (489.75 KiB)
53.47 s
[post-build-hook] Pushing /nix/store/qm6mn50xy627i844lq8h5alpz26w8c99-cursor-gen-0.4.0.0 (2.23 MiB)
54.85 s
[post-build-hook]
54.91 s
[post-build-hook] All done.
54.91 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/mnc996djbqh3wmhc3gkjmn25d6v5s8ah-cursor-gen-0.4.0.0-doc /nix/store/qm6mn50xy627i844lq8h5alpz26w8c99-cursor-gen-0.4.0.0
55.56 s
[post-build-hook] copying 2 paths...
55.56 s
[post-build-hook] copying path '/nix/store/mnc996djbqh3wmhc3gkjmn25d6v5s8ah-cursor-gen-0.4.0.0-doc' to 'https://cache.staging.nix-ci.com'...
56.41 s
[post-build-hook] copying path '/nix/store/qm6mn50xy627i844lq8h5alpz26w8c99-cursor-gen-0.4.0.0' to 'https://cache.staging.nix-ci.com'...
57.41 s
[post-build-hook] copying 1 paths...
57.41 s
[post-build-hook] copying path '/nix/store/9h1sgj21zb81f5qmxaql5banvjkc7d68-cursor-gen-0.4.0.0.drv' to 'https://cache.staging.nix-ci.com'...
61.22 s
Progress: 4 of 6 built, 19 of 19 downloaded from cache
61.32 s
Building cursor-release
61.35 s
[cursor-release] /nix/store/qm6mn50xy627i844lq8h5alpz26w8c99-cursor-gen-0.4.0.0/nix-support:
61.37 s
[cursor-release] propagated-build-inputs: Keeping existing link to /nix/store/krb3zl4f99q4v3v15hxmwz2vrd8qj4y6-cursor-0.3.2.0/nix-support/propagated-build-inputs
61.38 s
[post-build-hook] Uploading to cachix cache "cursor": /nix/store/wsl2kzkrdn3r195jpsn9h7137npvk1vp-cursor-release
62.02 s
[post-build-hook] Pushing 1 paths (87 are already present) using zstd to cache cursor ⏳
62.02 s
[post-build-hook]
62.42 s
[post-build-hook] Pushing /nix/store/wsl2kzkrdn3r195jpsn9h7137npvk1vp-cursor-release (49.54 KiB)
63.77 s
[post-build-hook]
63.77 s
[post-build-hook] All done.
63.79 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/wsl2kzkrdn3r195jpsn9h7137npvk1vp-cursor-release
64.08 s
[post-build-hook] copying 1 paths...
64.08 s
[post-build-hook] copying path '/nix/store/wsl2kzkrdn3r195jpsn9h7137npvk1vp-cursor-release' to 'https://cache.staging.nix-ci.com'...
64.63 s
[post-build-hook] copying 1 paths...
64.63 s
[post-build-hook] copying path '/nix/store/zir8m0k63yf0ic2d408gkbk6abyvjm8j-cursor-release.drv' to 'https://cache.staging.nix-ci.com'...
64.96 s
Progress: 5 of 6 built, 19 of 19 downloaded from cache