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#packages.x86_64-linux.default --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.85 s
Downloading cached microlens-0.4.13.1-doc from https://cache.staging.nix-ci.com
1.85 s
Downloading cached validity-0.12.1.0-doc from https://cache.staging.nix-ci.com
2.03 s
Progress: 0 of 14 built, 1 of 20 downloaded from cache (1 downloading)
2.03 s
Downloading cached genvalidity-1.1.1.0-doc from https://cache.staging.nix-ci.com
2.03 s
Downloading cached validity from https://cache.staging.nix-ci.com
2.03 s
Downloading cached validity-containers-0.5.0.5-doc from https://cache.staging.nix-ci.com
2.03 s
Downloading cached validity-text-0.3.1.3-doc from https://cache.staging.nix-ci.com
2.17 s
Progress: 0 of 14 built, 2 of 20 downloaded from cache (4 downloading)
2.17 s
Downloading cached genvalidity-property-1.0.0.0-doc from https://cache.staging.nix-ci.com
2.18 s
Progress: 0 of 14 built, 3 of 20 downloaded from cache (4 downloading)
2.18 s
Downloading cached genvalidity-text-1.0.0.1-doc from https://cache.staging.nix-ci.com
2.18 s
Progress: 0 of 14 built, 4 of 20 downloaded from cache (4 downloading)
2.18 s
Downloading cached genvalidity from https://cache.staging.nix-ci.com
2.18 s
Downloading cached validity-text from https://cache.staging.nix-ci.com
2.19 s
Progress: 0 of 13 built, 5 of 20 downloaded from cache (5 downloading)
2.19 s
Downloading cached validity-containers from https://cache.staging.nix-ci.com
2.20 s
Progress: 0 of 13 built, 6 of 20 downloaded from cache (6 downloading)
2.20 s
Downloading cached microlens from https://cache.staging.nix-ci.com
2.22 s
Downloading cached genvalidity-containers-1.0.0.2-doc from https://cache.staging.nix-ci.com
2.33 s
Progress: 0 of 13 built, 7 of 20 downloaded from cache (6 downloading)
2.33 s
Downloading cached genvalidity-hspec-1.0.0.3-doc from https://cache.staging.nix-ci.com
2.33 s
Progress: 0 of 13 built, 8 of 20 downloaded from cache (6 downloading)
2.34 s
Progress: 0 of 13 built, 9 of 20 downloaded from cache (5 downloading)
2.34 s
Progress: 0 of 12 built, 10 of 20 downloaded from cache (4 downloading)
2.35 s
Downloading cached genvalidity-property from https://cache.staging.nix-ci.com
2.35 s
Progress: 0 of 11 built, 11 of 20 downloaded from cache (4 downloading)
2.35 s
Downloading cached genvalidity-text from https://cache.staging.nix-ci.com
2.38 s
Progress: 0 of 10 built, 12 of 20 downloaded from cache (4 downloading)
2.48 s
Building cursor-source
2.49 s
Progress: 0 of 9 built (1 building), 13 of 20 downloaded from cache (3 downloading)
2.49 s
Progress: 0 of 8 built (1 building), 14 of 20 downloaded from cache (2 downloading)
2.49 s
Downloading cached genvalidity-containers from https://cache.staging.nix-ci.com
2.55 s
[cursor-source] Phase: setupCompilerEnvironmentPhase
2.56 s
[cursor-source] Build with /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4.
2.61 s
Progress: 0 of 8 built (1 building), 15 of 20 downloaded from cache (2 downloading)
2.63 s
Progress: 0 of 8 built (1 building), 16 of 20 downloaded from cache (1 downloading)
2.63 s
Downloading cached genvalidity-hspec from https://cache.staging.nix-ci.com
2.63 s
Downloading cached genvalidity-hspec-optics-1.0.0.0-doc from https://cache.staging.nix-ci.com
2.68 s
[cursor-source] Phase: unpackPhase
2.70 s
[cursor-source] unpacking source archive /nix/store/qr40r9gasc3qyg92cxgyvj69jz7qw20y-cursor
2.71 s
[cursor-source] source root is cursor
2.72 s
[cursor-source] Phase: patchPhase
2.73 s
[cursor-source] Phase: compileBuildDriverPhase
2.73 s
[cursor-source] setupCompileFlags: -package-db=/build/tmp.iGYgwpUUoR/setup-package.conf.d -threaded
2.77 s
[cursor-source] [1 of 2] Compiling Main ( /nix/store/4mdp8nhyfddh7bllbi7xszz7k9955n79-Setup.hs, /build/tmp.iGYgwpUUoR/Main.o )
2.86 s
Progress: 0 of 8 built (1 building), 17 of 20 downloaded from cache (2 downloading)
2.86 s
Progress: 0 of 7 built (1 building), 18 of 20 downloaded from cache (1 downloading)
2.87 s
[cursor-source] [2 of 2] Linking Setup
2.90 s
Progress: 0 of 6 built (1 building), 19 of 20 downloaded from cache
2.90 s
Downloading cached genvalidity-hspec-optics from https://cache.staging.nix-ci.com
3.15 s
Progress: 0 of 6 built (1 building), 20 of 20 downloaded from cache
5.18 s
[cursor-source] Phase: updateAutotoolsGnuConfigScriptsPhase
5.21 s
[cursor-source] Phase: configurePhase
5.21 s
[cursor-source] configureFlags: --verbose --prefix=/nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-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.iGYgwpUUoR/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/vfmnmqsnfiiqmphy7ffh2zqynsxfck1q-ncurses-6.5/lib --extra-lib-dirs=/nix/store/90c412b9wqhfny300rg5s2gpsbrqb31q-libffi-3.4.8/lib --extra-lib-dirs=/nix/store/cly4pxh7avd579girjmpxmx8z6ad4dyp-elfutils-0.192/lib --extra-lib-dirs=/nix/store/kxhsmlrscry4pvbpwkbbbxsksmzg0gp0-gmp-with-cxx-6.3.0/lib
5.21 s
[cursor-source] Using Parsec parser
5.21 s
[cursor-source] Configuring cursor-0.3.2.0...
5.49 s
[cursor-source] Dependency base <5: using base-4.19.2.0
5.49 s
[cursor-source] Dependency containers: using containers-0.6.8
5.49 s
[cursor-source] Dependency deepseq: using deepseq-1.5.1.0
5.49 s
[cursor-source] Dependency microlens: using microlens-0.4.13.1
5.49 s
[cursor-source] Dependency text: using text-2.1.1
5.49 s
[cursor-source] Dependency validity >=0.8.0.0: using validity-0.12.1.0
5.49 s
[cursor-source] Dependency validity-containers: using validity-containers-0.5.0.5
5.49 s
[cursor-source] Dependency validity-text: using validity-text-0.3.1.3
5.77 s
[cursor-source] Source component graph: component lib
5.77 s
[cursor-source] Configured component graph:
5.77 s
[cursor-source] component cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
5.77 s
[cursor-source] include base-4.19.2.0-213b
5.77 s
[cursor-source] include containers-0.6.8-70da
5.77 s
[cursor-source] include deepseq-1.5.1.0-ab54
5.77 s
[cursor-source] include microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
5.77 s
[cursor-source] include text-2.1.1-c123
5.77 s
[cursor-source] include validity-0.12.1.0-C4bu9lmZPhu6zrTwSYXzE4
5.77 s
[cursor-source] include validity-containers-0.5.0.5-EHJfxKEKAxwCXWp7uDLxXW
5.77 s
[cursor-source] include validity-text-0.3.1.3-4Jb7tJDfhGjGxhEForbpzC
5.77 s
[cursor-source] Linked component graph:
5.77 s
[cursor-source] unit cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
5.77 s
[cursor-source] include base-4.19.2.0-213b
5.77 s
[cursor-source] include containers-0.6.8-70da
5.77 s
[cursor-source] include deepseq-1.5.1.0-ab54
5.77 s
[cursor-source] include microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
5.78 s
[cursor-source] include text-2.1.1-c123
5.78 s
[cursor-source] include validity-0.12.1.0-C4bu9lmZPhu6zrTwSYXzE4
5.78 s
[cursor-source] include validity-containers-0.5.0.5-EHJfxKEKAxwCXWp7uDLxXW
5.78 s
[cursor-source] include validity-text-0.3.1.3-4Jb7tJDfhGjGxhEForbpzC
5.78 s
[cursor-source] Cursor.Forest=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Forest,Cursor.List=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.List,Cursor.List.NonEmpty=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.List.NonEmpty,Cursor.Map=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Map,Cursor.Map.KeyValue=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Map.KeyValue,Cursor.Simple.Forest=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Simple.Forest,Cursor.Simple.List.NonEmpty=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Simple.List.NonEmpty,Cursor.Simple.Map=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Simple.Map,Cursor.Simple.Map.KeyValue=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Simple.Map.KeyValue,Cursor.Simple.Tree=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Simple.Tree,Cursor.Text=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Text,Cursor.TextField=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.TextField,Cursor.Tree=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree,Cursor.Tree.Base=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Base,Cursor.Tree.Collapse=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Collapse,Cursor.Tree.Delete=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Delete,Cursor.Tree.Demote=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Demote,Cursor.Tree.Draw=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Draw,Cursor.Tree.Insert=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Insert,Cursor.Tree.Movement=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Movement,Cursor.Tree.Promote=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Promote,Cursor.Tree.Swap=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Swap,Cursor.Tree.Types=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Types,Cursor.Types=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Types
5.78 s
[cursor-source] Ready component graph:
5.78 s
[cursor-source] definite cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
5.78 s
[cursor-source] depends base-4.19.2.0-213b
5.78 s
[cursor-source] depends containers-0.6.8-70da
5.78 s
[cursor-source] depends deepseq-1.5.1.0-ab54
5.78 s
[cursor-source] depends microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
5.78 s
[cursor-source] depends text-2.1.1-c123
5.78 s
[cursor-source] depends validity-0.12.1.0-C4bu9lmZPhu6zrTwSYXzE4
5.78 s
[cursor-source] depends validity-containers-0.5.0.5-EHJfxKEKAxwCXWp7uDLxXW
5.78 s
[cursor-source] depends validity-text-0.3.1.3-4Jb7tJDfhGjGxhEForbpzC
5.78 s
[cursor-source] Using Cabal-3.10.3.0 compiled by ghc-9.8
5.78 s
[cursor-source] Using compiler: ghc-9.8.4
5.78 s
[cursor-source] Using install prefix:
5.78 s
[cursor-source] /nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0
5.78 s
[cursor-source] Executables installed in:
5.78 s
[cursor-source] /nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0/bin
5.78 s
[cursor-source] Libraries installed in:
5.78 s
[cursor-source] /nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
5.78 s
[cursor-source] Dynamic Libraries installed in:
5.78 s
[cursor-source] /nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4
5.78 s
[cursor-source] Private executables installed in:
5.78 s
[cursor-source] /nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0/libexec/x86_64-linux-ghc-9.8.4/cursor-0.3.2.0
5.78 s
[cursor-source] Data files installed in:
5.78 s
[cursor-source] /nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0/share/x86_64-linux-ghc-9.8.4/cursor-0.3.2.0
5.78 s
[cursor-source] Documentation installed in: /share/doc/cursor-0.3.2.0
5.78 s
[cursor-source] Configuration files installed in:
5.78 s
[cursor-source] /nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0/etc
5.78 s
[cursor-source] No alex found
5.78 s
[cursor-source] Using ar found on system at:
5.78 s
[cursor-source] /nix/store/hhfm5fkvb1alg1np5a69m2qlcjqhr062-binutils-wrapper-2.44/bin/ar
5.78 s
[cursor-source] No c2hs found
5.78 s
[cursor-source] No cpphs found
5.78 s
[cursor-source] No doctest found
5.78 s
[cursor-source] Using gcc version 14.2.1 given by user at:
5.78 s
[cursor-source] /nix/store/0fsnicvfpf55nkza12cjnad0w84d6ba7-gcc-wrapper-14.2.1.20250322/bin/gcc
5.78 s
[cursor-source] Using ghc version 9.8.4 found on system at:
5.78 s
[cursor-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/ghc
5.78 s
[cursor-source] Using ghc-pkg version 9.8.4 found on system at:
5.78 s
[cursor-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/ghc-pkg-9.8.4
5.78 s
[cursor-source] No ghcjs found
5.78 s
[cursor-source] No ghcjs-pkg found
5.78 s
[cursor-source] No greencard found
5.78 s
[cursor-source] Using haddock version 2.30.0 found on system at:
5.78 s
[cursor-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/haddock-ghc-9.8.4
5.78 s
[cursor-source] No happy found
5.78 s
[cursor-source] Using haskell-suite found on system at: haskell-suite-dummy-location
5.78 s
[cursor-source] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
5.78 s
[cursor-source] No hmake found
5.78 s
[cursor-source] Using hpc version 0.69 found on system at:
5.78 s
[cursor-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/hpc-ghc-9.8.4
5.78 s
[cursor-source] Using hsc2hs version 0.68.10 found on system at:
5.78 s
[cursor-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/hsc2hs-ghc-9.8.4
5.78 s
[cursor-source] Using hscolour version 1.25 found on system at:
5.78 s
[cursor-source] /nix/store/73cxm2im955zxgj14s66rfk0yjqlcapx-hscolour-1.25/bin/HsColour
5.78 s
[cursor-source] No jhc found
5.78 s
[cursor-source] Using ld found on system at:
5.78 s
[cursor-source] /nix/store/hhfm5fkvb1alg1np5a69m2qlcjqhr062-binutils-wrapper-2.44/bin/ld.gold
5.78 s
[cursor-source] No pkg-config found
5.78 s
[cursor-source] Using runghc version 9.8.4 found on system at:
5.78 s
[cursor-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/runghc-9.8.4
5.78 s
[cursor-source] Using strip version 2.44 found on system at:
5.78 s
[cursor-source] /nix/store/0fsnicvfpf55nkza12cjnad0w84d6ba7-gcc-wrapper-14.2.1.20250322/bin/strip
5.78 s
[cursor-source] Using tar found on system at:
5.78 s
[cursor-source] /nix/store/wrxvqj822kz8746608lgns7h8mkpn79f-gnutar-1.35/bin/tar
5.78 s
[cursor-source] No uhc found
5.86 s
[cursor-source] Phase: buildPhase
5.87 s
[cursor-source] Building source dist for cursor-0.3.2.0...
5.89 s
[cursor-source] Source tarball created: dist/cursor-0.3.2.0.tar.gz
5.89 s
[cursor-source] Phase: checkPhase
5.90 s
[cursor-source] Phase: haddockPhase
5.90 s
[cursor-source] Phase: installPhase
5.91 s
[cursor-source] Phase: fixupPhase
6.03 s
[post-build-hook] Uploading to cachix cache "cursor": /nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0
6.39 s
[post-build-hook] Pushing 1 paths (0 are already present) using zstd to cache cursor ⏳
6.39 s
[post-build-hook]
6.79 s
[post-build-hook] Pushing /nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0 (23.73 KiB)
7.87 s
[post-build-hook]
7.87 s
[post-build-hook] All done.
7.88 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0
7.94 s
[post-build-hook] copying 1 paths...
7.94 s
[post-build-hook] copying path '/nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0' to 'https://cache.staging.nix-ci.com'...
8.48 s
[post-build-hook] copying 1 paths...
8.48 s
[post-build-hook] copying path '/nix/store/rgwpp87hpndya6dq2sh5sr383f4gj484-cursor-source-0.3.2.0.drv' to 'https://cache.staging.nix-ci.com'...
8.69 s
Progress: 1 of 6 built, 20 of 20 downloaded from cache
8.74 s
Building cursor
8.81 s
[cursor] Phase: setupCompilerEnvironmentPhase
8.81 s
[cursor] Build with /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4.
8.93 s
[cursor] Phase: unpackPhase
8.93 s
[cursor] unpacking source archive /nix/store/1cflgvhlxcraq9qsknz0gij6zpqpf97z-cursor-source-0.3.2.0/cursor-0.3.2.0.tar.gz
8.94 s
[cursor] source root is cursor-0.3.2.0
8.94 s
[cursor] setting SOURCE_DATE_EPOCH to timestamp 1780346359 of file "cursor-0.3.2.0/src/Cursor/Types.hs"
8.94 s
[cursor] warning: file "cursor-0.3.2.0/src/Cursor/Types.hs" may be generated; SOURCE_DATE_EPOCH may be non-deterministic
8.95 s
[cursor] Phase: patchPhase
8.95 s
[cursor] Phase: compileBuildDriverPhase
8.96 s
[cursor] setupCompileFlags: -package-db=/build/tmp.3xNRVVZvlN/setup-package.conf.d -threaded
8.99 s
[cursor] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.3xNRVVZvlN/Main.o )
9.06 s
[cursor] [2 of 2] Linking Setup
10.11 s
[cursor] Phase: updateAutotoolsGnuConfigScriptsPhase
10.12 s
[cursor] Phase: configurePhase
10.12 s
[cursor] configureFlags: --verbose --prefix=/nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/xg83bjfz06isfdmm0iqfb2xpjzp7m5q0-cursor-0.3.2.0-doc/share/doc/cursor-0.3.2.0 --with-gcc=gcc --package-db=/build/tmp.3xNRVVZvlN/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/vfmnmqsnfiiqmphy7ffh2zqynsxfck1q-ncurses-6.5/lib --extra-lib-dirs=/nix/store/90c412b9wqhfny300rg5s2gpsbrqb31q-libffi-3.4.8/lib --extra-lib-dirs=/nix/store/cly4pxh7avd579girjmpxmx8z6ad4dyp-elfutils-0.192/lib --extra-lib-dirs=/nix/store/kxhsmlrscry4pvbpwkbbbxsksmzg0gp0-gmp-with-cxx-6.3.0/lib
10.13 s
[cursor] Using Parsec parser
10.13 s
[cursor] Configuring cursor-0.3.2.0...
10.40 s
[cursor] Dependency base <5: using base-4.19.2.0
10.40 s
[cursor] Dependency containers: using containers-0.6.8
10.48 s
[cursor] Dependency deepseq: using deepseq-1.5.1.0
10.48 s
[cursor] Dependency microlens: using microlens-0.4.13.1
10.48 s
[cursor] Dependency text: using text-2.1.1
10.48 s
[cursor] Dependency validity >=0.8.0.0: using validity-0.12.1.0
10.48 s
[cursor] Dependency validity-containers: using validity-containers-0.5.0.5
10.48 s
[cursor] Dependency validity-text: using validity-text-0.3.1.3
10.59 s
[cursor] Source component graph: component lib
10.59 s
[cursor] Configured component graph:
10.59 s
[cursor] component cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
10.59 s
[cursor] include base-4.19.2.0-213b
10.59 s
[cursor] include containers-0.6.8-70da
10.59 s
[cursor] include deepseq-1.5.1.0-ab54
10.59 s
[cursor] include microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
10.59 s
[cursor] include text-2.1.1-c123
10.59 s
[cursor] include validity-0.12.1.0-C4bu9lmZPhu6zrTwSYXzE4
10.59 s
[cursor] include validity-containers-0.5.0.5-EHJfxKEKAxwCXWp7uDLxXW
10.59 s
[cursor] include validity-text-0.3.1.3-4Jb7tJDfhGjGxhEForbpzC
10.59 s
[cursor] Linked component graph:
10.59 s
[cursor] unit cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
10.59 s
[cursor] include base-4.19.2.0-213b
10.59 s
[cursor] include containers-0.6.8-70da
10.59 s
[cursor] include deepseq-1.5.1.0-ab54
10.59 s
[cursor] include microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
10.59 s
[cursor] include text-2.1.1-c123
10.59 s
[cursor] include validity-0.12.1.0-C4bu9lmZPhu6zrTwSYXzE4
10.59 s
[cursor] include validity-containers-0.5.0.5-EHJfxKEKAxwCXWp7uDLxXW
10.60 s
[cursor] include validity-text-0.3.1.3-4Jb7tJDfhGjGxhEForbpzC
10.60 s
[cursor] Cursor.Forest=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Forest,Cursor.List=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.List,Cursor.List.NonEmpty=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.List.NonEmpty,Cursor.Map=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Map,Cursor.Map.KeyValue=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Map.KeyValue,Cursor.Simple.Forest=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Simple.Forest,Cursor.Simple.List.NonEmpty=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Simple.List.NonEmpty,Cursor.Simple.Map=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Simple.Map,Cursor.Simple.Map.KeyValue=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Simple.Map.KeyValue,Cursor.Simple.Tree=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Simple.Tree,Cursor.Text=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Text,Cursor.TextField=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.TextField,Cursor.Tree=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree,Cursor.Tree.Base=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Base,Cursor.Tree.Collapse=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Collapse,Cursor.Tree.Delete=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Delete,Cursor.Tree.Demote=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Demote,Cursor.Tree.Draw=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Draw,Cursor.Tree.Insert=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Insert,Cursor.Tree.Movement=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Movement,Cursor.Tree.Promote=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Promote,Cursor.Tree.Swap=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Swap,Cursor.Tree.Types=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Tree.Types,Cursor.Types=cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl:Cursor.Types
10.60 s
[cursor] Ready component graph:
10.60 s
[cursor] definite cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
10.60 s
[cursor] depends base-4.19.2.0-213b
10.60 s
[cursor] depends containers-0.6.8-70da
10.60 s
[cursor] depends deepseq-1.5.1.0-ab54
10.60 s
[cursor] depends microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
10.60 s
[cursor] depends text-2.1.1-c123
10.60 s
[cursor] depends validity-0.12.1.0-C4bu9lmZPhu6zrTwSYXzE4
10.60 s
[cursor] depends validity-containers-0.5.0.5-EHJfxKEKAxwCXWp7uDLxXW
10.60 s
[cursor] depends validity-text-0.3.1.3-4Jb7tJDfhGjGxhEForbpzC
10.60 s
[cursor] Using Cabal-3.10.3.0 compiled by ghc-9.8
10.60 s
[cursor] Using compiler: ghc-9.8.4
10.60 s
[cursor] Using install prefix:
10.60 s
[cursor] /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0
10.60 s
[cursor] Executables installed in:
10.60 s
[cursor] /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0/bin
10.60 s
[cursor] Libraries installed in:
10.60 s
[cursor] /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
10.60 s
[cursor] Dynamic Libraries installed in:
10.60 s
[cursor] /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4
10.60 s
[cursor] Private executables installed in:
10.60 s
[cursor] /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0/libexec/x86_64-linux-ghc-9.8.4/cursor-0.3.2.0
10.60 s
[cursor] Data files installed in:
10.60 s
[cursor] /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0/share/x86_64-linux-ghc-9.8.4/cursor-0.3.2.0
10.60 s
[cursor] Documentation installed in:
10.60 s
[cursor] /nix/store/xg83bjfz06isfdmm0iqfb2xpjzp7m5q0-cursor-0.3.2.0-doc/share/doc/cursor-0.3.2.0
10.60 s
[cursor] Configuration files installed in:
10.60 s
[cursor] /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0/etc
10.60 s
[cursor] No alex found
10.60 s
[cursor] Using ar found on system at:
10.60 s
[cursor] /nix/store/hhfm5fkvb1alg1np5a69m2qlcjqhr062-binutils-wrapper-2.44/bin/ar
10.60 s
[cursor] No c2hs found
10.60 s
[cursor] No cpphs found
10.60 s
[cursor] No doctest found
10.60 s
[cursor] Using gcc version 14.2.1 given by user at:
10.60 s
[cursor] /nix/store/0fsnicvfpf55nkza12cjnad0w84d6ba7-gcc-wrapper-14.2.1.20250322/bin/gcc
10.60 s
[cursor] Using ghc version 9.8.4 found on system at:
10.60 s
[cursor] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/ghc
10.60 s
[cursor] Using ghc-pkg version 9.8.4 found on system at:
10.60 s
[cursor] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/ghc-pkg-9.8.4
10.60 s
[cursor] No ghcjs found
10.60 s
[cursor] No ghcjs-pkg found
10.60 s
[cursor] No greencard found
10.60 s
[cursor] Using haddock version 2.30.0 found on system at:
10.60 s
[cursor] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/haddock-ghc-9.8.4
10.60 s
[cursor] No happy found
10.60 s
[cursor] Using haskell-suite found on system at: haskell-suite-dummy-location
10.60 s
[cursor] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
10.60 s
[cursor] No hmake found
10.60 s
[cursor] Using hpc version 0.69 found on system at:
10.60 s
[cursor] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/hpc-ghc-9.8.4
10.60 s
[cursor] Using hsc2hs version 0.68.10 found on system at:
10.60 s
[cursor] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/hsc2hs-ghc-9.8.4
10.60 s
[cursor] Using hscolour version 1.25 found on system at:
10.60 s
[cursor] /nix/store/73cxm2im955zxgj14s66rfk0yjqlcapx-hscolour-1.25/bin/HsColour
10.60 s
[cursor] No jhc found
10.60 s
[cursor] Using ld found on system at:
10.60 s
[cursor] /nix/store/hhfm5fkvb1alg1np5a69m2qlcjqhr062-binutils-wrapper-2.44/bin/ld.gold
10.60 s
[cursor] No pkg-config found
10.60 s
[cursor] Using runghc version 9.8.4 found on system at:
10.60 s
[cursor] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/runghc-9.8.4
10.60 s
[cursor] Using strip version 2.44 found on system at:
10.60 s
[cursor] /nix/store/0fsnicvfpf55nkza12cjnad0w84d6ba7-gcc-wrapper-14.2.1.20250322/bin/strip
10.60 s
[cursor] Using tar found on system at:
10.60 s
[cursor] /nix/store/wrxvqj822kz8746608lgns7h8mkpn79f-gnutar-1.35/bin/tar
10.60 s
[cursor] No uhc found
10.68 s
[cursor] Phase: buildPhase
10.72 s
[cursor] Preprocessing library for cursor-0.3.2.0..
10.72 s
[cursor] Building library for cursor-0.3.2.0..
10.83 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 )
11.16 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 )
11.20 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.86 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.95 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 )
12.05 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 )
12.05 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 )
12.05 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 )
12.05 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 )
12.16 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 )
12.16 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 )
12.16 s
[cursor] [12 of 25] Compiling Cursor.Types ( src/Cursor/Types.hs, dist/build/Cursor/Types.o, dist/build/Cursor/Types.dyn_o )
12.16 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 )
12.16 s
[cursor] [14 of 25] Compiling Cursor.Tree ( src/Cursor/Tree.hs, dist/build/Cursor/Tree.o, dist/build/Cursor/Tree.dyn_o )
12.18 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 )
12.33 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 )
12.33 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 )
12.33 s
[cursor] [18 of 25] Compiling Cursor.Map ( src/Cursor/Map.hs, dist/build/Cursor/Map.o, dist/build/Cursor/Map.dyn_o )
12.33 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 )
12.33 s
[cursor] [20 of 25] Compiling Cursor.List ( src/Cursor/List.hs, dist/build/Cursor/List.o, dist/build/Cursor/List.dyn_o )
12.33 s
[cursor] [21 of 25] Compiling Cursor.Text ( src/Cursor/Text.hs, dist/build/Cursor/Text.o, dist/build/Cursor/Text.dyn_o )
12.33 s
[cursor] [22 of 25] Compiling Cursor.TextField ( src/Cursor/TextField.hs, dist/build/Cursor/TextField.o, dist/build/Cursor/TextField.dyn_o )
12.33 s
[cursor] [23 of 25] Compiling Cursor.Forest ( src/Cursor/Forest.hs, dist/build/Cursor/Forest.o, dist/build/Cursor/Forest.dyn_o )
12.86 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 )
13.05 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 )
13.28 s
[cursor] [ 1 of 25] Compiling Cursor.Map.KeyValue ( src/Cursor/Map/KeyValue.hs, dist/build/Cursor/Map/KeyValue.p_o )
13.68 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.82 s
[cursor] [ 3 of 25] Compiling Cursor.Tree.Types ( src/Cursor/Tree/Types.hs, dist/build/Cursor/Tree/Types.p_o )
14.36 s
[cursor] [ 4 of 25] Compiling Cursor.Tree.Swap ( src/Cursor/Tree/Swap.hs, dist/build/Cursor/Tree/Swap.p_o )
14.53 s
[cursor] [ 5 of 25] Compiling Cursor.Tree.Insert ( src/Cursor/Tree/Insert.hs, dist/build/Cursor/Tree/Insert.p_o )
14.61 s
[cursor] [ 6 of 25] Compiling Cursor.Tree.Draw ( src/Cursor/Tree/Draw.hs, dist/build/Cursor/Tree/Draw.p_o )
14.61 s
[cursor] [ 7 of 25] Compiling Cursor.Tree.Collapse ( src/Cursor/Tree/Collapse.hs, dist/build/Cursor/Tree/Collapse.p_o )
14.61 s
[cursor] [ 8 of 25] Compiling Cursor.Tree.Base ( src/Cursor/Tree/Base.hs, dist/build/Cursor/Tree/Base.p_o )
14.61 s
[cursor] [ 9 of 25] Compiling Cursor.Tree.Promote ( src/Cursor/Tree/Promote.hs, dist/build/Cursor/Tree/Promote.p_o )
14.80 s
[cursor] [10 of 25] Compiling Cursor.Tree.Movement ( src/Cursor/Tree/Movement.hs, dist/build/Cursor/Tree/Movement.p_o )
14.80 s
[cursor] [11 of 25] Compiling Cursor.Tree.Demote ( src/Cursor/Tree/Demote.hs, dist/build/Cursor/Tree/Demote.p_o )
14.80 s
[cursor] [12 of 25] Compiling Cursor.Types ( src/Cursor/Types.hs, dist/build/Cursor/Types.p_o )
14.80 s
[cursor] [13 of 25] Compiling Cursor.Tree.Delete ( src/Cursor/Tree/Delete.hs, dist/build/Cursor/Tree/Delete.p_o )
14.80 s
[cursor] [14 of 25] Compiling Cursor.Tree ( src/Cursor/Tree.hs, dist/build/Cursor/Tree.p_o )
14.90 s
[cursor] [15 of 25] Compiling Cursor.Simple.Tree ( src/Cursor/Simple/Tree.hs, dist/build/Cursor/Simple/Tree.p_o )
15.12 s
[cursor] [16 of 25] Compiling Cursor.List.NonEmpty ( src/Cursor/List/NonEmpty.hs, dist/build/Cursor/List/NonEmpty.p_o )
15.12 s
[cursor] [17 of 25] Compiling Cursor.Simple.List.NonEmpty ( src/Cursor/Simple/List/NonEmpty.hs, dist/build/Cursor/Simple/List/NonEmpty.p_o )
15.12 s
[cursor] [18 of 25] Compiling Cursor.Map ( src/Cursor/Map.hs, dist/build/Cursor/Map.p_o )
15.12 s
[cursor] [19 of 25] Compiling Cursor.Simple.Map ( src/Cursor/Simple/Map.hs, dist/build/Cursor/Simple/Map.p_o )
15.12 s
[cursor] [20 of 25] Compiling Cursor.List ( src/Cursor/List.hs, dist/build/Cursor/List.p_o )
15.12 s
[cursor] [21 of 25] Compiling Cursor.Text ( src/Cursor/Text.hs, dist/build/Cursor/Text.p_o )
15.12 s
[cursor] [22 of 25] Compiling Cursor.TextField ( src/Cursor/TextField.hs, dist/build/Cursor/TextField.p_o )
15.12 s
[cursor] [23 of 25] Compiling Cursor.Forest ( src/Cursor/Forest.hs, dist/build/Cursor/Forest.p_o )
15.51 s
[cursor] [24 of 25] Compiling Cursor.Simple.Forest ( src/Cursor/Simple/Forest.hs, dist/build/Cursor/Simple/Forest.p_o )
15.69 s
[cursor] [25 of 25] Compiling Paths_cursor ( dist/build/autogen/Paths_cursor.hs, dist/build/Paths_cursor.p_o )
16.68 s
[cursor] Phase: checkPhase
16.70 s
[cursor] Package has no test suites.
16.71 s
[cursor] Phase: haddockPhase
16.80 s
[cursor] Preprocessing library for cursor-0.3.2.0..
16.80 s
[cursor] Running Haddock on library for cursor-0.3.2.0..
16.83 s
[cursor] Warning: --source-* options are ignored when --hyperlinked-source is enabled.
16.94 s
[cursor] [ 1 of 25] Compiling Cursor.Map.KeyValue ( src/Cursor/Map/KeyValue.hs, nothing )
17.04 s
[cursor] [ 2 of 25] Compiling Cursor.Simple.Map.KeyValue ( src/Cursor/Simple/Map/KeyValue.hs, nothing )
17.04 s
[cursor] [ 3 of 25] Compiling Cursor.Tree.Types ( src/Cursor/Tree/Types.hs, nothing )
17.19 s
[cursor] [ 4 of 25] Compiling Cursor.Tree.Swap ( src/Cursor/Tree/Swap.hs, nothing )
17.19 s
[cursor] [ 5 of 25] Compiling Cursor.Tree.Insert ( src/Cursor/Tree/Insert.hs, nothing )
17.22 s
[cursor] [ 6 of 25] Compiling Cursor.Tree.Draw ( src/Cursor/Tree/Draw.hs, nothing )
17.22 s
[cursor] [ 7 of 25] Compiling Cursor.Tree.Collapse ( src/Cursor/Tree/Collapse.hs, nothing )
17.23 s
[cursor] [ 8 of 25] Compiling Cursor.Tree.Base ( src/Cursor/Tree/Base.hs, nothing )
17.24 s
[cursor] [ 9 of 25] Compiling Cursor.Tree.Promote ( src/Cursor/Tree/Promote.hs, nothing )
17.26 s
[cursor] [10 of 25] Compiling Cursor.Tree.Movement ( src/Cursor/Tree/Movement.hs, nothing )
17.28 s
[cursor] [11 of 25] Compiling Cursor.Tree.Demote ( src/Cursor/Tree/Demote.hs, nothing )
17.29 s
[cursor] [12 of 25] Compiling Cursor.Types ( src/Cursor/Types.hs, nothing )
17.30 s
[cursor] [13 of 25] Compiling Cursor.Tree.Delete ( src/Cursor/Tree/Delete.hs, nothing )
17.36 s
[cursor] [14 of 25] Compiling Cursor.Tree ( src/Cursor/Tree.hs, nothing )
17.37 s
[cursor] [15 of 25] Compiling Cursor.Simple.Tree ( src/Cursor/Simple/Tree.hs, nothing )
17.38 s
[cursor] [16 of 25] Compiling Cursor.List.NonEmpty ( src/Cursor/List/NonEmpty.hs, nothing )
17.42 s
[cursor] [17 of 25] Compiling Cursor.Simple.List.NonEmpty ( src/Cursor/Simple/List/NonEmpty.hs, nothing )
17.42 s
[cursor] [18 of 25] Compiling Cursor.Map ( src/Cursor/Map.hs, nothing )
17.46 s
[cursor] [19 of 25] Compiling Cursor.Simple.Map ( src/Cursor/Simple/Map.hs, nothing )
17.47 s
[cursor] [20 of 25] Compiling Cursor.List ( src/Cursor/List.hs, nothing )
17.49 s
[cursor] [21 of 25] Compiling Cursor.Text ( src/Cursor/Text.hs, nothing )
17.56 s
[cursor] [22 of 25] Compiling Cursor.TextField ( src/Cursor/TextField.hs, nothing )
17.59 s
[cursor] [23 of 25] Compiling Cursor.Forest ( src/Cursor/Forest.hs, nothing )
17.67 s
[cursor] [24 of 25] Compiling Cursor.Simple.Forest ( src/Cursor/Simple/Forest.hs, nothing )
17.69 s
[cursor] [25 of 25] Compiling Paths_cursor ( dist/build/autogen/Paths_cursor.hs, nothing )
17.69 s
[cursor] Haddock coverage:
17.69 s
[cursor] 0% ( 0 / 15) in 'Cursor.Map.KeyValue'
17.69 s
[cursor] Missing documentation for:
17.69 s
[cursor] Module header
17.69 s
[cursor] KeyValueCursor (src/Cursor/Map/KeyValue.hs:28)
17.70 s
[cursor] makeKeyValueCursorKey (src/Cursor/Map/KeyValue.hs:40)
17.70 s
[cursor] makeKeyValueCursorValue (src/Cursor/Map/KeyValue.hs:43)
17.70 s
[cursor] rebuildKeyValueCursor (src/Cursor/Map/KeyValue.hs:46)
17.70 s
[cursor] keyValueCursorSelection (src/Cursor/Map/KeyValue.hs:50)
17.70 s
[cursor] mapKeyValueCursor (src/Cursor/Map/KeyValue.hs:60)
17.70 s
[cursor] keyValueCursorSelectKey (src/Cursor/Map/KeyValue.hs:67)
17.70 s
[cursor] keyValueCursorSelectValue (src/Cursor/Map/KeyValue.hs:74)
17.70 s
[cursor] keyValueCursorToggleSelected (src/Cursor/Map/KeyValue.hs:86)
17.70 s
[cursor] KeyValueToggle (src/Cursor/Map/KeyValue.hs:91)
17.70 s
[cursor] traverseKeyValueCursor (src/Cursor/Map/KeyValue.hs:99)
17.70 s
[cursor] keyValueCursorTraverseKeyCase (src/Cursor/Map/KeyValue.hs:106)
17.70 s
[cursor] keyValueCursorTraverseValueCase (src/Cursor/Map/KeyValue.hs:116)
17.70 s
[cursor] foldKeyValueCursor (src/Cursor/Map/KeyValue.hs:122)
17.70 s
[cursor] 0% ( 0 / 13) in 'Cursor.Simple.Map.KeyValue'
17.70 s
[cursor] Missing documentation for:
17.70 s
[cursor] Module header
17.70 s
[cursor] KeyValueCursor (src/Cursor/Simple/Map/KeyValue.hs:21)
17.70 s
[cursor] KeyValueCursorKey
17.70 s
[cursor] KeyValueCursorValue
17.70 s
[cursor] makeKeyValueCursorKey (src/Cursor/Map/KeyValue.hs:40)
17.77 s
[cursor] makeKeyValueCursorValue (src/Cursor/Map/KeyValue.hs:43)
17.77 s
[cursor] rebuildKeyValueCursor (src/Cursor/Simple/Map/KeyValue.hs:24)
17.77 s
[cursor] keyValueCursorSelection (src/Cursor/Map/KeyValue.hs:50)
17.77 s
[cursor] mapKeyValueCursor (src/Cursor/Simple/Map/KeyValue.hs:27)
17.77 s
[cursor] keyValueCursorSelectKey (src/Cursor/Simple/Map/KeyValue.hs:30)
17.77 s
[cursor] keyValueCursorSelectValue (src/Cursor/Simple/Map/KeyValue.hs:33)
17.77 s
[cursor] keyValueCursorToggleSelected (src/Cursor/Simple/Map/KeyValue.hs:36)
17.77 s
[cursor] KeyValueToggle (src/Cursor/Map/KeyValue.hs:91)
17.77 s
[cursor] 3% ( 1 / 26) in 'Cursor.Tree.Types'
17.77 s
[cursor] Missing documentation for:
17.77 s
[cursor] Module header
17.77 s
[cursor] TreeCursor (src/Cursor/Tree/Types.hs:45)
17.77 s
[cursor] treeCursorAboveL (src/Cursor/Tree/Types.hs:57)
17.77 s
[cursor] treeCursorCurrentL (src/Cursor/Tree/Types.hs:60)
17.77 s
[cursor] treeCursorBelowL (src/Cursor/Tree/Types.hs:63)
17.77 s
[cursor] treeCursorCurrentSubTreeL (src/Cursor/Tree/Types.hs:66)
17.77 s
[cursor] TreeAbove (src/Cursor/Tree/Types.hs:69)
17.77 s
[cursor] treeAboveLeftsL (src/Cursor/Tree/Types.hs:82)
17.77 s
[cursor] treeAboveAboveL (src/Cursor/Tree/Types.hs:85)
17.77 s
[cursor] treeAboveNodeL (src/Cursor/Tree/Types.hs:88)
17.77 s
[cursor] treeAboveRightsL (src/Cursor/Tree/Types.hs:91)
17.77 s
[cursor] TreeCursorSelection (src/Cursor/Tree/Types.hs:93)
17.77 s
[cursor] CTree (src/Cursor/Tree/Types.hs:102)
17.77 s
[cursor] makeCTree (src/Cursor/Tree/Types.hs:117)
17.77 s
[cursor] cTree (src/Cursor/Tree/Types.hs:120)
17.77 s
[cursor] rebuildCTree (src/Cursor/Tree/Types.hs:123)
17.77 s
[cursor] CForest (src/Cursor/Tree/Types.hs:125)
17.77 s
[cursor] makeCForest (src/Cursor/Tree/Types.hs:148)
17.77 s
[cursor] cForest (src/Cursor/Tree/Types.hs:151)
17.77 s
[cursor] rebuildCForest (src/Cursor/Tree/Types.hs:157)
17.77 s
[cursor] emptyCForest (src/Cursor/Tree/Types.hs:162)
17.77 s
[cursor] openForest (src/Cursor/Tree/Types.hs:165)
17.77 s
[cursor] closedForest (src/Cursor/Tree/Types.hs:168)
17.77 s
[cursor] lengthCForest (src/Cursor/Tree/Types.hs:171)
17.77 s
[cursor] unpackCForest (src/Cursor/Tree/Types.hs:176)
17.77 s
[cursor] 50% ( 2 / 4) in 'Cursor.Tree.Swap'
17.77 s
[cursor] Missing documentation for:
17.77 s
[cursor] Module header
17.77 s
[cursor] SwapResult (src/Cursor/Tree/Swap.hs:69)
17.77 s
[cursor] 0% ( 0 / 21) in 'Cursor.Tree.Insert'
17.77 s
[cursor] Missing documentation for:
17.77 s
[cursor] Module header
17.77 s
[cursor] treeCursorInsert (src/Cursor/Tree/Insert.hs:34)
17.77 s
[cursor] treeCursorInsertAndSelect (src/Cursor/Tree/Insert.hs:41)
17.77 s
[cursor] treeCursorInsertNodeSingleAndSelect (src/Cursor/Tree/Insert.hs:45)
17.77 s
[cursor] treeCursorInsertNodeAndSelect (src/Cursor/Tree/Insert.hs:49)
17.77 s
[cursor] treeCursorAppend (src/Cursor/Tree/Insert.hs:56)
17.77 s
[cursor] treeCursorAppendAndSelect (src/Cursor/Tree/Insert.hs:63)
17.77 s
[cursor] treeCursorAppendNodeSingleAndSelect (src/Cursor/Tree/Insert.hs:67)
17.77 s
[cursor] treeCursorAppendNodeAndSelect (src/Cursor/Tree/Insert.hs:71)
17.77 s
[cursor] treeCursorAddChildAtPos (src/Cursor/Tree/Insert.hs:79)
17.77 s
[cursor] treeCursorAddChildAtStart (src/Cursor/Tree/Insert.hs:90)
17.77 s
[cursor] treeCursorAddChildAtEnd (src/Cursor/Tree/Insert.hs:97)
17.77 s
[cursor] treeCursorAddChildAtPosAndSelect (src/Cursor/Tree/Insert.hs:105)
17.77 s
[cursor] treeCursorAddChildAtStartAndSelect (src/Cursor/Tree/Insert.hs:109)
17.77 s
[cursor] treeCursorAddChildAtEndAndSelect (src/Cursor/Tree/Insert.hs:113)
17.77 s
[cursor] treeCursorAddChildNodeSingleAtPosAndSelect (src/Cursor/Tree/Insert.hs:117)
17.77 s
[cursor] treeCursorAddChildNodeSingleAtStartAndSelect (src/Cursor/Tree/Insert.hs:121)
17.77 s
[cursor] treeCursorAddChildNodeSingleAtEndAndSelect (src/Cursor/Tree/Insert.hs:125)
17.77 s
[cursor] treeCursorAddChildNodeAtPosAndSelect (src/Cursor/Tree/Insert.hs:129)
17.77 s
[cursor] treeCursorAddChildNodeAtStartAndSelect (src/Cursor/Tree/Insert.hs:146)
17.77 s
[cursor] treeCursorAddChildNodeAtEndAndSelect (src/Cursor/Tree/Insert.hs:162)
17.77 s
[cursor] 0% ( 0 / 7) in 'Cursor.Tree.Draw'
17.77 s
[cursor] Missing documentation for:
17.77 s
[cursor] Module header
17.77 s
[cursor] drawTreeCursor (src/Cursor/Tree/Draw.hs:19)
17.77 s
[cursor] treeCursorWithPointer (src/Cursor/Tree/Draw.hs:22)
17.77 s
[cursor] showCForest (src/Cursor/Tree/Draw.hs:33)
17.77 s
[cursor] showCTree (src/Cursor/Tree/Draw.hs:38)
17.77 s
[cursor] showForest (src/Cursor/Tree/Draw.hs:41)
17.77 s
[cursor] showTree (src/Cursor/Tree/Draw.hs:44)
17.77 s
[cursor] 0% ( 0 / 6) in 'Cursor.Tree.Collapse'
17.77 s
[cursor] Missing documentation for:
17.77 s
[cursor] Module header
17.77 s
[cursor] treeCursorOpenCurrentForest (src/Cursor/Tree/Collapse.hs:14)
17.77 s
[cursor] treeCursorCloseCurrentForest (src/Cursor/Tree/Collapse.hs:21)
17.77 s
[cursor] treeCursorToggleCurrentForest (src/Cursor/Tree/Collapse.hs:28)
17.77 s
[cursor] treeCursorOpenCurrentForestRecursively (src/Cursor/Tree/Collapse.hs:35)
17.77 s
[cursor] treeCursorToggleCurrentForestRecursively (src/Cursor/Tree/Collapse.hs:42)
17.77 s
[cursor] 0% ( 0 / 11) in 'Cursor.Tree.Base'
17.77 s
[cursor] Missing documentation for:
17.77 s
[cursor] Module header
17.77 s
[cursor] singletonTreeCursor (src/Cursor/Tree/Base.hs:23)
17.77 s
[cursor] makeTreeCursor (src/Cursor/Tree/Base.hs:26)
17.77 s
[cursor] makeNodeTreeCursor (src/Cursor/Tree/Base.hs:29)
17.77 s
[cursor] makeTreeCursorWithSelection (src/Cursor/Tree/Base.hs:33)
17.77 s
[cursor] rebuildTreeCursor (src/Cursor/Tree/Base.hs:52)
17.77 s
[cursor] mapTreeCursor (src/Cursor/Tree/Base.hs:62)
17.77 s
[cursor] currentTree (src/Cursor/Tree/Base.hs:70)
17.77 s
[cursor] makeTreeCursorWithAbove (src/Cursor/Tree/Base.hs:73)
17.77 s
[cursor] traverseTreeCursor (src/Cursor/Tree/Base.hs:83)
17.77 s
[cursor] foldTreeCursor (src/Cursor/Tree/Base.hs:99)
17.77 s
[cursor] 40% ( 2 / 5) in 'Cursor.Tree.Promote'
17.77 s
[cursor] Missing documentation for:
17.77 s
[cursor] Module header
17.77 s
[cursor] PromoteElemResult (src/Cursor/Tree/Promote.hs:69)
17.77 s
[cursor] PromoteResult (src/Cursor/Tree/Promote.hs:136)
17.77 s
[cursor] 10% ( 2 / 20) in 'Cursor.Tree.Movement'
17.77 s
[cursor] Missing documentation for:
17.77 s
[cursor] Module header
17.77 s
[cursor] treeCursorSelection (src/Cursor/Tree/Movement.hs:35)
17.77 s
[cursor] TreeCursorSelection (src/Cursor/Tree/Types.hs:93)
17.77 s
[cursor] treeCursorSelect (src/Cursor/Tree/Movement.hs:43)
17.77 s
[cursor] treeCursorSelectPrev (src/Cursor/Tree/Movement.hs:46)
17.77 s
[cursor] treeCursorSelectNext (src/Cursor/Tree/Movement.hs:52)
17.77 s
[cursor] treeCursorSelectFirst (src/Cursor/Tree/Movement.hs:58)
17.77 s
[cursor] treeCursorSelectLast (src/Cursor/Tree/Movement.hs:61)
17.77 s
[cursor] treeCursorSelectAbove (src/Cursor/Tree/Movement.hs:64)
17.77 s
[cursor] treeCursorSelectBelowAtPos (src/Cursor/Tree/Movement.hs:74)
17.77 s
[cursor] treeCursorSelectBelowAtStart (src/Cursor/Tree/Movement.hs:93)
17.77 s
[cursor] treeCursorSelectBelowAtEnd (src/Cursor/Tree/Movement.hs:96)
17.77 s
[cursor] treeCursorSelectBelowAtStartRecursively (src/Cursor/Tree/Movement.hs:104)
17.77 s
[cursor] treeCursorSelectBelowAtEndRecursively (src/Cursor/Tree/Movement.hs:110)
17.77 s
[cursor] treeCursorSelectPrevOnSameLevel (src/Cursor/Tree/Movement.hs:115)
17.77 s
[cursor] treeCursorSelectNextOnSameLevel (src/Cursor/Tree/Movement.hs:124)
17.77 s
[cursor] treeCursorSelectFirstOnSameLevel (src/Cursor/Tree/Movement.hs:133)
17.77 s
[cursor] treeCursorSelectLastOnSameLevel (src/Cursor/Tree/Movement.hs:139)
17.77 s
[cursor] 66% ( 4 / 6) in 'Cursor.Tree.Demote'
17.77 s
[cursor] Missing documentation for:
17.77 s
[cursor] Module header
17.77 s
[cursor] DemoteResult (src/Cursor/Tree/Demote.hs:98)
17.77 s
[cursor] 0% ( 0 / 9) in 'Cursor.Types'
17.77 s
[cursor] Missing documentation for:
17.77 s
[cursor] Module header
17.77 s
[cursor] isSafeChar (src/Cursor/Types.hs:13)
17.77 s
[cursor] DeleteOrUpdate (src/Cursor/Types.hs:15)
17.77 s
[cursor] joinDeletes (src/Cursor/Types.hs:43)
17.77 s
[cursor] joinDeletes3 (src/Cursor/Types.hs:54)
17.77 s
[cursor] joinPossibleDeletes (src/Cursor/Types.hs:63)
17.77 s
[cursor] focusPossibleDeleteOrUpdate (src/Cursor/Types.hs:70)
17.77 s
[cursor] dullMDelete (src/Cursor/Types.hs:73)
17.77 s
[cursor] dullDelete (src/Cursor/Types.hs:77)
17.77 s
[cursor] 0% ( 0 / 11) in 'Cursor.Tree.Delete'
17.77 s
[cursor] Missing documentation for:
17.77 s
[cursor] Module header
17.77 s
[cursor] treeCursorDeleteSubTreeAndSelectPrevious (src/Cursor/Tree/Delete.hs:28)
17.77 s
[cursor] treeCursorDeleteSubTreeAndSelectNext (src/Cursor/Tree/Delete.hs:38)
17.77 s
[cursor] treeCursorDeleteSubTreeAndSelectAbove (src/Cursor/Tree/Delete.hs:48)
17.77 s
[cursor] treeCursorRemoveSubTree (src/Cursor/Tree/Delete.hs:60)
17.77 s
[cursor] treeCursorDeleteSubTree (src/Cursor/Tree/Delete.hs:67)
17.77 s
[cursor] treeCursorDeleteElemAndSelectPrevious (src/Cursor/Tree/Delete.hs:75)
17.77 s
[cursor] treeCursorDeleteElemAndSelectNext (src/Cursor/Tree/Delete.hs:94)
17.77 s
[cursor] treeCursorDeleteElemAndSelectAbove (src/Cursor/Tree/Delete.hs:132)
17.77 s
[cursor] treeCursorRemoveElem (src/Cursor/Tree/Delete.hs:149)
17.77 s
[cursor] treeCursorDeleteElem (src/Cursor/Tree/Delete.hs:156)
17.77 s
[cursor] 86% ( 20 / 23) in 'Cursor.Tree'
17.77 s
[cursor] Missing documentation for:
17.77 s
[cursor] Module header
17.77 s
[cursor] TreeCursor (src/Cursor/Tree/Types.hs:45)
17.77 s
[cursor] TreeAbove (src/Cursor/Tree/Types.hs:69)
17.77 s
[cursor] 6% ( 6 / 89) in 'Cursor.Simple.Tree'
17.77 s
[cursor] Missing documentation for:
17.77 s
[cursor] Module header
17.77 s
[cursor] TreeCursor (src/Cursor/Simple/Tree.hs:100)
17.77 s
[cursor] TreeAbove (src/Cursor/Tree/Types.hs:69)
17.77 s
[cursor] singletonTreeCursor (src/Cursor/Simple/Tree.hs:109)
17.77 s
[cursor] makeTreeCursor (src/Cursor/Simple/Tree.hs:103)
17.77 s
[cursor] makeNodeTreeCursor (src/Cursor/Tree/Base.hs:29)
17.77 s
[cursor] makeTreeCursorWithSelection (src/Cursor/Simple/Tree.hs:106)
17.77 s
[cursor] rebuildTreeCursor (src/Cursor/Simple/Tree.hs:112)
17.77 s
[cursor] drawTreeCursor (src/Cursor/Tree/Draw.hs:19)
17.77 s
[cursor] mapTreeCursor (src/Cursor/Simple/Tree.hs:115)
17.77 s
[cursor] treeCursorAboveL (src/Cursor/Tree/Types.hs:57)
17.77 s
[cursor] treeCursorCurrentL (src/Cursor/Tree/Types.hs:60)
17.77 s
[cursor] treeCursorBelowL (src/Cursor/Tree/Types.hs:63)
17.77 s
[cursor] treeAboveLeftsL (src/Cursor/Tree/Types.hs:82)
17.77 s
[cursor] treeAboveAboveL (src/Cursor/Tree/Types.hs:85)
17.77 s
[cursor] treeAboveNodeL (src/Cursor/Tree/Types.hs:88)
17.77 s
[cursor] treeAboveRightsL (src/Cursor/Tree/Types.hs:91)
17.77 s
[cursor] treeCursorWithPointer (src/Cursor/Tree/Draw.hs:22)
17.77 s
[cursor] treeCursorSelection (src/Cursor/Tree/Movement.hs:35)
17.77 s
[cursor] TreeCursorSelection (src/Cursor/Tree/Types.hs:93)
17.77 s
[cursor] treeCursorSelect (src/Cursor/Simple/Tree.hs:118)
17.77 s
[cursor] treeCursorSelectPrev (src/Cursor/Simple/Tree.hs:121)
17.77 s
[cursor] treeCursorSelectNext (src/Cursor/Simple/Tree.hs:124)
17.77 s
[cursor] treeCursorSelectFirst (src/Cursor/Simple/Tree.hs:127)
17.77 s
[cursor] treeCursorSelectLast (src/Cursor/Simple/Tree.hs:130)
17.77 s
[cursor] treeCursorSelectAbove (src/Cursor/Simple/Tree.hs:133)
17.77 s
[cursor] treeCursorSelectBelowAtPos (src/Cursor/Simple/Tree.hs:136)
17.77 s
[cursor] treeCursorSelectBelowAtStart (src/Cursor/Simple/Tree.hs:139)
17.77 s
[cursor] treeCursorSelectBelowAtEnd (src/Cursor/Simple/Tree.hs:142)
17.77 s
[cursor] treeCursorSelectBelowAtStartRecursively (src/Cursor/Simple/Tree.hs:145)
17.77 s
[cursor] treeCursorSelectBelowAtEndRecursively (src/Cursor/Simple/Tree.hs:148)
17.77 s
[cursor] treeCursorSelectPrevOnSameLevel (src/Cursor/Simple/Tree.hs:151)
17.77 s
[cursor] treeCursorSelectNextOnSameLevel (src/Cursor/Simple/Tree.hs:154)
17.77 s
[cursor] treeCursorSelectFirstOnSameLevel (src/Cursor/Simple/Tree.hs:157)
17.77 s
[cursor] treeCursorSelectLastOnSameLevel (src/Cursor/Simple/Tree.hs:160)
17.77 s
[cursor] treeCursorOpenCurrentForest (src/Cursor/Tree/Collapse.hs:14)
17.77 s
[cursor] treeCursorCloseCurrentForest (src/Cursor/Tree/Collapse.hs:21)
17.77 s
[cursor] treeCursorToggleCurrentForest (src/Cursor/Tree/Collapse.hs:28)
17.77 s
[cursor] treeCursorOpenCurrentForestRecursively (src/Cursor/Tree/Collapse.hs:35)
17.77 s
[cursor] treeCursorToggleCurrentForestRecursively (src/Cursor/Tree/Collapse.hs:42)
17.77 s
[cursor] treeCursorInsert (src/Cursor/Tree/Insert.hs:34)
17.77 s
[cursor] treeCursorInsertAndSelect (src/Cursor/Simple/Tree.hs:173)
17.77 s
[cursor] treeCursorInsertNodeSingleAndSelect (src/Cursor/Simple/Tree.hs:176)
17.77 s
[cursor] treeCursorInsertNodeAndSelect (src/Cursor/Simple/Tree.hs:179)
17.77 s
[cursor] treeCursorAppend (src/Cursor/Tree/Insert.hs:56)
17.77 s
[cursor] treeCursorAppendAndSelect (src/Cursor/Simple/Tree.hs:182)
17.77 s
[cursor] treeCursorAppendNodeSingleAndSelect (src/Cursor/Simple/Tree.hs:185)
17.77 s
[cursor] treeCursorAppendNodeAndSelect (src/Cursor/Simple/Tree.hs:188)
17.77 s
[cursor] treeCursorAddChildAtPos (src/Cursor/Tree/Insert.hs:79)
17.77 s
[cursor] treeCursorAddChildAtStart (src/Cursor/Tree/Insert.hs:90)
17.77 s
[cursor] treeCursorAddChildAtEnd (src/Cursor/Tree/Insert.hs:97)
17.77 s
[cursor] treeCursorAddChildAtPosAndSelect (src/Cursor/Simple/Tree.hs:191)
17.77 s
[cursor] treeCursorAddChildAtStartAndSelect (src/Cursor/Simple/Tree.hs:194)
17.77 s
[cursor] treeCursorAddChildAtEndAndSelect (src/Cursor/Simple/Tree.hs:197)
17.77 s
[cursor] treeCursorAddChildNodeSingleAtPosAndSelect (src/Cursor/Simple/Tree.hs:200)
17.77 s
[cursor] treeCursorAddChildNodeSingleAtStartAndSelect (src/Cursor/Simple/Tree.hs:203)
17.77 s
[cursor] treeCursorAddChildNodeSingleAtEndAndSelect (src/Cursor/Simple/Tree.hs:206)
17.77 s
[cursor] treeCursorAddChildNodeAtPosAndSelect (src/Cursor/Simple/Tree.hs:209)
17.77 s
[cursor] treeCursorAddChildNodeAtStartAndSelect (src/Cursor/Simple/Tree.hs:212)
17.77 s
[cursor] treeCursorAddChildNodeAtEndAndSelect (src/Cursor/Simple/Tree.hs:215)
17.77 s
[cursor] treeCursorDeleteSubTreeAndSelectPrevious (src/Cursor/Simple/Tree.hs:218)
17.77 s
[cursor] treeCursorDeleteSubTreeAndSelectNext (src/Cursor/Simple/Tree.hs:221)
17.77 s
[cursor] treeCursorDeleteSubTreeAndSelectAbove (src/Cursor/Simple/Tree.hs:224)
17.77 s
[cursor] treeCursorRemoveSubTree (src/Cursor/Simple/Tree.hs:227)
17.77 s
[cursor] treeCursorDeleteSubTree (src/Cursor/Simple/Tree.hs:230)
17.77 s
[cursor] treeCursorDeleteElemAndSelectPrevious (src/Cursor/Simple/Tree.hs:233)
17.77 s
[cursor] treeCursorDeleteElemAndSelectNext (src/Cursor/Simple/Tree.hs:236)
17.77 s
[cursor] treeCursorDeleteElemAndSelectAbove (src/Cursor/Simple/Tree.hs:239)
17.77 s
[cursor] treeCursorRemoveElem (src/Cursor/Simple/Tree.hs:242)
17.77 s
[cursor] treeCursorDeleteElem (src/Cursor/Simple/Tree.hs:245)
17.77 s
[cursor] SwapResult (src/Cursor/Tree/Swap.hs:69)
17.77 s
[cursor] treeCursorPromoteElem (src/Cursor/Simple/Tree.hs:248)
17.77 s
[cursor] PromoteElemResult (src/Cursor/Tree/Promote.hs:69)
17.77 s
[cursor] treeCursorPromoteSubTree (src/Cursor/Simple/Tree.hs:251)
17.77 s
[cursor] PromoteResult (src/Cursor/Tree/Promote.hs:136)
17.77 s
[cursor] treeCursorDemoteElem (src/Cursor/Simple/Tree.hs:254)
17.77 s
[cursor] treeCursorDemoteSubTree (src/Cursor/Simple/Tree.hs:257)
17.77 s
[cursor] DemoteResult (src/Cursor/Tree/Demote.hs:98)
17.77 s
[cursor] CTree (src/Cursor/Tree/Types.hs:102)
17.77 s
[cursor] CForest (src/Cursor/Tree/Types.hs:125)
17.77 s
[cursor] makeCTree (src/Cursor/Tree/Types.hs:117)
17.77 s
[cursor] cTree (src/Cursor/Tree/Types.hs:120)
17.77 s
[cursor] rebuildCTree (src/Cursor/Tree/Types.hs:123)
17.77 s
[cursor] 3% ( 1 / 33) in 'Cursor.List.NonEmpty'
17.77 s
[cursor] Missing documentation for:
17.77 s
[cursor] Module header
17.77 s
[cursor] makeNonEmptyCursor (src/Cursor/List/NonEmpty.hs:65)
17.77 s
[cursor] makeNonEmptyCursorWithSelection (src/Cursor/List/NonEmpty.hs:68)
17.77 s
[cursor] singletonNonEmptyCursor (src/Cursor/List/NonEmpty.hs:87)
17.77 s
[cursor] rebuildNonEmptyCursor (src/Cursor/List/NonEmpty.hs:91)
17.77 s
[cursor] nonEmptyCursorElemL (src/Cursor/List/NonEmpty.hs:103)
17.77 s
[cursor] mapNonEmptyCursor (src/Cursor/List/NonEmpty.hs:95)
17.77 s
[cursor] nonEmptyCursorSelectPrev (src/Cursor/List/NonEmpty.hs:106)
17.77 s
[cursor] nonEmptyCursorSelectNext (src/Cursor/List/NonEmpty.hs:118)
17.77 s
[cursor] nonEmptyCursorSelectFirst (src/Cursor/List/NonEmpty.hs:130)
17.77 s
[cursor] nonEmptyCursorSelectLast (src/Cursor/List/NonEmpty.hs:136)
17.77 s
[cursor] nonEmptyCursorSelection (src/Cursor/List/NonEmpty.hs:142)
17.77 s
[cursor] nonEmptyCursorSelectIndex (src/Cursor/List/NonEmpty.hs:146)
17.77 s
[cursor] nonEmptyCursorInsert (src/Cursor/List/NonEmpty.hs:154)
17.77 s
[cursor] nonEmptyCursorAppend (src/Cursor/List/NonEmpty.hs:157)
17.77 s
[cursor] nonEmptyCursorInsertAndSelect (src/Cursor/List/NonEmpty.hs:160)
17.77 s
[cursor] nonEmptyCursorAppendAndSelect (src/Cursor/List/NonEmpty.hs:167)
17.77 s
[cursor] nonEmptyCursorInsertAtStart (src/Cursor/List/NonEmpty.hs:174)
17.77 s
[cursor] nonEmptyCursorAppendAtEnd (src/Cursor/List/NonEmpty.hs:177)
17.77 s
[cursor] nonEmptyCursorInsertAtStartAndSelect (src/Cursor/List/NonEmpty.hs:181)
17.77 s
[cursor] nonEmptyCursorAppendAtEndAndSelect (src/Cursor/List/NonEmpty.hs:186)
17.77 s
[cursor] nonEmptyCursorRemoveElemAndSelectPrev (src/Cursor/List/NonEmpty.hs:191)
17.77 s
[cursor] nonEmptyCursorDeleteElemAndSelectNext (src/Cursor/List/NonEmpty.hs:201)
17.77 s
[cursor] nonEmptyCursorRemoveElem (src/Cursor/List/NonEmpty.hs:210)
17.77 s
[cursor] nonEmptyCursorDeleteElem (src/Cursor/List/NonEmpty.hs:216)
17.77 s
[cursor] nonEmptyCursorSearch (src/Cursor/List/NonEmpty.hs:223)
17.77 s
[cursor] nonEmptyCursorSelectOrAdd (src/Cursor/List/NonEmpty.hs:238)
17.77 s
[cursor] renderNonEmptyCursor (src/Cursor/List/NonEmpty.hs:244)
17.77 s
[cursor] nonemptyPrepend (src/Cursor/List/NonEmpty.hs:248)
17.77 s
[cursor] nonemptyAppend (src/Cursor/List/NonEmpty.hs:251)
17.77 s
[cursor] traverseNonEmptyCursor (src/Cursor/List/NonEmpty.hs:254)
17.77 s
[cursor] foldNonEmptyCursor (src/Cursor/List/NonEmpty.hs:257)
17.77 s
[cursor] 3% ( 1 / 31) in 'Cursor.Simple.List.NonEmpty'
17.77 s
[cursor] Missing documentation for:
17.78 s
[cursor] Module header
17.78 s
[cursor] nonEmptyCursorPrev
17.78 s
[cursor] nonEmptyCursorCurrent
17.78 s
[cursor] nonEmptyCursorNext
17.78 s
[cursor] makeNonEmptyCursor (src/Cursor/Simple/List/NonEmpty.hs:45)
17.78 s
[cursor] makeNonEmptyCursorWithSelection (src/Cursor/Simple/List/NonEmpty.hs:48)
17.78 s
[cursor] singletonNonEmptyCursor (src/Cursor/List/NonEmpty.hs:87)
17.78 s
[cursor] rebuildNonEmptyCursor (src/Cursor/Simple/List/NonEmpty.hs:51)
17.78 s
[cursor] mapNonEmptyCursor (src/Cursor/Simple/List/NonEmpty.hs:54)
17.78 s
[cursor] nonEmptyCursorElemL (src/Cursor/List/NonEmpty.hs:103)
17.78 s
[cursor] nonEmptyCursorSelectPrev (src/Cursor/Simple/List/NonEmpty.hs:57)
17.78 s
[cursor] nonEmptyCursorSelectNext (src/Cursor/Simple/List/NonEmpty.hs:60)
17.78 s
[cursor] nonEmptyCursorSelectFirst (src/Cursor/Simple/List/NonEmpty.hs:63)
17.78 s
[cursor] nonEmptyCursorSelectLast (src/Cursor/Simple/List/NonEmpty.hs:66)
17.78 s
[cursor] nonEmptyCursorSelection (src/Cursor/List/NonEmpty.hs:142)
17.78 s
[cursor] nonEmptyCursorSelectIndex (src/Cursor/Simple/List/NonEmpty.hs:69)
17.78 s
[cursor] nonEmptyCursorInsert (src/Cursor/List/NonEmpty.hs:154)
17.78 s
[cursor] nonEmptyCursorAppend (src/Cursor/List/NonEmpty.hs:157)
17.78 s
[cursor] nonEmptyCursorInsertAndSelect (src/Cursor/Simple/List/NonEmpty.hs:72)
17.78 s
[cursor] nonEmptyCursorAppendAndSelect (src/Cursor/Simple/List/NonEmpty.hs:75)
17.78 s
[cursor] nonEmptyCursorInsertAtStart (src/Cursor/List/NonEmpty.hs:174)
17.78 s
[cursor] nonEmptyCursorAppendAtEnd (src/Cursor/List/NonEmpty.hs:177)
17.78 s
[cursor] nonEmptyCursorInsertAtStartAndSelect (src/Cursor/Simple/List/NonEmpty.hs:78)
17.78 s
[cursor] nonEmptyCursorAppendAtEndAndSelect (src/Cursor/Simple/List/NonEmpty.hs:81)
17.78 s
[cursor] nonEmptyCursorRemoveElemAndSelectPrev (src/Cursor/Simple/List/NonEmpty.hs:85)
17.78 s
[cursor] nonEmptyCursorDeleteElemAndSelectNext (src/Cursor/Simple/List/NonEmpty.hs:89)
17.78 s
[cursor] nonEmptyCursorRemoveElem (src/Cursor/Simple/List/NonEmpty.hs:92)
17.78 s
[cursor] nonEmptyCursorDeleteElem (src/Cursor/Simple/List/NonEmpty.hs:95)
17.78 s
[cursor] nonEmptyCursorSearch (src/Cursor/Simple/List/NonEmpty.hs:98)
17.78 s
[cursor] nonEmptyCursorSelectOrAdd (src/Cursor/Simple/List/NonEmpty.hs:101)
17.78 s
[cursor] 2% ( 1 / 37) in 'Cursor.Map'
17.78 s
[cursor] Missing documentation for:
17.78 s
[cursor] Module header
17.78 s
[cursor] MapCursor (src/Cursor/Map.hs:56)
17.78 s
[cursor] makeMapCursor (src/Cursor/Map.hs:66)
17.78 s
[cursor] makeMapCursorWithSelection (src/Cursor/Map.hs:69)
17.78 s
[cursor] singletonMapCursorKey (src/Cursor/Map.hs:73)
17.78 s
[cursor] singletonMapCursorValue (src/Cursor/Map.hs:77)
17.78 s
[cursor] rebuildMapCursor (src/Cursor/Map.hs:81)
17.78 s
[cursor] mapMapCursor (src/Cursor/Map.hs:85)
17.78 s
[cursor] mapCursorNonEmptyCursorL (src/Cursor/Map.hs:104)
17.78 s
[cursor] mapCursorElemL (src/Cursor/Map.hs:108)
17.78 s
[cursor] mapCursorElemSelection (src/Cursor/Map.hs:111)
17.78 s
[cursor] mapCursorSelectKey (src/Cursor/Map.hs:114)
17.78 s
[cursor] mapCursorSelectValue (src/Cursor/Map.hs:117)
17.78 s
[cursor] mapCursorToggleSelected (src/Cursor/Map.hs:121)
17.78 s
[cursor] mapCursorSelectPrev (src/Cursor/Map.hs:125)
17.78 s
[cursor] mapCursorSelectNext (src/Cursor/Map.hs:130)
17.78 s
[cursor] mapCursorSelectFirst (src/Cursor/Map.hs:135)
17.78 s
[cursor] mapCursorSelectLast (src/Cursor/Map.hs:140)
17.78 s
[cursor] mapCursorSelection (src/Cursor/Map.hs:144)
17.78 s
[cursor] mapCursorSelectIndex (src/Cursor/Map.hs:153)
17.78 s
[cursor] mapCursorInsert (src/Cursor/Map.hs:157)
17.78 s
[cursor] mapCursorAppend (src/Cursor/Map.hs:160)
17.78 s
[cursor] mapCursorInsertAndSelectKey (src/Cursor/Map.hs:164)
17.78 s
[cursor] mapCursorAppendAndSelectKey (src/Cursor/Map.hs:170)
17.78 s
[cursor] mapCursorInsertAndSelectValue (src/Cursor/Map.hs:176)
17.78 s
[cursor] mapCursorAppendAndSelectValue (src/Cursor/Map.hs:182)
17.78 s
[cursor] mapCursorRemoveElemAndSelectPrev (src/Cursor/Map.hs:188)
17.78 s
[cursor] mapCursorDeleteElemAndSelectNext (src/Cursor/Map.hs:194)
17.78 s
[cursor] mapCursorRemoveElem (src/Cursor/Map.hs:199)
17.78 s
[cursor] mapCursorDeleteElem (src/Cursor/Map.hs:202)
17.78 s
[cursor] mapCursorSearch (src/Cursor/Map.hs:211)
17.78 s
[cursor] mapCursorSelectOrAdd (src/Cursor/Map.hs:222)
17.78 s
[cursor] traverseMapCursor (src/Cursor/Map.hs:234)
17.78 s
[cursor] mapCursorTraverseKeyCase (src/Cursor/Map.hs:238)
17.78 s
[cursor] mapCursorTraverseValueCase (src/Cursor/Map.hs:242)
17.78 s
[cursor] foldMapCursor (src/Cursor/Map.hs:245)
17.78 s
[cursor] 3% ( 1 / 33) in 'Cursor.Simple.Map'
17.78 s
[cursor] Missing documentation for:
17.78 s
[cursor] Module header
17.78 s
[cursor] MapCursor (src/Cursor/Simple/Map.hs:45)
17.78 s
[cursor] mapCursorList
17.78 s
[cursor] makeMapCursor (src/Cursor/Simple/Map.hs:48)
17.78 s
[cursor] makeMapCursorWithSelection (src/Cursor/Simple/Map.hs:51)
17.78 s
[cursor] singletonMapCursorKey (src/Cursor/Map.hs:73)
17.78 s
[cursor] singletonMapCursorValue (src/Cursor/Map.hs:77)
17.78 s
[cursor] rebuildMapCursor (src/Cursor/Simple/Map.hs:54)
17.78 s
[cursor] mapMapCursor (src/Cursor/Simple/Map.hs:57)
17.78 s
[cursor] mapCursorNonEmptyCursorL (src/Cursor/Map.hs:104)
17.78 s
[cursor] mapCursorElemL (src/Cursor/Map.hs:108)
17.78 s
[cursor] mapCursorSelectKey (src/Cursor/Simple/Map.hs:60)
17.78 s
[cursor] mapCursorSelectValue (src/Cursor/Simple/Map.hs:63)
17.78 s
[cursor] mapCursorToggleSelected (src/Cursor/Simple/Map.hs:66)
17.78 s
[cursor] mapCursorSelectPrev (src/Cursor/Simple/Map.hs:69)
17.78 s
[cursor] mapCursorSelectNext (src/Cursor/Simple/Map.hs:72)
17.78 s
[cursor] mapCursorSelectFirst (src/Cursor/Simple/Map.hs:75)
17.78 s
[cursor] mapCursorSelectLast (src/Cursor/Simple/Map.hs:78)
17.78 s
[cursor] mapCursorSelection (src/Cursor/Map.hs:144)
17.78 s
[cursor] mapCursorSelectIndex (src/Cursor/Simple/Map.hs:81)
17.78 s
[cursor] mapCursorInsert (src/Cursor/Map.hs:157)
17.78 s
[cursor] mapCursorAppend (src/Cursor/Map.hs:160)
17.78 s
[cursor] mapCursorInsertAndSelectKey (src/Cursor/Simple/Map.hs:84)
17.78 s
[cursor] mapCursorAppendAndSelectKey (src/Cursor/Simple/Map.hs:87)
17.78 s
[cursor] mapCursorInsertAndSelectValue (src/Cursor/Simple/Map.hs:90)
17.78 s
[cursor] mapCursorAppendAndSelectValue (src/Cursor/Simple/Map.hs:93)
17.78 s
[cursor] mapCursorRemoveElemAndSelectPrev (src/Cursor/Simple/Map.hs:96)
17.78 s
[cursor] mapCursorDeleteElemAndSelectNext (src/Cursor/Simple/Map.hs:99)
17.78 s
[cursor] mapCursorRemoveElem (src/Cursor/Simple/Map.hs:102)
17.78 s
[cursor] mapCursorDeleteElem (src/Cursor/Simple/Map.hs:105)
17.78 s
[cursor] mapCursorSearch (src/Cursor/Simple/Map.hs:108)
17.78 s
[cursor] mapCursorSelectOrAdd (src/Cursor/Simple/Map.hs:111)
17.78 s
[cursor] 0% ( 0 / 28) in 'Cursor.List'
17.78 s
[cursor] Missing documentation for:
17.78 s
[cursor] Module header
17.78 s
[cursor] ListCursor (src/Cursor/List.hs:42)
17.78 s
[cursor] emptyListCursor (src/Cursor/List.hs:54)
17.78 s
[cursor] makeListCursor (src/Cursor/List.hs:57)
17.78 s
[cursor] makeListCursorWithSelection (src/Cursor/List.hs:60)
17.78 s
[cursor] rebuildListCursor (src/Cursor/List.hs:66)
17.78 s
[cursor] listCursorNull (src/Cursor/List.hs:69)
17.78 s
[cursor] listCursorLength (src/Cursor/List.hs:72)
17.78 s
[cursor] listCursorIndex (src/Cursor/List.hs:75)
17.78 s
[cursor] listCursorSelectPrev (src/Cursor/List.hs:78)
17.78 s
[cursor] listCursorSelectNext (src/Cursor/List.hs:84)
17.78 s
[cursor] listCursorSelectIndex (src/Cursor/List.hs:90)
17.78 s
[cursor] listCursorSelectStart (src/Cursor/List.hs:96)
17.78 s
[cursor] listCursorSelectEnd (src/Cursor/List.hs:102)
17.78 s
[cursor] listCursorPrevItem (src/Cursor/List.hs:108)
17.78 s
[cursor] listCursorNextItem (src/Cursor/List.hs:114)
17.78 s
[cursor] listCursorPrevUntil (src/Cursor/List.hs:120)
17.78 s
[cursor] listCursorNextUntil (src/Cursor/List.hs:130)
17.78 s
[cursor] listCursorInsert (src/Cursor/List.hs:140)
17.78 s
[cursor] listCursorAppend (src/Cursor/List.hs:143)
17.78 s
[cursor] listCursorInsertList (src/Cursor/List.hs:146)
17.78 s
[cursor] listCursorAppendList (src/Cursor/List.hs:149)
17.78 s
[cursor] listCursorRemove (src/Cursor/List.hs:152)
17.78 s
[cursor] listCursorDelete (src/Cursor/List.hs:161)
17.78 s
[cursor] listCursorSplit (src/Cursor/List.hs:170)
17.78 s
[cursor] listCursorCombine (src/Cursor/List.hs:176)
17.78 s
[cursor] traverseListCursor (src/Cursor/List.hs:183)
17.78 s
[cursor] foldListCursor (src/Cursor/List.hs:186)
17.78 s
[cursor] 16% ( 5 / 30) in 'Cursor.Text'
17.78 s
[cursor] Missing documentation for:
17.78 s
[cursor] Module header
17.78 s
[cursor] emptyTextCursor (src/Cursor/Text.hs:67)
17.78 s
[cursor] makeTextCursor (src/Cursor/Text.hs:70)
17.78 s
[cursor] makeTextCursorWithSelection (src/Cursor/Text.hs:73)
17.78 s
[cursor] rebuildTextCursor (src/Cursor/Text.hs:79)
17.78 s
[cursor] textCursorNull (src/Cursor/Text.hs:86)
17.78 s
[cursor] textCursorLength (src/Cursor/Text.hs:89)
17.78 s
[cursor] textCursorIndex (src/Cursor/Text.hs:92)
17.78 s
[cursor] textCursorSelectPrev (src/Cursor/Text.hs:95)
17.78 s
[cursor] textCursorSelectNext (src/Cursor/Text.hs:98)
17.78 s
[cursor] textCursorSelectIndex (src/Cursor/Text.hs:101)
17.78 s
[cursor] textCursorSelectStart (src/Cursor/Text.hs:104)
17.78 s
[cursor] textCursorSelectEnd (src/Cursor/Text.hs:107)
17.78 s
[cursor] textCursorPrevChar (src/Cursor/Text.hs:110)
17.78 s
[cursor] textCursorNextChar (src/Cursor/Text.hs:113)
17.78 s
[cursor] textCursorInsert (src/Cursor/Text.hs:190)
17.78 s
[cursor] textCursorAppend (src/Cursor/Text.hs:197)
17.78 s
[cursor] textCursorInsertString (src/Cursor/Text.hs:204)
17.78 s
[cursor] textCursorAppendString (src/Cursor/Text.hs:210)
17.78 s
[cursor] textCursorInsertText (src/Cursor/Text.hs:216)
17.78 s
[cursor] textCursorAppendText (src/Cursor/Text.hs:219)
17.78 s
[cursor] textCursorRemove (src/Cursor/Text.hs:222)
17.78 s
[cursor] textCursorDelete (src/Cursor/Text.hs:225)
17.78 s
[cursor] textCursorSplit (src/Cursor/Text.hs:228)
17.78 s
[cursor] textCursorCombine (src/Cursor/Text.hs:233)
17.78 s
[cursor] 6% ( 2 / 31) in 'Cursor.TextField'
17.78 s
[cursor] Missing documentation for:
17.78 s
[cursor] Module header
17.78 s
[cursor] TextFieldCursor (src/Cursor/TextField.hs:55)
17.78 s
[cursor] makeTextFieldCursor (src/Cursor/TextField.hs:73)
17.78 s
[cursor] makeTextFieldCursorWithSelection (src/Cursor/TextField.hs:76)
17.78 s
[cursor] rebuildTextFieldCursorLines (src/Cursor/TextField.hs:86)
17.78 s
[cursor] rebuildTextFieldCursor (src/Cursor/TextField.hs:89)
17.78 s
[cursor] emptyTextFieldCursor (src/Cursor/TextField.hs:92)
17.78 s
[cursor] nullTextFieldCursor (src/Cursor/TextField.hs:96)
17.78 s
[cursor] textFieldCursorSelection (src/Cursor/TextField.hs:99)
17.78 s
[cursor] textFieldCursorNonEmptyCursorL (src/Cursor/TextField.hs:105)
17.78 s
[cursor] textFieldCursorSelectedL (src/Cursor/TextField.hs:109)
17.78 s
[cursor] textFieldCursorSelectPrevLine (src/Cursor/TextField.hs:112)
17.78 s
[cursor] textFieldCursorSelectNextLine (src/Cursor/TextField.hs:116)
17.78 s
[cursor] textFieldCursorSelectFirstLine (src/Cursor/TextField.hs:130)
17.78 s
[cursor] textFieldCursorSelectLastLine (src/Cursor/TextField.hs:134)
17.78 s
[cursor] textFieldCursorSelectPrevChar (src/Cursor/TextField.hs:148)
17.78 s
[cursor] textFieldCursorSelectNextChar (src/Cursor/TextField.hs:151)
17.78 s
[cursor] textFieldCursorSelectPrevWord (src/Cursor/TextField.hs:160)
17.78 s
[cursor] textFieldCursorSelectNextWord (src/Cursor/TextField.hs:163)
17.78 s
[cursor] textFieldCursorSelectBeginWord (src/Cursor/TextField.hs:154)
17.78 s
[cursor] textFieldCursorSelectEndWord (src/Cursor/TextField.hs:157)
17.78 s
[cursor] textFieldCursorIndexOnLine (src/Cursor/TextField.hs:166)
17.78 s
[cursor] textFieldCursorSelectIndexOnLine (src/Cursor/TextField.hs:169)
17.78 s
[cursor] textFieldCursorInsertNewline (src/Cursor/TextField.hs:200)
17.78 s
[cursor] textFieldCursorAppendNewline (src/Cursor/TextField.hs:213)
17.78 s
[cursor] textFieldCursorRemove (src/Cursor/TextField.hs:226)
17.78 s
[cursor] textFieldCursorDelete (src/Cursor/TextField.hs:250)
17.78 s
[cursor] textFieldCursorSelectStartOfLine (src/Cursor/TextField.hs:274)
17.78 s
[cursor] textFieldCursorSelectEndOfLine (src/Cursor/TextField.hs:277)
17.78 s
[cursor] 8% ( 8 / 93) in 'Cursor.Forest'
17.78 s
[cursor] Missing documentation for:
17.78 s
[cursor] Module header
17.78 s
[cursor] ForestCursor (src/Cursor/Forest.hs:114)
17.78 s
[cursor] singletonForestCursor (src/Cursor/Forest.hs:124)
17.78 s
[cursor] makeForestCursor (src/Cursor/Forest.hs:127)
17.78 s
[cursor] rebuildForestCursor (src/Cursor/Forest.hs:130)
17.78 s
[cursor] drawForestCursor (src/Cursor/Forest.hs:133)
17.78 s
[cursor] mapForestCursor (src/Cursor/Forest.hs:140)
17.78 s
[cursor] forestCursorListCursorL (src/Cursor/Forest.hs:144)
17.78 s
[cursor] forestCursorSelectedTreeL (src/Cursor/Forest.hs:147)
17.78 s
[cursor] forestCursorSelectPrevTreeCursor (src/Cursor/Forest.hs:151)
17.78 s
[cursor] forestCursorSelectNextTreeCursor (src/Cursor/Forest.hs:156)
17.78 s
[cursor] forestCursorSelectFirstTreeCursor (src/Cursor/Forest.hs:160)
17.78 s
[cursor] forestCursorSelectLastTreeCursor (src/Cursor/Forest.hs:164)
17.78 s
[cursor] forestCursorSelectPrev (src/Cursor/Forest.hs:173)
17.78 s
[cursor] forestCursorSelectNext (src/Cursor/Forest.hs:168)
17.78 s
[cursor] forestCursorSelectPrevOnSameLevel (src/Cursor/Forest.hs:188)
17.78 s
[cursor] forestCursorSelectNextOnSameLevel (src/Cursor/Forest.hs:182)
17.78 s
[cursor] forestCursorSelectFirst (src/Cursor/Forest.hs:205)
17.78 s
[cursor] forestCursorSelectLast (src/Cursor/Forest.hs:214)
17.78 s
[cursor] forestCursorSelectFirstOnSameLevel (src/Cursor/Forest.hs:199)
17.78 s
[cursor] forestCursorSelectLastOnSameLevel (src/Cursor/Forest.hs:193)
17.78 s
[cursor] forestCursorSelectAbove (src/Cursor/Forest.hs:223)
17.78 s
[cursor] forestCursorSelectBelowAtPos (src/Cursor/Forest.hs:227)
17.78 s
[cursor] forestCursorSelectBelowAtStart (src/Cursor/Forest.hs:231)
17.78 s
[cursor] forestCursorSelectBelowAtEnd (src/Cursor/Forest.hs:234)
17.78 s
[cursor] forestCursorSelection (src/Cursor/Forest.hs:237)
17.78 s
[cursor] forestCursorSelectIndex (src/Cursor/Forest.hs:241)
17.78 s
[cursor] forestCursorOpenCurrentForest (src/Cursor/Forest.hs:245)
17.78 s
[cursor] forestCursorCloseCurrentForest (src/Cursor/Forest.hs:248)
17.78 s
[cursor] forestCursorToggleCurrentForest (src/Cursor/Forest.hs:251)
17.78 s
[cursor] forestCursorOpenCurrentForestRecursively (src/Cursor/Forest.hs:254)
17.78 s
[cursor] forestCursorToggleCurrentForestRecursively (src/Cursor/Forest.hs:258)
17.78 s
[cursor] forestCursorInsertEntireTree (src/Cursor/Forest.hs:262)
17.78 s
[cursor] forestCursorAppendEntireTree (src/Cursor/Forest.hs:270)
17.78 s
[cursor] forestCursorInsertAndSelectTreeCursor (src/Cursor/Forest.hs:266)
17.78 s
[cursor] forestCursorAppendAndSelectTreeCursor (src/Cursor/Forest.hs:274)
17.78 s
[cursor] forestCursorInsertTree (src/Cursor/Forest.hs:278)
17.78 s
[cursor] forestCursorAppendTree (src/Cursor/Forest.hs:288)
17.78 s
[cursor] forestCursorInsertAndSelectTree (src/Cursor/Forest.hs:284)
17.78 s
[cursor] forestCursorAppendAndSelectTree (src/Cursor/Forest.hs:294)
17.78 s
[cursor] forestCursorInsert (src/Cursor/Forest.hs:298)
17.78 s
[cursor] forestCursorAppend (src/Cursor/Forest.hs:312)
17.78 s
[cursor] forestCursorInsertAndSelect (src/Cursor/Forest.hs:301)
17.78 s
[cursor] forestCursorAppendAndSelect (src/Cursor/Forest.hs:315)
17.78 s
[cursor] forestCursorInsertNodeSingleAndSelect (src/Cursor/Forest.hs:304)
17.78 s
[cursor] forestCursorAppendNodeSingleAndSelect (src/Cursor/Forest.hs:318)
17.78 s
[cursor] forestCursorInsertNodeAndSelect (src/Cursor/Forest.hs:307)
17.78 s
[cursor] forestCursorAppendNodeAndSelect (src/Cursor/Forest.hs:321)
17.78 s
[cursor] forestCursorAddChildTreeToNodeAtPos (src/Cursor/Forest.hs:326)
17.78 s
[cursor] forestCursorAddChildTreeToNodeAtStart (src/Cursor/Forest.hs:329)
17.78 s
[cursor] forestCursorAddChildTreeToNodeAtEnd (src/Cursor/Forest.hs:332)
17.78 s
[cursor] forestCursorAddChildToNodeAtPos (src/Cursor/Forest.hs:336)
17.78 s
[cursor] forestCursorAddChildToNodeAtStart (src/Cursor/Forest.hs:339)
17.78 s
[cursor] forestCursorAddChildToNodeAtEnd (src/Cursor/Forest.hs:342)
17.78 s
[cursor] forestCursorAddChildTreeToNodeAtPosAndSelect (src/Cursor/Forest.hs:346)
17.78 s
[cursor] forestCursorAddChildTreeToNodeAtStartAndSelect (src/Cursor/Forest.hs:351)
17.78 s
[cursor] forestCursorAddChildTreeToNodeAtEndAndSelect (src/Cursor/Forest.hs:356)
17.78 s
[cursor] forestCursorAddChildToNodeAtPosAndSelect (src/Cursor/Forest.hs:361)
17.78 s
[cursor] forestCursorAddChildToNodeAtStartAndSelect (src/Cursor/Forest.hs:366)
17.78 s
[cursor] forestCursorAddChildToNodeAtEndAndSelect (src/Cursor/Forest.hs:371)
17.78 s
[cursor] forestCursorAddChildNodeSingleToNodeAtPosAndSelect (src/Cursor/Forest.hs:376)
17.78 s
[cursor] forestCursorAddChildNodeSingleToNodeAtStartAndSelect (src/Cursor/Forest.hs:380)
17.78 s
[cursor] forestCursorAddChildNodeSingleToNodeAtEndAndSelect (src/Cursor/Forest.hs:384)
17.78 s
[cursor] forestCursorAddChildNodeToNodeAtPosAndSelect (src/Cursor/Forest.hs:388)
17.78 s
[cursor] forestCursorAddChildNodeToNodeAtStartAndSelect (src/Cursor/Forest.hs:392)
17.78 s
[cursor] forestCursorAddChildNodeToNodeAtEndAndSelect (src/Cursor/Forest.hs:396)
17.78 s
[cursor] forestCursorRemoveElemAndSelectPrev (src/Cursor/Forest.hs:400)
17.78 s
[cursor] forestCursorDeleteElemAndSelectNext (src/Cursor/Forest.hs:414)
17.78 s
[cursor] forestCursorRemoveElem (src/Cursor/Forest.hs:425)
17.78 s
[cursor] forestCursorDeleteElem (src/Cursor/Forest.hs:430)
17.78 s
[cursor] forestCursorRemoveSubTreeAndSelectPrev (src/Cursor/Forest.hs:436)
17.78 s
[cursor] forestCursorDeleteSubTreeAndSelectNext (src/Cursor/Forest.hs:451)
17.78 s
[cursor] forestCursorRemoveSubTree (src/Cursor/Forest.hs:463)
17.78 s
[cursor] forestCursorDeleteSubTree (src/Cursor/Forest.hs:468)
17.78 s
[cursor] forestCursorAddRoot (src/Cursor/Forest.hs:473)
17.78 s
[cursor] CTree (src/Cursor/Tree/Types.hs:102)
17.78 s
[cursor] makeCTree (src/Cursor/Tree/Types.hs:117)
17.78 s
[cursor] cTree (src/Cursor/Tree/Types.hs:120)
17.78 s
[cursor] rebuildCTree (src/Cursor/Tree/Types.hs:123)
17.78 s
[cursor] CForest (src/Cursor/Tree/Types.hs:125)
17.78 s
[cursor] makeCForest (src/Cursor/Tree/Types.hs:148)
17.78 s
[cursor] cForest (src/Cursor/Tree/Types.hs:151)
17.78 s
[cursor] rebuildCForest (src/Cursor/Tree/Types.hs:157)
17.78 s
[cursor] traverseForestCursor (src/Cursor/Forest.hs:751)
17.78 s
[cursor] foldForestCursor (src/Cursor/Forest.hs:754)
17.78 s
[cursor] 4% ( 4 / 91) in 'Cursor.Simple.Forest'
17.78 s
[cursor] Missing documentation for:
17.78 s
[cursor] Module header
17.78 s
[cursor] ForestCursor (src/Cursor/Simple/Forest.hs:104)
17.78 s
[cursor] singletonForestCursor (src/Cursor/Forest.hs:124)
17.78 s
[cursor] makeForestCursor (src/Cursor/Simple/Forest.hs:107)
17.78 s
[cursor] rebuildForestCursor (src/Cursor/Simple/Forest.hs:110)
17.78 s
[cursor] drawForestCursor (src/Cursor/Forest.hs:133)
17.78 s
[cursor] mapForestCursor (src/Cursor/Simple/Forest.hs:113)
17.78 s
[cursor] forestCursorListCursorL (src/Cursor/Forest.hs:144)
17.79 s
[cursor] forestCursorSelectedTreeL (src/Cursor/Forest.hs:147)
17.79 s
[cursor] forestCursorSelectPrevTreeCursor (src/Cursor/Simple/Forest.hs:116)
17.79 s
[cursor] forestCursorSelectNextTreeCursor (src/Cursor/Simple/Forest.hs:119)
17.79 s
[cursor] forestCursorSelectFirstTreeCursor (src/Cursor/Simple/Forest.hs:122)
17.79 s
[cursor] forestCursorSelectLastTreeCursor (src/Cursor/Simple/Forest.hs:125)
17.79 s
[cursor] forestCursorSelectPrev (src/Cursor/Simple/Forest.hs:131)
17.79 s
[cursor] forestCursorSelectNext (src/Cursor/Simple/Forest.hs:128)
17.79 s
[cursor] forestCursorSelectPrevOnSameLevel (src/Cursor/Simple/Forest.hs:137)
17.79 s
[cursor] forestCursorSelectNextOnSameLevel (src/Cursor/Simple/Forest.hs:134)
17.79 s
[cursor] forestCursorSelectFirst (src/Cursor/Simple/Forest.hs:140)
17.79 s
[cursor] forestCursorSelectLast (src/Cursor/Simple/Forest.hs:143)
17.79 s
[cursor] forestCursorSelectFirstOnSameLevel (src/Cursor/Simple/Forest.hs:146)
17.79 s
[cursor] forestCursorSelectLastOnSameLevel (src/Cursor/Simple/Forest.hs:149)
17.79 s
[cursor] forestCursorSelectAbove (src/Cursor/Simple/Forest.hs:152)
17.79 s
[cursor] forestCursorSelectBelowAtPos (src/Cursor/Simple/Forest.hs:155)
17.79 s
[cursor] forestCursorSelectBelowAtStart (src/Cursor/Simple/Forest.hs:158)
17.79 s
[cursor] forestCursorSelectBelowAtEnd (src/Cursor/Simple/Forest.hs:161)
17.79 s
[cursor] forestCursorOpenCurrentForest (src/Cursor/Forest.hs:245)
17.79 s
[cursor] forestCursorCloseCurrentForest (src/Cursor/Forest.hs:248)
17.79 s
[cursor] forestCursorToggleCurrentForest (src/Cursor/Forest.hs:251)
17.79 s
[cursor] forestCursorOpenCurrentForestRecursively (src/Cursor/Forest.hs:254)
17.79 s
[cursor] forestCursorToggleCurrentForestRecursively (src/Cursor/Forest.hs:258)
17.79 s
[cursor] forestCursorSelection (src/Cursor/Forest.hs:237)
17.79 s
[cursor] forestCursorSelectIndex (src/Cursor/Simple/Forest.hs:164)
17.79 s
[cursor] forestCursorInsertEntireTree (src/Cursor/Forest.hs:262)
17.79 s
[cursor] forestCursorInsertAndSelectTreeCursor (src/Cursor/Simple/Forest.hs:167)
17.79 s
[cursor] forestCursorAppendEntireTree (src/Cursor/Forest.hs:270)
17.79 s
[cursor] forestCursorAppendAndSelectTreeCursor (src/Cursor/Simple/Forest.hs:170)
17.79 s
[cursor] forestCursorInsertTree (src/Cursor/Forest.hs:278)
17.79 s
[cursor] forestCursorAppendTree (src/Cursor/Forest.hs:288)
17.79 s
[cursor] forestCursorInsertAndSelectTree (src/Cursor/Simple/Forest.hs:173)
17.79 s
[cursor] forestCursorAppendAndSelectTree (src/Cursor/Simple/Forest.hs:176)
17.79 s
[cursor] forestCursorInsert (src/Cursor/Forest.hs:298)
17.79 s
[cursor] forestCursorAppend (src/Cursor/Forest.hs:312)
17.79 s
[cursor] forestCursorInsertAndSelect (src/Cursor/Simple/Forest.hs:179)
17.79 s
[cursor] forestCursorAppendAndSelect (src/Cursor/Simple/Forest.hs:188)
17.79 s
[cursor] forestCursorInsertNodeSingleAndSelect (src/Cursor/Simple/Forest.hs:182)
17.79 s
[cursor] forestCursorAppendNodeSingleAndSelect (src/Cursor/Simple/Forest.hs:191)
17.79 s
[cursor] forestCursorInsertNodeAndSelect (src/Cursor/Simple/Forest.hs:185)
17.79 s
[cursor] forestCursorAppendNodeAndSelect (src/Cursor/Simple/Forest.hs:194)
17.79 s
[cursor] forestCursorAddChildTreeToNodeAtPos (src/Cursor/Forest.hs:326)
17.79 s
[cursor] forestCursorAddChildTreeToNodeAtStart (src/Cursor/Forest.hs:329)
17.79 s
[cursor] forestCursorAddChildTreeToNodeAtEnd (src/Cursor/Forest.hs:332)
17.79 s
[cursor] forestCursorAddChildToNodeAtPos (src/Cursor/Forest.hs:336)
17.79 s
[cursor] forestCursorAddChildToNodeAtStart (src/Cursor/Forest.hs:339)
17.79 s
[cursor] forestCursorAddChildToNodeAtEnd (src/Cursor/Forest.hs:342)
17.79 s
[cursor] forestCursorAddChildTreeToNodeAtPosAndSelect (src/Cursor/Simple/Forest.hs:197)
17.79 s
[cursor] forestCursorAddChildTreeToNodeAtStartAndSelect (src/Cursor/Simple/Forest.hs:200)
17.79 s
[cursor] forestCursorAddChildTreeToNodeAtEndAndSelect (src/Cursor/Simple/Forest.hs:204)
17.79 s
[cursor] forestCursorAddChildToNodeAtPosAndSelect (src/Cursor/Simple/Forest.hs:207)
17.79 s
[cursor] forestCursorAddChildToNodeAtStartAndSelect (src/Cursor/Simple/Forest.hs:210)
17.79 s
[cursor] forestCursorAddChildToNodeAtEndAndSelect (src/Cursor/Simple/Forest.hs:213)
17.79 s
[cursor] forestCursorAddChildNodeSingleToNodeAtPosAndSelect (src/Cursor/Simple/Forest.hs:216)
17.79 s
[cursor] forestCursorAddChildNodeSingleToNodeAtStartAndSelect (src/Cursor/Simple/Forest.hs:219)
17.79 s
[cursor] forestCursorAddChildNodeSingleToNodeAtEndAndSelect (src/Cursor/Simple/Forest.hs:222)
17.79 s
[cursor] forestCursorAddChildNodeToNodeAtPosAndSelect (src/Cursor/Simple/Forest.hs:225)
17.79 s
[cursor] forestCursorAddChildNodeToNodeAtStartAndSelect (src/Cursor/Simple/Forest.hs:228)
17.79 s
[cursor] forestCursorAddChildNodeToNodeAtEndAndSelect (src/Cursor/Simple/Forest.hs:231)
17.79 s
[cursor] forestCursorRemoveElemAndSelectPrev (src/Cursor/Simple/Forest.hs:234)
17.79 s
[cursor] forestCursorDeleteElemAndSelectNext (src/Cursor/Simple/Forest.hs:237)
17.79 s
[cursor] forestCursorRemoveElem (src/Cursor/Simple/Forest.hs:240)
17.79 s
[cursor] forestCursorDeleteElem (src/Cursor/Simple/Forest.hs:243)
17.79 s
[cursor] forestCursorRemoveSubTreeAndSelectPrev (src/Cursor/Simple/Forest.hs:246)
17.79 s
[cursor] forestCursorDeleteSubTreeAndSelectNext (src/Cursor/Simple/Forest.hs:249)
17.79 s
[cursor] forestCursorRemoveSubTree (src/Cursor/Simple/Forest.hs:252)
17.79 s
[cursor] forestCursorDeleteSubTree (src/Cursor/Simple/Forest.hs:255)
17.79 s
[cursor] forestCursorAddRoot (src/Cursor/Simple/Forest.hs:258)
17.79 s
[cursor] forestCursorPromoteElem (src/Cursor/Simple/Forest.hs:261)
17.79 s
[cursor] forestCursorPromoteSubTree (src/Cursor/Simple/Forest.hs:264)
17.79 s
[cursor] forestCursorDemoteElem (src/Cursor/Simple/Forest.hs:267)
17.79 s
[cursor] forestCursorDemoteSubTree (src/Cursor/Simple/Forest.hs:270)
17.79 s
[cursor] CTree (src/Cursor/Tree/Types.hs:102)
17.79 s
[cursor] makeCTree (src/Cursor/Tree/Types.hs:117)
17.79 s
[cursor] cTree (src/Cursor/Tree/Types.hs:120)
17.79 s
[cursor] rebuildCTree (src/Cursor/Tree/Types.hs:123)
17.79 s
[cursor] CForest (src/Cursor/Tree/Types.hs:125)
17.79 s
[cursor] makeCForest (src/Cursor/Tree/Types.hs:148)
17.79 s
[cursor] cForest (src/Cursor/Tree/Types.hs:151)
17.79 s
[cursor] rebuildCForest (src/Cursor/Tree/Types.hs:157)
17.92 s
[cursor] Warning: Cursor.Map.KeyValue: could not find link destinations for:
17.92 s
[cursor] - Cursor.Map.KeyValue.Rep_KeyValueToggle
17.92 s
[cursor] - Cursor.Map.KeyValue.Rep_KeyValueCursor
17.92 s
[cursor] Warning: Cursor.Simple.Map.KeyValue: could not find link destinations for:
17.92 s
[cursor] - Cursor.Map.KeyValue.Rep_KeyValueToggle
17.93 s
[cursor] Warning: Cursor.Tree.Types: could not find link destinations for:
17.93 s
[cursor] - Cursor.Tree.Types.Rep_TreeCursor
17.93 s
[cursor] - Cursor.Tree.Types.Rep_TreeAbove
17.93 s
[cursor] - Cursor.Tree.Types.Rep_CForest
17.93 s
[cursor] - Cursor.Tree.Types.Rep_CTree
17.93 s
[cursor] - Cursor.Tree.Types.Rep_TreeCursorSelection
17.93 s
[cursor] Warning: Cursor.Tree.Swap: could not find link destinations for:
17.93 s
[cursor] - Cursor.Tree.Swap.Rep_SwapResult
17.93 s
[cursor] Warning: Cursor.Tree.Promote: could not find link destinations for:
17.93 s
[cursor] - Cursor.Tree.Promote.Rep_PromoteResult
17.93 s
[cursor] - Cursor.Tree.Promote.Rep_PromoteElemResult
17.93 s
[cursor] Warning: Cursor.Tree.Movement: could not find link destinations for:
17.93 s
[cursor] - Cursor.Tree.Types.Rep_TreeCursorSelection
17.93 s
[cursor] Warning: Cursor.Tree.Demote: could not find link destinations for:
17.93 s
[cursor] - Cursor.Tree.Demote.Rep_DemoteResult
17.93 s
[cursor] Warning: Cursor.Types: could not find link destinations for:
17.93 s
[cursor] - Cursor.Types.Rep_DeleteOrUpdate
17.93 s
[cursor] Warning: Cursor.Tree: could not find link destinations for:
17.93 s
[cursor] - Cursor.Tree.Types.Rep_TreeCursor
17.93 s
[cursor] - Cursor.Tree.Types.Rep_TreeAbove
17.93 s
[cursor] Warning: Cursor.Simple.Tree: could not find link destinations for:
17.93 s
[cursor] - Cursor.Tree.Types.Rep_TreeAbove
17.93 s
[cursor] - Cursor.Tree.Types.Rep_CForest
17.93 s
[cursor] - Cursor.Tree.Types.Rep_CTree
17.93 s
[cursor] - Cursor.Tree.Types.Rep_TreeCursorSelection
17.94 s
[cursor] - Cursor.Tree.Swap.Rep_SwapResult
17.94 s
[cursor] - Cursor.Tree.Promote.Rep_PromoteResult
17.94 s
[cursor] - Cursor.Tree.Promote.Rep_PromoteElemResult
17.94 s
[cursor] - Cursor.Tree.Demote.Rep_DemoteResult
17.94 s
[cursor] Warning: Cursor.List.NonEmpty: could not find link destinations for:
17.94 s
[cursor] - Cursor.List.NonEmpty.Rep_NonEmptyCursor
17.94 s
[cursor] Warning: Cursor.Map: could not find link destinations for:
17.94 s
[cursor] - Cursor.Map.Rep_MapCursor
17.94 s
[cursor] Warning: Cursor.List: could not find link destinations for:
17.94 s
[cursor] - Cursor.List.Rep_ListCursor
17.94 s
[cursor] Warning: Cursor.Text: could not find link destinations for:
17.94 s
[cursor] - Cursor.Text.Rep_TextCursor
17.94 s
[cursor] Warning: Cursor.TextField: could not find link destinations for:
17.94 s
[cursor] - Cursor.TextField.Rep_TextFieldCursor
17.94 s
[cursor] Warning: Cursor.Forest: could not find link destinations for:
17.94 s
[cursor] - Cursor.Tree.Types.Rep_CForest
17.94 s
[cursor] - Cursor.Tree.Types.Rep_CTree
17.94 s
[cursor] - Cursor.Forest.Rep_ForestCursor
17.95 s
[cursor] Warning: Cursor.Simple.Forest: could not find link destinations for:
17.95 s
[cursor] - Cursor.Tree.Types.Rep_CForest
17.95 s
[cursor] - Cursor.Tree.Types.Rep_CTree
20.44 s
[cursor] Documentation created: dist/doc/html/cursor/, dist/doc/html/cursor/cursor.txt
20.50 s
[cursor] Phase: installPhase
20.55 s
[cursor] Installing library in /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
20.99 s
[cursor] Phase: fixupPhase
21.01 s
[cursor] shrinking RPATHs of ELF executables and libraries in /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0
21.11 s
[cursor] shrinking /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/libHScursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl-ghc9.8.4.so
21.11 s
[cursor] checking for references to /build/ in /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0...
21.11 s
[cursor] patching script interpreter paths in /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0
21.11 s
[cursor] stripping (with command strip and flags -S -p) in /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0/lib
21.24 s
[cursor] shrinking RPATHs of ELF executables and libraries in /nix/store/xg83bjfz06isfdmm0iqfb2xpjzp7m5q0-cursor-0.3.2.0-doc
21.26 s
[cursor] checking for references to /build/ in /nix/store/xg83bjfz06isfdmm0iqfb2xpjzp7m5q0-cursor-0.3.2.0-doc...
21.27 s
[cursor] patching script interpreter paths in /nix/store/xg83bjfz06isfdmm0iqfb2xpjzp7m5q0-cursor-0.3.2.0-doc
21.34 s
[post-build-hook] Uploading to cachix cache "cursor": /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0 /nix/store/xg83bjfz06isfdmm0iqfb2xpjzp7m5q0-cursor-0.3.2.0-doc
21.74 s
[post-build-hook] Pushing 2 paths (74 are already present) using zstd to cache cursor ⏳
21.74 s
[post-build-hook]
22.14 s
[post-build-hook] Pushing /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0 (10.74 MiB)
22.28 s
[post-build-hook] Pushing /nix/store/xg83bjfz06isfdmm0iqfb2xpjzp7m5q0-cursor-0.3.2.0-doc (5.09 MiB)
23.64 s
[post-build-hook]
23.64 s
[post-build-hook] All done.
23.65 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0 /nix/store/xg83bjfz06isfdmm0iqfb2xpjzp7m5q0-cursor-0.3.2.0-doc
23.88 s
[post-build-hook] copying 2 paths...
23.88 s
[post-build-hook] copying path '/nix/store/xg83bjfz06isfdmm0iqfb2xpjzp7m5q0-cursor-0.3.2.0-doc' to 'https://cache.staging.nix-ci.com'...
24.60 s
[post-build-hook] copying path '/nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0' to 'https://cache.staging.nix-ci.com'...
27.45 s
[post-build-hook] copying 1 paths...
27.45 s
[post-build-hook] copying path '/nix/store/hw6yx5ixsrrdxiyhn2scnd5qygcscl35-cursor-0.3.2.0.drv' to 'https://cache.staging.nix-ci.com'...
27.69 s
Progress: 2 of 6 built, 20 of 20 downloaded from cache
27.73 s
Building cursor-gen-source
27.87 s
[cursor-gen-source] Phase: setupCompilerEnvironmentPhase
27.87 s
[cursor-gen-source] Build with /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4.
28.05 s
[cursor-gen-source] Phase: unpackPhase
28.06 s
[cursor-gen-source] unpacking source archive /nix/store/zr91qcy7vh6f07g44v03gchz5zlvgwpq-cursor-gen
28.08 s
[cursor-gen-source] source root is cursor-gen
28.09 s
[cursor-gen-source] Phase: patchPhase
28.10 s
[cursor-gen-source] Phase: compileBuildDriverPhase
28.10 s
[cursor-gen-source] setupCompileFlags: -package-db=/build/tmp.Ndea4TMSRV/setup-package.conf.d -threaded
28.14 s
[cursor-gen-source] [1 of 2] Compiling Main ( /nix/store/4mdp8nhyfddh7bllbi7xszz7k9955n79-Setup.hs, /build/tmp.Ndea4TMSRV/Main.o )
28.20 s
[cursor-gen-source] [2 of 2] Linking Setup
29.40 s
[cursor-gen-source] Phase: updateAutotoolsGnuConfigScriptsPhase
29.41 s
[cursor-gen-source] Phase: configurePhase
29.42 s
[cursor-gen-source] configureFlags: --verbose --prefix=/nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-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.Ndea4TMSRV/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/vfmnmqsnfiiqmphy7ffh2zqynsxfck1q-ncurses-6.5/lib --extra-lib-dirs=/nix/store/90c412b9wqhfny300rg5s2gpsbrqb31q-libffi-3.4.8/lib --extra-lib-dirs=/nix/store/cly4pxh7avd579girjmpxmx8z6ad4dyp-elfutils-0.192/lib --extra-lib-dirs=/nix/store/kxhsmlrscry4pvbpwkbbbxsksmzg0gp0-gmp-with-cxx-6.3.0/lib
29.43 s
[cursor-gen-source] Using Parsec parser
29.43 s
[cursor-gen-source] Configuring cursor-gen-0.4.0.0...
29.70 s
[cursor-gen-source] Dependency QuickCheck: using QuickCheck-2.14.3
29.70 s
[cursor-gen-source] Dependency base <5: using base-4.19.2.0
29.70 s
[cursor-gen-source] Dependency containers: using containers-0.6.8
29.70 s
[cursor-gen-source] Dependency cursor >=0.2: using cursor-0.3.2.0
29.70 s
[cursor-gen-source] Dependency genvalidity >=0.8: using genvalidity-1.1.1.0
29.70 s
[cursor-gen-source] Dependency genvalidity-containers: using genvalidity-containers-1.0.0.2
29.70 s
[cursor-gen-source] Dependency genvalidity-text >=0.6: using genvalidity-text-1.0.0.1
29.70 s
[cursor-gen-source] Dependency text: using text-2.1.1
29.70 s
[cursor-gen-source] Dependency QuickCheck: using QuickCheck-2.14.3
29.70 s
[cursor-gen-source] Dependency base <5: using base-4.19.2.0
29.70 s
[cursor-gen-source] Dependency containers: using containers-0.6.8
29.70 s
[cursor-gen-source] Dependency cursor: using cursor-0.3.2.0
29.70 s
[cursor-gen-source] Dependency cursor-gen: using cursor-gen-0.4.0.0
29.70 s
[cursor-gen-source] Dependency genvalidity-hspec: using genvalidity-hspec-1.0.0.3
29.70 s
[cursor-gen-source] Dependency genvalidity-hspec-optics: using genvalidity-hspec-optics-1.0.0.0
29.70 s
[cursor-gen-source] Dependency hspec: using hspec-2.11.12
29.70 s
[cursor-gen-source] Dependency microlens: using microlens-0.4.13.1
29.70 s
[cursor-gen-source] Dependency pretty-show: using pretty-show-1.10
29.70 s
[cursor-gen-source] Dependency text: using text-2.1.1
29.93 s
[cursor-gen-source] Source component graph:
29.93 s
[cursor-gen-source] component lib
29.93 s
[cursor-gen-source] component test:cursor-test dependency lib
29.93 s
[cursor-gen-source] Configured component graph:
29.93 s
[cursor-gen-source] component cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
29.93 s
[cursor-gen-source] include QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
29.93 s
[cursor-gen-source] include base-4.19.2.0-213b
29.93 s
[cursor-gen-source] include containers-0.6.8-70da
29.93 s
[cursor-gen-source] include cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
29.93 s
[cursor-gen-source] include genvalidity-1.1.1.0-KyNgGPmiy3sAHfTMB2sHim
29.93 s
[cursor-gen-source] include genvalidity-containers-1.0.0.2-GNNZACt1U6A8DkpcU8B9Cj
29.93 s
[cursor-gen-source] include genvalidity-text-1.0.0.1-3oKboUjEVAkDFEZMvVcMAx
29.93 s
[cursor-gen-source] include text-2.1.1-c123
29.93 s
[cursor-gen-source] component cursor-gen-0.4.0.0-IDYxMXykrKH5pQJHxqmy4K-cursor-test
29.93 s
[cursor-gen-source] include QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
29.93 s
[cursor-gen-source] include base-4.19.2.0-213b
29.93 s
[cursor-gen-source] include containers-0.6.8-70da
29.93 s
[cursor-gen-source] include cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
29.93 s
[cursor-gen-source] include cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
29.93 s
[cursor-gen-source] include genvalidity-hspec-1.0.0.3-9ltNlGAvr8vJGdAZFztilS
29.93 s
[cursor-gen-source] include genvalidity-hspec-optics-1.0.0.0-CcsVw7NqK9k6Vs2hj7Y1GQ
29.93 s
[cursor-gen-source] include hspec-2.11.12-K7qSIvutqLZ9LMAKH045Vj
29.93 s
[cursor-gen-source] include microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
29.93 s
[cursor-gen-source] include pretty-show-1.10-FWHtJzTIzA7DghMPc6tVx7
29.93 s
[cursor-gen-source] include text-2.1.1-c123
29.93 s
[cursor-gen-source] Linked component graph:
29.93 s
[cursor-gen-source] unit cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
29.93 s
[cursor-gen-source] include QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
29.93 s
[cursor-gen-source] include base-4.19.2.0-213b
29.93 s
[cursor-gen-source] include containers-0.6.8-70da
29.93 s
[cursor-gen-source] include cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
29.93 s
[cursor-gen-source] include genvalidity-1.1.1.0-KyNgGPmiy3sAHfTMB2sHim
29.93 s
[cursor-gen-source] include genvalidity-containers-1.0.0.2-GNNZACt1U6A8DkpcU8B9Cj
29.93 s
[cursor-gen-source] include genvalidity-text-1.0.0.1-3oKboUjEVAkDFEZMvVcMAx
29.93 s
[cursor-gen-source] include text-2.1.1-c123
29.93 s
[cursor-gen-source] Cursor.Forest.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Forest.Gen,Cursor.List.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.List.Gen,Cursor.List.NonEmpty.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.List.NonEmpty.Gen,Cursor.Map.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Map.Gen,Cursor.Map.KeyValue.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Map.KeyValue.Gen,Cursor.Simple.Forest.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Simple.Forest.Gen,Cursor.Simple.List.NonEmpty.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Simple.List.NonEmpty.Gen,Cursor.Simple.Map.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Simple.Map.Gen,Cursor.Simple.Map.KeyValue.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Simple.Map.KeyValue.Gen,Cursor.Simple.Tree.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Simple.Tree.Gen,Cursor.Text.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Text.Gen,Cursor.TextField.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.TextField.Gen,Cursor.Tree.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Tree.Gen
29.93 s
[cursor-gen-source] unit cursor-gen-0.4.0.0-IDYxMXykrKH5pQJHxqmy4K-cursor-test
29.93 s
[cursor-gen-source] include QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
29.93 s
[cursor-gen-source] include base-4.19.2.0-213b
29.93 s
[cursor-gen-source] include containers-0.6.8-70da
29.93 s
[cursor-gen-source] include cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
29.93 s
[cursor-gen-source] include cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
29.93 s
[cursor-gen-source] include genvalidity-hspec-1.0.0.3-9ltNlGAvr8vJGdAZFztilS
29.93 s
[cursor-gen-source] include genvalidity-hspec-optics-1.0.0.0-CcsVw7NqK9k6Vs2hj7Y1GQ
29.93 s
[cursor-gen-source] include hspec-2.11.12-K7qSIvutqLZ9LMAKH045Vj
29.93 s
[cursor-gen-source] include microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
29.93 s
[cursor-gen-source] include pretty-show-1.10-FWHtJzTIzA7DghMPc6tVx7
29.93 s
[cursor-gen-source] include text-2.1.1-c123
29.93 s
[cursor-gen-source] Ready component graph:
29.93 s
[cursor-gen-source] definite cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
29.93 s
[cursor-gen-source] depends QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
29.93 s
[cursor-gen-source] depends base-4.19.2.0-213b
29.93 s
[cursor-gen-source] depends containers-0.6.8-70da
29.93 s
[cursor-gen-source] depends cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
29.93 s
[cursor-gen-source] depends genvalidity-1.1.1.0-KyNgGPmiy3sAHfTMB2sHim
29.93 s
[cursor-gen-source] depends genvalidity-containers-1.0.0.2-GNNZACt1U6A8DkpcU8B9Cj
29.93 s
[cursor-gen-source] depends genvalidity-text-1.0.0.1-3oKboUjEVAkDFEZMvVcMAx
29.93 s
[cursor-gen-source] depends text-2.1.1-c123
29.93 s
[cursor-gen-source] definite cursor-gen-0.4.0.0-IDYxMXykrKH5pQJHxqmy4K-cursor-test
29.93 s
[cursor-gen-source] depends QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
29.93 s
[cursor-gen-source] depends base-4.19.2.0-213b
29.93 s
[cursor-gen-source] depends containers-0.6.8-70da
29.93 s
[cursor-gen-source] depends cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
29.93 s
[cursor-gen-source] depends cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
29.93 s
[cursor-gen-source] depends genvalidity-hspec-1.0.0.3-9ltNlGAvr8vJGdAZFztilS
29.93 s
[cursor-gen-source] depends genvalidity-hspec-optics-1.0.0.0-CcsVw7NqK9k6Vs2hj7Y1GQ
29.93 s
[cursor-gen-source] depends hspec-2.11.12-K7qSIvutqLZ9LMAKH045Vj
29.93 s
[cursor-gen-source] depends microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
29.93 s
[cursor-gen-source] depends pretty-show-1.10-FWHtJzTIzA7DghMPc6tVx7
29.93 s
[cursor-gen-source] depends text-2.1.1-c123
29.93 s
[cursor-gen-source] Using Cabal-3.10.3.0 compiled by ghc-9.8
29.93 s
[cursor-gen-source] Using compiler: ghc-9.8.4
29.93 s
[cursor-gen-source] Using install prefix:
29.93 s
[cursor-gen-source] /nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0
29.93 s
[cursor-gen-source] Executables installed in:
29.93 s
[cursor-gen-source] /nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0/bin
29.93 s
[cursor-gen-source] Libraries installed in:
29.93 s
[cursor-gen-source] /nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
29.93 s
[cursor-gen-source] Dynamic Libraries installed in:
29.93 s
[cursor-gen-source] /nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4
29.93 s
[cursor-gen-source] Private executables installed in:
29.93 s
[cursor-gen-source] /nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0/libexec/x86_64-linux-ghc-9.8.4/cursor-gen-0.4.0.0
29.93 s
[cursor-gen-source] Data files installed in:
29.93 s
[cursor-gen-source] /nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0/share/x86_64-linux-ghc-9.8.4/cursor-gen-0.4.0.0
29.93 s
[cursor-gen-source] Documentation installed in: /share/doc/cursor-gen-0.4.0.0
29.93 s
[cursor-gen-source] Configuration files installed in:
29.93 s
[cursor-gen-source] /nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0/etc
29.93 s
[cursor-gen-source] No alex found
29.93 s
[cursor-gen-source] Using ar found on system at:
29.93 s
[cursor-gen-source] /nix/store/hhfm5fkvb1alg1np5a69m2qlcjqhr062-binutils-wrapper-2.44/bin/ar
29.93 s
[cursor-gen-source] No c2hs found
29.93 s
[cursor-gen-source] No cpphs found
29.93 s
[cursor-gen-source] No doctest found
29.93 s
[cursor-gen-source] Using gcc version 14.2.1 given by user at:
29.93 s
[cursor-gen-source] /nix/store/0fsnicvfpf55nkza12cjnad0w84d6ba7-gcc-wrapper-14.2.1.20250322/bin/gcc
29.93 s
[cursor-gen-source] Using ghc version 9.8.4 found on system at:
29.93 s
[cursor-gen-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/ghc
29.93 s
[cursor-gen-source] Using ghc-pkg version 9.8.4 found on system at:
29.93 s
[cursor-gen-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/ghc-pkg-9.8.4
29.93 s
[cursor-gen-source] No ghcjs found
29.93 s
[cursor-gen-source] No ghcjs-pkg found
29.93 s
[cursor-gen-source] No greencard found
29.93 s
[cursor-gen-source] Using haddock version 2.30.0 found on system at:
29.93 s
[cursor-gen-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/haddock-ghc-9.8.4
29.93 s
[cursor-gen-source] No happy found
29.93 s
[cursor-gen-source] Using haskell-suite found on system at: haskell-suite-dummy-location
29.93 s
[cursor-gen-source] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
29.93 s
[cursor-gen-source] No hmake found
29.93 s
[cursor-gen-source] Using hpc version 0.69 found on system at:
29.93 s
[cursor-gen-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/hpc-ghc-9.8.4
29.93 s
[cursor-gen-source] Using hsc2hs version 0.68.10 found on system at:
29.93 s
[cursor-gen-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/hsc2hs-ghc-9.8.4
29.93 s
[cursor-gen-source] Using hscolour version 1.25 found on system at:
29.93 s
[cursor-gen-source] /nix/store/73cxm2im955zxgj14s66rfk0yjqlcapx-hscolour-1.25/bin/HsColour
29.93 s
[cursor-gen-source] No jhc found
29.93 s
[cursor-gen-source] Using ld found on system at:
29.93 s
[cursor-gen-source] /nix/store/hhfm5fkvb1alg1np5a69m2qlcjqhr062-binutils-wrapper-2.44/bin/ld.gold
29.93 s
[cursor-gen-source] No pkg-config found
29.93 s
[cursor-gen-source] Using runghc version 9.8.4 found on system at:
29.93 s
[cursor-gen-source] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/runghc-9.8.4
29.93 s
[cursor-gen-source] Using strip version 2.44 found on system at:
29.93 s
[cursor-gen-source] /nix/store/0fsnicvfpf55nkza12cjnad0w84d6ba7-gcc-wrapper-14.2.1.20250322/bin/strip
29.93 s
[cursor-gen-source] Using tar found on system at:
29.93 s
[cursor-gen-source] /nix/store/wrxvqj822kz8746608lgns7h8mkpn79f-gnutar-1.35/bin/tar
29.93 s
[cursor-gen-source] No uhc found
30.38 s
[cursor-gen-source] Phase: buildPhase
30.39 s
[cursor-gen-source] Building source dist for cursor-gen-0.4.0.0...
30.41 s
[cursor-gen-source] Source tarball created: dist/cursor-gen-0.4.0.0.tar.gz
30.42 s
[cursor-gen-source] Phase: checkPhase
30.42 s
[cursor-gen-source] Phase: haddockPhase
30.43 s
[cursor-gen-source] Phase: installPhase
30.44 s
[cursor-gen-source] Phase: fixupPhase
30.46 s
[post-build-hook] Uploading to cachix cache "cursor": /nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0
30.82 s
[post-build-hook] Pushing 1 paths (0 are already present) using zstd to cache cursor ⏳
30.82 s
[post-build-hook]
31.26 s
[post-build-hook] Pushing /nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0 (19.01 KiB)
32.41 s
[post-build-hook]
32.41 s
[post-build-hook] All done.
32.43 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0
32.49 s
[post-build-hook] copying 1 paths...
32.49 s
[post-build-hook] copying path '/nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0' to 'https://cache.staging.nix-ci.com'...
33.96 s
[post-build-hook] copying 3 paths...
33.96 s
[post-build-hook] copying path '/nix/store/9il6slbp1q0vsnbx6vzs45yhmkgya63i-genvalidity-hspec-optics-1.0.0.0.tar.gz.drv' to 'https://cache.staging.nix-ci.com'...
34.14 s
[post-build-hook] copying path '/nix/store/1lc4fmik98ylwh0ydlw23aywb4kir4i2-genvalidity-hspec-optics-1.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
34.35 s
[post-build-hook] copying path '/nix/store/2hav4aykhjs98c2jn1207kh5n84m2x2z-cursor-gen-source-0.4.0.0.drv' to 'https://cache.staging.nix-ci.com'...
35.86 s
Progress: 3 of 6 built, 20 of 20 downloaded from cache
35.90 s
Building cursor-gen
36.03 s
[cursor-gen] Phase: setupCompilerEnvironmentPhase
36.03 s
[cursor-gen] Build with /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4.
36.20 s
[cursor-gen] Phase: unpackPhase
36.20 s
[cursor-gen] unpacking source archive /nix/store/hfw2gr2l7zbj1gg01i4k630q2s503dns-cursor-gen-source-0.4.0.0/cursor-gen-0.4.0.0.tar.gz
36.21 s
[cursor-gen] source root is cursor-gen-0.4.0.0
36.22 s
[cursor-gen] setting SOURCE_DATE_EPOCH to timestamp 1780346383 of file "cursor-gen-0.4.0.0/test/Spec.hs"
36.22 s
[cursor-gen] warning: file "cursor-gen-0.4.0.0/test/Spec.hs" may be generated; SOURCE_DATE_EPOCH may be non-deterministic
36.22 s
[cursor-gen] Phase: patchPhase
36.23 s
[cursor-gen] Phase: compileBuildDriverPhase
36.23 s
[cursor-gen] setupCompileFlags: -package-db=/build/tmp.VKIqAPgwJs/setup-package.conf.d -threaded
36.26 s
[cursor-gen] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.VKIqAPgwJs/Main.o )
36.32 s
[cursor-gen] [2 of 2] Linking Setup
37.38 s
[cursor-gen] Phase: updateAutotoolsGnuConfigScriptsPhase
37.39 s
[cursor-gen] Phase: configurePhase
37.40 s
[cursor-gen] configureFlags: --verbose --prefix=/nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/bqf2k803xnkq9j31nm64lvz8v9v8n0hd-cursor-gen-0.4.0.0-doc/share/doc/cursor-gen-0.4.0.0 --with-gcc=gcc --package-db=/build/tmp.VKIqAPgwJs/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/vfmnmqsnfiiqmphy7ffh2zqynsxfck1q-ncurses-6.5/lib --extra-lib-dirs=/nix/store/90c412b9wqhfny300rg5s2gpsbrqb31q-libffi-3.4.8/lib --extra-lib-dirs=/nix/store/cly4pxh7avd579girjmpxmx8z6ad4dyp-elfutils-0.192/lib --extra-lib-dirs=/nix/store/kxhsmlrscry4pvbpwkbbbxsksmzg0gp0-gmp-with-cxx-6.3.0/lib
37.40 s
[cursor-gen] Using Parsec parser
37.40 s
[cursor-gen] Configuring cursor-gen-0.4.0.0...
37.66 s
[cursor-gen] Dependency QuickCheck: using QuickCheck-2.14.3
37.68 s
[cursor-gen] Dependency base <5: using base-4.19.2.0
37.68 s
[cursor-gen] Dependency containers: using containers-0.6.8
37.68 s
[cursor-gen] Dependency cursor >=0.2: using cursor-0.3.2.0
37.68 s
[cursor-gen] Dependency genvalidity >=0.8: using genvalidity-1.1.1.0
37.68 s
[cursor-gen] Dependency genvalidity-containers: using genvalidity-containers-1.0.0.2
37.68 s
[cursor-gen] Dependency genvalidity-text >=0.6: using genvalidity-text-1.0.0.1
37.68 s
[cursor-gen] Dependency text: using text-2.1.1
37.68 s
[cursor-gen] Dependency QuickCheck: using QuickCheck-2.14.3
37.68 s
[cursor-gen] Dependency base <5: using base-4.19.2.0
37.68 s
[cursor-gen] Dependency containers: using containers-0.6.8
37.68 s
[cursor-gen] Dependency cursor: using cursor-0.3.2.0
37.68 s
[cursor-gen] Dependency cursor-gen: using cursor-gen-0.4.0.0
37.68 s
[cursor-gen] Dependency genvalidity-hspec: using genvalidity-hspec-1.0.0.3
37.68 s
[cursor-gen] Dependency genvalidity-hspec-optics: using genvalidity-hspec-optics-1.0.0.0
37.68 s
[cursor-gen] Dependency hspec: using hspec-2.11.12
37.68 s
[cursor-gen] Dependency microlens: using microlens-0.4.13.1
37.68 s
[cursor-gen] Dependency pretty-show: using pretty-show-1.10
37.68 s
[cursor-gen] Dependency text: using text-2.1.1
37.86 s
[cursor-gen] Source component graph:
37.86 s
[cursor-gen] component lib
37.86 s
[cursor-gen] component test:cursor-test dependency lib
37.86 s
[cursor-gen] Configured component graph:
37.86 s
[cursor-gen] component cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
37.86 s
[cursor-gen] include QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
37.86 s
[cursor-gen] include base-4.19.2.0-213b
37.86 s
[cursor-gen] include containers-0.6.8-70da
37.86 s
[cursor-gen] include cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
37.86 s
[cursor-gen] include genvalidity-1.1.1.0-KyNgGPmiy3sAHfTMB2sHim
37.86 s
[cursor-gen] include genvalidity-containers-1.0.0.2-GNNZACt1U6A8DkpcU8B9Cj
37.86 s
[cursor-gen] include genvalidity-text-1.0.0.1-3oKboUjEVAkDFEZMvVcMAx
37.86 s
[cursor-gen] include text-2.1.1-c123
37.86 s
[cursor-gen] component cursor-gen-0.4.0.0-IDYxMXykrKH5pQJHxqmy4K-cursor-test
37.86 s
[cursor-gen] include QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
37.86 s
[cursor-gen] include base-4.19.2.0-213b
37.86 s
[cursor-gen] include containers-0.6.8-70da
37.86 s
[cursor-gen] include cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
37.86 s
[cursor-gen] include cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
37.86 s
[cursor-gen] include genvalidity-hspec-1.0.0.3-9ltNlGAvr8vJGdAZFztilS
37.86 s
[cursor-gen] include genvalidity-hspec-optics-1.0.0.0-CcsVw7NqK9k6Vs2hj7Y1GQ
37.86 s
[cursor-gen] include hspec-2.11.12-K7qSIvutqLZ9LMAKH045Vj
37.86 s
[cursor-gen] include microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
37.86 s
[cursor-gen] include pretty-show-1.10-FWHtJzTIzA7DghMPc6tVx7
37.86 s
[cursor-gen] include text-2.1.1-c123
37.86 s
[cursor-gen] Linked component graph:
37.86 s
[cursor-gen] unit cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
37.86 s
[cursor-gen] include QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
37.86 s
[cursor-gen] include base-4.19.2.0-213b
37.86 s
[cursor-gen] include containers-0.6.8-70da
37.86 s
[cursor-gen] include cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
37.86 s
[cursor-gen] include genvalidity-1.1.1.0-KyNgGPmiy3sAHfTMB2sHim
37.86 s
[cursor-gen] include genvalidity-containers-1.0.0.2-GNNZACt1U6A8DkpcU8B9Cj
37.86 s
[cursor-gen] include genvalidity-text-1.0.0.1-3oKboUjEVAkDFEZMvVcMAx
37.86 s
[cursor-gen] include text-2.1.1-c123
37.86 s
[cursor-gen] Cursor.Forest.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Forest.Gen,Cursor.List.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.List.Gen,Cursor.List.NonEmpty.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.List.NonEmpty.Gen,Cursor.Map.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Map.Gen,Cursor.Map.KeyValue.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Map.KeyValue.Gen,Cursor.Simple.Forest.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Simple.Forest.Gen,Cursor.Simple.List.NonEmpty.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Simple.List.NonEmpty.Gen,Cursor.Simple.Map.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Simple.Map.Gen,Cursor.Simple.Map.KeyValue.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Simple.Map.KeyValue.Gen,Cursor.Simple.Tree.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Simple.Tree.Gen,Cursor.Text.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Text.Gen,Cursor.TextField.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.TextField.Gen,Cursor.Tree.Gen=cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3:Cursor.Tree.Gen
37.86 s
[cursor-gen] unit cursor-gen-0.4.0.0-IDYxMXykrKH5pQJHxqmy4K-cursor-test
37.86 s
[cursor-gen] include QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
37.86 s
[cursor-gen] include base-4.19.2.0-213b
37.86 s
[cursor-gen] include containers-0.6.8-70da
37.86 s
[cursor-gen] include cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
37.86 s
[cursor-gen] include cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
37.86 s
[cursor-gen] include genvalidity-hspec-1.0.0.3-9ltNlGAvr8vJGdAZFztilS
37.86 s
[cursor-gen] include genvalidity-hspec-optics-1.0.0.0-CcsVw7NqK9k6Vs2hj7Y1GQ
37.86 s
[cursor-gen] include hspec-2.11.12-K7qSIvutqLZ9LMAKH045Vj
37.86 s
[cursor-gen] include microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
37.86 s
[cursor-gen] include pretty-show-1.10-FWHtJzTIzA7DghMPc6tVx7
37.86 s
[cursor-gen] include text-2.1.1-c123
37.86 s
[cursor-gen] Ready component graph:
37.86 s
[cursor-gen] definite cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
37.86 s
[cursor-gen] depends QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
37.86 s
[cursor-gen] depends base-4.19.2.0-213b
37.86 s
[cursor-gen] depends containers-0.6.8-70da
37.86 s
[cursor-gen] depends cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
37.86 s
[cursor-gen] depends genvalidity-1.1.1.0-KyNgGPmiy3sAHfTMB2sHim
37.86 s
[cursor-gen] depends genvalidity-containers-1.0.0.2-GNNZACt1U6A8DkpcU8B9Cj
37.86 s
[cursor-gen] depends genvalidity-text-1.0.0.1-3oKboUjEVAkDFEZMvVcMAx
37.86 s
[cursor-gen] depends text-2.1.1-c123
37.86 s
[cursor-gen] definite cursor-gen-0.4.0.0-IDYxMXykrKH5pQJHxqmy4K-cursor-test
37.86 s
[cursor-gen] depends QuickCheck-2.14.3-827hvYtscdr2IanDOJjWgT
37.86 s
[cursor-gen] depends base-4.19.2.0-213b
37.86 s
[cursor-gen] depends containers-0.6.8-70da
37.86 s
[cursor-gen] depends cursor-0.3.2.0-5gxcwywD2RVDx0O9FfmDrl
37.86 s
[cursor-gen] depends cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
37.86 s
[cursor-gen] depends genvalidity-hspec-1.0.0.3-9ltNlGAvr8vJGdAZFztilS
37.86 s
[cursor-gen] depends genvalidity-hspec-optics-1.0.0.0-CcsVw7NqK9k6Vs2hj7Y1GQ
37.86 s
[cursor-gen] depends hspec-2.11.12-K7qSIvutqLZ9LMAKH045Vj
37.86 s
[cursor-gen] depends microlens-0.4.13.1-1JnoFfAQlYv2GxkbObuU5m
37.86 s
[cursor-gen] depends pretty-show-1.10-FWHtJzTIzA7DghMPc6tVx7
37.86 s
[cursor-gen] depends text-2.1.1-c123
37.86 s
[cursor-gen] Using Cabal-3.10.3.0 compiled by ghc-9.8
37.86 s
[cursor-gen] Using compiler: ghc-9.8.4
37.86 s
[cursor-gen] Using install prefix:
37.86 s
[cursor-gen] /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0
37.86 s
[cursor-gen] Executables installed in:
37.86 s
[cursor-gen] /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0/bin
37.86 s
[cursor-gen] Libraries installed in:
37.86 s
[cursor-gen] /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
37.86 s
[cursor-gen] Dynamic Libraries installed in:
37.86 s
[cursor-gen] /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4
37.86 s
[cursor-gen] Private executables installed in:
37.86 s
[cursor-gen] /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0/libexec/x86_64-linux-ghc-9.8.4/cursor-gen-0.4.0.0
37.86 s
[cursor-gen] Data files installed in:
37.86 s
[cursor-gen] /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0/share/x86_64-linux-ghc-9.8.4/cursor-gen-0.4.0.0
37.86 s
[cursor-gen] Documentation installed in:
37.86 s
[cursor-gen] /nix/store/bqf2k803xnkq9j31nm64lvz8v9v8n0hd-cursor-gen-0.4.0.0-doc/share/doc/cursor-gen-0.4.0.0
37.86 s
[cursor-gen] Configuration files installed in:
37.86 s
[cursor-gen] /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0/etc
37.86 s
[cursor-gen] No alex found
37.86 s
[cursor-gen] Using ar found on system at:
37.86 s
[cursor-gen] /nix/store/hhfm5fkvb1alg1np5a69m2qlcjqhr062-binutils-wrapper-2.44/bin/ar
37.86 s
[cursor-gen] No c2hs found
37.86 s
[cursor-gen] No cpphs found
37.86 s
[cursor-gen] No doctest found
37.86 s
[cursor-gen] Using gcc version 14.2.1 given by user at:
37.86 s
[cursor-gen] /nix/store/0fsnicvfpf55nkza12cjnad0w84d6ba7-gcc-wrapper-14.2.1.20250322/bin/gcc
37.86 s
[cursor-gen] Using ghc version 9.8.4 found on system at:
37.86 s
[cursor-gen] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/ghc
37.86 s
[cursor-gen] Using ghc-pkg version 9.8.4 found on system at:
37.86 s
[cursor-gen] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/ghc-pkg-9.8.4
37.86 s
[cursor-gen] No ghcjs found
37.86 s
[cursor-gen] No ghcjs-pkg found
37.86 s
[cursor-gen] No greencard found
37.86 s
[cursor-gen] Using haddock version 2.30.0 found on system at:
37.86 s
[cursor-gen] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/haddock-ghc-9.8.4
37.86 s
[cursor-gen] No happy found
37.86 s
[cursor-gen] Using haskell-suite found on system at: haskell-suite-dummy-location
37.86 s
[cursor-gen] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
37.86 s
[cursor-gen] No hmake found
37.86 s
[cursor-gen] Using hpc version 0.69 found on system at:
37.86 s
[cursor-gen] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/hpc-ghc-9.8.4
37.86 s
[cursor-gen] Using hsc2hs version 0.68.10 found on system at:
37.86 s
[cursor-gen] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/hsc2hs-ghc-9.8.4
37.86 s
[cursor-gen] Using hscolour version 1.25 found on system at:
37.86 s
[cursor-gen] /nix/store/73cxm2im955zxgj14s66rfk0yjqlcapx-hscolour-1.25/bin/HsColour
37.86 s
[cursor-gen] No jhc found
37.86 s
[cursor-gen] Using ld found on system at:
37.86 s
[cursor-gen] /nix/store/hhfm5fkvb1alg1np5a69m2qlcjqhr062-binutils-wrapper-2.44/bin/ld.gold
37.86 s
[cursor-gen] No pkg-config found
37.86 s
[cursor-gen] Using runghc version 9.8.4 found on system at:
37.86 s
[cursor-gen] /nix/store/xmvlqc3f0sfij7083klg3z6i4yr4rvsz-ghc-9.8.4/bin/runghc-9.8.4
37.86 s
[cursor-gen] Using strip version 2.44 found on system at:
37.86 s
[cursor-gen] /nix/store/0fsnicvfpf55nkza12cjnad0w84d6ba7-gcc-wrapper-14.2.1.20250322/bin/strip
37.86 s
[cursor-gen] Using tar found on system at:
37.86 s
[cursor-gen] /nix/store/wrxvqj822kz8746608lgns7h8mkpn79f-gnutar-1.35/bin/tar
37.86 s
[cursor-gen] No uhc found
37.97 s
[cursor-gen] Phase: buildPhase
38.01 s
[cursor-gen] Preprocessing library for cursor-gen-0.4.0.0..
38.02 s
[cursor-gen] Building library for cursor-gen-0.4.0.0..
38.10 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 )
38.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 )
38.49 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 )
38.49 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 )
38.57 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 )
38.57 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 )
38.59 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 )
38.59 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 )
38.59 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 )
38.59 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 )
38.81 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 )
38.83 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 )
38.84 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 )
38.86 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 )
39.05 s
[cursor-gen] [ 1 of 14] Compiling Cursor.List.Gen ( src/Cursor/List/Gen.hs, dist/build/Cursor/List/Gen.p_o )
39.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 )
39.46 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 )
39.46 s
[cursor-gen] [ 4 of 14] Compiling Cursor.Map.Gen ( src/Cursor/Map/Gen.hs, dist/build/Cursor/Map/Gen.p_o )
39.62 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 )
39.62 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 )
39.71 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 )
39.72 s
[cursor-gen] [ 8 of 14] Compiling Cursor.Text.Gen ( src/Cursor/Text/Gen.hs, dist/build/Cursor/Text/Gen.p_o )
39.72 s
[cursor-gen] [ 9 of 14] Compiling Cursor.TextField.Gen ( src/Cursor/TextField/Gen.hs, dist/build/Cursor/TextField/Gen.p_o )
39.72 s
[cursor-gen] [10 of 14] Compiling Cursor.Tree.Gen ( src/Cursor/Tree/Gen.hs, dist/build/Cursor/Tree/Gen.p_o )
39.77 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 )
39.99 s
[cursor-gen] [12 of 14] Compiling Cursor.Forest.Gen ( src/Cursor/Forest/Gen.hs, dist/build/Cursor/Forest/Gen.p_o )
39.99 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 )
40.08 s
[cursor-gen] [14 of 14] Compiling Paths_cursor_gen ( dist/build/autogen/Paths_cursor_gen.hs, dist/build/Paths_cursor_gen.p_o )
41.12 s
[cursor-gen] Preprocessing test suite 'cursor-test' for cursor-gen-0.4.0.0..
41.12 s
[cursor-gen] Building test suite 'cursor-test' for cursor-gen-0.4.0.0..
41.24 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 )
42.18 s
[cursor-gen] [ 2 of 22] Compiling Cursor.ListSpec ( test/Cursor/ListSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/ListSpec.o )
43.27 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 )
43.32 s
[cursor-gen] [ 4 of 22] Compiling Cursor.MapSpec ( test/Cursor/MapSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/MapSpec.o )
43.32 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 )
45.30 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 )
45.30 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 )
45.30 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 )
45.30 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 )
45.30 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 )
45.30 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 )
45.30 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 )
45.30 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 )
45.30 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 )
45.30 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 )
45.30 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 )
45.30 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 )
45.30 s
[cursor-gen] [18 of 22] Compiling Cursor.TextFieldSpec ( test/Cursor/TextFieldSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/TextFieldSpec.o )
45.30 s
[cursor-gen] [19 of 22] Compiling Cursor.TextSpec ( test/Cursor/TextSpec.hs, dist/build/cursor-test/cursor-test-tmp/Cursor/TextSpec.o )
45.38 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 )
45.38 s
[cursor-gen] [21 of 22] Compiling Main ( test/Spec.hs, dist/build/cursor-test/cursor-test-tmp/Main.o )
45.39 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 )
45.69 s
[cursor-gen] [23 of 23] Linking dist/build/cursor-test/cursor-test
46.56 s
[cursor-gen] Phase: checkPhase
46.59 s
[cursor-gen] Running 1 test suites...
46.59 s
[cursor-gen] Test suite cursor-test: RUNNING...
46.63 s
[cursor-gen]
46.64 s
[cursor-gen] Cursor.List
46.64 s
[cursor-gen] Eq (ListCursor Bool)
46.64 s
[cursor-gen] (==) :: (ListCursor Bool) -> (ListCursor Bool) -> Bool
46.64 s
[cursor-gen] is reflexive for "valid (ListCursor Bool)"s [✔]
46.64 s
[cursor-gen] +++ OK, passed 100 tests.
46.64 s
[cursor-gen] is symmetric for "valid (ListCursor Bool)"s [✔]
46.64 s
[cursor-gen] +++ OK, passed 100 tests.
46.64 s
[cursor-gen] is transitive for "valid (ListCursor Bool)"s [✔]
46.64 s
[cursor-gen] +++ OK, passed 100 tests.
46.64 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (ListCursor Bool)"s [✔]
46.64 s
[cursor-gen] +++ OK, passed 100 tests.
46.64 s
[cursor-gen] (/=) :: (ListCursor Bool) -> (ListCursor Bool) -> Bool
46.64 s
[cursor-gen] is antireflexive for "valid (ListCursor Bool)"s [✔]
46.64 s
[cursor-gen] +++ OK, passed 100 tests.
46.64 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (ListCursor Bool)"s [✔]
46.64 s
[cursor-gen] +++ OK, passed 100 tests.
46.64 s
[cursor-gen] Functor ListCursor
46.64 s
[cursor-gen] fmap :: (a -> b) -> ListCursor a -> ListCursor b
46.64 s
[cursor-gen] satisfies the first Fuctor law: 'fmap id == id' for "ListCursor of ints :: (ListCursor Int)" [✔]
46.64 s
[cursor-gen] +++ OK, passed 100 tests.
46.64 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)" [✔]
46.64 s
[cursor-gen] +++ OK, passed 100 tests.
46.64 s
[cursor-gen] (<$) :: a -> ListCursor b -> ListCursor a
46.64 s
[cursor-gen] is equivalent to its default implementation for "int :: Int" and "ListCursor of ints :: (ListCursor Int)" [✔]
46.64 s
[cursor-gen] +++ OK, passed 100 tests.
46.64 s
[cursor-gen] GenValid (ListCursor Bool)
46.64 s
[cursor-gen] genValid :: Gen (ListCursor Bool)
46.64 s
[cursor-gen] only generates valid '(ListCursor Bool)'s [✔]
46.64 s
[cursor-gen] +++ OK, passed 100 tests.
46.64 s
[cursor-gen] emptyListCursor
46.64 s
[cursor-gen] is valid [✔]
46.64 s
[cursor-gen] makeListCursor
46.64 s
[cursor-gen] produces valid list cursors [✔]
46.64 s
[cursor-gen] +++ OK, passed 100 tests.
46.64 s
[cursor-gen] makeListCursorWithSelection
46.64 s
[cursor-gen] produces valid list cursors [✔]
46.64 s
[cursor-gen] +++ OK, passed 100 tests.
46.65 s
[cursor-gen] rebuildListCursor
46.65 s
[cursor-gen] produces valid lists [✔]
46.65 s
[cursor-gen] +++ OK, passed 100 tests.
46.65 s
[cursor-gen] is the inverse of makeListCursor [✔]
46.65 s
[cursor-gen] +++ OK, passed 100 tests.
46.65 s
[cursor-gen] is the inverse of makeListCursorWithSelection for any index [✔]
46.65 s
[cursor-gen] +++ OK, passed 100 tests.
46.65 s
[cursor-gen] listCursorNull
46.65 s
[cursor-gen] produces valid bools [✔]
46.65 s
[cursor-gen] +++ OK, passed 100 tests.
46.65 s
[cursor-gen] listCursorLength
46.65 s
[cursor-gen] produces valid bools [✔]
46.65 s
[cursor-gen] +++ OK, passed 100 tests.
46.65 s
[cursor-gen] listCursorIndex
46.65 s
[cursor-gen] produces valid indices [✔]
46.65 s
[cursor-gen] +++ OK, passed 100 tests.
46.65 s
[cursor-gen] listCursorSelectPrev
46.65 s
[cursor-gen] produces valid cursors [✔]
46.65 s
[cursor-gen] +++ OK, passed 100 tests.
46.65 s
[cursor-gen] is a movement [✔]
46.65 s
[cursor-gen] +++ OK, passed 100 tests.
46.65 s
[cursor-gen] selects the previous position [‐]
46.65 s
[cursor-gen] # PENDING: No reason given
46.65 s
[cursor-gen] listCursorSelectNext
46.65 s
[cursor-gen] produces valid cursors [✔]
46.65 s
[cursor-gen] +++ OK, passed 100 tests.
46.65 s
[cursor-gen] is a movement [✔]
46.65 s
[cursor-gen] +++ OK, passed 100 tests.
46.65 s
[cursor-gen] selects the next position [‐]
46.65 s
[cursor-gen] # PENDING: No reason given
46.65 s
[cursor-gen] listCursorSelectIndex
46.65 s
[cursor-gen] produces valid cursors [✔]
46.65 s
[cursor-gen] +++ OK, passed 100 tests.
46.65 s
[cursor-gen] is a movement [✔]
46.65 s
[cursor-gen] +++ OK, passed 100 tests.
46.65 s
[cursor-gen] selects the position at the given index [‐]
46.65 s
[cursor-gen] # PENDING: No reason given
46.65 s
[cursor-gen] listCursorPrevItem
46.65 s
[cursor-gen] produces valid items [✔]
46.65 s
[cursor-gen] +++ OK, passed 100 tests.
46.65 s
[cursor-gen] returns the item before the position [‐]
46.65 s
[cursor-gen] # PENDING: No reason given
46.65 s
[cursor-gen] listCursorNextItem
46.66 s
[cursor-gen] produces valid items [✔]
46.66 s
[cursor-gen] +++ OK, passed 100 tests.
46.66 s
[cursor-gen] returns the item after the position [‐]
46.66 s
[cursor-gen] # PENDING: No reason given
46.66 s
[cursor-gen] listCursorPrevUntil
46.66 s
[cursor-gen] produces valid cursors [✔]
46.66 s
[cursor-gen] +++ OK, passed 100 tests.
46.66 s
[cursor-gen] produces a cursor where the previous item either satisfies the predicate or is empty [✔]
46.66 s
[cursor-gen] +++ OK, passed 100 tests.
46.66 s
[cursor-gen] listCursorNextUntil
46.66 s
[cursor-gen] produces valid cursors [✔]
46.66 s
[cursor-gen] +++ OK, passed 100 tests.
46.66 s
[cursor-gen] produces a cursor where the previous item either satisfies the predicate or is empty [✔]
46.66 s
[cursor-gen] +++ OK, passed 100 tests.
46.66 s
[cursor-gen] listCursorSelectStart
46.66 s
[cursor-gen] produces valid cursors [✔]
46.66 s
[cursor-gen] +++ OK, passed 100 tests.
46.66 s
[cursor-gen] is a movement [✔]
46.66 s
[cursor-gen] +++ OK, passed 100 tests.
46.66 s
[cursor-gen] is idempotent [✔]
46.66 s
[cursor-gen] +++ OK, passed 100 tests.
46.66 s
[cursor-gen] selects the starting position [‐]
46.66 s
[cursor-gen] # PENDING: No reason given
46.66 s
[cursor-gen] listCursorSelectEnd
46.66 s
[cursor-gen] produces valid cursors [✔]
46.66 s
[cursor-gen] +++ OK, passed 100 tests.
46.66 s
[cursor-gen] is a movement [✔]
46.66 s
[cursor-gen] +++ OK, passed 100 tests.
46.66 s
[cursor-gen] is idempotent [✔]
46.66 s
[cursor-gen] +++ OK, passed 100 tests.
46.66 s
[cursor-gen] selects the end position [‐]
46.66 s
[cursor-gen] # PENDING: No reason given
46.66 s
[cursor-gen] listCursorInsert
46.66 s
[cursor-gen] produces valids [✔]
46.66 s
[cursor-gen] +++ OK, passed 100 tests.
46.66 s
[cursor-gen] inserts an item before the cursor [‐]
46.66 s
[cursor-gen] # PENDING: No reason given
46.66 s
[cursor-gen] listCursorAppend
46.66 s
[cursor-gen] produces valids [✔]
46.66 s
[cursor-gen] +++ OK, passed 100 tests.
46.66 s
[cursor-gen] inserts an item after the cursor [‐]
46.66 s
[cursor-gen] # PENDING: No reason given
46.66 s
[cursor-gen] listCursorInsertList
46.67 s
[cursor-gen] produces valids [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.67 s
[cursor-gen] listCursorAppendList
46.67 s
[cursor-gen] produces valids [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.67 s
[cursor-gen] listCursorRemove
46.67 s
[cursor-gen] produces valids [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.67 s
[cursor-gen] removes an item before the cursor [‐]
46.67 s
[cursor-gen] # PENDING: No reason given
46.67 s
[cursor-gen] listCursorDelete
46.67 s
[cursor-gen] produces valids [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.67 s
[cursor-gen] removes an item before the cursor [‐]
46.67 s
[cursor-gen] # PENDING: No reason given
46.67 s
[cursor-gen] listCursorSplit
46.67 s
[cursor-gen] produces valids [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.67 s
[cursor-gen] produces two list cursors that rebuild to the rebuilding of the original [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.67 s
[cursor-gen] listCursorCombine
46.67 s
[cursor-gen] produces valids [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.67 s
[cursor-gen] produces a list that rebuilds to the rebuilding of the original two cursors [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.67 s
[cursor-gen] Cursor.List.NonEmpty
46.67 s
[cursor-gen] nonemptyPrepend
46.67 s
[cursor-gen] is equivalent to regular prepend [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.67 s
[cursor-gen] nonemptyAppend
46.67 s
[cursor-gen] is equivalent to regular append [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.67 s
[cursor-gen] Cursor.Map
46.67 s
[cursor-gen] Eq (MapCursor Bool Bool Bool Bool)
46.67 s
[cursor-gen] (==) :: (MapCursor Bool Bool Bool Bool) -> (MapCursor Bool Bool Bool Bool) -> Bool
46.67 s
[cursor-gen] is reflexive for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.67 s
[cursor-gen] is symmetric for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.67 s
[cursor-gen] is transitive for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.67 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.67 s
[cursor-gen] (/=) :: (MapCursor Bool Bool Bool Bool) -> (MapCursor Bool Bool Bool Bool) -> Bool
46.67 s
[cursor-gen] is antireflexive for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.67 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (MapCursor Bool Bool Bool Bool)"s [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.67 s
[cursor-gen] GenValid (MapCursor Bool Bool Bool Bool)
46.67 s
[cursor-gen] genValid :: Gen (MapCursor Bool Bool Bool Bool)
46.67 s
[cursor-gen] only generates valid '(MapCursor Bool Bool Bool Bool)'s [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.67 s
[cursor-gen] Cursor.Map.KeyValue
46.67 s
[cursor-gen] Eq (KeyValueCursor Bool Bool Bool Bool)
46.67 s
[cursor-gen] (==) :: (KeyValueCursor Bool Bool Bool Bool) -> (KeyValueCursor Bool Bool Bool Bool) -> Bool
46.67 s
[cursor-gen] is reflexive for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.67 s
[cursor-gen] is symmetric for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.67 s
[cursor-gen] is transitive for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.67 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.67 s
[cursor-gen] (/=) :: (KeyValueCursor Bool Bool Bool Bool) -> (KeyValueCursor Bool Bool Bool Bool) -> Bool
46.67 s
[cursor-gen] is antireflexive for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.67 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (KeyValueCursor Bool Bool Bool Bool)"s [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.67 s
[cursor-gen] GenValid (KeyValueCursor Bool Bool Bool Bool)
46.67 s
[cursor-gen] genValid :: Gen (KeyValueCursor Bool Bool Bool Bool)
46.67 s
[cursor-gen] only generates valid '(KeyValueCursor Bool Bool Bool Bool)'s [✔]
46.67 s
[cursor-gen] +++ OK, passed 100 tests.
46.68 s
[cursor-gen] Eq KeyValueToggle
46.68 s
[cursor-gen] (==) :: KeyValueToggle -> KeyValueToggle -> Bool
46.68 s
[cursor-gen] is reflexive for "valid KeyValueToggle"s [✔]
46.68 s
[cursor-gen] +++ OK, passed 100 tests.
46.68 s
[cursor-gen] is symmetric for "valid KeyValueToggle"s [✔]
46.68 s
[cursor-gen] +++ OK, passed 100 tests.
46.68 s
[cursor-gen] is transitive for "valid KeyValueToggle"s [✔]
46.68 s
[cursor-gen] +++ OK, passed 100 tests.
46.68 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid KeyValueToggle"s [✔]
46.68 s
[cursor-gen] +++ OK, passed 100 tests.
46.68 s
[cursor-gen] (/=) :: KeyValueToggle -> KeyValueToggle -> Bool
46.68 s
[cursor-gen] is antireflexive for "valid KeyValueToggle"s [✔]
46.68 s
[cursor-gen] +++ OK, passed 100 tests.
46.68 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid KeyValueToggle"s [✔]
46.68 s
[cursor-gen] +++ OK, passed 100 tests.
46.68 s
[cursor-gen] GenValid KeyValueToggle
46.68 s
[cursor-gen] genValid :: Gen KeyValueToggle
46.68 s
[cursor-gen] only generates valid 'KeyValueToggle's [✔]
46.68 s
[cursor-gen] +++ OK, passed 100 tests.
46.68 s
[cursor-gen] Cursor.Simple.Forest
46.68 s
[cursor-gen] Eq (ForestCursor Int Int)
46.68 s
[cursor-gen] (==) :: (ForestCursor Int Int) -> (ForestCursor Int Int) -> Bool
46.68 s
[cursor-gen] is reflexive for "valid (ForestCursor Int Int)"s [✔]
46.68 s
[cursor-gen] +++ OK, passed 100 tests.
46.68 s
[cursor-gen] is symmetric for "valid (ForestCursor Int Int)"s [✔]
46.68 s
[cursor-gen] +++ OK, passed 100 tests.
46.68 s
[cursor-gen] is transitive for "valid (ForestCursor Int Int)"s [✔]
46.68 s
[cursor-gen] +++ OK, passed 100 tests.
46.68 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (ForestCursor Int Int)"s [✔]
46.68 s
[cursor-gen] +++ OK, passed 100 tests.
46.68 s
[cursor-gen] (/=) :: (ForestCursor Int Int) -> (ForestCursor Int Int) -> Bool
46.68 s
[cursor-gen] is antireflexive for "valid (ForestCursor Int Int)"s [✔]
46.68 s
[cursor-gen] +++ OK, passed 100 tests.
46.68 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (ForestCursor Int Int)"s [✔]
46.68 s
[cursor-gen] +++ OK, passed 100 tests.
46.68 s
[cursor-gen] GenValid (ForestCursor Bool Bool)
46.68 s
[cursor-gen] genValid :: Gen (ForestCursor Bool Bool)
46.68 s
[cursor-gen] only generates valid '(ForestCursor Bool Bool)'s [✔]
46.68 s
[cursor-gen] +++ OK, passed 100 tests.
46.68 s
[cursor-gen] shrinkValid :: (ForestCursor Bool Bool -> [ForestCursor Bool Bool])
46.68 s
[cursor-gen] preserves validity for the first 10 elements [✔]
46.68 s
[cursor-gen] +++ OK, passed 50 tests.
46.68 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
46.68 s
[cursor-gen] +++ OK, passed 50 tests.
46.68 s
[cursor-gen] singletonForestCursor
46.68 s
[cursor-gen] produces valid cursors [✔]
46.68 s
[cursor-gen] +++ OK, passed 100 tests.
46.68 s
[cursor-gen] makeForestCursor
46.68 s
[cursor-gen] produces valid cursors [✔]
46.68 s
[cursor-gen] +++ OK, passed 100 tests.
46.68 s
[cursor-gen] rebuildForestCursor
46.68 s
[cursor-gen] produces valid forests [✔]
46.68 s
[cursor-gen] +++ OK, passed 100 tests.
46.69 s
[cursor-gen] is the inverse of makeForestCursor for integers [✔]
46.69 s
[cursor-gen] +++ OK, passed 100 tests.
46.69 s
[cursor-gen] forestCursorLestCursorL
46.69 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
46.69 s
[cursor-gen] +++ OK, passed 100 tests.
46.69 s
[cursor-gen] satisfies the second lens law for valid values [✔]
46.69 s
[cursor-gen] +++ OK, passed 100 tests.
46.69 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
46.69 s
[cursor-gen] +++ OK, passed 100 tests.
46.69 s
[cursor-gen] gets valid values from valid values values [✔]
46.69 s
[cursor-gen] +++ OK, passed 100 tests.
46.69 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
46.69 s
[cursor-gen] +++ OK, passed 100 tests.
46.69 s
[cursor-gen] forestCursorSelectedTreeL
46.69 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
46.69 s
[cursor-gen] +++ OK, passed 100 tests.
46.69 s
[cursor-gen] satisfies the second lens law for valid values [✔]
46.69 s
[cursor-gen] +++ OK, passed 100 tests.
46.69 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
46.69 s
[cursor-gen] +++ OK, passed 100 tests.
46.69 s
[cursor-gen] gets valid values from valid values values [✔]
46.69 s
[cursor-gen] +++ OK, passed 100 tests.
46.69 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
46.69 s
[cursor-gen] +++ OK, passed 100 tests.
46.69 s
[cursor-gen] forestCursorSelection
46.69 s
[cursor-gen] produces valid ints [✔]
46.69 s
[cursor-gen] +++ OK, passed 100 tests.
46.69 s
[cursor-gen] returns the index of the currently selected element [‐]
46.69 s
[cursor-gen] # PENDING: No reason given
46.69 s
[cursor-gen] forestCursorSelectIndex
46.69 s
[cursor-gen] produces valid cursors [✔]
46.69 s
[cursor-gen] +++ OK, passed 100 tests.
46.69 s
[cursor-gen] is the identity function when given the current selection [✔]
46.69 s
[cursor-gen] +++ OK, passed 100 tests.
46.69 s
[cursor-gen] returns selects the element at the given index [‐]
46.69 s
[cursor-gen] # PENDING: No reason given
46.69 s
[cursor-gen] forestCursorSelectPrevTreeCursor
46.69 s
[cursor-gen] produces valid cursors [✔]
46.69 s
[cursor-gen] +++ OK, passed 100 tests.
46.70 s
[cursor-gen] is a movement [✔]
46.70 s
[cursor-gen] +++ OK, passed 100 tests.
46.70 s
[cursor-gen] selects the previous tree cursor [‐]
46.70 s
[cursor-gen] # PENDING: No reason given
46.70 s
[cursor-gen] forestCursorSelectNextTreeCursor
46.70 s
[cursor-gen] produces valid cursors [✔]
46.70 s
[cursor-gen] +++ OK, passed 100 tests.
46.70 s
[cursor-gen] is a movement [✔]
46.70 s
[cursor-gen] +++ OK, passed 100 tests.
46.70 s
[cursor-gen] selects the next tree [‐]
46.70 s
[cursor-gen] # PENDING: No reason given
46.70 s
[cursor-gen] forestCursorSelectFirstTreeCursor
46.71 s
[cursor-gen] produces valid cursors [✔]
46.71 s
[cursor-gen] +++ OK, passed 100 tests.
46.71 s
[cursor-gen] is a movement [✔]
46.71 s
[cursor-gen] +++ OK, passed 100 tests.
46.71 s
[cursor-gen] selects the first tree [‐]
46.71 s
[cursor-gen] # PENDING: No reason given
46.71 s
[cursor-gen] forestCursorSelectLastTreeCursor
46.71 s
[cursor-gen] produces valid cursors [✔]
46.71 s
[cursor-gen] +++ OK, passed 100 tests.
46.71 s
[cursor-gen] is a movement [✔]
46.71 s
[cursor-gen] +++ OK, passed 100 tests.
46.71 s
[cursor-gen] selects the last tree [‐]
46.71 s
[cursor-gen] # PENDING: No reason given
46.71 s
[cursor-gen] forestCursorSelectPrev
46.72 s
[cursor-gen] produces valid cursors [✔]
46.72 s
[cursor-gen] +++ OK, passed 100 tests.
46.72 s
[cursor-gen] is a movement [✔]
46.72 s
[cursor-gen] +++ OK, passed 100 tests.
46.72 s
[cursor-gen] selects the previous node [‐]
46.72 s
[cursor-gen] # PENDING: No reason given
46.72 s
[cursor-gen] Works for this classic example without any collapsing [✔]
46.72 s
[cursor-gen] forestCursorSelectNext
46.72 s
[cursor-gen] produces valid cursors [✔]
46.72 s
[cursor-gen] +++ OK, passed 100 tests.
46.72 s
[cursor-gen] is a movement [✔]
46.73 s
[cursor-gen] +++ OK, passed 100 tests.
46.73 s
[cursor-gen] selects the next node [‐]
46.73 s
[cursor-gen] # PENDING: No reason given
46.73 s
[cursor-gen] Works for this classic example [✔]
46.73 s
[cursor-gen] forestCursorSelectPrevOnSameLevel
46.73 s
[cursor-gen] produces valid cursors [✔]
46.73 s
[cursor-gen] +++ OK, passed 100 tests.
46.73 s
[cursor-gen] is a movement [✔]
46.73 s
[cursor-gen] +++ OK, passed 100 tests.
46.73 s
[cursor-gen] selects the previous node on the same level as the current node [‐]
46.73 s
[cursor-gen] # PENDING: No reason given
46.73 s
[cursor-gen] forestCursorSelectNextOnSameLevel
46.73 s
[cursor-gen] produces valid cursors [✔]
46.73 s
[cursor-gen] +++ OK, passed 100 tests.
46.74 s
[cursor-gen] is a movement [✔]
46.74 s
[cursor-gen] +++ OK, passed 100 tests.
46.74 s
[cursor-gen] selects the next node on the same level as the current node [‐]
46.74 s
[cursor-gen] # PENDING: No reason given
46.74 s
[cursor-gen] forestCursorSelectFirstOnSameLevel
46.74 s
[cursor-gen] produces valid cursors [✔]
46.74 s
[cursor-gen] +++ OK, passed 100 tests.
46.74 s
[cursor-gen] is a movement [✔]
46.74 s
[cursor-gen] +++ OK, passed 100 tests.
46.74 s
[cursor-gen] selects the previous node on the same level as the current node [‐]
46.74 s
[cursor-gen] # PENDING: No reason given
46.74 s
[cursor-gen] forestCursorSelectLastOnSameLevel
46.74 s
[cursor-gen] produces valid cursors [✔]
46.74 s
[cursor-gen] +++ OK, passed 100 tests.
46.75 s
[cursor-gen] is a movement [✔]
46.75 s
[cursor-gen] +++ OK, passed 100 tests.
46.75 s
[cursor-gen] selects the next node on the same level as the current node [‐]
46.75 s
[cursor-gen] # PENDING: No reason given
46.75 s
[cursor-gen] forestCursorSelectFirst
46.75 s
[cursor-gen] produces valid cursors [✔]
46.75 s
[cursor-gen] +++ OK, passed 100 tests.
46.75 s
[cursor-gen] is a movement [✔]
46.75 s
[cursor-gen] +++ OK, passed 100 tests.
46.75 s
[cursor-gen] selects the first node in the forest [‐]
46.75 s
[cursor-gen] # PENDING: No reason given
46.75 s
[cursor-gen] forestCursorSelectLast
46.75 s
[cursor-gen] produces valid cursors [✔]
46.75 s
[cursor-gen] +++ OK, passed 100 tests.
46.76 s
[cursor-gen] is a movement [✔]
46.76 s
[cursor-gen] +++ OK, passed 100 tests.
46.76 s
[cursor-gen] selects the last node in the forest [‐]
46.76 s
[cursor-gen] # PENDING: No reason given
46.76 s
[cursor-gen] forestCursorSelectAbove
46.76 s
[cursor-gen] produces valid cursors [✔]
46.76 s
[cursor-gen] +++ OK, passed 100 tests.
46.76 s
[cursor-gen] is a movement [✔]
46.76 s
[cursor-gen] +++ OK, passed 100 tests.
46.76 s
[cursor-gen] selects the parent [‐]
46.76 s
[cursor-gen] # PENDING: No reason given
46.76 s
[cursor-gen] forestCursorSelectBelowAtPos
46.76 s
[cursor-gen] produces valid cursors [✔]
46.76 s
[cursor-gen] +++ OK, passed 100 tests.
46.76 s
[cursor-gen] is a movement for any index [✔]
46.76 s
[cursor-gen] +++ OK, passed 100 tests.
46.76 s
[cursor-gen] selects the child of the selected node at the given position [‐]
46.76 s
[cursor-gen] # PENDING: No reason given
46.76 s
[cursor-gen] forestCursorSelectBelowAtStart
46.76 s
[cursor-gen] produces valid cursors [✔]
46.76 s
[cursor-gen] +++ OK, passed 100 tests.
46.76 s
[cursor-gen] is a movement [✔]
46.76 s
[cursor-gen] +++ OK, passed 100 tests.
46.76 s
[cursor-gen] selects the first child of the selected node [‐]
46.76 s
[cursor-gen] # PENDING: No reason given
46.76 s
[cursor-gen] forestCursorSelectBelowAtEnd
46.76 s
[cursor-gen] produces valid cursors [✔]
46.76 s
[cursor-gen] +++ OK, passed 100 tests.
46.76 s
[cursor-gen] is a movement [✔]
46.76 s
[cursor-gen] +++ OK, passed 100 tests.
46.76 s
[cursor-gen] selects the first child of the selected node [‐]
46.76 s
[cursor-gen] # PENDING: No reason given
46.76 s
[cursor-gen] forestCursorOpenCurrentForest
46.77 s
[cursor-gen] produces valid cursors [✔]
46.77 s
[cursor-gen] +++ OK, passed 100 tests.
46.77 s
[cursor-gen] forestCursorCloseCurrentForest
46.77 s
[cursor-gen] produces valid cursors [✔]
46.77 s
[cursor-gen] +++ OK, passed 100 tests.
46.77 s
[cursor-gen] forestCursorToggleCurrentForest
46.77 s
[cursor-gen] produces valid cursors [✔]
46.77 s
[cursor-gen] +++ OK, passed 100 tests.
46.77 s
[cursor-gen] forestCursorOpenCurrentForestRecursively
46.77 s
[cursor-gen] produces valid cursors [✔]
46.77 s
[cursor-gen] +++ OK, passed 100 tests.
46.77 s
[cursor-gen] forestCursorToggleCurrentForestRecursively
46.77 s
[cursor-gen] produces valid cursors [✔]
46.77 s
[cursor-gen] +++ OK, passed 100 tests.
46.77 s
[cursor-gen] forestCursorInsertEntireTree
46.77 s
[cursor-gen] produces valid cursors [✔]
46.77 s
[cursor-gen] +++ OK, passed 100 tests.
46.77 s
[cursor-gen] inserts a tree cursor before the currently selected tree cursor [‐]
46.77 s
[cursor-gen] # PENDING: No reason given
46.77 s
[cursor-gen] forestCursorInsertAndSelectTreeCursor
46.77 s
[cursor-gen] produces valid cursors [✔]
46.77 s
[cursor-gen] +++ OK, passed 100 tests.
46.77 s
[cursor-gen] inserts a tree cursor before the currently selected tree cursor and selects it [‐]
46.77 s
[cursor-gen] # PENDING: No reason given
46.77 s
[cursor-gen] forestCursorAppendEntireTree
46.77 s
[cursor-gen] produces valid cursors [✔]
46.77 s
[cursor-gen] +++ OK, passed 100 tests.
46.77 s
[cursor-gen] appends a tree after the currently selected tree cursor [‐]
46.77 s
[cursor-gen] # PENDING: No reason given
46.77 s
[cursor-gen] forestCursorAppendAndSelectTreeCursor
46.78 s
[cursor-gen] produces valid cursors [✔]
46.78 s
[cursor-gen] +++ OK, passed 100 tests.
46.78 s
[cursor-gen] appends a tree cursor after the currently selected tree cursor and selects it [‐]
46.78 s
[cursor-gen] # PENDING: No reason given
46.78 s
[cursor-gen] forestCursorInsertTree
46.78 s
[cursor-gen] produces valid cursors [✔]
46.78 s
[cursor-gen] +++ OK, passed 100 tests.
46.78 s
[cursor-gen] inserts a tree before the currently selected tree [‐]
46.78 s
[cursor-gen] # PENDING: No reason given
46.78 s
[cursor-gen] forestCursorInsertAndSelectTree
46.78 s
[cursor-gen] produces valid cursors [✔]
46.78 s
[cursor-gen] +++ OK, passed 100 tests.
46.78 s
[cursor-gen] inserts a tree before the currently selected tree and selects it [‐]
46.78 s
[cursor-gen] # PENDING: No reason given
46.78 s
[cursor-gen] forestCursorAppendTree
46.78 s
[cursor-gen] produces valid cursors [✔]
46.78 s
[cursor-gen] +++ OK, passed 100 tests.
46.78 s
[cursor-gen] appends a tree after the currently selected tree [‐]
46.78 s
[cursor-gen] # PENDING: No reason given
46.78 s
[cursor-gen] forestCursorAppendAndSelectTree
46.79 s
[cursor-gen] produces valid cursors [✔]
46.79 s
[cursor-gen] +++ OK, passed 100 tests.
46.79 s
[cursor-gen] appends a tree after the currently selected tree and selects it [‐]
46.79 s
[cursor-gen] # PENDING: No reason given
46.79 s
[cursor-gen] forestCursorInsert
46.79 s
[cursor-gen] produces valid cursors [✔]
46.79 s
[cursor-gen] +++ OK, passed 100 tests.
46.79 s
[cursor-gen] inserts a node before the currently selected node [‐]
46.79 s
[cursor-gen] # PENDING: No reason given
46.79 s
[cursor-gen] forestCursorInsertAndSelect
46.79 s
[cursor-gen] produces valid cursors [✔]
46.79 s
[cursor-gen] +++ OK, passed 100 tests.
46.79 s
[cursor-gen] inserts a node before the currently selected node and selects it [‐]
46.79 s
[cursor-gen] # PENDING: No reason given
46.79 s
[cursor-gen] forestCursorInsertNodeSingleAndSelect
46.79 s
[cursor-gen] produces valid cursors [✔]
46.79 s
[cursor-gen] +++ OK, passed 100 tests.
46.79 s
[cursor-gen] inserts a node before the currently selected node and selects it [‐]
46.79 s
[cursor-gen] # PENDING: No reason given
46.79 s
[cursor-gen] forestCursorInsertNodeAndSelect
46.79 s
[cursor-gen] produces valid cursors [✔]
46.79 s
[cursor-gen] +++ OK, passed 100 tests.
46.79 s
[cursor-gen] inserts a node before the currently selected node and selects it [‐]
46.79 s
[cursor-gen] # PENDING: No reason given
46.79 s
[cursor-gen] forestCursorAppend
46.80 s
[cursor-gen] produces valid cursors [✔]
46.80 s
[cursor-gen] +++ OK, passed 100 tests.
46.80 s
[cursor-gen] appends a node after the currently selected node [‐]
46.80 s
[cursor-gen] # PENDING: No reason given
46.80 s
[cursor-gen] forestCursorAppendAndSelect
46.80 s
[cursor-gen] produces valid cursors [✔]
46.80 s
[cursor-gen] +++ OK, passed 100 tests.
46.80 s
[cursor-gen] appends a node after the currently selected node and selects it [‐]
46.80 s
[cursor-gen] # PENDING: No reason given
46.80 s
[cursor-gen] forestCursorAppendNodeSingleAndSelect
46.80 s
[cursor-gen] produces valid cursors [✔]
46.80 s
[cursor-gen] +++ OK, passed 100 tests.
46.80 s
[cursor-gen] appends a node after the currently selected node and selects it [‐]
46.80 s
[cursor-gen] # PENDING: No reason given
46.80 s
[cursor-gen] forestCursorAppendNodeAndSelect
46.80 s
[cursor-gen] produces valid cursors [✔]
46.80 s
[cursor-gen] +++ OK, passed 100 tests.
46.80 s
[cursor-gen] appends a node after the currently selected node and selects it [‐]
46.80 s
[cursor-gen] # PENDING: No reason given
46.80 s
[cursor-gen] forestCursorAddChildTreeToNodeAtPos
46.80 s
[cursor-gen] produces valid cursors [✔]
46.80 s
[cursor-gen] +++ OK, passed 100 tests.
46.80 s
[cursor-gen] adds a child tree to a node at the given position in the children of that node [‐]
46.80 s
[cursor-gen] # PENDING: No reason given
46.80 s
[cursor-gen] forestCursorAddChildTreeToNodeAtStart
46.80 s
[cursor-gen] produces valid cursors [✔]
46.80 s
[cursor-gen] +++ OK, passed 100 tests.
46.80 s
[cursor-gen] adds a child tree to a node at the start the children of that node [‐]
46.80 s
[cursor-gen] # PENDING: No reason given
46.80 s
[cursor-gen] forestCursorAddChildTreeToNodeAtEnd
46.81 s
[cursor-gen] produces valid cursors [✔]
46.81 s
[cursor-gen] +++ OK, passed 100 tests.
46.81 s
[cursor-gen] adds a child tree to a node at the end the children of that node [‐]
46.81 s
[cursor-gen] # PENDING: No reason given
46.81 s
[cursor-gen] forestCursorAddChildToNodeAtPos
46.81 s
[cursor-gen] produces valid cursors [✔]
46.81 s
[cursor-gen] +++ OK, passed 100 tests.
46.81 s
[cursor-gen] adds a child to a node at the given position in the children of that node [‐]
46.81 s
[cursor-gen] # PENDING: No reason given
46.81 s
[cursor-gen] forestCursorAddChildToNodeAtStart
46.81 s
[cursor-gen] produces valid cursors [✔]
46.81 s
[cursor-gen] +++ OK, passed 100 tests.
46.81 s
[cursor-gen] adds a child to a node at the start the children of that node [‐]
46.81 s
[cursor-gen] # PENDING: No reason given
46.81 s
[cursor-gen] forestCursorAddChildToNodeAtEnd
46.81 s
[cursor-gen] produces valid cursors [✔]
46.81 s
[cursor-gen] +++ OK, passed 100 tests.
46.81 s
[cursor-gen] adds a child to a node at the end the children of that node [‐]
46.81 s
[cursor-gen] # PENDING: No reason given
46.81 s
[cursor-gen] forestCursorAddChildTreeToNodeAtPosAndSelect
46.81 s
[cursor-gen] produces valid cursors [✔]
46.81 s
[cursor-gen] +++ OK, passed 100 tests.
46.81 s
[cursor-gen] adds a child tree to a node at the given position in the children of that node [‐]
46.81 s
[cursor-gen] # PENDING: No reason given
46.81 s
[cursor-gen] forestCursorAddChildTreeToNodeAtStartAndSelect
46.82 s
[cursor-gen] produces valid cursors [✔]
46.82 s
[cursor-gen] +++ OK, passed 100 tests.
46.82 s
[cursor-gen] adds a child tree to a node at the start the children of that node [‐]
46.82 s
[cursor-gen] # PENDING: No reason given
46.82 s
[cursor-gen] forestCursorAddChildTreeToNodeAtEndAndSelect
46.82 s
[cursor-gen] produces valid cursors [✔]
46.82 s
[cursor-gen] +++ OK, passed 100 tests.
46.82 s
[cursor-gen] adds a child tree to a node at the end the children of that node [‐]
46.82 s
[cursor-gen] # PENDING: No reason given
46.82 s
[cursor-gen] forestCursorAddChildToNodeAtPosAndSelect
46.82 s
[cursor-gen] produces valid cursors [✔]
46.82 s
[cursor-gen] +++ OK, passed 100 tests.
46.82 s
[cursor-gen] adds a child to a node at the given position in the children of that node [‐]
46.82 s
[cursor-gen] # PENDING: No reason given
46.82 s
[cursor-gen] forestCursorAddChildToNodeAtStartAndSelect
46.82 s
[cursor-gen] produces valid cursors [✔]
46.82 s
[cursor-gen] +++ OK, passed 100 tests.
46.82 s
[cursor-gen] adds a child to a node at the start the children of that node [‐]
46.82 s
[cursor-gen] # PENDING: No reason given
46.82 s
[cursor-gen] forestCursorAddChildToNodeAtEndAndSelect
46.82 s
[cursor-gen] produces valid cursors [✔]
46.82 s
[cursor-gen] +++ OK, passed 100 tests.
46.82 s
[cursor-gen] adds a child to a node at the end the children of that node [‐]
46.82 s
[cursor-gen] # PENDING: No reason given
46.82 s
[cursor-gen] forestCursorAddChildNodeSingleToNodeAtPosAndSelect
46.82 s
[cursor-gen] produces valid cursors [✔]
46.82 s
[cursor-gen] +++ OK, passed 100 tests.
46.82 s
[cursor-gen] forestCursorAddChildNodeSingleToNodeAtStartAndSelect
46.82 s
[cursor-gen] produces valid cursors [✔]
46.82 s
[cursor-gen] +++ OK, passed 100 tests.
46.82 s
[cursor-gen] forestCursorAddChildNodeSingleToNodeAtEndAndSelect
46.83 s
[cursor-gen] produces valid cursors [✔]
46.83 s
[cursor-gen] +++ OK, passed 100 tests.
46.83 s
[cursor-gen] forestCursorAddChildNodeToNodeAtPosAndSelect
46.83 s
[cursor-gen] produces valid cursors [✔]
46.83 s
[cursor-gen] +++ OK, passed 100 tests.
46.83 s
[cursor-gen] forestCursorAddChildNodeToNodeAtStartAndSelect
46.83 s
[cursor-gen] produces valid cursors [✔]
46.83 s
[cursor-gen] +++ OK, passed 100 tests.
46.83 s
[cursor-gen] forestCursorAddChildNodeToNodeAtEndAndSelect
46.83 s
[cursor-gen] produces valid cursors [✔]
46.83 s
[cursor-gen] +++ OK, passed 100 tests.
46.83 s
[cursor-gen] forestCursorAddRoot
46.83 s
[cursor-gen] produces valid cursors [✔]
46.83 s
[cursor-gen] +++ OK, passed 100 tests.
46.83 s
[cursor-gen] houses the entire forest under the given node [‐]
46.83 s
[cursor-gen] # PENDING: No reason given
46.83 s
[cursor-gen] forestCursorSwapPrev
46.83 s
[cursor-gen] produces valid cursors [✔]
46.83 s
[cursor-gen] +++ OK, passed 100 tests.
46.83 s
[cursor-gen] works on the example from the docs [✔]
46.83 s
[cursor-gen] swaps the current node with the previous node on the same level [‐]
46.83 s
[cursor-gen] # PENDING: No reason given
46.84 s
[cursor-gen] reverts forestCursorSwapNext [✔]
46.84 s
[cursor-gen] +++ OK, passed 100 tests.
46.84 s
[cursor-gen] forestCursorSwapNext
46.84 s
[cursor-gen] produces valid cursors [✔]
46.84 s
[cursor-gen] +++ OK, passed 100 tests.
46.84 s
[cursor-gen] works on the example from the docs [✔]
46.84 s
[cursor-gen] swaps the current node with the next node on the same level [‐]
46.84 s
[cursor-gen] # PENDING: No reason given
46.84 s
[cursor-gen] reverts forestCursorSwapPrev [✔]
46.84 s
[cursor-gen] +++ OK, passed 100 tests.
46.84 s
[cursor-gen] forestCursorRemoveElemAndSelectPrev
46.84 s
[cursor-gen] produces valid cursors [✔]
46.84 s
[cursor-gen] +++ OK, passed 100 tests.
46.84 s
[cursor-gen] works for this simple example [✔]
46.84 s
[cursor-gen] +++ OK, passed 100 tests.
46.84 s
[cursor-gen] removes the selected element and selects the previous element [‐]
46.84 s
[cursor-gen] # PENDING: No reason given
46.84 s
[cursor-gen] forestCursorDeleteElemAndSelectNext
46.84 s
[cursor-gen] produces valid cursors [✔]
46.84 s
[cursor-gen] +++ OK, passed 100 tests.
46.84 s
[cursor-gen] works for this simple example [✔]
46.84 s
[cursor-gen] +++ OK, passed 100 tests.
46.84 s
[cursor-gen] deletes the selected element and selects the next element [‐]
46.84 s
[cursor-gen] # PENDING: No reason given
46.84 s
[cursor-gen] forestCursorRemoveElem
46.85 s
[cursor-gen] produces valid cursors [✔]
46.85 s
[cursor-gen] +++ OK, passed 100 tests.
46.85 s
[cursor-gen] works for this simple example [✔]
46.85 s
[cursor-gen] +++ OK, passed 100 tests.
46.85 s
[cursor-gen] removes the selected element [‐]
46.85 s
[cursor-gen] # PENDING: No reason given
46.85 s
[cursor-gen] forestCursorDeleteElem
46.85 s
[cursor-gen] produces valid cursors [✔]
46.85 s
[cursor-gen] +++ OK, passed 100 tests.
46.85 s
[cursor-gen] works for this simple example [✔]
46.85 s
[cursor-gen] +++ OK, passed 100 tests.
46.85 s
[cursor-gen] deletes the selected element [‐]
46.85 s
[cursor-gen] # PENDING: No reason given
46.85 s
[cursor-gen] forestCursorRemoveSubTreeAndSelectPrev
46.86 s
[cursor-gen] produces valid cursors [✔]
46.86 s
[cursor-gen] +++ OK, passed 100 tests.
46.86 s
[cursor-gen] removes the selected subtree and selects the previous tree [‐]
46.86 s
[cursor-gen] # PENDING: No reason given
46.86 s
[cursor-gen] forestCursorDeleteSubTreeAndSelectNext
46.86 s
[cursor-gen] produces valid cursors [✔]
46.86 s
[cursor-gen] +++ OK, passed 100 tests.
46.86 s
[cursor-gen] deletes the selected subtree and selects the next tree [‐]
46.86 s
[cursor-gen] # PENDING: No reason given
46.86 s
[cursor-gen] forestCursorRemoveSubTree
46.86 s
[cursor-gen] produces valid cursors [✔]
46.86 s
[cursor-gen] +++ OK, passed 100 tests.
46.86 s
[cursor-gen] removes the selected subtree [‐]
46.86 s
[cursor-gen] # PENDING: No reason given
46.86 s
[cursor-gen] forestCursorDeleteSubTree
46.86 s
[cursor-gen] produces valid cursors [✔]
46.86 s
[cursor-gen] +++ OK, passed 100 tests.
46.86 s
[cursor-gen] deletes the selected subtree [‐]
46.86 s
[cursor-gen] # PENDING: No reason given
46.86 s
[cursor-gen] forestCursorPromoteElem
46.87 s
[cursor-gen] produces valids on valids [✔]
46.87 s
[cursor-gen] +++ OK, passed 100 tests.
46.87 s
[cursor-gen] works on the example from the documentation [✔]
46.87 s
[cursor-gen] promotes the current node to the level of its parent [‐]
46.87 s
[cursor-gen] # PENDING: No reason given
46.87 s
[cursor-gen] forestCursorDemoteElem
46.87 s
[cursor-gen] produces valids on valids [✔]
46.87 s
[cursor-gen] +++ OK, passed 100 tests.
46.87 s
[cursor-gen] works on the example from the documentation [✔]
46.87 s
[cursor-gen] demotes the current node to the level of its children [‐]
46.87 s
[cursor-gen] # PENDING: No reason given
46.87 s
[cursor-gen] forestCursorPromoteSubTree
46.87 s
[cursor-gen] produces valids on valids [✔]
46.87 s
[cursor-gen] +++ OK, passed 100 tests.
46.87 s
[cursor-gen] works on the example from the documentation [✔]
46.87 s
[cursor-gen] promotes the current subtree to the level of its parent [‐]
46.87 s
[cursor-gen] # PENDING: No reason given
46.87 s
[cursor-gen] forestCursorDemoteSubTree
46.87 s
[cursor-gen] produces valids on valids [✔]
46.87 s
[cursor-gen] +++ OK, passed 100 tests.
46.87 s
[cursor-gen] works on the example from the documentation [✔]
46.87 s
[cursor-gen] demotes the current subtree to the level of its children [‐]
46.87 s
[cursor-gen] # PENDING: No reason given
46.87 s
[cursor-gen] forestCursorDemoteElemUnder
46.87 s
[cursor-gen] produces valids on valids [✔]
46.87 s
[cursor-gen] +++ OK, passed 100 tests.
46.87 s
[cursor-gen] Works on the example from the docs [✔]
46.87 s
[cursor-gen] +++ OK, passed 100 tests.
46.87 s
[cursor-gen] demotes the current node to the level of its children [‐]
46.87 s
[cursor-gen] # PENDING: No reason given
46.87 s
[cursor-gen] forestCursorDemoteSubTreeUnder
46.87 s
[cursor-gen] produces valids on valids [✔]
46.87 s
[cursor-gen] +++ OK, passed 100 tests.
46.87 s
[cursor-gen] Works on the example from the docs [✔]
46.87 s
[cursor-gen] +++ OK, passed 100 tests.
46.87 s
[cursor-gen] demotes the current subtree to the level of its children, by adding a root [‐]
46.87 s
[cursor-gen] # PENDING: No reason given
46.87 s
[cursor-gen] Cursor.Simple.List.NonEmpty
46.87 s
[cursor-gen] Eq (NonEmptyCursor Bool Bool)
46.87 s
[cursor-gen] (==) :: (NonEmptyCursor Bool Bool) -> (NonEmptyCursor Bool Bool) -> Bool
46.87 s
[cursor-gen] is reflexive for "valid (NonEmptyCursor Bool Bool)"s [✔]
46.87 s
[cursor-gen] +++ OK, passed 100 tests.
46.87 s
[cursor-gen] is symmetric for "valid (NonEmptyCursor Bool Bool)"s [✔]
46.87 s
[cursor-gen] +++ OK, passed 100 tests.
46.87 s
[cursor-gen] is transitive for "valid (NonEmptyCursor Bool Bool)"s [✔]
46.87 s
[cursor-gen] +++ OK, passed 100 tests.
46.87 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (NonEmptyCursor Bool Bool)"s [✔]
46.87 s
[cursor-gen] +++ OK, passed 100 tests.
46.87 s
[cursor-gen] (/=) :: (NonEmptyCursor Bool Bool) -> (NonEmptyCursor Bool Bool) -> Bool
46.87 s
[cursor-gen] is antireflexive for "valid (NonEmptyCursor Bool Bool)"s [✔]
46.87 s
[cursor-gen] +++ OK, passed 100 tests.
46.87 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (NonEmptyCursor Bool Bool)"s [✔]
46.87 s
[cursor-gen] +++ OK, passed 100 tests.
46.87 s
[cursor-gen] GenValid (NonEmptyCursor Bool Bool)
46.87 s
[cursor-gen] genValid :: Gen (NonEmptyCursor Bool Bool)
46.87 s
[cursor-gen] only generates valid '(NonEmptyCursor Bool Bool)'s [✔]
46.87 s
[cursor-gen] +++ OK, passed 100 tests.
46.87 s
[cursor-gen] makeNonEmptyCursor
46.88 s
[cursor-gen] produces valid cursors [✔]
46.88 s
[cursor-gen] +++ OK, passed 100 tests.
46.88 s
[cursor-gen] makeNonEmptyCursorWithSelection
46.88 s
[cursor-gen] produces valid cursors [✔]
46.88 s
[cursor-gen] +++ OK, passed 100 tests.
46.88 s
[cursor-gen] is the inverse of rebuildNonEmptyCursor when using the current selection [✔]
46.88 s
[cursor-gen] +++ OK, passed 100 tests.
46.88 s
[cursor-gen] singletonNonEmptyCursor
46.88 s
[cursor-gen] produces valid cursors [✔]
46.88 s
[cursor-gen] +++ OK, passed 100 tests.
46.88 s
[cursor-gen] rebuildNonEmptyCursor
46.88 s
[cursor-gen] produces valid nonempty lists [✔]
46.88 s
[cursor-gen] +++ OK, passed 100 tests.
46.88 s
[cursor-gen] is the inverse of makeNonEmptyCursor for integers [✔]
46.88 s
[cursor-gen] +++ OK, passed 100 tests.
46.88 s
[cursor-gen] is the inverse of makeNonEmptyCursorWithSelection for integers, for any index [✔]
46.88 s
[cursor-gen] +++ OK, passed 100 tests.
46.88 s
[cursor-gen] nonEmptyCursorElemL
46.88 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
46.88 s
[cursor-gen] +++ OK, passed 100 tests.
46.88 s
[cursor-gen] satisfies the second lens law for valid values [✔]
46.88 s
[cursor-gen] +++ OK, passed 100 tests.
46.88 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
46.88 s
[cursor-gen] +++ OK, passed 100 tests.
46.88 s
[cursor-gen] gets valid values from valid values values [✔]
46.88 s
[cursor-gen] +++ OK, passed 100 tests.
46.88 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
46.88 s
[cursor-gen] +++ OK, passed 100 tests.
46.88 s
[cursor-gen] nonEmptyCursorSelectPrev
46.88 s
[cursor-gen] produces valid cursors [✔]
46.88 s
[cursor-gen] +++ OK, passed 100 tests.
46.88 s
[cursor-gen] is a movement [✔]
46.88 s
[cursor-gen] +++ OK, passed 100 tests.
46.88 s
[cursor-gen] selects the previous element [‐]
46.88 s
[cursor-gen] # PENDING: No reason given
46.88 s
[cursor-gen] nonEmptyCursorSelectNext
46.88 s
[cursor-gen] produces valid cursors [✔]
46.88 s
[cursor-gen] +++ OK, passed 100 tests.
46.88 s
[cursor-gen] is a movement [✔]
46.88 s
[cursor-gen] +++ OK, passed 100 tests.
46.88 s
[cursor-gen] selects the next element [‐]
46.88 s
[cursor-gen] # PENDING: No reason given
46.88 s
[cursor-gen] nonEmptyCursorSelectFirst
46.88 s
[cursor-gen] produces valid cursors [✔]
46.88 s
[cursor-gen] +++ OK, passed 100 tests.
46.88 s
[cursor-gen] is a movement [✔]
46.88 s
[cursor-gen] +++ OK, passed 100 tests.
46.88 s
[cursor-gen] is idempotent [✔]
46.88 s
[cursor-gen] +++ OK, passed 100 tests.
46.88 s
[cursor-gen] selects the first element [‐]
46.88 s
[cursor-gen] # PENDING: No reason given
46.88 s
[cursor-gen] nonEmptyCursorSelectLast
46.88 s
[cursor-gen] produces valid cursors [✔]
46.88 s
[cursor-gen] +++ OK, passed 100 tests.
46.89 s
[cursor-gen] is a movement [✔]
46.89 s
[cursor-gen] +++ OK, passed 100 tests.
46.89 s
[cursor-gen] is idempotent [✔]
46.89 s
[cursor-gen] +++ OK, passed 100 tests.
46.89 s
[cursor-gen] selects the last element [‐]
46.89 s
[cursor-gen] # PENDING: No reason given
46.89 s
[cursor-gen] nonEmptyCursorSelection
46.89 s
[cursor-gen] produces valid ints [✔]
46.89 s
[cursor-gen] +++ OK, passed 100 tests.
46.89 s
[cursor-gen] returns the index of the currently selected element [‐]
46.89 s
[cursor-gen] # PENDING: No reason given
46.89 s
[cursor-gen] nonEmptyCursorSelectIndex
46.89 s
[cursor-gen] produces valid cursors [✔]
46.89 s
[cursor-gen] +++ OK, passed 100 tests.
46.89 s
[cursor-gen] is the identity function when given the current selection [✔]
46.89 s
[cursor-gen] +++ OK, passed 100 tests.
46.89 s
[cursor-gen] returns selects the element at the given index [‐]
46.89 s
[cursor-gen] # PENDING: No reason given
46.89 s
[cursor-gen] nonEmptyCursorInsert
46.89 s
[cursor-gen] produces valid cursors [✔]
46.89 s
[cursor-gen] +++ OK, passed 100 tests.
46.89 s
[cursor-gen] inserts a character before the cursor [‐]
46.89 s
[cursor-gen] # PENDING: No reason given
46.89 s
[cursor-gen] nonEmptyCursorAppend
46.89 s
[cursor-gen] produces valid cursors [✔]
46.89 s
[cursor-gen] +++ OK, passed 100 tests.
46.89 s
[cursor-gen] inserts a character after the cursor [‐]
46.89 s
[cursor-gen] # PENDING: No reason given
46.89 s
[cursor-gen] nonEmptyCursorInsertAndSelect
46.89 s
[cursor-gen] produces valid cursors [✔]
46.89 s
[cursor-gen] +++ OK, passed 100 tests.
46.89 s
[cursor-gen] inserts a character before the cursor and selects it [‐]
46.89 s
[cursor-gen] # PENDING: No reason given
46.89 s
[cursor-gen] nonEmptyCursorAppendAndSelect
46.89 s
[cursor-gen] produces valid cursors [✔]
46.89 s
[cursor-gen] +++ OK, passed 100 tests.
46.89 s
[cursor-gen] appends a character before the cursor and selects it [‐]
46.89 s
[cursor-gen] # PENDING: No reason given
46.89 s
[cursor-gen] nonEmptyCursorInsertAtStart
46.89 s
[cursor-gen] produces valid cursors [✔]
46.89 s
[cursor-gen] +++ OK, passed 100 tests.
46.89 s
[cursor-gen] inserts a character at the start of the list [‐]
46.89 s
[cursor-gen] # PENDING: No reason given
46.89 s
[cursor-gen] nonEmptyCursorAppendAtEnd
46.89 s
[cursor-gen] produces valid cursors [✔]
46.89 s
[cursor-gen] +++ OK, passed 100 tests.
46.89 s
[cursor-gen] inserts a character at the end of the list [‐]
46.89 s
[cursor-gen] # PENDING: No reason given
46.89 s
[cursor-gen] nonEmptyCursorInsertAtStartAndSelect
46.89 s
[cursor-gen] produces valid cursors [✔]
46.89 s
[cursor-gen] +++ OK, passed 100 tests.
46.89 s
[cursor-gen] inserts a character at the start of the list and selects it [‐]
46.89 s
[cursor-gen] # PENDING: No reason given
46.89 s
[cursor-gen] nonEmptyCursorAppendAtEndAndSelect
46.90 s
[cursor-gen] produces valid cursors [✔]
46.90 s
[cursor-gen] +++ OK, passed 100 tests.
46.90 s
[cursor-gen] appends a character at the end of the list and selects it [‐]
46.90 s
[cursor-gen] # PENDING: No reason given
46.90 s
[cursor-gen] nonEmptyCursorRemoveElem
46.90 s
[cursor-gen] produces valid cursors [✔]
46.90 s
[cursor-gen] +++ OK, passed 100 tests.
46.90 s
[cursor-gen] removes an element [‐]
46.90 s
[cursor-gen] # PENDING: No reason given
46.90 s
[cursor-gen] nonEmptyCursorDeleteElem
46.90 s
[cursor-gen] produces valid cursors [✔]
46.90 s
[cursor-gen] +++ OK, passed 100 tests.
46.90 s
[cursor-gen] nonEmptyCursorSearch
46.90 s
[cursor-gen] produces valid cursors when looking for an equal element [✔]
46.90 s
[cursor-gen] +++ OK, passed 100 tests.
46.90 s
[cursor-gen] is indeed the right value when it finds a value and is looking for an equal element [✔]
46.90 s
[cursor-gen] +++ OK, passed 100 tests.
46.90 s
[cursor-gen] finds an element if it is in there [✔]
46.90 s
[cursor-gen] +++ OK, passed 100 tests.
46.90 s
[cursor-gen] nonEmptyCursorSelectOrAdd
46.90 s
[cursor-gen] produces valid cursors when looking for an equal element [✔]
46.90 s
[cursor-gen] +++ OK, passed 100 tests.
46.90 s
[cursor-gen] Cursor.Simple.Map
46.90 s
[cursor-gen] makeMapCursor
46.90 s
[cursor-gen] produces valid cursors [✔]
46.90 s
[cursor-gen] +++ OK, passed 100 tests.
46.90 s
[cursor-gen] makeMapCursorWithSelection
46.90 s
[cursor-gen] produces valid cursors [✔]
46.90 s
[cursor-gen] +++ OK, passed 100 tests.
46.90 s
[cursor-gen] singletonMapCursorKey
46.90 s
[cursor-gen] produces valid cursors [✔]
46.90 s
[cursor-gen] +++ OK, passed 100 tests.
46.90 s
[cursor-gen] singletonMapCursorValue
46.90 s
[cursor-gen] produces valid cursors [✔]
46.90 s
[cursor-gen] +++ OK, passed 100 tests.
46.90 s
[cursor-gen] rebuildMapCursor
46.90 s
[cursor-gen] produces valid Nonempty lists [✔]
46.90 s
[cursor-gen] +++ OK, passed 100 tests.
46.90 s
[cursor-gen] is the inverse of makeMapCursor for integers [✔]
46.90 s
[cursor-gen] +++ OK, passed 100 tests.
46.90 s
[cursor-gen] mapCursorNonEmptyCursorL
46.90 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
46.90 s
[cursor-gen] +++ OK, passed 100 tests.
46.90 s
[cursor-gen] satisfies the second lens law for valid values [✔]
46.90 s
[cursor-gen] +++ OK, passed 100 tests.
46.90 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
46.90 s
[cursor-gen] +++ OK, passed 100 tests.
46.90 s
[cursor-gen] gets valid values from valid values values [✔]
46.90 s
[cursor-gen] +++ OK, passed 100 tests.
46.90 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
46.90 s
[cursor-gen] +++ OK, passed 100 tests.
46.90 s
[cursor-gen] mapCursorElemL
46.90 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
46.90 s
[cursor-gen] +++ OK, passed 100 tests.
46.90 s
[cursor-gen] satisfies the second lens law for valid values [✔]
46.90 s
[cursor-gen] +++ OK, passed 100 tests.
46.91 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
46.91 s
[cursor-gen] +++ OK, passed 100 tests.
46.91 s
[cursor-gen] gets valid values from valid values values [✔]
46.91 s
[cursor-gen] +++ OK, passed 100 tests.
46.91 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
46.91 s
[cursor-gen] +++ OK, passed 100 tests.
46.91 s
[cursor-gen] mapCursorSelectKey
46.91 s
[cursor-gen] produces valid cursors [✔]
46.91 s
[cursor-gen] +++ OK, passed 100 tests.
46.91 s
[cursor-gen] mapCursorSelectValue
46.91 s
[cursor-gen] produces valid cursors [✔]
46.91 s
[cursor-gen] +++ OK, passed 100 tests.
46.91 s
[cursor-gen] mapCursorToggleSelected
46.91 s
[cursor-gen] produces valid cursors [✔]
46.91 s
[cursor-gen] +++ OK, passed 100 tests.
46.91 s
[cursor-gen] mapCursorSelectPrev
46.91 s
[cursor-gen] produces valid cursors [✔]
46.91 s
[cursor-gen] +++ OK, passed 100 tests.
46.91 s
[cursor-gen] is a movement [✔]
46.91 s
[cursor-gen] +++ OK, passed 100 tests.
46.91 s
[cursor-gen] selects the previous element [‐]
46.91 s
[cursor-gen] # PENDING: No reason given
46.91 s
[cursor-gen] mapCursorSelectNext
46.91 s
[cursor-gen] produces valid cursors [✔]
46.91 s
[cursor-gen] +++ OK, passed 100 tests.
46.91 s
[cursor-gen] is a movement [✔]
46.91 s
[cursor-gen] +++ OK, passed 100 tests.
46.91 s
[cursor-gen] selects the next element [‐]
46.91 s
[cursor-gen] # PENDING: No reason given
46.91 s
[cursor-gen] mapCursorSelectFirst
46.91 s
[cursor-gen] produces valid cursors [✔]
46.91 s
[cursor-gen] +++ OK, passed 100 tests.
46.91 s
[cursor-gen] is a movement [✔]
46.91 s
[cursor-gen] +++ OK, passed 100 tests.
46.91 s
[cursor-gen] is idempotent [✔]
46.91 s
[cursor-gen] +++ OK, passed 100 tests.
46.91 s
[cursor-gen] selects the first element [‐]
46.91 s
[cursor-gen] # PENDING: No reason given
46.91 s
[cursor-gen] mapCursorSelectLast
46.91 s
[cursor-gen] produces valid cursors [✔]
46.91 s
[cursor-gen] +++ OK, passed 100 tests.
46.92 s
[cursor-gen] is a movement [✔]
46.92 s
[cursor-gen] +++ OK, passed 100 tests.
46.92 s
[cursor-gen] is idempotent [✔]
46.92 s
[cursor-gen] +++ OK, passed 100 tests.
46.92 s
[cursor-gen] selects the last element [‐]
46.92 s
[cursor-gen] # PENDING: No reason given
46.92 s
[cursor-gen] mapCursorSelection
46.92 s
[cursor-gen] produces valid ints [✔]
46.92 s
[cursor-gen] +++ OK, passed 100 tests.
46.92 s
[cursor-gen] returns the index of the currently selected element [‐]
46.92 s
[cursor-gen] # PENDING: No reason given
46.92 s
[cursor-gen] mapCursorSelectIndex
46.92 s
[cursor-gen] produces valid cursors [✔]
46.92 s
[cursor-gen] +++ OK, passed 100 tests.
46.92 s
[cursor-gen] is the identity function when given the current selection [✔]
46.92 s
[cursor-gen] +++ OK, passed 100 tests.
46.92 s
[cursor-gen] returns selects the element at the given index [‐]
46.92 s
[cursor-gen] # PENDING: No reason given
46.92 s
[cursor-gen] mapCursorInsert
46.92 s
[cursor-gen] produces valid cursors [✔]
46.92 s
[cursor-gen] +++ OK, passed 100 tests.
46.92 s
[cursor-gen] inserts a character before the cursor [‐]
46.92 s
[cursor-gen] # PENDING: No reason given
46.92 s
[cursor-gen] mapCursorAppend
46.92 s
[cursor-gen] produces valid cursors [✔]
46.92 s
[cursor-gen] +++ OK, passed 100 tests.
46.92 s
[cursor-gen] inserts a character after the cursor [‐]
46.92 s
[cursor-gen] # PENDING: No reason given
46.92 s
[cursor-gen] mapCursorInsertAndSelectKey
46.92 s
[cursor-gen] produces valid cursors [✔]
46.92 s
[cursor-gen] +++ OK, passed 100 tests.
46.92 s
[cursor-gen] mapCursorAppendAndSelectKey
46.92 s
[cursor-gen] produces valid cursors [✔]
46.92 s
[cursor-gen] +++ OK, passed 100 tests.
46.92 s
[cursor-gen] mapCursorInsertAndSelectValue
46.92 s
[cursor-gen] produces valid cursors [✔]
46.92 s
[cursor-gen] +++ OK, passed 100 tests.
46.92 s
[cursor-gen] mapCursorAppendAndSelectValue
46.92 s
[cursor-gen] produces valid cursors [✔]
46.92 s
[cursor-gen] +++ OK, passed 100 tests.
46.92 s
[cursor-gen] mapCursorRemoveElem
46.92 s
[cursor-gen] produces valid cursors [✔]
46.92 s
[cursor-gen] +++ OK, passed 100 tests.
46.92 s
[cursor-gen] removes an element [‐]
46.92 s
[cursor-gen] # PENDING: No reason given
46.92 s
[cursor-gen] mapCursorDeleteElem
46.92 s
[cursor-gen] produces valid cursors [✔]
46.92 s
[cursor-gen] +++ OK, passed 100 tests.
46.92 s
[cursor-gen] deletes an element [‐]
46.92 s
[cursor-gen] # PENDING: No reason given
46.92 s
[cursor-gen] mapCursorSearch
46.92 s
[cursor-gen] produces valid cursors when looking for an equal pair [✔]
46.92 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] is indeed the right value when it finds a value and is looking for an equal element [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] mapCursorSelectOrAdd
46.93 s
[cursor-gen] produces valid cursors when looking for an equal element [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] Cursor.Simple.Map.KeyValue
46.93 s
[cursor-gen] makeKeyValueCursorKey
46.93 s
[cursor-gen] produces valid cursors [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] makeKeyValueCursorValue
46.93 s
[cursor-gen] produces valid cursors [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] rebuildKeyValueCursor
46.93 s
[cursor-gen] produces valid tuples [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] keyValueCursorSelection
46.93 s
[cursor-gen] produces valid selections [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] keyValueCursorSelectKey
46.93 s
[cursor-gen] produces valid cursors [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] is a movement [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] keyValueCursorSelectValue
46.93 s
[cursor-gen] produces valid cursors [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] is a movement [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] keyValueCursorToggleSelected
46.93 s
[cursor-gen] produces valid cursors [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] is a movement [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] Cursor.Simple.Tree.Base
46.93 s
[cursor-gen] Eq (TreeCursor Int Int)
46.93 s
[cursor-gen] (==) :: (TreeCursor Int Int) -> (TreeCursor Int Int) -> Bool
46.93 s
[cursor-gen] is reflexive for "valid (TreeCursor Int Int)"s [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] is symmetric for "valid (TreeCursor Int Int)"s [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] is transitive for "valid (TreeCursor Int Int)"s [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (TreeCursor Int Int)"s [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] (/=) :: (TreeCursor Int Int) -> (TreeCursor Int Int) -> Bool
46.93 s
[cursor-gen] is antireflexive for "valid (TreeCursor Int Int)"s [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (TreeCursor Int Int)"s [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] GenValid (TreeCursor Bool Bool)
46.93 s
[cursor-gen] genValid :: Gen (TreeCursor Bool Bool)
46.93 s
[cursor-gen] only generates valid '(TreeCursor Bool Bool)'s [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] makeTreeCursor
46.93 s
[cursor-gen] produces valid cursors [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] makeNodeTreeCursor
46.93 s
[cursor-gen] produces valid cursors [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] makeTreeCursorWithSelection
46.93 s
[cursor-gen] produces valid cursors [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] singletonTreeCursor
46.93 s
[cursor-gen] produces valid cursors [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] rebuildTreeCursor
46.93 s
[cursor-gen] produces valid trees [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] is the inverse of makeTreeCursor for integers [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] is the inverse of makeTreeCursorWithSelection for the current selection [✔]
46.93 s
[cursor-gen] +++ OK, passed 100 tests.
46.93 s
[cursor-gen] Cursor.Simple.Tree.Collapse
46.93 s
[cursor-gen] treeCursorOpenCurrentForest
46.94 s
[cursor-gen] produces valid cursors [✔]
46.94 s
[cursor-gen] +++ OK, passed 100 tests.
46.94 s
[cursor-gen] treeCursorCloseCurrentForest
46.94 s
[cursor-gen] produces valid cursors [✔]
46.94 s
[cursor-gen] +++ OK, passed 100 tests.
46.94 s
[cursor-gen] treeCursorToggleCurrentForest
46.94 s
[cursor-gen] produces valid cursors [✔]
46.94 s
[cursor-gen] +++ OK, passed 100 tests.
46.94 s
[cursor-gen] treeCursorOpenCurrentForestRecursively
46.94 s
[cursor-gen] produces valid cursors [✔]
46.94 s
[cursor-gen] +++ OK, passed 100 tests.
46.94 s
[cursor-gen] treeCursorToggleCurrentForestRecursively
46.94 s
[cursor-gen] produces valid cursors [✔]
46.94 s
[cursor-gen] +++ OK, passed 100 tests.
46.94 s
[cursor-gen] Cursor.Simple.Tree.Delete
46.94 s
[cursor-gen] treeCursorDeleteSubTreeAndSelectPrevious
46.94 s
[cursor-gen] produces valids on valids [✔]
46.94 s
[cursor-gen] +++ OK, passed 100 tests.
46.94 s
[cursor-gen] deletes the current subtree selects the previous subtree [‐]
46.94 s
[cursor-gen] # PENDING: No reason given
46.94 s
[cursor-gen] treeCursorDeleteSubTreeAndSelectNext
46.94 s
[cursor-gen] produces valids on valids [✔]
46.94 s
[cursor-gen] +++ OK, passed 100 tests.
46.94 s
[cursor-gen] deletes the current subtree selects the next subtree [‐]
46.94 s
[cursor-gen] # PENDING: No reason given
46.94 s
[cursor-gen] treeCursorDeleteSubTreeAndSelectAbove
46.94 s
[cursor-gen] produces valids on valids [✔]
46.94 s
[cursor-gen] +++ OK, passed 100 tests.
46.94 s
[cursor-gen] deletes the current subtree selects the above node [‐]
46.94 s
[cursor-gen] # PENDING: No reason given
46.94 s
[cursor-gen] treeCursorRemoveSubTree
46.94 s
[cursor-gen] produces valids on valids [✔]
46.94 s
[cursor-gen] +++ OK, passed 100 tests.
46.94 s
[cursor-gen] removes the current subtree [‐]
46.94 s
[cursor-gen] # PENDING: No reason given
46.94 s
[cursor-gen] treeCursorDeleteSubTree
46.94 s
[cursor-gen] produces valids on valids [✔]
46.94 s
[cursor-gen] +++ OK, passed 100 tests.
46.94 s
[cursor-gen] deletes the current subtree [‐]
46.94 s
[cursor-gen] # PENDING: No reason given
46.94 s
[cursor-gen] treeCursorDeleteElemAndSelectPrevious
46.94 s
[cursor-gen] produces valids on valids [✔]
46.94 s
[cursor-gen] +++ OK, passed 100 tests.
46.94 s
[cursor-gen] works for this simple example [✔]
46.94 s
[cursor-gen] +++ OK, passed 100 tests.
46.94 s
[cursor-gen] deletes the current element and selects the previous element [‐]
46.94 s
[cursor-gen] # PENDING: No reason given
46.94 s
[cursor-gen] treeCursorDeleteElemAndSelectNext
46.94 s
[cursor-gen] produces valids on valids [✔]
46.94 s
[cursor-gen] +++ OK, passed 100 tests.
46.95 s
[cursor-gen] works for this simple example [✔]
46.95 s
[cursor-gen] +++ OK, passed 100 tests.
46.95 s
[cursor-gen] deletes the current element and selects the next element [‐]
46.95 s
[cursor-gen] # PENDING: No reason given
46.95 s
[cursor-gen] treeCursorDeleteElemAndSelectAbove
46.95 s
[cursor-gen] produces valids on valids [✔]
46.95 s
[cursor-gen] +++ OK, passed 100 tests.
46.95 s
[cursor-gen] works for this simple example [✔]
46.95 s
[cursor-gen] +++ OK, passed 100 tests.
46.95 s
[cursor-gen] deletes the current element and selects the above element [‐]
46.95 s
[cursor-gen] # PENDING: No reason given
46.95 s
[cursor-gen] treeCursorRemoveElem
46.95 s
[cursor-gen] produces valids on valids [✔]
46.95 s
[cursor-gen] +++ OK, passed 100 tests.
46.95 s
[cursor-gen] removes the current element [‐]
46.95 s
[cursor-gen] # PENDING: No reason given
46.95 s
[cursor-gen] treeCursorDeleteElem
46.95 s
[cursor-gen] produces valids on valids [✔]
46.95 s
[cursor-gen] +++ OK, passed 100 tests.
46.95 s
[cursor-gen] deletes the current element [‐]
46.95 s
[cursor-gen] # PENDING: No reason given
46.95 s
[cursor-gen] Cursor.Simple.Tree.Demote
46.95 s
[cursor-gen] Functor DemoteResult
46.95 s
[cursor-gen] fmap :: (a -> b) -> DemoteResult a -> DemoteResult b
46.95 s
[cursor-gen] satisfies the first Fuctor law: 'fmap id == id' for "DemoteResult of ints :: (DemoteResult Int)" [✔]
46.95 s
[cursor-gen] +++ OK, passed 100 tests.
46.95 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)" [✔]
46.95 s
[cursor-gen] +++ OK, passed 100 tests.
46.95 s
[cursor-gen] (<$) :: a -> DemoteResult b -> DemoteResult a
46.95 s
[cursor-gen] is equivalent to its default implementation for "int :: Int" and "DemoteResult of ints :: (DemoteResult Int)" [✔]
46.95 s
[cursor-gen] +++ OK, passed 100 tests.
46.95 s
[cursor-gen] treeCursorDemoteElem
46.95 s
[cursor-gen] produces valids on valids [✔]
46.95 s
[cursor-gen] +++ OK, passed 100 tests.
46.95 s
[cursor-gen] Works on the example from the docs [✔]
46.95 s
[cursor-gen] demotes the current node to the level of its children [‐]
46.95 s
[cursor-gen] # PENDING: No reason given
46.95 s
[cursor-gen] treeCursorDemoteSubTree
46.95 s
[cursor-gen] produces valids on valids [✔]
46.95 s
[cursor-gen] +++ OK, passed 100 tests.
46.95 s
[cursor-gen] Works on the example from the docs [✔]
46.95 s
[cursor-gen] demotes the current subtree to the level of its children [‐]
46.95 s
[cursor-gen] # PENDING: No reason given
46.95 s
[cursor-gen] treeCursorDemoteElemUnder
46.95 s
[cursor-gen] produces valids on valids [✔]
46.95 s
[cursor-gen] +++ OK, passed 100 tests.
46.95 s
[cursor-gen] Works on the example from the docs [✔]
46.95 s
[cursor-gen] +++ OK, passed 100 tests.
46.95 s
[cursor-gen] demotes the current node to the level of its children [‐]
46.95 s
[cursor-gen] # PENDING: No reason given
46.95 s
[cursor-gen] treeCursorDemoteSubTreeUnder
46.95 s
[cursor-gen] produces valids on valids [✔]
46.95 s
[cursor-gen] +++ OK, passed 100 tests.
46.95 s
[cursor-gen] Works on the example from the docs [✔]
46.95 s
[cursor-gen] +++ OK, passed 100 tests.
46.95 s
[cursor-gen] demotes the current subtree to the level of its children, by adding a root [‐]
46.95 s
[cursor-gen] # PENDING: No reason given
46.95 s
[cursor-gen] Cursor.Simple.Tree.Insert
46.95 s
[cursor-gen] treeCursorInsert
46.95 s
[cursor-gen] produces valids on valids [✔]
46.95 s
[cursor-gen] +++ OK, passed 100 tests.
46.95 s
[cursor-gen] inserts the element [‐]
46.95 s
[cursor-gen] # PENDING: No reason given
46.95 s
[cursor-gen] treeCursorInsertAndSelect
46.95 s
[cursor-gen] produces valids on valids [✔]
46.95 s
[cursor-gen] +++ OK, passed 100 tests.
46.95 s
[cursor-gen] inserts and select the element [‐]
46.95 s
[cursor-gen] # PENDING: No reason given
46.95 s
[cursor-gen] treeCursorInsertNodeSingleAndSelect
46.95 s
[cursor-gen] produces valids on valids [✔]
46.95 s
[cursor-gen] +++ OK, passed 100 tests.
46.95 s
[cursor-gen] inserts and select the element [‐]
46.95 s
[cursor-gen] # PENDING: No reason given
46.95 s
[cursor-gen] treeCursorInsertNodeAndSelect
46.96 s
[cursor-gen] produces valids on valids [✔]
46.96 s
[cursor-gen] +++ OK, passed 100 tests.
46.96 s
[cursor-gen] inserts and select the element [‐]
46.96 s
[cursor-gen] # PENDING: No reason given
46.96 s
[cursor-gen] treeCursorAppend
46.96 s
[cursor-gen] produces valids on valids [✔]
46.96 s
[cursor-gen] +++ OK, passed 100 tests.
46.96 s
[cursor-gen] appends the element [‐]
46.96 s
[cursor-gen] # PENDING: No reason given
46.96 s
[cursor-gen] treeCursorAppendAndSelect
46.96 s
[cursor-gen] produces valids on valids [✔]
46.96 s
[cursor-gen] +++ OK, passed 100 tests.
46.96 s
[cursor-gen] appends and select the element [‐]
46.96 s
[cursor-gen] # PENDING: No reason given
46.96 s
[cursor-gen] treeCursorAppendNodeSingleAndSelect
46.96 s
[cursor-gen] produces valids on valids [✔]
46.96 s
[cursor-gen] +++ OK, passed 100 tests.
46.96 s
[cursor-gen] appends and select the element [‐]
46.96 s
[cursor-gen] # PENDING: No reason given
46.96 s
[cursor-gen] treeCursorAppendNodeAndSelect
46.96 s
[cursor-gen] produces valids on valids [✔]
46.96 s
[cursor-gen] +++ OK, passed 100 tests.
46.96 s
[cursor-gen] appends and select the element [‐]
46.96 s
[cursor-gen] # PENDING: No reason given
46.96 s
[cursor-gen] treeCursorAddChildAtPos
46.96 s
[cursor-gen] produces valid cursors [✔]
46.96 s
[cursor-gen] +++ OK, passed 100 tests.
46.96 s
[cursor-gen] adds a tree at the given index in the children of the current node [‐]
46.96 s
[cursor-gen] # PENDING: No reason given
46.96 s
[cursor-gen] treeCursorAddChildAtStart
46.96 s
[cursor-gen] produces valid cursors [✔]
46.96 s
[cursor-gen] +++ OK, passed 100 tests.
46.96 s
[cursor-gen] adds a tree at the start of the children of the current node [‐]
46.96 s
[cursor-gen] # PENDING: No reason given
46.96 s
[cursor-gen] treeCursorAddChildAtEnd
46.96 s
[cursor-gen] produces valid cursors [✔]
46.96 s
[cursor-gen] +++ OK, passed 100 tests.
46.96 s
[cursor-gen] adds a tree at the end of the children of the current node [‐]
46.96 s
[cursor-gen] # PENDING: No reason given
46.96 s
[cursor-gen] treeCursorAddChildAtPosAndSelect
46.96 s
[cursor-gen] produces valid cursors [✔]
46.96 s
[cursor-gen] +++ OK, passed 100 tests.
46.96 s
[cursor-gen] adds a tree at the given index in theAndSelect children of the current node [‐]
46.96 s
[cursor-gen] # PENDING: No reason given
46.96 s
[cursor-gen] treeCursorAddChildAtStartAndSelect
46.96 s
[cursor-gen] producesAndSelect valid cursors [✔]
46.97 s
[cursor-gen] +++ OK, passed 100 tests.
46.97 s
[cursor-gen] adds a tree at the start of the children of the current node [‐]
46.97 s
[cursor-gen] # PENDING: No reason given
46.97 s
[cursor-gen] treeCursorAddChildAtEndAndSelect
46.97 s
[cursor-gen] produces valid cursors [✔]
46.97 s
[cursor-gen] +++ OK, passed 100 tests.
46.97 s
[cursor-gen] adds a tree at the end of the children of the current node [‐]
46.97 s
[cursor-gen] # PENDING: No reason given
46.97 s
[cursor-gen] treeCursorAddChildNodeSingleAtPosAndSelect
46.97 s
[cursor-gen] produces valid cursors [✔]
46.97 s
[cursor-gen] +++ OK, passed 100 tests.
46.97 s
[cursor-gen] treeCursorAddChildNodeSingleAtStartAndSelect
46.97 s
[cursor-gen] produces valid cursors [✔]
46.97 s
[cursor-gen] +++ OK, passed 100 tests.
46.97 s
[cursor-gen] treeCursorAddChildNodeSingleAtEndAndSelect
46.97 s
[cursor-gen] produces valid cursors [✔]
46.97 s
[cursor-gen] +++ OK, passed 100 tests.
46.97 s
[cursor-gen] treeCursorAddChildNodeAtPosAndSelect
46.97 s
[cursor-gen] produces valid cursors [✔]
46.97 s
[cursor-gen] +++ OK, passed 100 tests.
46.97 s
[cursor-gen] treeCursorAddChildNodeAtStartAndSelect
46.97 s
[cursor-gen] produces valid cursors [✔]
46.97 s
[cursor-gen] +++ OK, passed 100 tests.
46.97 s
[cursor-gen] works for this example [✔]
46.97 s
[cursor-gen] treeCursorAddChildNodeAtEndAndSelect
46.97 s
[cursor-gen] produces valid cursors [✔]
46.97 s
[cursor-gen] +++ OK, passed 100 tests.
46.97 s
[cursor-gen] works for this example [✔]
46.97 s
[cursor-gen] Cursor.Simple.Tree.Movement
46.97 s
[cursor-gen] treeCursorSelection
46.97 s
[cursor-gen] produces valids on valids [✔]
46.97 s
[cursor-gen] +++ OK, passed 100 tests.
46.97 s
[cursor-gen] treeCursorSelect
46.97 s
[cursor-gen] produces valids on valids [✔]
46.97 s
[cursor-gen] +++ OK, passed 100 tests.
46.97 s
[cursor-gen] is identity with the current selection [✔]
46.97 s
[cursor-gen] +++ OK, passed 100 tests.
46.97 s
[cursor-gen] treeCursorSelectPrevOnSameLevel
46.97 s
[cursor-gen] produces valids on valids [✔]
46.98 s
[cursor-gen] +++ OK, passed 100 tests.
46.98 s
[cursor-gen] is a movement [✔]
46.98 s
[cursor-gen] +++ OK, passed 100 tests.
46.98 s
[cursor-gen] selects the previous element [‐]
46.98 s
[cursor-gen] # PENDING: No reason given
46.98 s
[cursor-gen] after treeCursorSelectNextOnSameLevel is identity if they don't fail [✔]
46.98 s
[cursor-gen] +++ OK, passed 100 tests.
46.98 s
[cursor-gen] treeCursorSelectNextOnSameLevel
46.98 s
[cursor-gen] produces valids on valids [✔]
46.98 s
[cursor-gen] +++ OK, passed 100 tests.
46.98 s
[cursor-gen] is a movement [✔]
46.98 s
[cursor-gen] +++ OK, passed 100 tests.
46.98 s
[cursor-gen] selects the next element [‐]
46.98 s
[cursor-gen] # PENDING: No reason given
46.98 s
[cursor-gen] after treeCursorSelectPrevOnSameLevel is identity if they don't fail [✔]
46.98 s
[cursor-gen] +++ OK, passed 100 tests.
46.98 s
[cursor-gen] treeCursorSelectFirstOnSameLevel
46.98 s
[cursor-gen] produces valids on valids [✔]
46.98 s
[cursor-gen] +++ OK, passed 100 tests.
46.98 s
[cursor-gen] is a movement [✔]
46.98 s
[cursor-gen] +++ OK, passed 100 tests.
46.98 s
[cursor-gen] selects the previous element [‐]
46.98 s
[cursor-gen] # PENDING: No reason given
46.98 s
[cursor-gen] treeCursorSelectNextOnSameLevel
46.98 s
[cursor-gen] produces valids on valids [✔]
46.98 s
[cursor-gen] +++ OK, passed 100 tests.
46.98 s
[cursor-gen] is a movement [✔]
46.98 s
[cursor-gen] +++ OK, passed 100 tests.
46.98 s
[cursor-gen] selects the next element [‐]
46.98 s
[cursor-gen] # PENDING: No reason given
46.98 s
[cursor-gen] treeCursorSelectAbovePrev
46.98 s
[cursor-gen] produces valids on valids [✔]
46.98 s
[cursor-gen] +++ OK, passed 100 tests.
46.98 s
[cursor-gen] is a movement [✔]
46.98 s
[cursor-gen] +++ OK, passed 100 tests.
46.98 s
[cursor-gen] Works for this classic example [✔]
46.98 s
[cursor-gen] selects the previous element [‐]
46.98 s
[cursor-gen] # PENDING: No reason given
46.98 s
[cursor-gen] after treeCursorSelectAboveNext is identity if they don't fail [✔]
46.98 s
[cursor-gen] +++ OK, passed 100 tests.
46.98 s
[cursor-gen] treeCursorSelectAboveNext
46.98 s
[cursor-gen] produces valids on valids [✔]
46.98 s
[cursor-gen] +++ OK, passed 100 tests.
46.98 s
[cursor-gen] is a movement [✔]
46.98 s
[cursor-gen] +++ OK, passed 100 tests.
46.98 s
[cursor-gen] Works for this classic example [✔]
46.98 s
[cursor-gen] selects the next element [‐]
46.98 s
[cursor-gen] # PENDING: No reason given
46.98 s
[cursor-gen] after treeCursorSelectAbovePrev is identity if they don't fail [✔]
46.98 s
[cursor-gen] +++ OK, passed 100 tests.
46.98 s
[cursor-gen] treeCursorSelectPrev
46.98 s
[cursor-gen] produces valids on valids [✔]
46.98 s
[cursor-gen] +++ OK, passed 100 tests.
46.99 s
[cursor-gen] is a movement [✔]
46.99 s
[cursor-gen] +++ OK, passed 100 tests.
46.99 s
[cursor-gen] selects the previous element [‐]
46.99 s
[cursor-gen] # PENDING: No reason given
46.99 s
[cursor-gen] after treeCursorSelectNext is identity if they don't fail [✔]
46.99 s
[cursor-gen] +++ OK, passed 100 tests.
46.99 s
[cursor-gen] treeCursorSelectNext
46.99 s
[cursor-gen] produces valids on valids [✔]
46.99 s
[cursor-gen] +++ OK, passed 100 tests.
46.99 s
[cursor-gen] is a movement [✔]
46.99 s
[cursor-gen] +++ OK, passed 100 tests.
46.99 s
[cursor-gen] selects the next element [‐]
46.99 s
[cursor-gen] # PENDING: No reason given
46.99 s
[cursor-gen] after treeCursorSelectPrev is identity if they don't fail [✔]
46.99 s
[cursor-gen] +++ OK, passed 100 tests.
46.99 s
[cursor-gen] treeCursorSelectFirst
46.99 s
[cursor-gen] produces valids on valids [✔]
46.99 s
[cursor-gen] +++ OK, passed 100 tests.
46.99 s
[cursor-gen] is a movement [✔]
46.99 s
[cursor-gen] +++ OK, passed 100 tests.
46.99 s
[cursor-gen] selects the first element [‐]
46.99 s
[cursor-gen] # PENDING: No reason given
46.99 s
[cursor-gen] is idempotent [✔]
46.99 s
[cursor-gen] +++ OK, passed 100 tests.
46.99 s
[cursor-gen] treeCursorSelectLast
46.99 s
[cursor-gen] produces valids on valids [✔]
46.99 s
[cursor-gen] +++ OK, passed 100 tests.
46.99 s
[cursor-gen] is a movement [✔]
46.99 s
[cursor-gen] +++ OK, passed 100 tests.
46.99 s
[cursor-gen] selects the last element [‐]
46.99 s
[cursor-gen] # PENDING: No reason given
46.99 s
[cursor-gen] is idempotent [✔]
46.99 s
[cursor-gen] +++ OK, passed 100 tests.
46.99 s
[cursor-gen] treeCursorSelectAbove
46.99 s
[cursor-gen] produces valids on valids [✔]
46.99 s
[cursor-gen] +++ OK, passed 100 tests.
46.99 s
[cursor-gen] is a movement [✔]
46.99 s
[cursor-gen] +++ OK, passed 100 tests.
46.99 s
[cursor-gen] selects the element above [‐]
46.99 s
[cursor-gen] # PENDING: No reason given
46.99 s
[cursor-gen] after treeCursorSelectBelow is identity if they don't fail [✔]
46.99 s
[cursor-gen] +++ OK, passed 100 tests.
46.99 s
[cursor-gen] treeCursorSelectBelowAtPos
47.00 s
[cursor-gen] produces valids on valids [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] is a movement [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] selects the element n-th below [‐]
47.00 s
[cursor-gen] # PENDING: No reason given
47.00 s
[cursor-gen] treeCursorSelectBelowAtStart
47.00 s
[cursor-gen] produces valids on valids [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] is a movement [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] selects the first child below [‐]
47.00 s
[cursor-gen] # PENDING: No reason given
47.00 s
[cursor-gen] treeCursorSelectBelowAtEnd
47.00 s
[cursor-gen] produces valids on valids [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] is a movement [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] selects the last child below [‐]
47.00 s
[cursor-gen] # PENDING: No reason given
47.00 s
[cursor-gen] treeCursorSelectBelowAtStartRecursively
47.00 s
[cursor-gen] produces valids on valids [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] is a movement [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] selects the first child below, recursively [‐]
47.00 s
[cursor-gen] # PENDING: No reason given
47.00 s
[cursor-gen] treeCursorSelectBelowAtEndRecursively
47.00 s
[cursor-gen] produces valids on valids [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] is a movement [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] selects the last child below, recursively [‐]
47.00 s
[cursor-gen] # PENDING: No reason given
47.00 s
[cursor-gen] Cursor.Simple.Tree.Promote
47.00 s
[cursor-gen] Functor PromoteElemResult
47.00 s
[cursor-gen] fmap :: (a -> b) -> PromoteElemResult a -> PromoteElemResult b
47.00 s
[cursor-gen] satisfies the first Fuctor law: 'fmap id == id' for "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 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)" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] (<$) :: a -> PromoteElemResult b -> PromoteElemResult a
47.00 s
[cursor-gen] is equivalent to its default implementation for "int :: Int" and "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] Applicative PromoteElemResult
47.00 s
[cursor-gen] pure :: a -> PromoteElemResult a and (<*>) :: PromoteElemResult (a -> b) -> PromoteElemResult a -> PromoteElemResult b
47.00 s
[cursor-gen] satisfy the identity law: 'pure id <*> v = v' for "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 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)" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "int :: Int" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "PromoteElemResult of increments :: (PromoteElemResult (Int -> Int))" sequenced with "int :: Int" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 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)" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] (*>) :: PromoteElemResult a -> PromoteElemResult b -> PromoteElemResult b
47.00 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" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] (<*) :: PromoteElemResult a -> PromoteElemResult b -> PromoteElemResult a
47.00 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)" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] Monad PromoteElemResult
47.00 s
[cursor-gen] return :: a -> PromoteElemResult a and (>>=) :: PromoteElemResult a -> (b -> PromoteElemResult a) -> PromoteElemResult b
47.00 s
[cursor-gen] satisfy the first Monad law: 'return a >>= k = k a' for "int :: Int" and "perturbations using the int :: (Int -> PromoteElemResult Int)" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] satisfy the second Monad law: 'm >>= return = m' for "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] (>>=) :: PromoteElemResult a -> (b -> PromoteElemResult a) -> PromoteElemResult b
47.00 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)" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] relation with Applicative PromoteElemResult
47.00 s
[cursor-gen] satisfies 'pure = return' for "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] satisfies '(<*>) = ap' for "PromoteElemResult of additions :: (PromoteElemResult (Int -> Int))" and "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] satisfies '(>>) = (*>)' for "PromoteElemResult of ints :: (PromoteElemResult Int)" and "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] relation with Functor PromoteElemResult
47.00 s
[cursor-gen] satisfies 'fmap f xs = xs >>= return . f' for "increments :: (Int -> Int)" and "PromoteElemResult of ints :: (PromoteElemResult Int)" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] treeCursorPromoteElem
47.00 s
[cursor-gen] produces valids on valids [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] Works on the example from the docs [✔]
47.00 s
[cursor-gen] promotes the current node to the level of its parent [‐]
47.00 s
[cursor-gen] # PENDING: No reason given
47.00 s
[cursor-gen] Functor PromoteResult
47.00 s
[cursor-gen] fmap :: (a -> b) -> PromoteResult a -> PromoteResult b
47.00 s
[cursor-gen] satisfies the first Fuctor law: 'fmap id == id' for "PromoteResult of ints :: (PromoteResult Int)" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 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)" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] (<$) :: a -> PromoteResult b -> PromoteResult a
47.00 s
[cursor-gen] is equivalent to its default implementation for "int :: Int" and "PromoteResult of ints :: (PromoteResult Int)" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] Applicative PromoteResult
47.00 s
[cursor-gen] pure :: a -> PromoteResult a and (<*>) :: PromoteResult (a -> b) -> PromoteResult a -> PromoteResult b
47.00 s
[cursor-gen] satisfy the identity law: 'pure id <*> v = v' for "PromoteResult of ints :: (PromoteResult Int)" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 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)" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "int :: Int" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "PromoteResult of increments :: (PromoteResult (Int -> Int))" sequenced with "int :: Int" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 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)" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] (*>) :: PromoteResult a -> PromoteResult b -> PromoteResult b
47.00 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" [✔]
47.00 s
[cursor-gen] +++ OK, passed 100 tests.
47.00 s
[cursor-gen] (<*) :: PromoteResult a -> PromoteResult b -> PromoteResult a
47.00 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)" [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] Monad PromoteResult
47.01 s
[cursor-gen] return :: a -> PromoteResult a and (>>=) :: PromoteResult a -> (b -> PromoteResult a) -> PromoteResult b
47.01 s
[cursor-gen] satisfy the first Monad law: 'return a >>= k = k a' for "int :: Int" and "perturbations using the int :: (Int -> PromoteResult Int)" [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] satisfy the second Monad law: 'm >>= return = m' for "PromoteResult of ints :: (PromoteResult Int)" [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] (>>=) :: PromoteResult a -> (b -> PromoteResult a) -> PromoteResult b
47.01 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)" [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] relation with Applicative PromoteResult
47.01 s
[cursor-gen] satisfies 'pure = return' for "PromoteResult of ints :: (PromoteResult Int)" [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] satisfies '(<*>) = ap' for "PromoteResult of additions :: (PromoteResult (Int -> Int))" and "PromoteResult of ints :: (PromoteResult Int)" [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] satisfies '(>>) = (*>)' for "PromoteResult of ints :: (PromoteResult Int)" and "PromoteResult of ints :: (PromoteResult Int)" [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] relation with Functor PromoteResult
47.01 s
[cursor-gen] satisfies 'fmap f xs = xs >>= return . f' for "increments :: (Int -> Int)" and "PromoteResult of ints :: (PromoteResult Int)" [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] treeCursorPromoteSubTree
47.01 s
[cursor-gen] produces valids on valids [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] Works on the example from the docs [✔]
47.01 s
[cursor-gen] promotes the current subtree to the level of its parent [‐]
47.01 s
[cursor-gen] # PENDING: No reason given
47.01 s
[cursor-gen] Cursor.Simple.Tree.Swap
47.01 s
[cursor-gen] Functor SwapResult
47.01 s
[cursor-gen] fmap :: (a -> b) -> SwapResult a -> SwapResult b
47.01 s
[cursor-gen] satisfies the first Fuctor law: 'fmap id == id' for "SwapResult of ints :: (SwapResult Int)" [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 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)" [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] (<$) :: a -> SwapResult b -> SwapResult a
47.01 s
[cursor-gen] is equivalent to its default implementation for "int :: Int" and "SwapResult of ints :: (SwapResult Int)" [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] treeCursorSwapPrev
47.01 s
[cursor-gen] produces valids on valids [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] works on the example from the docs [✔]
47.01 s
[cursor-gen] reverts treeCursorSwapNext [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] swaps the current node with the previous node [‐]
47.01 s
[cursor-gen] # PENDING: No reason given
47.01 s
[cursor-gen] treeCursorSwapNext
47.01 s
[cursor-gen] produces valids on valids [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] works on the example from the docs [✔]
47.01 s
[cursor-gen] reverts treeCursorSwapNext [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] swaps the current node with the next node [‐]
47.01 s
[cursor-gen] # PENDING: No reason given
47.01 s
[cursor-gen] Cursor.Text
47.01 s
[cursor-gen] Eq TextCursor
47.01 s
[cursor-gen] (==) :: TextCursor -> TextCursor -> Bool
47.01 s
[cursor-gen] is reflexive for "valid TextCursor"s [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] is symmetric for "valid TextCursor"s [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] is transitive for "valid TextCursor"s [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid TextCursor"s [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] (/=) :: TextCursor -> TextCursor -> Bool
47.01 s
[cursor-gen] is antireflexive for "valid TextCursor"s [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid TextCursor"s [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] GenValid TextCursor
47.01 s
[cursor-gen] genValid :: Gen TextCursor
47.01 s
[cursor-gen] only generates valid 'TextCursor's [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] Validity TextCursor
47.01 s
[cursor-gen] considers a text cursor with a newline in the previous characters invalid [✔]
47.01 s
[cursor-gen] considers a text cursor with a newline in the next characters invalid [✔]
47.01 s
[cursor-gen] considers a text cursor with an unsafe character in the previous characters invalid [✔]
47.01 s
[cursor-gen] considers a text cursor with an unsafe character in the next characters invalid [✔]
47.01 s
[cursor-gen] emptyTextCursor
47.01 s
[cursor-gen] is valid [✔]
47.01 s
[cursor-gen] makeTextCursor
47.01 s
[cursor-gen] produces valid list cursors [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] makeTextCursorWithSelection
47.01 s
[cursor-gen] produces valid list cursors [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] rebuildTextCursor
47.01 s
[cursor-gen] produces valid lists [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] is the inverse of makeTextCursor [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] is the inverse of makeTextCursorWithSelection for any index [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.01 s
[cursor-gen] textCursorNull
47.01 s
[cursor-gen] produces valid bools [✔]
47.01 s
[cursor-gen] +++ OK, passed 100 tests.
47.02 s
[cursor-gen] textCursorLength
47.02 s
[cursor-gen] produces valid ints [✔]
47.02 s
[cursor-gen] +++ OK, passed 100 tests.
47.02 s
[cursor-gen] textCursorIndex
47.02 s
[cursor-gen] produces valid indices [✔]
47.02 s
[cursor-gen] +++ OK, passed 100 tests.
47.02 s
[cursor-gen] textCursorSelectPrev
47.02 s
[cursor-gen] produces valid cursors [✔]
47.02 s
[cursor-gen] +++ OK, passed 100 tests.
47.02 s
[cursor-gen] is a movement [✔]
47.02 s
[cursor-gen] +++ OK, passed 100 tests.
47.02 s
[cursor-gen] selects the previous position [‐]
47.02 s
[cursor-gen] # PENDING: No reason given
47.02 s
[cursor-gen] textCursorSelectNext
47.02 s
[cursor-gen] produces valid cursors [✔]
47.02 s
[cursor-gen] +++ OK, passed 100 tests.
47.02 s
[cursor-gen] is a movement [✔]
47.02 s
[cursor-gen] +++ OK, passed 100 tests.
47.02 s
[cursor-gen] selects the next position [‐]
47.02 s
[cursor-gen] # PENDING: No reason given
47.02 s
[cursor-gen] textCursorSelectIndex
47.02 s
[cursor-gen] produces valid cursors [✔]
47.02 s
[cursor-gen] +++ OK, passed 100 tests.
47.03 s
[cursor-gen] is a movement [✔]
47.03 s
[cursor-gen] +++ OK, passed 100 tests.
47.03 s
[cursor-gen] selects the position at the given index [‐]
47.03 s
[cursor-gen] # PENDING: No reason given
47.03 s
[cursor-gen] produces a cursor that has the given selection for valid selections in the cursor [✔]
47.03 s
[cursor-gen] +++ OK, passed 100 tests.
47.03 s
[cursor-gen] textCursorSelectStart
47.03 s
[cursor-gen] produces valid cursors [✔]
47.03 s
[cursor-gen] +++ OK, passed 100 tests.
47.03 s
[cursor-gen] is a movement [✔]
47.03 s
[cursor-gen] +++ OK, passed 100 tests.
47.03 s
[cursor-gen] is idempotent [✔]
47.03 s
[cursor-gen] +++ OK, passed 100 tests.
47.03 s
[cursor-gen] selects the starting position [‐]
47.03 s
[cursor-gen] # PENDING: No reason given
47.03 s
[cursor-gen] textCursorSelectEnd
47.03 s
[cursor-gen] produces valid cursors [✔]
47.03 s
[cursor-gen] +++ OK, passed 100 tests.
47.03 s
[cursor-gen] is a movement [✔]
47.03 s
[cursor-gen] +++ OK, passed 100 tests.
47.03 s
[cursor-gen] is idempotent [✔]
47.03 s
[cursor-gen] +++ OK, passed 100 tests.
47.03 s
[cursor-gen] selects the end position [‐]
47.03 s
[cursor-gen] # PENDING: No reason given
47.03 s
[cursor-gen] textCursorPrevChar
47.04 s
[cursor-gen] produces valid items [✔]
47.04 s
[cursor-gen] +++ OK, passed 100 tests.
47.04 s
[cursor-gen] returns the item before the position [‐]
47.04 s
[cursor-gen] # PENDING: No reason given
47.04 s
[cursor-gen] textCursorNextChar
47.04 s
[cursor-gen] produces valid items [✔]
47.04 s
[cursor-gen] +++ OK, passed 100 tests.
47.04 s
[cursor-gen] returns the item after the position [‐]
47.04 s
[cursor-gen] # PENDING: No reason given
47.04 s
[cursor-gen] textCursorSelectBeginWord
47.04 s
[cursor-gen] produces valid items [✔]
47.04 s
[cursor-gen] +++ OK, passed 100 tests.
47.04 s
[cursor-gen] is a movement [✔]
47.04 s
[cursor-gen] +++ OK, passed 100 tests.
47.04 s
[cursor-gen] is idempotent [✔]
47.04 s
[cursor-gen] +++ OK, passed 100 tests (89% non trivial).
47.04 s
[cursor-gen] works for this example [✔]
47.04 s
[cursor-gen] works for this example [✔]
47.04 s
[cursor-gen] works for this example [✔]
47.04 s
[cursor-gen] works for this example [✔]
47.04 s
[cursor-gen] textCursorSelectEndWord
47.04 s
[cursor-gen] produces valid items [✔]
47.04 s
[cursor-gen] +++ OK, passed 100 tests.
47.04 s
[cursor-gen] is a movement [✔]
47.04 s
[cursor-gen] +++ OK, passed 100 tests.
47.04 s
[cursor-gen] is idempotent [✔]
47.04 s
[cursor-gen] +++ OK, passed 100 tests (89% non trivial).
47.04 s
[cursor-gen] works for this example [✔]
47.04 s
[cursor-gen] works for this example [✔]
47.04 s
[cursor-gen] works for this example [✔]
47.04 s
[cursor-gen] works for this example [✔]
47.04 s
[cursor-gen] textCursorSelectNextWord
47.05 s
[cursor-gen] produces valid items [✔]
47.05 s
[cursor-gen] +++ OK, passed 100 tests.
47.05 s
[cursor-gen] is a movement [✔]
47.05 s
[cursor-gen] +++ OK, passed 100 tests.
47.05 s
[cursor-gen] works for this example [✔]
47.05 s
[cursor-gen] works for this example [✔]
47.05 s
[cursor-gen] works for this example [✔]
47.05 s
[cursor-gen] works for this example [✔]
47.05 s
[cursor-gen] goes to the end of the cursor [✔]
47.05 s
[cursor-gen] chooses the next word correctly [✔]
47.05 s
[cursor-gen] textCursorSelectPrevWord
47.05 s
[cursor-gen] produces valid items [✔]
47.05 s
[cursor-gen] +++ OK, passed 100 tests.
47.05 s
[cursor-gen] is a movement [✔]
47.05 s
[cursor-gen] +++ OK, passed 100 tests.
47.05 s
[cursor-gen] works for this example [✔]
47.05 s
[cursor-gen] works for this example [✔]
47.05 s
[cursor-gen] works for this example [✔]
47.05 s
[cursor-gen] works for this example [✔]
47.05 s
[cursor-gen] goes to the beginning of the cursor [✔]
47.05 s
[cursor-gen] chooses the previous word correctly [✔]
47.05 s
[cursor-gen] textCursorInsert
47.05 s
[cursor-gen] produces valids [✔]
47.05 s
[cursor-gen] +++ OK, passed 100 tests.
47.05 s
[cursor-gen] inserts an item before the cursor [‐]
47.05 s
[cursor-gen] # PENDING: No reason given
47.05 s
[cursor-gen] textCursorAppend
47.06 s
[cursor-gen] produces valids [✔]
47.06 s
[cursor-gen] +++ OK, passed 100 tests.
47.06 s
[cursor-gen] inserts an item after the cursor [‐]
47.06 s
[cursor-gen] # PENDING: No reason given
47.06 s
[cursor-gen] textCursorInsertString
47.06 s
[cursor-gen] produces valids [✔]
47.06 s
[cursor-gen] +++ OK, passed 100 tests.
47.06 s
[cursor-gen] works for this example [✔]
47.06 s
[cursor-gen] textCursorAppendString
47.06 s
[cursor-gen] produces valids [✔]
47.06 s
[cursor-gen] +++ OK, passed 100 tests.
47.06 s
[cursor-gen] textCursorInsertText
47.06 s
[cursor-gen] produces valids [✔]
47.06 s
[cursor-gen] +++ OK, passed 100 tests.
47.06 s
[cursor-gen] textCursorAppendText
47.06 s
[cursor-gen] produces valids [✔]
47.06 s
[cursor-gen] +++ OK, passed 100 tests.
47.06 s
[cursor-gen] textCursorRemove
47.06 s
[cursor-gen] produces valids [✔]
47.06 s
[cursor-gen] +++ OK, passed 100 tests.
47.06 s
[cursor-gen] removes an item before the cursor [‐]
47.06 s
[cursor-gen] # PENDING: No reason given
47.06 s
[cursor-gen] textCursorDelete
47.06 s
[cursor-gen] produces valids [✔]
47.06 s
[cursor-gen] +++ OK, passed 100 tests.
47.06 s
[cursor-gen] removes an item before the cursor [‐]
47.06 s
[cursor-gen] # PENDING: No reason given
47.06 s
[cursor-gen] textCursorSplit
47.06 s
[cursor-gen] produces valids [✔]
47.06 s
[cursor-gen] +++ OK, passed 100 tests.
47.07 s
[cursor-gen] produces two list cursors that rebuild to the rebuilding of the original [✔]
47.07 s
[cursor-gen] +++ OK, passed 100 tests.
47.07 s
[cursor-gen] textCursorCombine
47.07 s
[cursor-gen] produces valids [✔]
47.07 s
[cursor-gen] +++ OK, passed 100 tests.
47.07 s
[cursor-gen] produces a list that rebuilds to the rebuilding of the original two cursors [✔]
47.07 s
[cursor-gen] +++ OK, passed 100 tests.
47.07 s
[cursor-gen] Cursor.TextField
47.07 s
[cursor-gen] Eq TextFieldCursor
47.07 s
[cursor-gen] (==) :: TextFieldCursor -> TextFieldCursor -> Bool
47.07 s
[cursor-gen] is reflexive for "valid TextFieldCursor"s [✔]
47.07 s
[cursor-gen] +++ OK, passed 100 tests.
47.07 s
[cursor-gen] is symmetric for "valid TextFieldCursor"s [✔]
47.07 s
[cursor-gen] +++ OK, passed 100 tests.
47.07 s
[cursor-gen] is transitive for "valid TextFieldCursor"s [✔]
47.07 s
[cursor-gen] +++ OK, passed 100 tests.
47.07 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid TextFieldCursor"s [✔]
47.07 s
[cursor-gen] +++ OK, passed 100 tests.
47.07 s
[cursor-gen] (/=) :: TextFieldCursor -> TextFieldCursor -> Bool
47.07 s
[cursor-gen] is antireflexive for "valid TextFieldCursor"s [✔]
47.07 s
[cursor-gen] +++ OK, passed 100 tests.
47.07 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid TextFieldCursor"s [✔]
47.07 s
[cursor-gen] +++ OK, passed 100 tests.
47.07 s
[cursor-gen] GenValid TextFieldCursor
47.07 s
[cursor-gen] genValid :: Gen TextFieldCursor
47.07 s
[cursor-gen] only generates valid 'TextFieldCursor's [✔]
47.07 s
[cursor-gen] +++ OK, passed 100 tests.
47.07 s
[cursor-gen] Validity TextFieldCursor
47.07 s
[cursor-gen] consider a textfield with a newline in the previous lines invalid [✔]
47.07 s
[cursor-gen] +++ OK, passed 100 tests.
47.07 s
[cursor-gen] consider a textfield with a newline in the next lines invalid [✔]
47.07 s
[cursor-gen] +++ OK, passed 100 tests.
47.07 s
[cursor-gen] makeTextFieldCursor
47.07 s
[cursor-gen] produces a valid cursor for "\n" [✔]
47.07 s
[cursor-gen] produces a valid cursor for "\n\n" [✔]
47.07 s
[cursor-gen] produces valid cursors [✔]
47.07 s
[cursor-gen] +++ OK, passed 100 tests.
47.07 s
[cursor-gen] makeTextFieldCursorWithSelection
47.07 s
[cursor-gen] produces a valid cursor for "\n" [✔]
47.07 s
[cursor-gen] +++ OK, passed 100 tests.
47.07 s
[cursor-gen] produces a valid cursor for "\n\n" [✔]
47.07 s
[cursor-gen] +++ OK, passed 100 tests.
47.07 s
[cursor-gen] produces valid cursors [✔]
47.07 s
[cursor-gen] +++ OK, passed 100 tests.
47.08 s
[cursor-gen] is the inverse of rebuildTextFieldCursor when using the current selection [✔]
47.08 s
[cursor-gen] +++ OK, passed 100 tests.
47.08 s
[cursor-gen] rebuildTextFieldCursorLines
47.08 s
[cursor-gen] produces valid lists [✔]
47.08 s
[cursor-gen] +++ OK, passed 100 tests.
47.08 s
[cursor-gen] produces texts without newlines [✔]
47.08 s
[cursor-gen] +++ OK, passed 100 tests.
47.08 s
[cursor-gen] rebuildTextFieldCursor
47.09 s
[cursor-gen] produces valid texts [✔]
47.09 s
[cursor-gen] +++ OK, passed 100 tests.
47.09 s
[cursor-gen] is the inverse of makeTextFieldCursor [✔]
47.09 s
[cursor-gen] +++ OK, passed 100 tests.
47.09 s
[cursor-gen] is the inverse of makeTextFieldCursorWithSelection for integers, for any index [✔]
47.09 s
[cursor-gen] +++ OK, passed 100 tests.
47.09 s
[cursor-gen] textFieldCursorSelection
47.09 s
[cursor-gen] produces valid tuples [✔]
47.09 s
[cursor-gen] +++ OK, passed 100 tests.
47.09 s
[cursor-gen] emptyTextFieldCursor
47.09 s
[cursor-gen] is valid [✔]
47.09 s
[cursor-gen] nullTextFieldCursor
47.09 s
[cursor-gen] produces valid [✔]
47.09 s
[cursor-gen] +++ OK, passed 100 tests.
47.09 s
[cursor-gen] textFieldCursorSelectPrevLine
47.09 s
[cursor-gen] produces valid cursors [✔]
47.09 s
[cursor-gen] +++ OK, passed 100 tests.
47.09 s
[cursor-gen] is a movement [✔]
47.09 s
[cursor-gen] +++ OK, passed 100 tests.
47.09 s
[cursor-gen] selects the previous line [‐]
47.09 s
[cursor-gen] # PENDING: No reason given
47.09 s
[cursor-gen] textFieldCursorSelectNextLine
47.10 s
[cursor-gen] produces valid cursors [✔]
47.10 s
[cursor-gen] +++ OK, passed 100 tests.
47.10 s
[cursor-gen] is a movement [✔]
47.10 s
[cursor-gen] +++ OK, passed 100 tests.
47.10 s
[cursor-gen] selects the next line [‐]
47.10 s
[cursor-gen] # PENDING: No reason given
47.10 s
[cursor-gen] textFieldCursorSelectFirstLine
47.10 s
[cursor-gen] produces valid cursors [✔]
47.10 s
[cursor-gen] +++ OK, passed 100 tests.
47.10 s
[cursor-gen] is a movement [✔]
47.10 s
[cursor-gen] +++ OK, passed 100 tests.
47.11 s
[cursor-gen] is idempotent [✔]
47.11 s
[cursor-gen] +++ OK, passed 100 tests.
47.11 s
[cursor-gen] selects the first line [‐]
47.11 s
[cursor-gen] # PENDING: No reason given
47.11 s
[cursor-gen] textFieldCursorSelectLastLine
47.11 s
[cursor-gen] produces valid cursors [✔]
47.11 s
[cursor-gen] +++ OK, passed 100 tests.
47.11 s
[cursor-gen] is a movement [✔]
47.11 s
[cursor-gen] +++ OK, passed 100 tests.
47.11 s
[cursor-gen] is idempotent [✔]
47.11 s
[cursor-gen] +++ OK, passed 100 tests.
47.11 s
[cursor-gen] selects the last line [‐]
47.11 s
[cursor-gen] # PENDING: No reason given
47.11 s
[cursor-gen] textFieldCursorSelectPrevChar
47.11 s
[cursor-gen] produces valid cursors [✔]
47.11 s
[cursor-gen] +++ OK, passed 100 tests.
47.11 s
[cursor-gen] selects the previous character on the current line [‐]
47.11 s
[cursor-gen] # PENDING: No reason given
47.11 s
[cursor-gen] textFieldCursorSelectNextChar
47.12 s
[cursor-gen] produces valid cursors [✔]
47.12 s
[cursor-gen] +++ OK, passed 100 tests.
47.12 s
[cursor-gen] selects the previous character on the current line [‐]
47.12 s
[cursor-gen] # PENDING: No reason given
47.12 s
[cursor-gen] textFieldCursorSelectBeginWord
47.12 s
[cursor-gen] produces valid cursors [✔]
47.12 s
[cursor-gen] +++ OK, passed 100 tests.
47.12 s
[cursor-gen] textFieldCursorSelectEndWord
47.12 s
[cursor-gen] produces valid cursors [✔]
47.12 s
[cursor-gen] +++ OK, passed 100 tests.
47.12 s
[cursor-gen] textFieldCursorSelectPrevWord
47.12 s
[cursor-gen] produces valid cursors [✔]
47.12 s
[cursor-gen] +++ OK, passed 100 tests.
47.12 s
[cursor-gen] textFieldCursorSelectNextWord
47.13 s
[cursor-gen] produces valid cursors [✔]
47.13 s
[cursor-gen] +++ OK, passed 100 tests.
47.13 s
[cursor-gen] textFieldCursorIndexOnLine
47.13 s
[cursor-gen] produces valid indices [✔]
47.13 s
[cursor-gen] +++ OK, passed 100 tests.
47.13 s
[cursor-gen] returns the index on the current line [‐]
47.13 s
[cursor-gen] # PENDING: No reason given
47.13 s
[cursor-gen] textFieldCursorSelectIndexOnLine
47.13 s
[cursor-gen] produces valid cursors for any index [✔]
47.13 s
[cursor-gen] +++ OK, passed 100 tests.
47.13 s
[cursor-gen] selects the given index on the current line [‐]
47.13 s
[cursor-gen] # PENDING: No reason given
47.13 s
[cursor-gen] textFieldCursorInsertChar
47.13 s
[cursor-gen] produces valid cursors [✔]
47.13 s
[cursor-gen] +++ OK, passed 100 tests.
47.13 s
[cursor-gen] inserts a character before the cursor on the current line [‐]
47.13 s
[cursor-gen] # PENDING: No reason given
47.13 s
[cursor-gen] textFieldCursorAppendChar
47.13 s
[cursor-gen] produces valid cursors [✔]
47.13 s
[cursor-gen] +++ OK, passed 100 tests.
47.13 s
[cursor-gen] inserts a character after the cursor on the currrent line [‐]
47.13 s
[cursor-gen] # PENDING: No reason given
47.13 s
[cursor-gen] textFieldCursorInsertNewline
47.13 s
[cursor-gen] produces valid cursors [✔]
47.13 s
[cursor-gen] +++ OK, passed 100 tests.
47.13 s
[cursor-gen] inserts a new line [‐]
47.13 s
[cursor-gen] # PENDING: No reason given
47.13 s
[cursor-gen] textFieldCursorAppendNewline
47.14 s
[cursor-gen] produces valid cursors [✔]
47.14 s
[cursor-gen] +++ OK, passed 100 tests.
47.14 s
[cursor-gen] textFieldCursorRemove
47.14 s
[cursor-gen] produces valid cursors [✔]
47.14 s
[cursor-gen] +++ OK, passed 100 tests.
47.14 s
[cursor-gen] removes empty text field cursor [✔]
47.14 s
[cursor-gen] removes a character or a line [‐]
47.14 s
[cursor-gen] # PENDING: No reason given
47.14 s
[cursor-gen] textFieldCursorDelete
47.14 s
[cursor-gen] produces valid cursors [✔]
47.14 s
[cursor-gen] +++ OK, passed 100 tests.
47.14 s
[cursor-gen] removes empty text field cursor [✔]
47.14 s
[cursor-gen] deletes a character or a line [‐]
47.14 s
[cursor-gen] # PENDING: No reason given
47.14 s
[cursor-gen] textFieldCursorSelectStartOfLine
47.14 s
[cursor-gen] produces valid cursors [✔]
47.14 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] selects the start of the current line [‐]
47.15 s
[cursor-gen] # PENDING: No reason given
47.15 s
[cursor-gen] textFieldCursorSelectEndOfLine
47.15 s
[cursor-gen] produces valid cursors [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] selects the end of the current line [‐]
47.15 s
[cursor-gen] # PENDING: No reason given
47.15 s
[cursor-gen] Cursor.Tree.Types
47.15 s
[cursor-gen] Eq TreeCursorSelection
47.15 s
[cursor-gen] (==) :: TreeCursorSelection -> TreeCursorSelection -> Bool
47.15 s
[cursor-gen] is reflexive for "valid TreeCursorSelection"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] is symmetric for "valid TreeCursorSelection"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] is transitive for "valid TreeCursorSelection"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid TreeCursorSelection"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] (/=) :: TreeCursorSelection -> TreeCursorSelection -> Bool
47.15 s
[cursor-gen] is antireflexive for "valid TreeCursorSelection"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid TreeCursorSelection"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] GenValid TreeCursorSelection
47.15 s
[cursor-gen] genValid :: Gen TreeCursorSelection
47.15 s
[cursor-gen] only generates valid 'TreeCursorSelection's [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] shrinkValid :: (TreeCursorSelection -> [TreeCursorSelection])
47.15 s
[cursor-gen] preserves validity for the first 10 elements [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] Eq (SwapResult Bool)
47.15 s
[cursor-gen] (==) :: (SwapResult Bool) -> (SwapResult Bool) -> Bool
47.15 s
[cursor-gen] is reflexive for "valid (SwapResult Bool)"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] is symmetric for "valid (SwapResult Bool)"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] is transitive for "valid (SwapResult Bool)"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (SwapResult Bool)"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] (/=) :: (SwapResult Bool) -> (SwapResult Bool) -> Bool
47.15 s
[cursor-gen] is antireflexive for "valid (SwapResult Bool)"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (SwapResult Bool)"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] GenValid (SwapResult Bool)
47.15 s
[cursor-gen] genValid :: Gen (SwapResult Bool)
47.15 s
[cursor-gen] only generates valid '(SwapResult Bool)'s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] shrinkValid :: (SwapResult Bool -> [SwapResult Bool])
47.15 s
[cursor-gen] preserves validity for the first 10 elements [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] Eq (PromoteElemResult Bool)
47.15 s
[cursor-gen] (==) :: (PromoteElemResult Bool) -> (PromoteElemResult Bool) -> Bool
47.15 s
[cursor-gen] is reflexive for "valid (PromoteElemResult Bool)"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] is symmetric for "valid (PromoteElemResult Bool)"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] is transitive for "valid (PromoteElemResult Bool)"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (PromoteElemResult Bool)"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] (/=) :: (PromoteElemResult Bool) -> (PromoteElemResult Bool) -> Bool
47.15 s
[cursor-gen] is antireflexive for "valid (PromoteElemResult Bool)"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (PromoteElemResult Bool)"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] GenValid (PromoteElemResult Bool)
47.15 s
[cursor-gen] genValid :: Gen (PromoteElemResult Bool)
47.15 s
[cursor-gen] only generates valid '(PromoteElemResult Bool)'s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] shrinkValid :: (PromoteElemResult Bool -> [PromoteElemResult Bool])
47.15 s
[cursor-gen] preserves validity for the first 10 elements [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] Eq (PromoteResult Bool)
47.15 s
[cursor-gen] (==) :: (PromoteResult Bool) -> (PromoteResult Bool) -> Bool
47.15 s
[cursor-gen] is reflexive for "valid (PromoteResult Bool)"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] is symmetric for "valid (PromoteResult Bool)"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] is transitive for "valid (PromoteResult Bool)"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (PromoteResult Bool)"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] (/=) :: (PromoteResult Bool) -> (PromoteResult Bool) -> Bool
47.15 s
[cursor-gen] is antireflexive for "valid (PromoteResult Bool)"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (PromoteResult Bool)"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] GenValid (PromoteResult Bool)
47.15 s
[cursor-gen] genValid :: Gen (PromoteResult Bool)
47.15 s
[cursor-gen] only generates valid '(PromoteResult Bool)'s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] shrinkValid :: (PromoteResult Bool -> [PromoteResult Bool])
47.15 s
[cursor-gen] preserves validity for the first 10 elements [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] Eq (DemoteResult Bool)
47.15 s
[cursor-gen] (==) :: (DemoteResult Bool) -> (DemoteResult Bool) -> Bool
47.15 s
[cursor-gen] is reflexive for "valid (DemoteResult Bool)"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] is symmetric for "valid (DemoteResult Bool)"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] is transitive for "valid (DemoteResult Bool)"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (DemoteResult Bool)"s [✔]
47.15 s
[cursor-gen] +++ OK, passed 100 tests.
47.15 s
[cursor-gen] (/=) :: (DemoteResult Bool) -> (DemoteResult Bool) -> Bool
47.16 s
[cursor-gen] is antireflexive for "valid (DemoteResult Bool)"s [✔]
47.16 s
[cursor-gen] +++ OK, passed 100 tests.
47.16 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (DemoteResult Bool)"s [✔]
47.16 s
[cursor-gen] +++ OK, passed 100 tests.
47.16 s
[cursor-gen] GenValid (DemoteResult Bool)
47.16 s
[cursor-gen] genValid :: Gen (DemoteResult Bool)
47.16 s
[cursor-gen] only generates valid '(DemoteResult Bool)'s [✔]
47.16 s
[cursor-gen] +++ OK, passed 100 tests.
47.16 s
[cursor-gen] shrinkValid :: (DemoteResult Bool -> [DemoteResult Bool])
47.16 s
[cursor-gen] preserves validity for the first 10 elements [✔]
47.16 s
[cursor-gen] +++ OK, passed 100 tests.
47.16 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
47.16 s
[cursor-gen] +++ OK, passed 100 tests.
47.16 s
[cursor-gen] Eq (CTree Bool)
47.16 s
[cursor-gen] (==) :: (CTree Bool) -> (CTree Bool) -> Bool
47.16 s
[cursor-gen] is reflexive for "valid (CTree Bool)"s [✔]
47.16 s
[cursor-gen] +++ OK, passed 100 tests.
47.16 s
[cursor-gen] is symmetric for "valid (CTree Bool)"s [✔]
47.16 s
[cursor-gen] +++ OK, passed 100 tests.
47.16 s
[cursor-gen] is transitive for "valid (CTree Bool)"s [✔]
47.16 s
[cursor-gen] +++ OK, passed 100 tests.
47.16 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (CTree Bool)"s [✔]
47.16 s
[cursor-gen] +++ OK, passed 100 tests.
47.16 s
[cursor-gen] (/=) :: (CTree Bool) -> (CTree Bool) -> Bool
47.16 s
[cursor-gen] is antireflexive for "valid (CTree Bool)"s [✔]
47.16 s
[cursor-gen] +++ OK, passed 100 tests.
47.16 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (CTree Bool)"s [✔]
47.16 s
[cursor-gen] +++ OK, passed 100 tests.
47.16 s
[cursor-gen] GenValid (CTree Bool)
47.16 s
[cursor-gen] genValid :: Gen (CTree Bool)
47.16 s
[cursor-gen] only generates valid '(CTree Bool)'s [✔]
47.16 s
[cursor-gen] +++ OK, passed 100 tests.
47.16 s
[cursor-gen] shrinkValid :: (CTree Bool -> [CTree Bool])
47.16 s
[cursor-gen] preserves validity for the first 10 elements [✔]
47.16 s
[cursor-gen] +++ OK, passed 100 tests.
47.16 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
47.16 s
[cursor-gen] +++ OK, passed 100 tests.
47.16 s
[cursor-gen] Eq (CForest Bool)
47.16 s
[cursor-gen] (==) :: (CForest Bool) -> (CForest Bool) -> Bool
47.16 s
[cursor-gen] is reflexive for "valid (CForest Bool)"s [✔]
47.16 s
[cursor-gen] +++ OK, passed 100 tests.
47.16 s
[cursor-gen] is symmetric for "valid (CForest Bool)"s [✔]
47.16 s
[cursor-gen] +++ OK, passed 100 tests.
47.16 s
[cursor-gen] is transitive for "valid (CForest Bool)"s [✔]
47.16 s
[cursor-gen] +++ OK, passed 100 tests.
47.16 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (CForest Bool)"s [✔]
47.16 s
[cursor-gen] +++ OK, passed 100 tests.
47.16 s
[cursor-gen] (/=) :: (CForest Bool) -> (CForest Bool) -> Bool
47.16 s
[cursor-gen] is antireflexive for "valid (CForest Bool)"s [✔]
47.16 s
[cursor-gen] +++ OK, passed 100 tests.
47.16 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (CForest Bool)"s [✔]
47.16 s
[cursor-gen] +++ OK, passed 100 tests.
47.16 s
[cursor-gen] GenValid (CForest Bool)
47.16 s
[cursor-gen] genValid :: Gen (CForest Bool)
47.16 s
[cursor-gen] only generates valid '(CForest Bool)'s [✔]
47.16 s
[cursor-gen] +++ OK, passed 100 tests.
47.16 s
[cursor-gen] shrinkValid :: (CForest Bool -> [CForest Bool])
47.16 s
[cursor-gen] preserves validity for the first 10 elements [✔]
47.16 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] Eq (TreeAbove Bool)
47.17 s
[cursor-gen] (==) :: (TreeAbove Bool) -> (TreeAbove Bool) -> Bool
47.17 s
[cursor-gen] is reflexive for "valid (TreeAbove Bool)"s [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] is symmetric for "valid (TreeAbove Bool)"s [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] is transitive for "valid (TreeAbove Bool)"s [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (TreeAbove Bool)"s [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] (/=) :: (TreeAbove Bool) -> (TreeAbove Bool) -> Bool
47.17 s
[cursor-gen] is antireflexive for "valid (TreeAbove Bool)"s [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (TreeAbove Bool)"s [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] GenValid (TreeAbove Bool)
47.17 s
[cursor-gen] genValid :: Gen (TreeAbove Bool)
47.17 s
[cursor-gen] only generates valid '(TreeAbove Bool)'s [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] shrinkValid :: (TreeAbove Bool -> [TreeAbove Bool])
47.17 s
[cursor-gen] preserves validity for the first 10 elements [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] treeAboveLeftsL
47.17 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] satisfies the second lens law for valid values [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] gets valid values from valid values values [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] treeAboveAboveL
47.17 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] satisfies the second lens law for valid values [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] gets valid values from valid values values [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] treeAboveNodeL
47.17 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] satisfies the second lens law for valid values [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] gets valid values from valid values values [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] treeAboveRightsL
47.17 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] satisfies the second lens law for valid values [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] gets valid values from valid values values [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] Eq (TreeCursor Bool Word)
47.17 s
[cursor-gen] (==) :: (TreeCursor Bool Word) -> (TreeCursor Bool Word) -> Bool
47.17 s
[cursor-gen] is reflexive for "valid (TreeCursor Bool Word)"s [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] is symmetric for "valid (TreeCursor Bool Word)"s [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] is transitive for "valid (TreeCursor Bool Word)"s [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] is equivalent to (\a b -> not $ a /= b) for "valid (TreeCursor Bool Word)"s [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] (/=) :: (TreeCursor Bool Word) -> (TreeCursor Bool Word) -> Bool
47.17 s
[cursor-gen] is antireflexive for "valid (TreeCursor Bool Word)"s [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] is equivalent to (\a b -> not $ a == b) for "valid (TreeCursor Bool Word)"s [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] GenValid (TreeCursor Bool Bool)
47.17 s
[cursor-gen] genValid :: Gen (TreeCursor Bool Bool)
47.17 s
[cursor-gen] only generates valid '(TreeCursor Bool Bool)'s [✔]
47.17 s
[cursor-gen] +++ OK, passed 100 tests.
47.17 s
[cursor-gen] shrinkValid :: (TreeCursor Word Bool -> [TreeCursor Word Bool])
47.18 s
[cursor-gen] preserves validity for the first 10 elements [✔]
47.18 s
[cursor-gen] +++ OK, passed 100 tests.
47.18 s
[cursor-gen] never shrinks to itself for valid values for the first 10 elements [✔]
47.18 s
[cursor-gen] +++ OK, passed 100 tests.
47.18 s
[cursor-gen] treeCursorAboveL
47.18 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
47.18 s
[cursor-gen] +++ OK, passed 100 tests.
47.18 s
[cursor-gen] satisfies the second lens law for valid values [✔]
47.18 s
[cursor-gen] +++ OK, passed 100 tests.
47.18 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
47.18 s
[cursor-gen] +++ OK, passed 100 tests.
47.18 s
[cursor-gen] gets valid values from valid values values [✔]
47.18 s
[cursor-gen] +++ OK, passed 100 tests.
47.18 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
47.18 s
[cursor-gen] +++ OK, passed 100 tests.
47.18 s
[cursor-gen] treeCursorCurrentL
47.18 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
47.18 s
[cursor-gen] +++ OK, passed 100 tests.
47.18 s
[cursor-gen] satisfies the second lens law for valid values [✔]
47.18 s
[cursor-gen] +++ OK, passed 100 tests.
47.18 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
47.18 s
[cursor-gen] +++ OK, passed 100 tests.
47.18 s
[cursor-gen] gets valid values from valid values values [✔]
47.18 s
[cursor-gen] +++ OK, passed 100 tests.
47.18 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
47.18 s
[cursor-gen] +++ OK, passed 100 tests.
47.18 s
[cursor-gen] treeCursorBelowL
47.18 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
47.18 s
[cursor-gen] +++ OK, passed 100 tests.
47.18 s
[cursor-gen] satisfies the second lens law for valid values [✔]
47.18 s
[cursor-gen] +++ OK, passed 100 tests.
47.18 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
47.18 s
[cursor-gen] +++ OK, passed 100 tests.
47.18 s
[cursor-gen] gets valid values from valid values values [✔]
47.18 s
[cursor-gen] +++ OK, passed 100 tests.
47.18 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
47.18 s
[cursor-gen] +++ OK, passed 100 tests.
47.18 s
[cursor-gen] treeCursorCurrentSubTreeL
47.18 s
[cursor-gen] satisfies the first lens law for valid values and valid values [✔]
47.18 s
[cursor-gen] +++ OK, passed 100 tests.
47.18 s
[cursor-gen] satisfies the second lens law for valid values [✔]
47.18 s
[cursor-gen] +++ OK, passed 100 tests.
47.18 s
[cursor-gen] satisfies the third lens law for valid values and valid values [✔]
47.18 s
[cursor-gen] +++ OK, passed 100 tests.
47.18 s
[cursor-gen] gets valid values from valid values values [✔]
47.18 s
[cursor-gen] +++ OK, passed 100 tests.
47.18 s
[cursor-gen] produces valid values when it is used to set valid values values on valid values values [✔]
47.18 s
[cursor-gen] +++ OK, passed 100 tests.
47.18 s
[cursor-gen]
47.18 s
[cursor-gen] Finished in 0.5775 seconds
47.18 s
[cursor-gen] 881 examples, 0 failures, 173 pending
47.34 s
[cursor-gen] Test suite cursor-test: PASS
47.34 s
[cursor-gen] Test suite logged to: dist/test/cursor-gen-0.4.0.0-cursor-test.log
47.34 s
[cursor-gen] 1 of 1 test suites (1 of 1 test cases) passed.
47.34 s
[cursor-gen] Phase: haddockPhase
47.45 s
[cursor-gen] Preprocessing library for cursor-gen-0.4.0.0..
47.45 s
[cursor-gen] Running Haddock on library for cursor-gen-0.4.0.0..
47.49 s
[cursor-gen] Warning: --source-* options are ignored when --hyperlinked-source is enabled.
47.60 s
[cursor-gen] [ 1 of 14] Compiling Cursor.List.Gen ( src/Cursor/List/Gen.hs, nothing )
49.09 s
[cursor-gen] [ 2 of 14] Compiling Cursor.List.NonEmpty.Gen ( src/Cursor/List/NonEmpty/Gen.hs, nothing )
49.09 s
[cursor-gen] [ 3 of 14] Compiling Cursor.Map.KeyValue.Gen ( src/Cursor/Map/KeyValue/Gen.hs, nothing )
49.36 s
[cursor-gen] [ 4 of 14] Compiling Cursor.Map.Gen ( src/Cursor/Map/Gen.hs, nothing )
49.36 s
[cursor-gen] [ 5 of 14] Compiling Cursor.Simple.List.NonEmpty.Gen ( src/Cursor/Simple/List/NonEmpty/Gen.hs, nothing )
49.36 s
[cursor-gen] [ 6 of 14] Compiling Cursor.Simple.Map.Gen ( src/Cursor/Simple/Map/Gen.hs, nothing )
49.36 s
[cursor-gen] [ 7 of 14] Compiling Cursor.Simple.Map.KeyValue.Gen ( src/Cursor/Simple/Map/KeyValue/Gen.hs, nothing )
49.36 s
[cursor-gen] [ 8 of 14] Compiling Cursor.Text.Gen ( src/Cursor/Text/Gen.hs, nothing )
49.36 s
[cursor-gen] [ 9 of 14] Compiling Cursor.TextField.Gen ( src/Cursor/TextField/Gen.hs, nothing )
49.36 s
[cursor-gen] [10 of 14] Compiling Cursor.Tree.Gen ( src/Cursor/Tree/Gen.hs, nothing )
49.36 s
[cursor-gen] [11 of 14] Compiling Cursor.Simple.Tree.Gen ( src/Cursor/Simple/Tree/Gen.hs, nothing )
49.36 s
[cursor-gen] [12 of 14] Compiling Cursor.Forest.Gen ( src/Cursor/Forest/Gen.hs, nothing )
49.36 s
[cursor-gen] [13 of 14] Compiling Cursor.Simple.Forest.Gen ( src/Cursor/Simple/Forest/Gen.hs, nothing )
49.36 s
[cursor-gen] [14 of 14] Compiling Paths_cursor_gen ( dist/build/autogen/Paths_cursor_gen.hs, nothing )
49.36 s
[cursor-gen] Haddock coverage:
49.36 s
[cursor-gen] 0% ( 0 / 3) in 'Cursor.List.Gen'
49.36 s
[cursor-gen] Missing documentation for:
49.36 s
[cursor-gen] Module header
49.36 s
[cursor-gen] listCursorWithGen (src/Cursor/List/Gen.hs:25)
49.36 s
[cursor-gen] listCursorWithIndex0 (src/Cursor/List/Gen.hs:28)
49.36 s
[cursor-gen] 0% ( 0 / 5) in 'Cursor.List.NonEmpty.Gen'
49.36 s
[cursor-gen] Missing documentation for:
49.36 s
[cursor-gen] Module header
49.36 s
[cursor-gen] genNonEmptyCursorBy (src/Cursor/List/NonEmpty/Gen.hs:24)
49.36 s
[cursor-gen] nonEmptyElemOf (src/Cursor/List/NonEmpty/Gen.hs:38)
49.36 s
[cursor-gen] nonEmptyWithIndex0 (src/Cursor/List/NonEmpty/Gen.hs:41)
49.36 s
[cursor-gen] nonEmptyWith (src/Cursor/List/NonEmpty/Gen.hs:44)
49.36 s
[cursor-gen] 0% ( 0 / 3) in 'Cursor.Map.KeyValue.Gen'
49.36 s
[cursor-gen] Missing documentation for:
49.36 s
[cursor-gen] Module header
49.36 s
[cursor-gen] genKeyValueCursorBy (src/Cursor/Map/KeyValue/Gen.hs:23)
49.36 s
[cursor-gen] genKeyValueCursorByDependent (src/Cursor/Map/KeyValue/Gen.hs:27)
49.36 s
[cursor-gen] 0% ( 0 / 3) in 'Cursor.Map.Gen'
49.36 s
[cursor-gen] Missing documentation for:
49.36 s
[cursor-gen] Module header
49.36 s
[cursor-gen] genMapCursorBy (src/Cursor/Map/Gen.hs:21)
49.36 s
[cursor-gen] genMapCursorByDependent (src/Cursor/Map/Gen.hs:26)
49.36 s
[cursor-gen] 0% ( 0 / 4) in 'Cursor.Simple.List.NonEmpty.Gen'
49.36 s
[cursor-gen] Missing documentation for:
49.36 s
[cursor-gen] Module header
49.36 s
[cursor-gen] nonEmptyElemOf (src/Cursor/Simple/List/NonEmpty/Gen.hs:13)
49.36 s
[cursor-gen] nonEmptyWithIndex0 (src/Cursor/Simple/List/NonEmpty/Gen.hs:16)
49.36 s
[cursor-gen] nonEmptyWith (src/Cursor/Simple/List/NonEmpty/Gen.hs:19)
49.36 s
[cursor-gen] 0% ( 0 / 1) in 'Cursor.Simple.Map.Gen'
49.36 s
[cursor-gen] Missing documentation for:
49.36 s
[cursor-gen] Module header
49.36 s
[cursor-gen] 0% ( 0 / 1) in 'Cursor.Simple.Map.KeyValue.Gen'
49.36 s
[cursor-gen] Missing documentation for:
49.36 s
[cursor-gen] Module header
49.36 s
[cursor-gen] 0% ( 0 / 7) in 'Cursor.Text.Gen'
49.36 s
[cursor-gen] Missing documentation for:
49.36 s
[cursor-gen] Module header
49.36 s
[cursor-gen] genSafeChar (src/Cursor/Text/Gen.hs:27)
49.36 s
[cursor-gen] genTextCursorChar (src/Cursor/Text/Gen.hs:33)
49.36 s
[cursor-gen] textCursorSentenceGen (src/Cursor/Text/Gen.hs:42)
49.36 s
[cursor-gen] textCursorWithGen (src/Cursor/Text/Gen.hs:36)
49.36 s
[cursor-gen] textCursorWithIndex0 (src/Cursor/Text/Gen.hs:39)
49.36 s
[cursor-gen] shrinkSentence (src/Cursor/Text/Gen.hs:48)
49.36 s
[cursor-gen] 0% ( 0 / 1) in 'Cursor.TextField.Gen'
49.36 s
[cursor-gen] Missing documentation for:
49.36 s
[cursor-gen] Module header
49.36 s
[cursor-gen] 0% ( 0 / 1) in 'Cursor.Tree.Gen'
49.36 s
[cursor-gen] Missing documentation for:
49.36 s
[cursor-gen] Module header
49.36 s
[cursor-gen] 0% ( 0 / 1) in 'Cursor.Simple.Tree.Gen'
49.36 s
[cursor-gen] Missing documentation for:
49.36 s
[cursor-gen] Module header
49.36 s
[cursor-gen] 0% ( 0 / 1) in 'Cursor.Forest.Gen'
49.36 s
[cursor-gen] Missing documentation for:
49.36 s
[cursor-gen] Module header
49.36 s
[cursor-gen] 0% ( 0 / 1) in 'Cursor.Simple.Forest.Gen'
49.36 s
[cursor-gen] Missing documentation for:
49.36 s
[cursor-gen] Module header
51.36 s
[cursor-gen] Documentation created: dist/doc/html/cursor-gen/,
51.36 s
[cursor-gen] dist/doc/html/cursor-gen/cursor-gen.txt
51.41 s
[cursor-gen] Preprocessing test suite 'cursor-test' for cursor-gen-0.4.0.0..
51.42 s
[cursor-gen] Phase: installPhase
51.47 s
[cursor-gen] Installing library in /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/cursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3
51.72 s
[cursor-gen] Phase: fixupPhase
51.74 s
[cursor-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0
51.75 s
[cursor-gen] shrinking /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/libHScursor-gen-0.4.0.0-AF3KCLruzAw4Qb4LWx0JC3-ghc9.8.4.so
51.76 s
[cursor-gen] checking for references to /build/ in /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0...
51.77 s
[cursor-gen] patching script interpreter paths in /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0
51.78 s
[cursor-gen] stripping (with command strip and flags -S -p) in /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0/lib
51.83 s
[cursor-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/bqf2k803xnkq9j31nm64lvz8v9v8n0hd-cursor-gen-0.4.0.0-doc
51.83 s
[cursor-gen] checking for references to /build/ in /nix/store/bqf2k803xnkq9j31nm64lvz8v9v8n0hd-cursor-gen-0.4.0.0-doc...
51.84 s
[cursor-gen] patching script interpreter paths in /nix/store/bqf2k803xnkq9j31nm64lvz8v9v8n0hd-cursor-gen-0.4.0.0-doc
52.09 s
[post-build-hook] Uploading to cachix cache "cursor": /nix/store/bqf2k803xnkq9j31nm64lvz8v9v8n0hd-cursor-gen-0.4.0.0-doc /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0
52.50 s
[post-build-hook] Pushing 3 paths (87 are already present) using zstd to cache cursor ⏳
52.50 s
[post-build-hook]
52.90 s
[post-build-hook] Pushing /nix/store/bqf2k803xnkq9j31nm64lvz8v9v8n0hd-cursor-gen-0.4.0.0-doc (489.55 KiB)
52.90 s
[post-build-hook] Pushing /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0 (2.23 MiB)
52.96 s
[post-build-hook] Pushing /nix/store/8syylmkvnn7lg2nar9fddpp5izb4gh56-attr-2.5.2 (90.55 KiB)
54.32 s
[post-build-hook]
54.32 s
[post-build-hook] All done.
54.34 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/bqf2k803xnkq9j31nm64lvz8v9v8n0hd-cursor-gen-0.4.0.0-doc /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0
54.60 s
[post-build-hook] copying 2 paths...
54.60 s
[post-build-hook] copying path '/nix/store/bqf2k803xnkq9j31nm64lvz8v9v8n0hd-cursor-gen-0.4.0.0-doc' to 'https://cache.staging.nix-ci.com'...
54.89 s
[post-build-hook] copying path '/nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0' to 'https://cache.staging.nix-ci.com'...
55.80 s
[post-build-hook] copying 1 paths...
55.80 s
[post-build-hook] copying path '/nix/store/dp0wg2zamk803b8rcf5p32p74mnp6f2w-cursor-gen-0.4.0.0.drv' to 'https://cache.staging.nix-ci.com'...
56.05 s
Progress: 4 of 6 built, 20 of 20 downloaded from cache
56.09 s
Building cursor-release
56.13 s
[cursor-release] /nix/store/ssqxavqs2zqy8z3iz6zhwkq3xg8vxr5y-cursor-gen-0.4.0.0/nix-support:
56.13 s
[cursor-release] propagated-build-inputs: Keeping existing link to /nix/store/3slj6zra6g3vscwci1fabq00p7f03w4l-cursor-0.3.2.0/nix-support/propagated-build-inputs
56.17 s
[post-build-hook] Uploading to cachix cache "cursor": /nix/store/hjz0mx8rbl94y84hz6ax8cfabb2rmgwk-cursor-release
56.90 s
[post-build-hook] Pushing 1 paths (90 are already present) using zstd to cache cursor ⏳
56.90 s
[post-build-hook]
57.36 s
[post-build-hook] Pushing /nix/store/hjz0mx8rbl94y84hz6ax8cfabb2rmgwk-cursor-release (49.54 KiB)
58.43 s
[post-build-hook]
58.43 s
[post-build-hook] All done.
58.46 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/hjz0mx8rbl94y84hz6ax8cfabb2rmgwk-cursor-release
58.74 s
[post-build-hook] copying 1 paths...
58.74 s
[post-build-hook] copying path '/nix/store/hjz0mx8rbl94y84hz6ax8cfabb2rmgwk-cursor-release' to 'https://cache.staging.nix-ci.com'...
59.23 s
[post-build-hook] copying 1 paths...
59.23 s
[post-build-hook] copying path '/nix/store/7razbx7cchmy849q3cw4cj2vdfivzjxf-cursor-release.drv' to 'https://cache.staging.nix-ci.com'...
59.43 s
Progress: 5 of 6 built, 20 of 20 downloaded from cache