https://launchpad.net/ubuntu/+archive/test-rebuild-20220617-kinetic/+build/24065342 RUN: /usr/share/launchpad-buildd/bin/builder-prep Kernel version: Linux lgw01-amd64-019 5.4.0-120-generic #136-Ubuntu SMP Fri Jun 10 13:40:48 UTC 2022 x86_64 Buildd toolchain package versions: launchpad-buildd_215~563~ubuntu20.04.1 python3-lpbuildd_215~563~ubuntu20.04.1 sbuild_0.79.0-1ubuntu1 git-build-recipe_0.3.6 git_1:2.25.1-1ubuntu3.4 dpkg-dev_1.19.7ubuntu3.2 python3-debian_0.1.36ubuntu1. Syncing the system clock with the buildd NTP service... 23 Jun 14:46:32 ntpdate[1804]: adjust time server 10.211.37.1 offset -0.000692 sec RUN: /usr/share/launchpad-buildd/bin/in-target unpack-chroot --backend=chroot --series=kinetic --arch=amd64 PACKAGEBUILD-24065342 --image-type chroot /home/buildd/filecache-default/4d18961cd05542d5def75b14497015b674c37821 Creating target for build PACKAGEBUILD-24065342 RUN: /usr/share/launchpad-buildd/bin/in-target mount-chroot --backend=chroot --series=kinetic --arch=amd64 PACKAGEBUILD-24065342 Starting target for build PACKAGEBUILD-24065342 RUN: /usr/share/launchpad-buildd/bin/in-target override-sources-list --backend=chroot --series=kinetic --arch=amd64 PACKAGEBUILD-24065342 'deb http://ppa.launchpadcontent.net/ubuntu-toolchain-r/binutils/ubuntu kinetic main' 'deb http://ftpmaster.internal/ubuntu kinetic main universe' Overriding sources.list in build-PACKAGEBUILD-24065342 RUN: /usr/share/launchpad-buildd/bin/in-target add-trusted-keys --backend=chroot --series=kinetic --arch=amd64 PACKAGEBUILD-24065342 Adding trusted keys to build-PACKAGEBUILD-24065342 pub rsa1024/1E9377A2BA9EF27F 2009-10-22 [SC] Key fingerprint = 60C3 1780 3A41 BA51 845E 371A 1E93 77A2 BA9E F27F uid Launchpad Toolchain builds RUN: /usr/share/launchpad-buildd/bin/in-target update-debian-chroot --backend=chroot --series=kinetic --arch=amd64 PACKAGEBUILD-24065342 Updating target for build PACKAGEBUILD-24065342 Get:1 http://ppa.launchpadcontent.net/ubuntu-toolchain-r/binutils/ubuntu kinetic InRelease [23.8 kB] Get:2 http://ftpmaster.internal/ubuntu kinetic InRelease [267 kB] Get:3 http://ppa.launchpadcontent.net/ubuntu-toolchain-r/binutils/ubuntu kinetic/main amd64 Packages [9632 B] Get:4 http://ppa.launchpadcontent.net/ubuntu-toolchain-r/binutils/ubuntu kinetic/main Translation-en [4132 B] Get:5 http://ftpmaster.internal/ubuntu kinetic/main amd64 Packages [1398 kB] Get:6 http://ftpmaster.internal/ubuntu kinetic/main Translation-en [510 kB] Get:7 http://ftpmaster.internal/ubuntu kinetic/universe amd64 Packages [14.3 MB] Get:8 http://ftpmaster.internal/ubuntu kinetic/universe Translation-en [5730 kB] Fetched 22.2 MB in 11s (2116 kB/s) Reading package lists... Reading package lists... Building dependency tree... Reading state information... Calculating upgrade... The following NEW packages will be installed: libgprofng0 util-linux-extra The following packages will be upgraded: adduser apt base-files binutils binutils-common binutils-x86-64-linux-gnu bsdutils cpp-11 dash dpkg dpkg-dev e2fsprogs fakeroot g++-11 gcc-11 gcc-11-base gcc-12-base init init-system-helpers libapparmor1 libapt-pkg6.0 libasan6 libatomic1 libbinutils libblkid1 libcap-ng0 libcc1-0 libcom-err2 libctf-nobfd0 libctf0 libdb5.3 libdpkg-perl libext2fs2 libfakeroot libgcc-11-dev libgcc-s1 libgcrypt20 libgnutls30 libgomp1 libgpg-error0 libip4tc2 libitm1 libkeyutils1 liblsan0 liblzma5 libmount1 libncurses6 libncursesw6 libpng16-16 libquadmath0 libreadline8 libselinux1 libsemanage-common libsemanage2 libsepol2 libsmartcols1 libsqlite3-0 libss2 libssl3 libstdc++-11-dev libstdc++6 libsystemd0 libtinfo6 libtsan0 libubsan1 libudev1 libuuid1 libzstd1 login logsave lto-disabled-list mawk mount ncurses-base ncurses-bin openssl passwd pinentry-curses policyrcd-script-zg2 readline-common systemd systemd-sysv util-linux xz-utils 84 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 79.8 MB of archives. After this operation, 5300 kB of additional disk space will be used. Get:1 http://ftpmaster.internal/ubuntu kinetic/main amd64 base-files amd64 12.2ubuntu1 [62.6 kB] Get:2 http://ppa.launchpadcontent.net/ubuntu-toolchain-r/binutils/ubuntu kinetic/main amd64 libctf0 amd64 2.38.50.20220615-4ubuntu1 [103 kB] Get:3 http://ftpmaster.internal/ubuntu kinetic/main amd64 bsdutils amd64 1:2.38-4ubuntu1 [80.7 kB] Get:4 http://ftpmaster.internal/ubuntu kinetic/main amd64 libzstd1 amd64 1.5.2+dfsg-1 [270 kB] Get:5 http://ppa.launchpadcontent.net/ubuntu-toolchain-r/binutils/ubuntu kinetic/main amd64 libctf-nobfd0 amd64 2.38.50.20220615-4ubuntu1 [107 kB] Get:6 http://ppa.launchpadcontent.net/ubuntu-toolchain-r/binutils/ubuntu kinetic/main amd64 binutils-x86-64-linux-gnu amd64 2.38.50.20220615-4ubuntu1 [2476 kB] Get:7 http://ftpmaster.internal/ubuntu kinetic/main amd64 libatomic1 amd64 12.1.0-2ubuntu1 [10.4 kB] Get:8 http://ftpmaster.internal/ubuntu kinetic/main amd64 libubsan1 amd64 12.1.0-2ubuntu1 [969 kB] Get:9 http://ftpmaster.internal/ubuntu kinetic/main amd64 libquadmath0 amd64 12.1.0-2ubuntu1 [152 kB] Get:10 http://ftpmaster.internal/ubuntu kinetic/main amd64 liblsan0 amd64 12.1.0-2ubuntu1 [1060 kB] Get:11 http://ppa.launchpadcontent.net/ubuntu-toolchain-r/binutils/ubuntu kinetic/main amd64 libbinutils amd64 2.38.50.20220615-4ubuntu1 [655 kB] Get:12 http://ppa.launchpadcontent.net/ubuntu-toolchain-r/binutils/ubuntu kinetic/main amd64 binutils amd64 2.38.50.20220615-4ubuntu1 [3292 B] Get:13 http://ppa.launchpadcontent.net/ubuntu-toolchain-r/binutils/ubuntu kinetic/main amd64 binutils-common amd64 2.38.50.20220615-4ubuntu1 [224 kB] Get:14 http://ppa.launchpadcontent.net/ubuntu-toolchain-r/binutils/ubuntu kinetic/main amd64 libgprofng0 amd64 2.38.50.20220615-4ubuntu1 [963 kB] Get:15 http://ftpmaster.internal/ubuntu kinetic/main amd64 libitm1 amd64 12.1.0-2ubuntu1 [29.5 kB] Get:16 http://ftpmaster.internal/ubuntu kinetic/main amd64 libgomp1 amd64 12.1.0-2ubuntu1 [125 kB] Get:17 http://ftpmaster.internal/ubuntu kinetic/main amd64 gcc-12-base amd64 12.1.0-2ubuntu1 [18.8 kB] Get:18 http://ftpmaster.internal/ubuntu kinetic/main amd64 libgcc-s1 amd64 12.1.0-2ubuntu1 [54.2 kB] Get:19 http://ftpmaster.internal/ubuntu kinetic/main amd64 libcc1-0 amd64 12.1.0-2ubuntu1 [46.6 kB] Get:20 http://ftpmaster.internal/ubuntu kinetic/main amd64 libstdc++6 amd64 12.1.0-2ubuntu1 [679 kB] Get:21 http://ftpmaster.internal/ubuntu kinetic/main amd64 libgpg-error0 amd64 1.45-2 [69.0 kB] Get:22 http://ftpmaster.internal/ubuntu kinetic/main amd64 libgcrypt20 amd64 1.10.1-2ubuntu1 [524 kB] Get:23 http://ftpmaster.internal/ubuntu kinetic/main amd64 liblzma5 amd64 5.2.5-2.1 [99.2 kB] Get:24 http://ftpmaster.internal/ubuntu kinetic/main amd64 systemd-sysv amd64 249.11-0ubuntu4 [10.2 kB] Get:25 http://ftpmaster.internal/ubuntu kinetic/main amd64 libapparmor1 amd64 3.0.4-2ubuntu3 [38.0 kB] Get:26 http://ftpmaster.internal/ubuntu kinetic/main amd64 libgnutls30 amd64 3.7.6-2ubuntu1 [968 kB] Get:27 http://ftpmaster.internal/ubuntu kinetic/main amd64 libip4tc2 amd64 1.8.7-1ubuntu6 [19.7 kB] Get:28 http://ftpmaster.internal/ubuntu kinetic/main amd64 libblkid1 amd64 2.38-4ubuntu1 [103 kB] Get:29 http://ftpmaster.internal/ubuntu kinetic/main amd64 libselinux1 amd64 3.4-1 [77.6 kB] Get:30 http://ftpmaster.internal/ubuntu kinetic/main amd64 libmount1 amd64 2.38-4ubuntu1 [121 kB] Get:31 http://ftpmaster.internal/ubuntu kinetic/main amd64 libsmartcols1 amd64 2.38-4ubuntu1 [50.8 kB] Get:32 http://ftpmaster.internal/ubuntu kinetic/main amd64 login amd64 1:4.11.1+dfsg1-2ubuntu1 [183 kB] Get:33 http://ftpmaster.internal/ubuntu kinetic/main amd64 util-linux-extra amd64 2.38-4ubuntu1 [83.8 kB] Get:34 http://ftpmaster.internal/ubuntu kinetic/main amd64 util-linux amd64 2.38-4ubuntu1 [1069 kB] Get:35 http://ftpmaster.internal/ubuntu kinetic/main amd64 mount amd64 2.38-4ubuntu1 [114 kB] Get:36 http://ftpmaster.internal/ubuntu kinetic/main amd64 libsemanage-common all 3.4-1 [9828 B] Get:37 http://ftpmaster.internal/ubuntu kinetic/main amd64 libsepol2 amd64 3.4-2 [294 kB] Get:38 http://ftpmaster.internal/ubuntu kinetic/main amd64 libsemanage2 amd64 3.4-1 [91.8 kB] Get:39 http://ftpmaster.internal/ubuntu kinetic/main amd64 passwd amd64 1:4.11.1+dfsg1-2ubuntu1 [765 kB] Get:40 http://ftpmaster.internal/ubuntu kinetic/main amd64 adduser all 3.121ubuntu1 [150 kB] Get:41 http://ftpmaster.internal/ubuntu kinetic/main amd64 systemd amd64 249.11-0ubuntu4 [4517 kB] Get:42 http://ftpmaster.internal/ubuntu kinetic/main amd64 libsystemd0 amd64 249.11-0ubuntu4 [314 kB] Get:43 http://ftpmaster.internal/ubuntu kinetic/main amd64 libudev1 amd64 249.11-0ubuntu4 [76.1 kB] Get:44 http://ftpmaster.internal/ubuntu kinetic/main amd64 libapt-pkg6.0 amd64 2.5.0 [896 kB] Get:45 http://ftpmaster.internal/ubuntu kinetic/main amd64 dpkg amd64 1.21.8ubuntu1 [1333 kB] Get:46 http://ftpmaster.internal/ubuntu kinetic/main amd64 dash amd64 0.5.11+git20210903+057cd650a4ed-8ubuntu1 [88.2 kB] Get:47 http://ftpmaster.internal/ubuntu kinetic/main amd64 ncurses-bin amd64 6.3+20220423-2 [183 kB] Get:48 http://ftpmaster.internal/ubuntu kinetic/main amd64 init-system-helpers all 1.63 [38.7 kB] Get:49 http://ftpmaster.internal/ubuntu kinetic/main amd64 ncurses-base all 6.3+20220423-2 [21.2 kB] Get:50 http://ftpmaster.internal/ubuntu kinetic/main amd64 apt amd64 2.5.0 [1370 kB] Get:51 http://ftpmaster.internal/ubuntu kinetic/main amd64 logsave amd64 1.46.5-2ubuntu2 [9914 B] Get:52 http://ftpmaster.internal/ubuntu kinetic/main amd64 libext2fs2 amd64 1.46.5-2ubuntu2 [205 kB] Get:53 http://ftpmaster.internal/ubuntu kinetic/main amd64 e2fsprogs amd64 1.46.5-2ubuntu2 [585 kB] Get:54 http://ftpmaster.internal/ubuntu kinetic/main amd64 init amd64 1.63 [5674 B] Get:55 http://ftpmaster.internal/ubuntu kinetic/main amd64 libcap-ng0 amd64 0.7.9-4 [12.1 kB] Get:56 http://ftpmaster.internal/ubuntu kinetic/main amd64 libdb5.3 amd64 5.3.28+dfsg1-0.9 [717 kB] Get:57 http://ftpmaster.internal/ubuntu kinetic/main amd64 libncurses6 amd64 6.3+20220423-2 [110 kB] Get:58 http://ftpmaster.internal/ubuntu kinetic/main amd64 libncursesw6 amd64 6.3+20220423-2 [146 kB] Get:59 http://ftpmaster.internal/ubuntu kinetic/main amd64 libtinfo6 amd64 6.3+20220423-2 [99.6 kB] Get:60 http://ftpmaster.internal/ubuntu kinetic/main amd64 libuuid1 amd64 2.38-4ubuntu1 [23.2 kB] Get:61 http://ftpmaster.internal/ubuntu kinetic/main amd64 libcom-err2 amd64 1.46.5-2ubuntu2 [9074 B] Get:62 http://ftpmaster.internal/ubuntu kinetic/main amd64 libss2 amd64 1.46.5-2ubuntu2 [12.3 kB] Get:63 http://ftpmaster.internal/ubuntu kinetic/main amd64 mawk amd64 1.3.4.20200120-3.1 [109 kB] Get:64 http://ftpmaster.internal/ubuntu kinetic/main amd64 libkeyutils1 amd64 1.6.1-3ubuntu1 [10.1 kB] Get:65 http://ftpmaster.internal/ubuntu kinetic/main amd64 readline-common all 8.1.2-1.2 [53.6 kB] Get:66 http://ftpmaster.internal/ubuntu kinetic/main amd64 libreadline8 amd64 8.1.2-1.2 [153 kB] Get:67 http://ftpmaster.internal/ubuntu kinetic/main amd64 libsqlite3-0 amd64 3.38.5-1 [646 kB] Get:68 http://ftpmaster.internal/ubuntu kinetic/main amd64 libssl3 amd64 3.0.3-5ubuntu3 [1897 kB] Get:69 http://ftpmaster.internal/ubuntu kinetic/main amd64 openssl amd64 3.0.3-5ubuntu3 [1175 kB] Get:70 http://ftpmaster.internal/ubuntu kinetic/main amd64 libpng16-16 amd64 1.6.37-5 [187 kB] Get:71 http://ftpmaster.internal/ubuntu kinetic/main amd64 xz-utils amd64 5.2.5-2.1 [83.8 kB] Get:72 http://ftpmaster.internal/ubuntu kinetic/main amd64 g++-11 amd64 11.3.0-3ubuntu1 [11.3 MB] Get:73 http://ftpmaster.internal/ubuntu kinetic/main amd64 libstdc++-11-dev amd64 11.3.0-3ubuntu1 [2074 kB] Get:74 http://ftpmaster.internal/ubuntu kinetic/main amd64 libasan6 amd64 11.3.0-3ubuntu1 [2265 kB] Get:75 http://ftpmaster.internal/ubuntu kinetic/main amd64 gcc-11 amd64 11.3.0-3ubuntu1 [20.0 MB] Get:76 http://ftpmaster.internal/ubuntu kinetic/main amd64 libgcc-11-dev amd64 11.3.0-3ubuntu1 [2484 kB] Get:77 http://ftpmaster.internal/ubuntu kinetic/main amd64 libtsan0 amd64 11.3.0-3ubuntu1 [2241 kB] Get:78 http://ftpmaster.internal/ubuntu kinetic/main amd64 cpp-11 amd64 11.3.0-3ubuntu1 [9910 kB] Get:79 http://ftpmaster.internal/ubuntu kinetic/main amd64 gcc-11-base amd64 11.3.0-3ubuntu1 [20.8 kB] Get:80 http://ftpmaster.internal/ubuntu kinetic/main amd64 dpkg-dev all 1.21.8ubuntu1 [1069 kB] Get:81 http://ftpmaster.internal/ubuntu kinetic/main amd64 libdpkg-perl all 1.21.8ubuntu1 [237 kB] Get:82 http://ftpmaster.internal/ubuntu kinetic/main amd64 lto-disabled-list all 27 [12.4 kB] Get:83 http://ftpmaster.internal/ubuntu kinetic/main amd64 libfakeroot amd64 1.29-1ubuntu1 [31.1 kB] Get:84 http://ftpmaster.internal/ubuntu kinetic/main amd64 fakeroot amd64 1.29-1ubuntu1 [60.0 kB] Get:85 http://ftpmaster.internal/ubuntu kinetic/main amd64 pinentry-curses amd64 1.2.0-1ubuntu1 [34.5 kB] Get:86 http://ftpmaster.internal/ubuntu kinetic/main amd64 policyrcd-script-zg2 all 0.1-3.1 [5730 B] debconf: delaying package configuration, since apt-utils is not installed Fetched 79.8 MB in 7s (10.7 MB/s) (Reading database ... 13449 files and directories currently installed.) Preparing to unpack .../base-files_12.2ubuntu1_amd64.deb ... Unpacking base-files (12.2ubuntu1) over (12ubuntu5) ... Setting up base-files (12.2ubuntu1) ... (Reading database ... 13449 files and directories currently installed.) Preparing to unpack .../bsdutils_1%3a2.38-4ubuntu1_amd64.deb ... Unpacking bsdutils (1:2.38-4ubuntu1) over (1:2.37.2-4ubuntu3) ... Setting up bsdutils (1:2.38-4ubuntu1) ... (Reading database ... 13449 files and directories currently installed.) Preparing to unpack .../libzstd1_1.5.2+dfsg-1_amd64.deb ... Unpacking libzstd1:amd64 (1.5.2+dfsg-1) over (1.4.8+dfsg-3build1) ... Setting up libzstd1:amd64 (1.5.2+dfsg-1) ... (Reading database ... 13449 files and directories currently installed.) Preparing to unpack .../0-libatomic1_12.1.0-2ubuntu1_amd64.deb ... Unpacking libatomic1:amd64 (12.1.0-2ubuntu1) over (12-20220428-1ubuntu1) ... Preparing to unpack .../1-libubsan1_12.1.0-2ubuntu1_amd64.deb ... Unpacking libubsan1:amd64 (12.1.0-2ubuntu1) over (12-20220428-1ubuntu1) ... Preparing to unpack .../2-libquadmath0_12.1.0-2ubuntu1_amd64.deb ... Unpacking libquadmath0:amd64 (12.1.0-2ubuntu1) over (12-20220428-1ubuntu1) ... Preparing to unpack .../3-liblsan0_12.1.0-2ubuntu1_amd64.deb ... Unpacking liblsan0:amd64 (12.1.0-2ubuntu1) over (12-20220428-1ubuntu1) ... Preparing to unpack .../4-libitm1_12.1.0-2ubuntu1_amd64.deb ... Unpacking libitm1:amd64 (12.1.0-2ubuntu1) over (12-20220428-1ubuntu1) ... Preparing to unpack .../5-libgomp1_12.1.0-2ubuntu1_amd64.deb ... Unpacking libgomp1:amd64 (12.1.0-2ubuntu1) over (12-20220428-1ubuntu1) ... Preparing to unpack .../6-gcc-12-base_12.1.0-2ubuntu1_amd64.deb ... Unpacking gcc-12-base:amd64 (12.1.0-2ubuntu1) over (12-20220428-1ubuntu1) ... Setting up gcc-12-base:amd64 (12.1.0-2ubuntu1) ... (Reading database ... 13449 files and directories currently installed.) Preparing to unpack .../libgcc-s1_12.1.0-2ubuntu1_amd64.deb ... Unpacking libgcc-s1:amd64 (12.1.0-2ubuntu1) over (12-20220428-1ubuntu1) ... Setting up libgcc-s1:amd64 (12.1.0-2ubuntu1) ... (Reading database ... 13449 files and directories currently installed.) Preparing to unpack .../libcc1-0_12.1.0-2ubuntu1_amd64.deb ... Unpacking libcc1-0:amd64 (12.1.0-2ubuntu1) over (12-20220428-1ubuntu1) ... Preparing to unpack .../libstdc++6_12.1.0-2ubuntu1_amd64.deb ... Unpacking libstdc++6:amd64 (12.1.0-2ubuntu1) over (12-20220428-1ubuntu1) ... Setting up libstdc++6:amd64 (12.1.0-2ubuntu1) ... (Reading database ... 13449 files and directories currently installed.) Preparing to unpack .../libgpg-error0_1.45-2_amd64.deb ... Unpacking libgpg-error0:amd64 (1.45-2) over (1.43-3) ... Setting up libgpg-error0:amd64 (1.45-2) ... (Reading database ... 13449 files and directories currently installed.) Preparing to unpack .../libgcrypt20_1.10.1-2ubuntu1_amd64.deb ... Unpacking libgcrypt20:amd64 (1.10.1-2ubuntu1) over (1.9.4-3ubuntu3) ... Setting up libgcrypt20:amd64 (1.10.1-2ubuntu1) ... (Reading database ... 13451 files and directories currently installed.) Preparing to unpack .../liblzma5_5.2.5-2.1_amd64.deb ... Unpacking liblzma5:amd64 (5.2.5-2.1) over (5.2.5-2ubuntu1) ... Setting up liblzma5:amd64 (5.2.5-2.1) ... (Reading database ... 13451 files and directories currently installed.) Preparing to unpack .../systemd-sysv_249.11-0ubuntu4_amd64.deb ... Unpacking systemd-sysv (249.11-0ubuntu4) over (249.11-0ubuntu3.1) ... Preparing to unpack .../libapparmor1_3.0.4-2ubuntu3_amd64.deb ... Unpacking libapparmor1:amd64 (3.0.4-2ubuntu3) over (3.0.4-2ubuntu2) ... Preparing to unpack .../libgnutls30_3.7.6-2ubuntu1_amd64.deb ... Unpacking libgnutls30:amd64 (3.7.6-2ubuntu1) over (3.7.4-2ubuntu1) ... Setting up libgnutls30:amd64 (3.7.6-2ubuntu1) ... (Reading database ... 13451 files and directories currently installed.) Preparing to unpack .../libip4tc2_1.8.7-1ubuntu6_amd64.deb ... Unpacking libip4tc2:amd64 (1.8.7-1ubuntu6) over (1.8.7-1ubuntu5) ... Preparing to unpack .../libblkid1_2.38-4ubuntu1_amd64.deb ... Unpacking libblkid1:amd64 (2.38-4ubuntu1) over (2.37.2-4ubuntu3) ... Setting up libblkid1:amd64 (2.38-4ubuntu1) ... (Reading database ... 13451 files and directories currently installed.) Preparing to unpack .../libselinux1_3.4-1_amd64.deb ... Unpacking libselinux1:amd64 (3.4-1) over (3.3-1build2) ... Setting up libselinux1:amd64 (3.4-1) ... (Reading database ... 13451 files and directories currently installed.) Preparing to unpack .../libmount1_2.38-4ubuntu1_amd64.deb ... Unpacking libmount1:amd64 (2.38-4ubuntu1) over (2.37.2-4ubuntu3) ... Setting up libmount1:amd64 (2.38-4ubuntu1) ... (Reading database ... 13451 files and directories currently installed.) Preparing to unpack .../libsmartcols1_2.38-4ubuntu1_amd64.deb ... Unpacking libsmartcols1:amd64 (2.38-4ubuntu1) over (2.37.2-4ubuntu3) ... Setting up libsmartcols1:amd64 (2.38-4ubuntu1) ... (Reading database ... 13451 files and directories currently installed.) Preparing to unpack .../login_1%3a4.11.1+dfsg1-2ubuntu1_amd64.deb ... Unpacking login (1:4.11.1+dfsg1-2ubuntu1) over (1:4.8.1-2ubuntu2) ... Setting up login (1:4.11.1+dfsg1-2ubuntu1) ... Installing new version of config file /etc/login.defs ... (Reading database ... 13451 files and directories currently installed.) Preparing to unpack .../util-linux_2.38-4ubuntu1_amd64.deb ... Unpacking util-linux (2.38-4ubuntu1) over (2.37.2-4ubuntu3) ... dpkg: warning: unable to delete old directory '/usr/lib/udev': Directory not empty Selecting previously unselected package util-linux-extra. Preparing to unpack .../util-linux-extra_2.38-4ubuntu1_amd64.deb ... Unpacking util-linux-extra (2.38-4ubuntu1) ... Setting up util-linux-extra (2.38-4ubuntu1) ... (Reading database ... 13463 files and directories currently installed.) Preparing to unpack .../mount_2.38-4ubuntu1_amd64.deb ... Unpacking mount (2.38-4ubuntu1) over (2.37.2-4ubuntu3) ... Preparing to unpack .../libsemanage-common_3.4-1_all.deb ... Unpacking libsemanage-common (3.4-1) over (3.3-1build2) ... Setting up libsemanage-common (3.4-1) ... Installing new version of config file /etc/selinux/semanage.conf ... (Reading database ... 13463 files and directories currently installed.) Preparing to unpack .../libsepol2_3.4-2_amd64.deb ... Unpacking libsepol2:amd64 (3.4-2) over (3.3-1build1) ... Setting up libsepol2:amd64 (3.4-2) ... (Reading database ... 13463 files and directories currently installed.) Preparing to unpack .../libsemanage2_3.4-1_amd64.deb ... Unpacking libsemanage2:amd64 (3.4-1) over (3.3-1build2) ... Setting up libsemanage2:amd64 (3.4-1) ... (Reading database ... 13463 files and directories currently installed.) Preparing to unpack .../passwd_1%3a4.11.1+dfsg1-2ubuntu1_amd64.deb ... Unpacking passwd (1:4.11.1+dfsg1-2ubuntu1) over (1:4.8.1-2ubuntu2) ... Setting up passwd (1:4.11.1+dfsg1-2ubuntu1) ... Installing new version of config file /etc/default/useradd ... (Reading database ... 13463 files and directories currently installed.) Preparing to unpack .../adduser_3.121ubuntu1_all.deb ... Unpacking adduser (3.121ubuntu1) over (3.118ubuntu5) ... Setting up adduser (3.121ubuntu1) ... Installing new version of config file /etc/deluser.conf ... (Reading database ... 13460 files and directories currently installed.) Preparing to unpack .../systemd_249.11-0ubuntu4_amd64.deb ... Unpacking systemd (249.11-0ubuntu4) over (249.11-0ubuntu3.1) ... Preparing to unpack .../libsystemd0_249.11-0ubuntu4_amd64.deb ... Unpacking libsystemd0:amd64 (249.11-0ubuntu4) over (249.11-0ubuntu3.1) ... Setting up libsystemd0:amd64 (249.11-0ubuntu4) ... (Reading database ... 13460 files and directories currently installed.) Preparing to unpack .../libudev1_249.11-0ubuntu4_amd64.deb ... Unpacking libudev1:amd64 (249.11-0ubuntu4) over (249.11-0ubuntu3.1) ... Setting up libudev1:amd64 (249.11-0ubuntu4) ... (Reading database ... 13460 files and directories currently installed.) Preparing to unpack .../libapt-pkg6.0_2.5.0_amd64.deb ... Unpacking libapt-pkg6.0:amd64 (2.5.0) over (2.4.5) ... Setting up libapt-pkg6.0:amd64 (2.5.0) ... (Reading database ... 13460 files and directories currently installed.) Preparing to unpack .../dpkg_1.21.8ubuntu1_amd64.deb ... Unpacking dpkg (1.21.8ubuntu1) over (1.21.1ubuntu2) ... Setting up dpkg (1.21.8ubuntu1) ... (Reading database ... 13464 files and directories currently installed.) Preparing to unpack .../dash_0.5.11+git20210903+057cd650a4ed-8ubuntu1_amd64.deb ... Unpacking dash (0.5.11+git20210903+057cd650a4ed-8ubuntu1) over (0.5.11+git20210903+057cd650a4ed-3build1) ... Setting up dash (0.5.11+git20210903+057cd650a4ed-8ubuntu1) ... (Reading database ... 13465 files and directories currently installed.) Preparing to unpack .../ncurses-bin_6.3+20220423-2_amd64.deb ... Unpacking ncurses-bin (6.3+20220423-2) over (6.3-2) ... Setting up ncurses-bin (6.3+20220423-2) ... (Reading database ... 13465 files and directories currently installed.) Preparing to unpack .../init-system-helpers_1.63_all.deb ... Unpacking init-system-helpers (1.63) over (1.62) ... Setting up init-system-helpers (1.63) ... (Reading database ... 13465 files and directories currently installed.) Preparing to unpack .../ncurses-base_6.3+20220423-2_all.deb ... Unpacking ncurses-base (6.3+20220423-2) over (6.3-2) ... Setting up ncurses-base (6.3+20220423-2) ... (Reading database ... 13466 files and directories currently installed.) Preparing to unpack .../archives/apt_2.5.0_amd64.deb ... Unpacking apt (2.5.0) over (2.4.5) ... Setting up apt (2.5.0) ... (Reading database ... 13467 files and directories currently installed.) Preparing to unpack .../logsave_1.46.5-2ubuntu2_amd64.deb ... Unpacking logsave (1.46.5-2ubuntu2) over (1.46.5-2ubuntu1) ... Preparing to unpack .../libext2fs2_1.46.5-2ubuntu2_amd64.deb ... Unpacking libext2fs2:amd64 (1.46.5-2ubuntu2) over (1.46.5-2ubuntu1) ... Setting up libext2fs2:amd64 (1.46.5-2ubuntu2) ... (Reading database ... 13467 files and directories currently installed.) Preparing to unpack .../e2fsprogs_1.46.5-2ubuntu2_amd64.deb ... Unpacking e2fsprogs (1.46.5-2ubuntu2) over (1.46.5-2ubuntu1) ... Setting up libapparmor1:amd64 (3.0.4-2ubuntu3) ... Setting up libip4tc2:amd64 (1.8.7-1ubuntu6) ... Setting up util-linux (2.38-4ubuntu1) ... Setting up mount (2.38-4ubuntu1) ... Setting up systemd (249.11-0ubuntu4) ... Initializing machine ID from random generator. Setting up systemd-sysv (249.11-0ubuntu4) ... (Reading database ... 13467 files and directories currently installed.) Preparing to unpack .../archives/init_1.63_amd64.deb ... Unpacking init (1.63) over (1.62) ... Preparing to unpack .../libcap-ng0_0.7.9-4_amd64.deb ... Unpacking libcap-ng0:amd64 (0.7.9-4) over (0.7.9-2.2build3) ... Setting up libcap-ng0:amd64 (0.7.9-4) ... (Reading database ... 13467 files and directories currently installed.) Preparing to unpack .../libdb5.3_5.3.28+dfsg1-0.9_amd64.deb ... Unpacking libdb5.3:amd64 (5.3.28+dfsg1-0.9) over (5.3.28+dfsg1-0.8ubuntu3) ... Setting up libdb5.3:amd64 (5.3.28+dfsg1-0.9) ... (Reading database ... 13467 files and directories currently installed.) Preparing to unpack .../libncurses6_6.3+20220423-2_amd64.deb ... Unpacking libncurses6:amd64 (6.3+20220423-2) over (6.3-2) ... Preparing to unpack .../libncursesw6_6.3+20220423-2_amd64.deb ... Unpacking libncursesw6:amd64 (6.3+20220423-2) over (6.3-2) ... Preparing to unpack .../libtinfo6_6.3+20220423-2_amd64.deb ... Unpacking libtinfo6:amd64 (6.3+20220423-2) over (6.3-2) ... Setting up libtinfo6:amd64 (6.3+20220423-2) ... (Reading database ... 13466 files and directories currently installed.) Preparing to unpack .../libuuid1_2.38-4ubuntu1_amd64.deb ... Unpacking libuuid1:amd64 (2.38-4ubuntu1) over (2.37.2-4ubuntu3) ... Setting up libuuid1:amd64 (2.38-4ubuntu1) ... (Reading database ... 13467 files and directories currently installed.) Preparing to unpack .../00-libcom-err2_1.46.5-2ubuntu2_amd64.deb ... Unpacking libcom-err2:amd64 (1.46.5-2ubuntu2) over (1.46.5-2ubuntu1) ... Preparing to unpack .../01-libss2_1.46.5-2ubuntu2_amd64.deb ... Unpacking libss2:amd64 (1.46.5-2ubuntu2) over (1.46.5-2ubuntu1) ... Preparing to unpack .../02-mawk_1.3.4.20200120-3.1_amd64.deb ... Unpacking mawk (1.3.4.20200120-3.1) over (1.3.4.20200120-3) ... Preparing to unpack .../03-libkeyutils1_1.6.1-3ubuntu1_amd64.deb ... Unpacking libkeyutils1:amd64 (1.6.1-3ubuntu1) over (1.6.1-2ubuntu3) ... Preparing to unpack .../04-readline-common_8.1.2-1.2_all.deb ... Unpacking readline-common (8.1.2-1.2) over (8.1.2-1) ... Preparing to unpack .../05-libreadline8_8.1.2-1.2_amd64.deb ... Unpacking libreadline8:amd64 (8.1.2-1.2) over (8.1.2-1) ... Preparing to unpack .../06-libsqlite3-0_3.38.5-1_amd64.deb ... Unpacking libsqlite3-0:amd64 (3.38.5-1) over (3.37.2-2) ... Preparing to unpack .../07-libssl3_3.0.3-5ubuntu3_amd64.deb ... Unpacking libssl3:amd64 (3.0.3-5ubuntu3) over (3.0.2-0ubuntu1) ... Preparing to unpack .../08-openssl_3.0.3-5ubuntu3_amd64.deb ... Unpacking openssl (3.0.3-5ubuntu3) over (3.0.2-0ubuntu1) ... Preparing to unpack .../09-libpng16-16_1.6.37-5_amd64.deb ... Unpacking libpng16-16:amd64 (1.6.37-5) over (1.6.37-3build5) ... Preparing to unpack .../10-xz-utils_5.2.5-2.1_amd64.deb ... Unpacking xz-utils (5.2.5-2.1) over (5.2.5-2ubuntu1) ... Preparing to unpack .../11-libctf0_2.38.50.20220615-4ubuntu1_amd64.deb ... Unpacking libctf0:amd64 (2.38.50.20220615-4ubuntu1) over (2.38-3ubuntu1) ... Preparing to unpack .../12-libctf-nobfd0_2.38.50.20220615-4ubuntu1_amd64.deb ... Unpacking libctf-nobfd0:amd64 (2.38.50.20220615-4ubuntu1) over (2.38-3ubuntu1) ... Preparing to unpack .../13-binutils-x86-64-linux-gnu_2.38.50.20220615-4ubuntu1_amd64.deb ... Unpacking binutils-x86-64-linux-gnu (2.38.50.20220615-4ubuntu1) over (2.38-3ubuntu1) ... Preparing to unpack .../14-libbinutils_2.38.50.20220615-4ubuntu1_amd64.deb ... Unpacking libbinutils:amd64 (2.38.50.20220615-4ubuntu1) over (2.38-3ubuntu1) ... Preparing to unpack .../15-binutils_2.38.50.20220615-4ubuntu1_amd64.deb ... Unpacking binutils (2.38.50.20220615-4ubuntu1) over (2.38-3ubuntu1) ... Preparing to unpack .../16-binutils-common_2.38.50.20220615-4ubuntu1_amd64.deb ... Unpacking binutils-common:amd64 (2.38.50.20220615-4ubuntu1) over (2.38-3ubuntu1) ... Selecting previously unselected package libgprofng0:amd64. Preparing to unpack .../17-libgprofng0_2.38.50.20220615-4ubuntu1_amd64.deb ... Unpacking libgprofng0:amd64 (2.38.50.20220615-4ubuntu1) ... Preparing to unpack .../18-g++-11_11.3.0-3ubuntu1_amd64.deb ... Unpacking g++-11 (11.3.0-3ubuntu1) over (11.3.0-1ubuntu1) ... Preparing to unpack .../19-libstdc++-11-dev_11.3.0-3ubuntu1_amd64.deb ... Unpacking libstdc++-11-dev:amd64 (11.3.0-3ubuntu1) over (11.3.0-1ubuntu1) ... Preparing to unpack .../20-libasan6_11.3.0-3ubuntu1_amd64.deb ... Unpacking libasan6:amd64 (11.3.0-3ubuntu1) over (11.3.0-1ubuntu1) ... Preparing to unpack .../21-gcc-11_11.3.0-3ubuntu1_amd64.deb ... Unpacking gcc-11 (11.3.0-3ubuntu1) over (11.3.0-1ubuntu1) ... Preparing to unpack .../22-libgcc-11-dev_11.3.0-3ubuntu1_amd64.deb ... Unpacking libgcc-11-dev:amd64 (11.3.0-3ubuntu1) over (11.3.0-1ubuntu1) ... Preparing to unpack .../23-libtsan0_11.3.0-3ubuntu1_amd64.deb ... Unpacking libtsan0:amd64 (11.3.0-3ubuntu1) over (11.3.0-1ubuntu1) ... Preparing to unpack .../24-cpp-11_11.3.0-3ubuntu1_amd64.deb ... Unpacking cpp-11 (11.3.0-3ubuntu1) over (11.3.0-1ubuntu1) ... Preparing to unpack .../25-gcc-11-base_11.3.0-3ubuntu1_amd64.deb ... Unpacking gcc-11-base:amd64 (11.3.0-3ubuntu1) over (11.3.0-1ubuntu1) ... Preparing to unpack .../26-dpkg-dev_1.21.8ubuntu1_all.deb ... Unpacking dpkg-dev (1.21.8ubuntu1) over (1.21.1ubuntu2) ... Preparing to unpack .../27-libdpkg-perl_1.21.8ubuntu1_all.deb ... Unpacking libdpkg-perl (1.21.8ubuntu1) over (1.21.1ubuntu2) ... Preparing to unpack .../28-lto-disabled-list_27_all.deb ... Unpacking lto-disabled-list (27) over (25) ... Preparing to unpack .../29-libfakeroot_1.29-1ubuntu1_amd64.deb ... Unpacking libfakeroot:amd64 (1.29-1ubuntu1) over (1.28-1ubuntu1) ... Preparing to unpack .../30-fakeroot_1.29-1ubuntu1_amd64.deb ... Unpacking fakeroot (1.29-1ubuntu1) over (1.28-1ubuntu1) ... Preparing to unpack .../31-pinentry-curses_1.2.0-1ubuntu1_amd64.deb ... Unpacking pinentry-curses (1.2.0-1ubuntu1) over (1.1.1-1build2) ... Preparing to unpack .../32-policyrcd-script-zg2_0.1-3.1_all.deb ... Unpacking policyrcd-script-zg2 (0.1-3.1) over (0.1-3) ... Setting up gcc-11-base:amd64 (11.3.0-3ubuntu1) ... Setting up libkeyutils1:amd64 (1.6.1-3ubuntu1) ... Setting up lto-disabled-list (27) ... Setting up init (1.63) ... Setting up libsqlite3-0:amd64 (3.38.5-1) ... Setting up binutils-common:amd64 (2.38.50.20220615-4ubuntu1) ... Setting up libssl3:amd64 (3.0.3-5ubuntu3) ... Setting up libctf-nobfd0:amd64 (2.38.50.20220615-4ubuntu1) ... Setting up libcom-err2:amd64 (1.46.5-2ubuntu2) ... Setting up libgomp1:amd64 (12.1.0-2ubuntu1) ... Setting up libfakeroot:amd64 (1.29-1ubuntu1) ... Setting up libasan6:amd64 (11.3.0-3ubuntu1) ... Setting up fakeroot (1.29-1ubuntu1) ... Setting up policyrcd-script-zg2 (0.1-3.1) ... Setting up libncurses6:amd64 (6.3+20220423-2) ... Setting up xz-utils (5.2.5-2.1) ... Setting up libquadmath0:amd64 (12.1.0-2ubuntu1) ... Setting up libpng16-16:amd64 (1.6.37-5) ... Setting up libatomic1:amd64 (12.1.0-2ubuntu1) ... Setting up libss2:amd64 (1.46.5-2ubuntu2) ... Setting up libncursesw6:amd64 (6.3+20220423-2) ... Setting up libdpkg-perl (1.21.8ubuntu1) ... Setting up logsave (1.46.5-2ubuntu2) ... Setting up libubsan1:amd64 (12.1.0-2ubuntu1) ... Setting up mawk (1.3.4.20200120-3.1) ... Setting up libbinutils:amd64 (2.38.50.20220615-4ubuntu1) ... Setting up openssl (3.0.3-5ubuntu3) ... Installing new version of config file /etc/ssl/openssl.cnf ... Setting up readline-common (8.1.2-1.2) ... Setting up libcc1-0:amd64 (12.1.0-2ubuntu1) ... Setting up liblsan0:amd64 (12.1.0-2ubuntu1) ... Setting up libitm1:amd64 (12.1.0-2ubuntu1) ... Setting up libtsan0:amd64 (11.3.0-3ubuntu1) ... Setting up libctf0:amd64 (2.38.50.20220615-4ubuntu1) ... Setting up pinentry-curses (1.2.0-1ubuntu1) ... Setting up cpp-11 (11.3.0-3ubuntu1) ... Setting up libreadline8:amd64 (8.1.2-1.2) ... Setting up e2fsprogs (1.46.5-2ubuntu2) ... Setting up libgprofng0:amd64 (2.38.50.20220615-4ubuntu1) ... Setting up libgcc-11-dev:amd64 (11.3.0-3ubuntu1) ... Setting up binutils-x86-64-linux-gnu (2.38.50.20220615-4ubuntu1) ... Setting up binutils (2.38.50.20220615-4ubuntu1) ... Setting up dpkg-dev (1.21.8ubuntu1) ... Setting up libstdc++-11-dev:amd64 (11.3.0-3ubuntu1) ... Setting up gcc-11 (11.3.0-3ubuntu1) ... Setting up g++-11 (11.3.0-3ubuntu1) ... Processing triggers for debianutils (5.7-0.2) ... Processing triggers for libc-bin (2.35-0ubuntu3) ... RUN: /usr/share/launchpad-buildd/bin/sbuild-package PACKAGEBUILD-24065342 amd64 kinetic -c chroot:build-PACKAGEBUILD-24065342 --arch=amd64 --dist=kinetic --nolog -A ruby-hamster_3.0.0-4.dsc Initiating build PACKAGEBUILD-24065342 with 4 jobs across 4 processor cores. Kernel reported to sbuild: 5.4.0-120-generic #136-Ubuntu SMP Fri Jun 10 13:40:48 UTC 2022 x86_64 sbuild (Debian sbuild) 0.79.0 (05 February 2020) on lgw01-amd64-019.buildd +==============================================================================+ | ruby-hamster 3.0.0-4 (amd64) Thu, 23 Jun 2022 14:47:44 +0000 | +==============================================================================+ Package: ruby-hamster Version: 3.0.0-4 Source Version: 3.0.0-4 Distribution: kinetic Machine Architecture: amd64 Host Architecture: amd64 Build Architecture: amd64 Build Type: binary I: NOTICE: Log filtering will replace 'home/buildd/build-PACKAGEBUILD-24065342/chroot-autobuild' with '<>' I: NOTICE: Log filtering will replace 'build/ruby-hamster-2wReF6/resolver-RrHwJb' with '<>' +------------------------------------------------------------------------------+ | Fetch source files | +------------------------------------------------------------------------------+ Local sources ------------- ruby-hamster_3.0.0-4.dsc exists in .; copying to chroot I: NOTICE: Log filtering will replace 'build/ruby-hamster-2wReF6/ruby-hamster-3.0.0' with '<>' I: NOTICE: Log filtering will replace 'build/ruby-hamster-2wReF6' with '<>' +------------------------------------------------------------------------------+ | Install package build dependencies | +------------------------------------------------------------------------------+ Setup apt archive ----------------- Merged Build-Depends: debhelper-compat (= 13), gem2deb, pry, rake, ruby-concurrent, ruby-rspec, ruby-sorted-set, build-essential, fakeroot Filtered Build-Depends: debhelper-compat (= 13), gem2deb, pry, rake, ruby-concurrent, ruby-rspec, ruby-sorted-set, build-essential, fakeroot dpkg-deb: building package 'sbuild-build-depends-main-dummy' in '/<>/apt_archive/sbuild-build-depends-main-dummy.deb'. Ign:1 copy:/<>/apt_archive ./ InRelease Get:2 copy:/<>/apt_archive ./ Release [957 B] Ign:3 copy:/<>/apt_archive ./ Release.gpg Get:4 copy:/<>/apt_archive ./ Sources [404 B] Get:5 copy:/<>/apt_archive ./ Packages [486 B] Fetched 1847 B in 0s (46.0 kB/s) Reading package lists... Reading package lists... Install main build dependencies (apt-based resolver) ---------------------------------------------------- Installing build dependencies Reading package lists... Building dependency tree... Reading state information... The following additional packages will be installed: autoconf automake autopoint autotools-dev bsdextrautils debhelper debugedit devscripts dh-autoreconf dh-strip-nondeterminism dirmngr dwz file gem2deb gem2deb-test-runner gettext gettext-base gnupg gnupg-l10n gnupg-utils gpg-wks-client gpg-wks-server gpgsm groff-base intltool-debian libarchive-zip-perl libb-hooks-op-check-perl libbsd0 libclass-method-modifiers-perl libclass-xsaccessor-perl libdebhelper-perl libdevel-callchecker-perl libdw1 libdynaloader-functions-perl libedit2 libelf1 libencode-locale-perl libexpat1 libfile-dirlist-perl libfile-homedir-perl libfile-listing-perl libfile-stripnondeterminism-perl libfile-touch-perl libfile-which-perl libgmp-dev libgmpxx4ldbl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libicu71 libimport-into-perl libio-html-perl libio-pty-perl libio-socket-ssl-perl libipc-run-perl libksba8 libldap-2.5-0 liblwp-mediatypes-perl liblwp-protocol-https-perl libmagic-mgc libmagic1 libmd0 libmodule-runtime-perl libmoo-perl libmpdec3 libnet-http-perl libnet-ssleay-perl libparams-classify-perl libpipeline1 libpython3-stdlib libpython3.10-minimal libpython3.10-stdlib librole-tiny-perl libruby3.0 libsasl2-2 libsasl2-modules-db libsigsegv2 libsub-override-perl libsub-quote-perl libtimedate-perl libtool libtry-tiny-perl libuchardet0 liburi-perl libwww-perl libwww-robotrules-perl libxml2 libyaml-0-2 m4 man-db media-types netbase patchutils perl-openssl-defaults po-debconf pry python3 python3-minimal python3.10 python3.10-minimal rake ruby ruby-all-dev ruby-coderay ruby-concurrent ruby-diff-lcs ruby-method-source ruby-net-telnet ruby-rbtree ruby-rspec ruby-rspec-core ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support ruby-rubygems ruby-sorted-set ruby-webrick ruby-xmlrpc ruby3.0 ruby3.0-dev rubygems-integration wdiff Suggested packages: autoconf-archive gnu-standards autoconf-doc dh-make adequate at autopkgtest bls-standalone bsd-mailx | mailx check-all-the-things cvs-buildpackage diffoscope disorderfs dose-extra duck elpa-devscripts faketime gnuplot how-can-i-help libauthen-sasl-perl libdbd-pg-perl libfile-desktopentry-perl libnet-smtps-perl libterm-size-perl libyaml-syck-perl mmdebstrap mozilla-devscripts mutt piuparts postgresql-client pristine-lfs quilt ratt reprotest ssh-client svn-buildpackage w3m debian-keyring equivs libsoap-lite-perl pristine-tar dbus-user-session libpam-systemd pinentry-gnome3 tor git-buildpackage gettext-doc libasprintf-dev libgettextpo-dev parcimonie xloadimage groff gmp-doc libgmp10-doc libmpfr-dev libdata-dump-perl libcrypt-ssleay-perl libscalar-number-perl libtool-doc gfortran | fortran95-compiler gcj-jdk libsub-name-perl libbusiness-isbn-perl libauthen-ntlm-perl m4-doc apparmor less www-browser libmail-box-perl python3-doc python3-tk python3-venv python3.10-venv python3.10-doc binfmt-support ri ruby-dev bundler wdiff-doc Recommended packages: dctrl-tools dput | dupload libdistro-info-perl libgit-wrapper-perl libgitlab-api-v4-perl liblist-compare-perl libstring-shellquote-perl licensecheck lintian python3-apt python3-debian python3-magic python3-requests python3-unidiff python3-xdg strace unzip wget | curl apt-file curl | wget | lynx libarchive-cpio-perl libhtml-format-perl libclone-perl libldap-common libnamespace-clean-perl libsasl2-modules libltdl-dev libdata-dump-perl libhtml-form-perl libhttp-daemon-perl libmailtools-perl libmail-sendmail-perl zip fonts-lato libjs-jquery ruby3.0-doc The following NEW packages will be installed: autoconf automake autopoint autotools-dev bsdextrautils debhelper debugedit devscripts dh-autoreconf dh-strip-nondeterminism dirmngr dwz file gem2deb gem2deb-test-runner gettext gettext-base gnupg gnupg-l10n gnupg-utils gpg-wks-client gpg-wks-server gpgsm groff-base intltool-debian libarchive-zip-perl libb-hooks-op-check-perl libbsd0 libclass-method-modifiers-perl libclass-xsaccessor-perl libdebhelper-perl libdevel-callchecker-perl libdw1 libdynaloader-functions-perl libedit2 libelf1 libencode-locale-perl libexpat1 libfile-dirlist-perl libfile-homedir-perl libfile-listing-perl libfile-stripnondeterminism-perl libfile-touch-perl libfile-which-perl libgmp-dev libgmpxx4ldbl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libicu71 libimport-into-perl libio-html-perl libio-pty-perl libio-socket-ssl-perl libipc-run-perl libksba8 libldap-2.5-0 liblwp-mediatypes-perl liblwp-protocol-https-perl libmagic-mgc libmagic1 libmd0 libmodule-runtime-perl libmoo-perl libmpdec3 libnet-http-perl libnet-ssleay-perl libparams-classify-perl libpipeline1 libpython3-stdlib libpython3.10-minimal libpython3.10-stdlib librole-tiny-perl libruby3.0 libsasl2-2 libsasl2-modules-db libsigsegv2 libsub-override-perl libsub-quote-perl libtimedate-perl libtool libtry-tiny-perl libuchardet0 liburi-perl libwww-perl libwww-robotrules-perl libxml2 libyaml-0-2 m4 man-db media-types netbase patchutils perl-openssl-defaults po-debconf pry python3 python3-minimal python3.10 python3.10-minimal rake ruby ruby-all-dev ruby-coderay ruby-concurrent ruby-diff-lcs ruby-method-source ruby-net-telnet ruby-rbtree ruby-rspec ruby-rspec-core ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support ruby-rubygems ruby-sorted-set ruby-webrick ruby-xmlrpc ruby3.0 ruby3.0-dev rubygems-integration sbuild-build-depends-main-dummy wdiff 0 upgraded, 127 newly installed, 0 to remove and 0 not upgraded. Need to get 36.0 MB of archives. After this operation, 135 MB of additional disk space will be used. Get:1 copy:/<>/apt_archive ./ sbuild-build-depends-main-dummy 0.invalid.0 [708 B] Get:2 http://ftpmaster.internal/ubuntu kinetic/main amd64 libpython3.10-minimal amd64 3.10.5-1 [804 kB] Get:3 http://ftpmaster.internal/ubuntu kinetic/main amd64 libexpat1 amd64 2.4.8-1 [90.6 kB] Get:4 http://ftpmaster.internal/ubuntu kinetic/main amd64 python3.10-minimal amd64 3.10.5-1 [2228 kB] Get:5 http://ftpmaster.internal/ubuntu kinetic/main amd64 python3-minimal amd64 3.10.4-0ubuntu2 [24.4 kB] Get:6 http://ftpmaster.internal/ubuntu kinetic/main amd64 media-types all 8.0.0 [24.9 kB] Get:7 http://ftpmaster.internal/ubuntu kinetic/main amd64 libmpdec3 amd64 2.5.1-2build2 [86.8 kB] Get:8 http://ftpmaster.internal/ubuntu kinetic/main amd64 libpython3.10-stdlib amd64 3.10.5-1 [1805 kB] Get:9 http://ftpmaster.internal/ubuntu kinetic/main amd64 python3.10 amd64 3.10.5-1 [491 kB] Get:10 http://ftpmaster.internal/ubuntu kinetic/main amd64 libpython3-stdlib amd64 3.10.4-0ubuntu2 [6990 B] Get:11 http://ftpmaster.internal/ubuntu kinetic/main amd64 python3 amd64 3.10.4-0ubuntu2 [22.8 kB] Get:12 http://ftpmaster.internal/ubuntu kinetic/main amd64 libmd0 amd64 1.0.4-1build1 [23.0 kB] Get:13 http://ftpmaster.internal/ubuntu kinetic/main amd64 libbsd0 amd64 0.11.6-1 [44.5 kB] Get:14 http://ftpmaster.internal/ubuntu kinetic/main amd64 libelf1 amd64 0.187-1 [51.3 kB] Get:15 http://ftpmaster.internal/ubuntu kinetic/main amd64 libicu71 amd64 71.1-3 [10.6 MB] Get:16 http://ftpmaster.internal/ubuntu kinetic/main amd64 libxml2 amd64 2.9.14+dfsg-1 [756 kB] Get:17 http://ftpmaster.internal/ubuntu kinetic/main amd64 libyaml-0-2 amd64 0.2.2-1build2 [51.6 kB] Get:18 http://ftpmaster.internal/ubuntu kinetic/main amd64 netbase all 6.3 [12.9 kB] Get:19 http://ftpmaster.internal/ubuntu kinetic/main amd64 bsdextrautils amd64 2.38-4ubuntu1 [71.1 kB] Get:20 http://ftpmaster.internal/ubuntu kinetic/main amd64 libmagic-mgc amd64 1:5.41-4 [257 kB] Get:21 http://ftpmaster.internal/ubuntu kinetic/main amd64 libmagic1 amd64 1:5.41-4 [87.3 kB] Get:22 http://ftpmaster.internal/ubuntu kinetic/main amd64 file amd64 1:5.41-4 [21.5 kB] Get:23 http://ftpmaster.internal/ubuntu kinetic/main amd64 gettext-base amd64 0.21-6 [37.9 kB] Get:24 http://ftpmaster.internal/ubuntu kinetic/main amd64 libuchardet0 amd64 0.0.7-1build2 [76.9 kB] Get:25 http://ftpmaster.internal/ubuntu kinetic/main amd64 groff-base amd64 1.22.4-8build1 [955 kB] Get:26 http://ftpmaster.internal/ubuntu kinetic/main amd64 libedit2 amd64 3.1-20210910-1build1 [96.8 kB] Get:27 http://ftpmaster.internal/ubuntu kinetic/main amd64 libpipeline1 amd64 1.5.6-1 [23.1 kB] Get:28 http://ftpmaster.internal/ubuntu kinetic/main amd64 man-db amd64 2.10.2-1 [1187 kB] Get:29 http://ftpmaster.internal/ubuntu kinetic/main amd64 libsigsegv2 amd64 2.13-1ubuntu3 [14.6 kB] Get:30 http://ftpmaster.internal/ubuntu kinetic/main amd64 m4 amd64 1.4.18-5ubuntu2 [199 kB] Get:31 http://ftpmaster.internal/ubuntu kinetic/main amd64 autoconf all 2.71-2 [338 kB] Get:32 http://ftpmaster.internal/ubuntu kinetic/main amd64 autotools-dev all 20220109.1 [44.9 kB] Get:33 http://ftpmaster.internal/ubuntu kinetic/main amd64 automake all 1:1.16.5-1.3 [558 kB] Get:34 http://ftpmaster.internal/ubuntu kinetic/main amd64 autopoint all 0.21-6 [421 kB] Get:35 http://ftpmaster.internal/ubuntu kinetic/main amd64 libdebhelper-perl all 13.7.1ubuntu1 [66.9 kB] Get:36 http://ftpmaster.internal/ubuntu kinetic/main amd64 libtool all 2.4.7-4 [166 kB] Get:37 http://ftpmaster.internal/ubuntu kinetic/main amd64 dh-autoreconf all 20 [16.1 kB] Get:38 http://ftpmaster.internal/ubuntu kinetic/main amd64 libarchive-zip-perl all 1.68-1 [90.2 kB] Get:39 http://ftpmaster.internal/ubuntu kinetic/main amd64 libsub-override-perl all 0.09-3 [9756 B] Get:40 http://ftpmaster.internal/ubuntu kinetic/main amd64 libfile-stripnondeterminism-perl all 1.13.0-1 [18.1 kB] Get:41 http://ftpmaster.internal/ubuntu kinetic/main amd64 dh-strip-nondeterminism all 1.13.0-1 [5344 B] Get:42 http://ftpmaster.internal/ubuntu kinetic/main amd64 libdw1 amd64 0.187-1 [247 kB] Get:43 http://ftpmaster.internal/ubuntu kinetic/main amd64 debugedit amd64 1:5.0-4build1 [47.2 kB] Get:44 http://ftpmaster.internal/ubuntu kinetic/main amd64 dwz amd64 0.14-1build2 [105 kB] Get:45 http://ftpmaster.internal/ubuntu kinetic/main amd64 gettext amd64 0.21-6 [862 kB] Get:46 http://ftpmaster.internal/ubuntu kinetic/main amd64 intltool-debian all 0.35.0+20060710.5 [24.9 kB] Get:47 http://ftpmaster.internal/ubuntu kinetic/main amd64 po-debconf all 1.0.21+nmu1 [233 kB] Get:48 http://ftpmaster.internal/ubuntu kinetic/main amd64 debhelper all 13.7.1ubuntu1 [940 kB] Get:49 http://ftpmaster.internal/ubuntu kinetic/main amd64 libksba8 amd64 1.6.0-2build1 [119 kB] Get:50 http://ftpmaster.internal/ubuntu kinetic/main amd64 libsasl2-modules-db amd64 2.1.28+dfsg-6ubuntu1 [20.5 kB] Get:51 http://ftpmaster.internal/ubuntu kinetic/main amd64 libsasl2-2 amd64 2.1.28+dfsg-6ubuntu1 [55.9 kB] Get:52 http://ftpmaster.internal/ubuntu kinetic/main amd64 libldap-2.5-0 amd64 2.5.12+dfsg-2ubuntu1 [180 kB] Get:53 http://ftpmaster.internal/ubuntu kinetic/main amd64 dirmngr amd64 2.2.27-3ubuntu2 [293 kB] Get:54 http://ftpmaster.internal/ubuntu kinetic/main amd64 gnupg-l10n all 2.2.27-3ubuntu2 [54.3 kB] Get:55 http://ftpmaster.internal/ubuntu kinetic/main amd64 gnupg-utils amd64 2.2.27-3ubuntu2 [308 kB] Get:56 http://ftpmaster.internal/ubuntu kinetic/main amd64 gpg-wks-client amd64 2.2.27-3ubuntu2 [62.7 kB] Get:57 http://ftpmaster.internal/ubuntu kinetic/main amd64 gpg-wks-server amd64 2.2.27-3ubuntu2 [57.5 kB] Get:58 http://ftpmaster.internal/ubuntu kinetic/main amd64 gpgsm amd64 2.2.27-3ubuntu2 [198 kB] Get:59 http://ftpmaster.internal/ubuntu kinetic/main amd64 gnupg all 2.2.27-3ubuntu2 [315 kB] Get:60 http://ftpmaster.internal/ubuntu kinetic/main amd64 libfile-dirlist-perl all 0.05-2 [7100 B] Get:61 http://ftpmaster.internal/ubuntu kinetic/main amd64 libfile-which-perl all 1.27-1 [14.3 kB] Get:62 http://ftpmaster.internal/ubuntu kinetic/main amd64 libfile-homedir-perl all 1.006-1 [38.3 kB] Get:63 http://ftpmaster.internal/ubuntu kinetic/main amd64 libfile-touch-perl all 0.12-1 [9024 B] Get:64 http://ftpmaster.internal/ubuntu kinetic/main amd64 libio-pty-perl amd64 1:1.15-2build2 [35.1 kB] Get:65 http://ftpmaster.internal/ubuntu kinetic/main amd64 libipc-run-perl all 20200505.0-1 [89.8 kB] Get:66 http://ftpmaster.internal/ubuntu kinetic/main amd64 libclass-method-modifiers-perl all 2.13-1 [16.2 kB] Get:67 http://ftpmaster.internal/ubuntu kinetic/main amd64 libclass-xsaccessor-perl amd64 1.19-3build9 [34.1 kB] Get:68 http://ftpmaster.internal/ubuntu kinetic/main amd64 libb-hooks-op-check-perl amd64 0.22-2 [10.5 kB] Get:69 http://ftpmaster.internal/ubuntu kinetic/main amd64 libdynaloader-functions-perl all 0.003-2 [12.5 kB] Get:70 http://ftpmaster.internal/ubuntu kinetic/main amd64 libdevel-callchecker-perl amd64 0.008-1ubuntu4 [14.9 kB] Get:71 http://ftpmaster.internal/ubuntu kinetic/main amd64 libparams-classify-perl amd64 0.015-2 [21.9 kB] Get:72 http://ftpmaster.internal/ubuntu kinetic/main amd64 libmodule-runtime-perl all 0.016-2 [16.4 kB] Get:73 http://ftpmaster.internal/ubuntu kinetic/main amd64 libimport-into-perl all 1.002005-2 [10.7 kB] Get:74 http://ftpmaster.internal/ubuntu kinetic/main amd64 librole-tiny-perl all 2.002004-1 [16.3 kB] Get:75 http://ftpmaster.internal/ubuntu kinetic/main amd64 libsub-quote-perl all 2.006006-1 [19.5 kB] Get:76 http://ftpmaster.internal/ubuntu kinetic/main amd64 libmoo-perl all 2.005004-3 [48.0 kB] Get:77 http://ftpmaster.internal/ubuntu kinetic/main amd64 libencode-locale-perl all 1.05-2 [12.2 kB] Get:78 http://ftpmaster.internal/ubuntu kinetic/main amd64 libtimedate-perl all 2.3300-2 [34.0 kB] Get:79 http://ftpmaster.internal/ubuntu kinetic/main amd64 libhttp-date-perl all 6.05-1 [9920 B] Get:80 http://ftpmaster.internal/ubuntu kinetic/main amd64 libfile-listing-perl all 6.15-1 [11.5 kB] Get:81 http://ftpmaster.internal/ubuntu kinetic/main amd64 libhtml-tagset-perl all 3.20-4 [12.5 kB] Get:82 http://ftpmaster.internal/ubuntu kinetic/main amd64 liburi-perl all 5.10-1 [78.8 kB] Get:83 http://ftpmaster.internal/ubuntu kinetic/main amd64 libhtml-parser-perl amd64 3.78-1 [88.3 kB] Get:84 http://ftpmaster.internal/ubuntu kinetic/main amd64 libhtml-tree-perl all 5.07-2 [200 kB] Get:85 http://ftpmaster.internal/ubuntu kinetic/main amd64 libio-html-perl all 1.004-3 [15.9 kB] Get:86 http://ftpmaster.internal/ubuntu kinetic/main amd64 liblwp-mediatypes-perl all 6.04-1 [19.5 kB] Get:87 http://ftpmaster.internal/ubuntu kinetic/main amd64 libhttp-message-perl all 6.37-1 [76.3 kB] Get:88 http://ftpmaster.internal/ubuntu kinetic/main amd64 libhttp-cookies-perl all 6.10-1 [18.4 kB] Get:89 http://ftpmaster.internal/ubuntu kinetic/main amd64 libhttp-negotiate-perl all 6.01-1 [12.5 kB] Get:90 http://ftpmaster.internal/ubuntu kinetic/main amd64 perl-openssl-defaults amd64 7 [7536 B] Get:91 http://ftpmaster.internal/ubuntu kinetic/main amd64 libnet-ssleay-perl amd64 1.92-2 [321 kB] Get:92 http://ftpmaster.internal/ubuntu kinetic/main amd64 libio-socket-ssl-perl all 2.074-2 [192 kB] Get:93 http://ftpmaster.internal/ubuntu kinetic/main amd64 libnet-http-perl all 6.22-1 [23.2 kB] Get:94 http://ftpmaster.internal/ubuntu kinetic/main amd64 liblwp-protocol-https-perl all 6.10-1 [10.9 kB] Get:95 http://ftpmaster.internal/ubuntu kinetic/main amd64 libtry-tiny-perl all 0.31-1 [21.8 kB] Get:96 http://ftpmaster.internal/ubuntu kinetic/main amd64 libwww-robotrules-perl all 6.02-1 [12.6 kB] Get:97 http://ftpmaster.internal/ubuntu kinetic/main amd64 libwww-perl all 6.67-1 [141 kB] Get:98 http://ftpmaster.internal/ubuntu kinetic/main amd64 patchutils amd64 0.4.2-1build2 [77.8 kB] Get:99 http://ftpmaster.internal/ubuntu kinetic/main amd64 wdiff amd64 1.2.2-2build3 [29.6 kB] Get:100 http://ftpmaster.internal/ubuntu kinetic/main amd64 devscripts amd64 2.22.2ubuntu1 [1060 kB] Get:101 http://ftpmaster.internal/ubuntu kinetic/main amd64 rubygems-integration all 1.18 [5336 B] Get:102 http://ftpmaster.internal/ubuntu kinetic/main amd64 ruby-net-telnet all 0.1.1-2.1 [13.1 kB] Get:103 http://ftpmaster.internal/ubuntu kinetic/main amd64 ruby-webrick all 1.7.0-3 [51.8 kB] Get:104 http://ftpmaster.internal/ubuntu kinetic/main amd64 ruby-xmlrpc all 0.3.2-2 [24.8 kB] Get:105 http://ftpmaster.internal/ubuntu kinetic/main amd64 libruby3.0 amd64 3.0.2-7ubuntu2 [5115 kB] Get:106 http://ftpmaster.internal/ubuntu kinetic/main amd64 ruby3.0 amd64 3.0.2-7ubuntu2 [50.1 kB] Get:107 http://ftpmaster.internal/ubuntu kinetic/main amd64 ruby-rubygems all 3.3.15-1 [231 kB] Get:108 http://ftpmaster.internal/ubuntu kinetic/main amd64 ruby amd64 1:3.0~exp1 [5100 B] Get:109 http://ftpmaster.internal/ubuntu kinetic/main amd64 rake all 13.0.6-3 [61.6 kB] Get:110 http://ftpmaster.internal/ubuntu kinetic/universe amd64 gem2deb-test-runner amd64 1.8 [14.7 kB] Get:111 http://ftpmaster.internal/ubuntu kinetic/main amd64 libgmpxx4ldbl amd64 2:6.2.1+dfsg-3ubuntu1 [9580 B] Get:112 http://ftpmaster.internal/ubuntu kinetic/main amd64 libgmp-dev amd64 2:6.2.1+dfsg-3ubuntu1 [337 kB] Get:113 http://ftpmaster.internal/ubuntu kinetic/main amd64 ruby3.0-dev amd64 3.0.2-7ubuntu2 [242 kB] Get:114 http://ftpmaster.internal/ubuntu kinetic/main amd64 ruby-all-dev amd64 1:3.0~exp1 [5218 B] Get:115 http://ftpmaster.internal/ubuntu kinetic/universe amd64 gem2deb amd64 1.8 [48.7 kB] Get:116 http://ftpmaster.internal/ubuntu kinetic/universe amd64 ruby-coderay all 1.1.3-6 [78.5 kB] Get:117 http://ftpmaster.internal/ubuntu kinetic/universe amd64 ruby-method-source all 1.0.0-2 [8904 B] Get:118 http://ftpmaster.internal/ubuntu kinetic/universe amd64 pry all 0.13.1-2 [123 kB] Get:119 http://ftpmaster.internal/ubuntu kinetic/universe amd64 ruby-concurrent all 1.1.6+dfsg-5 [212 kB] Get:120 http://ftpmaster.internal/ubuntu kinetic/universe amd64 ruby-diff-lcs all 1.5.0-1 [23.9 kB] Get:121 http://ftpmaster.internal/ubuntu kinetic/universe amd64 ruby-rbtree amd64 0.4.4-1build2 [24.0 kB] Get:122 http://ftpmaster.internal/ubuntu kinetic/universe amd64 ruby-rspec-support all 3.10.0c1e1m2s3-1 [29.9 kB] Get:123 http://ftpmaster.internal/ubuntu kinetic/universe amd64 ruby-rspec-core all 3.10.0c1e1m2s3-1 [162 kB] Get:124 http://ftpmaster.internal/ubuntu kinetic/universe amd64 ruby-rspec-expectations all 3.10.0c1e1m2s3-1 [88.1 kB] Get:125 http://ftpmaster.internal/ubuntu kinetic/universe amd64 ruby-rspec-mocks all 3.10.0c1e1m2s3-1 [78.2 kB] Get:126 http://ftpmaster.internal/ubuntu kinetic/universe amd64 ruby-rspec all 3.10.0c1e1m2s3-1 [3396 B] Get:127 http://ftpmaster.internal/ubuntu kinetic/universe amd64 ruby-sorted-set all 1.0.3-3 [4258 B] debconf: delaying package configuration, since apt-utils is not installed Fetched 36.0 MB in 3s (13.9 MB/s) Selecting previously unselected package libpython3.10-minimal:amd64. (Reading database ... 13496 files and directories currently installed.) Preparing to unpack .../libpython3.10-minimal_3.10.5-1_amd64.deb ... Unpacking libpython3.10-minimal:amd64 (3.10.5-1) ... Selecting previously unselected package libexpat1:amd64. Preparing to unpack .../libexpat1_2.4.8-1_amd64.deb ... Unpacking libexpat1:amd64 (2.4.8-1) ... Selecting previously unselected package python3.10-minimal. Preparing to unpack .../python3.10-minimal_3.10.5-1_amd64.deb ... Unpacking python3.10-minimal (3.10.5-1) ... Setting up libpython3.10-minimal:amd64 (3.10.5-1) ... Setting up libexpat1:amd64 (2.4.8-1) ... Setting up python3.10-minimal (3.10.5-1) ... Selecting previously unselected package python3-minimal. (Reading database ... 13798 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.10.4-0ubuntu2_amd64.deb ... Unpacking python3-minimal (3.10.4-0ubuntu2) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_8.0.0_all.deb ... Unpacking media-types (8.0.0) ... Selecting previously unselected package libmpdec3:amd64. Preparing to unpack .../2-libmpdec3_2.5.1-2build2_amd64.deb ... Unpacking libmpdec3:amd64 (2.5.1-2build2) ... Selecting previously unselected package libpython3.10-stdlib:amd64. Preparing to unpack .../3-libpython3.10-stdlib_3.10.5-1_amd64.deb ... Unpacking libpython3.10-stdlib:amd64 (3.10.5-1) ... Selecting previously unselected package python3.10. Preparing to unpack .../4-python3.10_3.10.5-1_amd64.deb ... Unpacking python3.10 (3.10.5-1) ... Selecting previously unselected package libpython3-stdlib:amd64. Preparing to unpack .../5-libpython3-stdlib_3.10.4-0ubuntu2_amd64.deb ... Unpacking libpython3-stdlib:amd64 (3.10.4-0ubuntu2) ... Setting up python3-minimal (3.10.4-0ubuntu2) ... Selecting previously unselected package python3. (Reading database ... 14199 files and directories currently installed.) Preparing to unpack .../000-python3_3.10.4-0ubuntu2_amd64.deb ... Unpacking python3 (3.10.4-0ubuntu2) ... Selecting previously unselected package libmd0:amd64. Preparing to unpack .../001-libmd0_1.0.4-1build1_amd64.deb ... Unpacking libmd0:amd64 (1.0.4-1build1) ... Selecting previously unselected package libbsd0:amd64. Preparing to unpack .../002-libbsd0_0.11.6-1_amd64.deb ... Unpacking libbsd0:amd64 (0.11.6-1) ... Selecting previously unselected package libelf1:amd64. Preparing to unpack .../003-libelf1_0.187-1_amd64.deb ... Unpacking libelf1:amd64 (0.187-1) ... Selecting previously unselected package libicu71:amd64. Preparing to unpack .../004-libicu71_71.1-3_amd64.deb ... Unpacking libicu71:amd64 (71.1-3) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../005-libxml2_2.9.14+dfsg-1_amd64.deb ... Unpacking libxml2:amd64 (2.9.14+dfsg-1) ... Selecting previously unselected package libyaml-0-2:amd64. Preparing to unpack .../006-libyaml-0-2_0.2.2-1build2_amd64.deb ... Unpacking libyaml-0-2:amd64 (0.2.2-1build2) ... Selecting previously unselected package netbase. Preparing to unpack .../007-netbase_6.3_all.deb ... Unpacking netbase (6.3) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../008-bsdextrautils_2.38-4ubuntu1_amd64.deb ... Unpacking bsdextrautils (2.38-4ubuntu1) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../009-libmagic-mgc_1%3a5.41-4_amd64.deb ... Unpacking libmagic-mgc (1:5.41-4) ... Selecting previously unselected package libmagic1:amd64. Preparing to unpack .../010-libmagic1_1%3a5.41-4_amd64.deb ... Unpacking libmagic1:amd64 (1:5.41-4) ... Selecting previously unselected package file. Preparing to unpack .../011-file_1%3a5.41-4_amd64.deb ... Unpacking file (1:5.41-4) ... Selecting previously unselected package gettext-base. Preparing to unpack .../012-gettext-base_0.21-6_amd64.deb ... Unpacking gettext-base (0.21-6) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../013-libuchardet0_0.0.7-1build2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.7-1build2) ... Selecting previously unselected package groff-base. Preparing to unpack .../014-groff-base_1.22.4-8build1_amd64.deb ... Unpacking groff-base (1.22.4-8build1) ... Selecting previously unselected package libedit2:amd64. Preparing to unpack .../015-libedit2_3.1-20210910-1build1_amd64.deb ... Unpacking libedit2:amd64 (3.1-20210910-1build1) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../016-libpipeline1_1.5.6-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.6-1) ... Selecting previously unselected package man-db. Preparing to unpack .../017-man-db_2.10.2-1_amd64.deb ... Unpacking man-db (2.10.2-1) ... Selecting previously unselected package libsigsegv2:amd64. Preparing to unpack .../018-libsigsegv2_2.13-1ubuntu3_amd64.deb ... Unpacking libsigsegv2:amd64 (2.13-1ubuntu3) ... Selecting previously unselected package m4. Preparing to unpack .../019-m4_1.4.18-5ubuntu2_amd64.deb ... Unpacking m4 (1.4.18-5ubuntu2) ... Selecting previously unselected package autoconf. Preparing to unpack .../020-autoconf_2.71-2_all.deb ... Unpacking autoconf (2.71-2) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../021-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../022-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../023-autopoint_0.21-6_all.deb ... Unpacking autopoint (0.21-6) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../024-libdebhelper-perl_13.7.1ubuntu1_all.deb ... Unpacking libdebhelper-perl (13.7.1ubuntu1) ... Selecting previously unselected package libtool. Preparing to unpack .../025-libtool_2.4.7-4_all.deb ... Unpacking libtool (2.4.7-4) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../026-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../027-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libsub-override-perl. Preparing to unpack .../028-libsub-override-perl_0.09-3_all.deb ... Unpacking libsub-override-perl (0.09-3) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../029-libfile-stripnondeterminism-perl_1.13.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.13.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../030-dh-strip-nondeterminism_1.13.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.13.0-1) ... Selecting previously unselected package libdw1:amd64. Preparing to unpack .../031-libdw1_0.187-1_amd64.deb ... Unpacking libdw1:amd64 (0.187-1) ... Selecting previously unselected package debugedit. Preparing to unpack .../032-debugedit_1%3a5.0-4build1_amd64.deb ... Unpacking debugedit (1:5.0-4build1) ... Selecting previously unselected package dwz. Preparing to unpack .../033-dwz_0.14-1build2_amd64.deb ... Unpacking dwz (0.14-1build2) ... Selecting previously unselected package gettext. Preparing to unpack .../034-gettext_0.21-6_amd64.deb ... Unpacking gettext (0.21-6) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../035-intltool-debian_0.35.0+20060710.5_all.deb ... Unpacking intltool-debian (0.35.0+20060710.5) ... Selecting previously unselected package po-debconf. Preparing to unpack .../036-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../037-debhelper_13.7.1ubuntu1_all.deb ... Unpacking debhelper (13.7.1ubuntu1) ... Selecting previously unselected package libksba8:amd64. Preparing to unpack .../038-libksba8_1.6.0-2build1_amd64.deb ... Unpacking libksba8:amd64 (1.6.0-2build1) ... Selecting previously unselected package libsasl2-modules-db:amd64. Preparing to unpack .../039-libsasl2-modules-db_2.1.28+dfsg-6ubuntu1_amd64.deb ... Unpacking libsasl2-modules-db:amd64 (2.1.28+dfsg-6ubuntu1) ... Selecting previously unselected package libsasl2-2:amd64. Preparing to unpack .../040-libsasl2-2_2.1.28+dfsg-6ubuntu1_amd64.deb ... Unpacking libsasl2-2:amd64 (2.1.28+dfsg-6ubuntu1) ... Selecting previously unselected package libldap-2.5-0:amd64. Preparing to unpack .../041-libldap-2.5-0_2.5.12+dfsg-2ubuntu1_amd64.deb ... Unpacking libldap-2.5-0:amd64 (2.5.12+dfsg-2ubuntu1) ... Selecting previously unselected package dirmngr. Preparing to unpack .../042-dirmngr_2.2.27-3ubuntu2_amd64.deb ... Unpacking dirmngr (2.2.27-3ubuntu2) ... Selecting previously unselected package gnupg-l10n. Preparing to unpack .../043-gnupg-l10n_2.2.27-3ubuntu2_all.deb ... Unpacking gnupg-l10n (2.2.27-3ubuntu2) ... Selecting previously unselected package gnupg-utils. Preparing to unpack .../044-gnupg-utils_2.2.27-3ubuntu2_amd64.deb ... Unpacking gnupg-utils (2.2.27-3ubuntu2) ... Selecting previously unselected package gpg-wks-client. Preparing to unpack .../045-gpg-wks-client_2.2.27-3ubuntu2_amd64.deb ... Unpacking gpg-wks-client (2.2.27-3ubuntu2) ... Selecting previously unselected package gpg-wks-server. Preparing to unpack .../046-gpg-wks-server_2.2.27-3ubuntu2_amd64.deb ... Unpacking gpg-wks-server (2.2.27-3ubuntu2) ... Selecting previously unselected package gpgsm. Preparing to unpack .../047-gpgsm_2.2.27-3ubuntu2_amd64.deb ... Unpacking gpgsm (2.2.27-3ubuntu2) ... Selecting previously unselected package gnupg. Preparing to unpack .../048-gnupg_2.2.27-3ubuntu2_all.deb ... Unpacking gnupg (2.2.27-3ubuntu2) ... Selecting previously unselected package libfile-dirlist-perl. Preparing to unpack .../049-libfile-dirlist-perl_0.05-2_all.deb ... Unpacking libfile-dirlist-perl (0.05-2) ... Selecting previously unselected package libfile-which-perl. Preparing to unpack .../050-libfile-which-perl_1.27-1_all.deb ... Unpacking libfile-which-perl (1.27-1) ... Selecting previously unselected package libfile-homedir-perl. Preparing to unpack .../051-libfile-homedir-perl_1.006-1_all.deb ... Unpacking libfile-homedir-perl (1.006-1) ... Selecting previously unselected package libfile-touch-perl. Preparing to unpack .../052-libfile-touch-perl_0.12-1_all.deb ... Unpacking libfile-touch-perl (0.12-1) ... Selecting previously unselected package libio-pty-perl. Preparing to unpack .../053-libio-pty-perl_1%3a1.15-2build2_amd64.deb ... Unpacking libio-pty-perl (1:1.15-2build2) ... Selecting previously unselected package libipc-run-perl. Preparing to unpack .../054-libipc-run-perl_20200505.0-1_all.deb ... Unpacking libipc-run-perl (20200505.0-1) ... Selecting previously unselected package libclass-method-modifiers-perl. Preparing to unpack .../055-libclass-method-modifiers-perl_2.13-1_all.deb ... Unpacking libclass-method-modifiers-perl (2.13-1) ... Selecting previously unselected package libclass-xsaccessor-perl. Preparing to unpack .../056-libclass-xsaccessor-perl_1.19-3build9_amd64.deb ... Unpacking libclass-xsaccessor-perl (1.19-3build9) ... Selecting previously unselected package libb-hooks-op-check-perl:amd64. Preparing to unpack .../057-libb-hooks-op-check-perl_0.22-2_amd64.deb ... Unpacking libb-hooks-op-check-perl:amd64 (0.22-2) ... Selecting previously unselected package libdynaloader-functions-perl. Preparing to unpack .../058-libdynaloader-functions-perl_0.003-2_all.deb ... Unpacking libdynaloader-functions-perl (0.003-2) ... Selecting previously unselected package libdevel-callchecker-perl. Preparing to unpack .../059-libdevel-callchecker-perl_0.008-1ubuntu4_amd64.deb ... Unpacking libdevel-callchecker-perl (0.008-1ubuntu4) ... Selecting previously unselected package libparams-classify-perl:amd64. Preparing to unpack .../060-libparams-classify-perl_0.015-2_amd64.deb ... Unpacking libparams-classify-perl:amd64 (0.015-2) ... Selecting previously unselected package libmodule-runtime-perl. Preparing to unpack .../061-libmodule-runtime-perl_0.016-2_all.deb ... Unpacking libmodule-runtime-perl (0.016-2) ... Selecting previously unselected package libimport-into-perl. Preparing to unpack .../062-libimport-into-perl_1.002005-2_all.deb ... Unpacking libimport-into-perl (1.002005-2) ... Selecting previously unselected package librole-tiny-perl. Preparing to unpack .../063-librole-tiny-perl_2.002004-1_all.deb ... Unpacking librole-tiny-perl (2.002004-1) ... Selecting previously unselected package libsub-quote-perl. Preparing to unpack .../064-libsub-quote-perl_2.006006-1_all.deb ... Unpacking libsub-quote-perl (2.006006-1) ... Selecting previously unselected package libmoo-perl. Preparing to unpack .../065-libmoo-perl_2.005004-3_all.deb ... Unpacking libmoo-perl (2.005004-3) ... Selecting previously unselected package libencode-locale-perl. Preparing to unpack .../066-libencode-locale-perl_1.05-2_all.deb ... Unpacking libencode-locale-perl (1.05-2) ... Selecting previously unselected package libtimedate-perl. Preparing to unpack .../067-libtimedate-perl_2.3300-2_all.deb ... Unpacking libtimedate-perl (2.3300-2) ... Selecting previously unselected package libhttp-date-perl. Preparing to unpack .../068-libhttp-date-perl_6.05-1_all.deb ... Unpacking libhttp-date-perl (6.05-1) ... Selecting previously unselected package libfile-listing-perl. Preparing to unpack .../069-libfile-listing-perl_6.15-1_all.deb ... Unpacking libfile-listing-perl (6.15-1) ... Selecting previously unselected package libhtml-tagset-perl. Preparing to unpack .../070-libhtml-tagset-perl_3.20-4_all.deb ... Unpacking libhtml-tagset-perl (3.20-4) ... Selecting previously unselected package liburi-perl. Preparing to unpack .../071-liburi-perl_5.10-1_all.deb ... Unpacking liburi-perl (5.10-1) ... Selecting previously unselected package libhtml-parser-perl:amd64. Preparing to unpack .../072-libhtml-parser-perl_3.78-1_amd64.deb ... Unpacking libhtml-parser-perl:amd64 (3.78-1) ... Selecting previously unselected package libhtml-tree-perl. Preparing to unpack .../073-libhtml-tree-perl_5.07-2_all.deb ... Unpacking libhtml-tree-perl (5.07-2) ... Selecting previously unselected package libio-html-perl. Preparing to unpack .../074-libio-html-perl_1.004-3_all.deb ... Unpacking libio-html-perl (1.004-3) ... Selecting previously unselected package liblwp-mediatypes-perl. Preparing to unpack .../075-liblwp-mediatypes-perl_6.04-1_all.deb ... Unpacking liblwp-mediatypes-perl (6.04-1) ... Selecting previously unselected package libhttp-message-perl. Preparing to unpack .../076-libhttp-message-perl_6.37-1_all.deb ... Unpacking libhttp-message-perl (6.37-1) ... Selecting previously unselected package libhttp-cookies-perl. Preparing to unpack .../077-libhttp-cookies-perl_6.10-1_all.deb ... Unpacking libhttp-cookies-perl (6.10-1) ... Selecting previously unselected package libhttp-negotiate-perl. Preparing to unpack .../078-libhttp-negotiate-perl_6.01-1_all.deb ... Unpacking libhttp-negotiate-perl (6.01-1) ... Selecting previously unselected package perl-openssl-defaults:amd64. Preparing to unpack .../079-perl-openssl-defaults_7_amd64.deb ... Unpacking perl-openssl-defaults:amd64 (7) ... Selecting previously unselected package libnet-ssleay-perl:amd64. Preparing to unpack .../080-libnet-ssleay-perl_1.92-2_amd64.deb ... Unpacking libnet-ssleay-perl:amd64 (1.92-2) ... Selecting previously unselected package libio-socket-ssl-perl. Preparing to unpack .../081-libio-socket-ssl-perl_2.074-2_all.deb ... Unpacking libio-socket-ssl-perl (2.074-2) ... Selecting previously unselected package libnet-http-perl. Preparing to unpack .../082-libnet-http-perl_6.22-1_all.deb ... Unpacking libnet-http-perl (6.22-1) ... Selecting previously unselected package liblwp-protocol-https-perl. Preparing to unpack .../083-liblwp-protocol-https-perl_6.10-1_all.deb ... Unpacking liblwp-protocol-https-perl (6.10-1) ... Selecting previously unselected package libtry-tiny-perl. Preparing to unpack .../084-libtry-tiny-perl_0.31-1_all.deb ... Unpacking libtry-tiny-perl (0.31-1) ... Selecting previously unselected package libwww-robotrules-perl. Preparing to unpack .../085-libwww-robotrules-perl_6.02-1_all.deb ... Unpacking libwww-robotrules-perl (6.02-1) ... Selecting previously unselected package libwww-perl. Preparing to unpack .../086-libwww-perl_6.67-1_all.deb ... Unpacking libwww-perl (6.67-1) ... Selecting previously unselected package patchutils. Preparing to unpack .../087-patchutils_0.4.2-1build2_amd64.deb ... Unpacking patchutils (0.4.2-1build2) ... Selecting previously unselected package wdiff. Preparing to unpack .../088-wdiff_1.2.2-2build3_amd64.deb ... Unpacking wdiff (1.2.2-2build3) ... Selecting previously unselected package devscripts. Preparing to unpack .../089-devscripts_2.22.2ubuntu1_amd64.deb ... Unpacking devscripts (2.22.2ubuntu1) ... Selecting previously unselected package rubygems-integration. Preparing to unpack .../090-rubygems-integration_1.18_all.deb ... Unpacking rubygems-integration (1.18) ... Selecting previously unselected package ruby-net-telnet. Preparing to unpack .../091-ruby-net-telnet_0.1.1-2.1_all.deb ... Unpacking ruby-net-telnet (0.1.1-2.1) ... Selecting previously unselected package ruby-webrick. Preparing to unpack .../092-ruby-webrick_1.7.0-3_all.deb ... Unpacking ruby-webrick (1.7.0-3) ... Selecting previously unselected package ruby-xmlrpc. Preparing to unpack .../093-ruby-xmlrpc_0.3.2-2_all.deb ... Unpacking ruby-xmlrpc (0.3.2-2) ... Selecting previously unselected package libruby3.0:amd64. Preparing to unpack .../094-libruby3.0_3.0.2-7ubuntu2_amd64.deb ... Unpacking libruby3.0:amd64 (3.0.2-7ubuntu2) ... Selecting previously unselected package ruby3.0. Preparing to unpack .../095-ruby3.0_3.0.2-7ubuntu2_amd64.deb ... Unpacking ruby3.0 (3.0.2-7ubuntu2) ... Selecting previously unselected package ruby-rubygems. Preparing to unpack .../096-ruby-rubygems_3.3.15-1_all.deb ... Unpacking ruby-rubygems (3.3.15-1) ... Selecting previously unselected package ruby. Preparing to unpack .../097-ruby_1%3a3.0~exp1_amd64.deb ... Unpacking ruby (1:3.0~exp1) ... Selecting previously unselected package rake. Preparing to unpack .../098-rake_13.0.6-3_all.deb ... Unpacking rake (13.0.6-3) ... Selecting previously unselected package gem2deb-test-runner. Preparing to unpack .../099-gem2deb-test-runner_1.8_amd64.deb ... Unpacking gem2deb-test-runner (1.8) ... Selecting previously unselected package libgmpxx4ldbl:amd64. Preparing to unpack .../100-libgmpxx4ldbl_2%3a6.2.1+dfsg-3ubuntu1_amd64.deb ... Unpacking libgmpxx4ldbl:amd64 (2:6.2.1+dfsg-3ubuntu1) ... Selecting previously unselected package libgmp-dev:amd64. Preparing to unpack .../101-libgmp-dev_2%3a6.2.1+dfsg-3ubuntu1_amd64.deb ... Unpacking libgmp-dev:amd64 (2:6.2.1+dfsg-3ubuntu1) ... Selecting previously unselected package ruby3.0-dev:amd64. Preparing to unpack .../102-ruby3.0-dev_3.0.2-7ubuntu2_amd64.deb ... Unpacking ruby3.0-dev:amd64 (3.0.2-7ubuntu2) ... Selecting previously unselected package ruby-all-dev:amd64. Preparing to unpack .../103-ruby-all-dev_1%3a3.0~exp1_amd64.deb ... Unpacking ruby-all-dev:amd64 (1:3.0~exp1) ... Selecting previously unselected package gem2deb. Preparing to unpack .../104-gem2deb_1.8_amd64.deb ... Unpacking gem2deb (1.8) ... Selecting previously unselected package ruby-coderay. Preparing to unpack .../105-ruby-coderay_1.1.3-6_all.deb ... Unpacking ruby-coderay (1.1.3-6) ... Selecting previously unselected package ruby-method-source. Preparing to unpack .../106-ruby-method-source_1.0.0-2_all.deb ... Unpacking ruby-method-source (1.0.0-2) ... Selecting previously unselected package pry. Preparing to unpack .../107-pry_0.13.1-2_all.deb ... Unpacking pry (0.13.1-2) ... Selecting previously unselected package ruby-concurrent. Preparing to unpack .../108-ruby-concurrent_1.1.6+dfsg-5_all.deb ... Unpacking ruby-concurrent (1.1.6+dfsg-5) ... Selecting previously unselected package ruby-diff-lcs. Preparing to unpack .../109-ruby-diff-lcs_1.5.0-1_all.deb ... Unpacking ruby-diff-lcs (1.5.0-1) ... Selecting previously unselected package ruby-rbtree. Preparing to unpack .../110-ruby-rbtree_0.4.4-1build2_amd64.deb ... Unpacking ruby-rbtree (0.4.4-1build2) ... Selecting previously unselected package ruby-rspec-support. Preparing to unpack .../111-ruby-rspec-support_3.10.0c1e1m2s3-1_all.deb ... Unpacking ruby-rspec-support (3.10.0c1e1m2s3-1) ... Selecting previously unselected package ruby-rspec-core. Preparing to unpack .../112-ruby-rspec-core_3.10.0c1e1m2s3-1_all.deb ... Unpacking ruby-rspec-core (3.10.0c1e1m2s3-1) ... Selecting previously unselected package ruby-rspec-expectations. Preparing to unpack .../113-ruby-rspec-expectations_3.10.0c1e1m2s3-1_all.deb ... Unpacking ruby-rspec-expectations (3.10.0c1e1m2s3-1) ... Selecting previously unselected package ruby-rspec-mocks. Preparing to unpack .../114-ruby-rspec-mocks_3.10.0c1e1m2s3-1_all.deb ... Unpacking ruby-rspec-mocks (3.10.0c1e1m2s3-1) ... Selecting previously unselected package ruby-rspec. Preparing to unpack .../115-ruby-rspec_3.10.0c1e1m2s3-1_all.deb ... Unpacking ruby-rspec (3.10.0c1e1m2s3-1) ... Selecting previously unselected package ruby-sorted-set. Preparing to unpack .../116-ruby-sorted-set_1.0.3-3_all.deb ... Unpacking ruby-sorted-set (1.0.3-3) ... Selecting previously unselected package sbuild-build-depends-main-dummy. Preparing to unpack .../117-sbuild-build-depends-main-dummy_0.invalid.0_amd64.deb ... Unpacking sbuild-build-depends-main-dummy (0.invalid.0) ... Setting up libksba8:amd64 (1.6.0-2build1) ... Setting up media-types (8.0.0) ... Setting up libpipeline1:amd64 (1.5.6-1) ... Setting up libicu71:amd64 (71.1-3) ... Setting up wdiff (1.2.2-2build3) ... Setting up libfile-which-perl (1.27-1) ... Setting up bsdextrautils (2.38-4ubuntu1) ... Setting up libdynaloader-functions-perl (0.003-2) ... Setting up libclass-method-modifiers-perl (2.13-1) ... Setting up libio-pty-perl (1:1.15-2build2) ... Setting up libmagic-mgc (1:5.41-4) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libyaml-0-2:amd64 (0.2.2-1build2) ... Setting up libhtml-tagset-perl (3.20-4) ... Setting up libdebhelper-perl (13.7.1ubuntu1) ... Setting up gpgsm (2.2.27-3ubuntu2) ... Setting up liblwp-mediatypes-perl (6.04-1) ... Setting up libtry-tiny-perl (0.31-1) ... Setting up libmagic1:amd64 (1:5.41-4) ... Setting up perl-openssl-defaults:amd64 (7) ... Setting up gettext-base (0.21-6) ... Setting up libencode-locale-perl (1.05-2) ... Setting up rubygems-integration (1.18) ... Setting up file (1:5.41-4) ... Setting up ruby-concurrent (1.1.6+dfsg-5) ... Setting up libsasl2-modules-db:amd64 (2.1.28+dfsg-6ubuntu1) ... Setting up patchutils (0.4.2-1build2) ... Setting up ruby-method-source (1.0.0-2) ... Setting up autotools-dev (20220109.1) ... Setting up libgmpxx4ldbl:amd64 (2:6.2.1+dfsg-3ubuntu1) ... Setting up gnupg-l10n (2.2.27-3ubuntu2) ... Setting up ruby-net-telnet (0.1.1-2.1) ... Setting up libsigsegv2:amd64 (2.13-1ubuntu3) ... Setting up libio-html-perl (1.004-3) ... Setting up autopoint (0.21-6) ... Setting up libb-hooks-op-check-perl:amd64 (0.22-2) ... Setting up libipc-run-perl (20200505.0-1) ... Setting up libsasl2-2:amd64 (2.1.28+dfsg-6ubuntu1) ... Setting up ruby-rspec-support (3.10.0c1e1m2s3-1) ... Setting up libtimedate-perl (2.3300-2) ... Setting up ruby-webrick (1.7.0-3) ... Setting up gpg-wks-server (2.2.27-3ubuntu2) ... Setting up libmd0:amd64 (1.0.4-1build1) ... Setting up libuchardet0:amd64 (0.0.7-1build2) ... Setting up libmpdec3:amd64 (2.5.1-2build2) ... Setting up librole-tiny-perl (2.002004-1) ... Setting up libsub-override-perl (0.09-3) ... Setting up netbase (6.3) ... Setting up libsub-quote-perl (2.006006-1) ... Setting up libclass-xsaccessor-perl (1.19-3build9) ... Setting up libfile-dirlist-perl (0.05-2) ... Setting up libfile-homedir-perl (1.006-1) ... Setting up libbsd0:amd64 (0.11.6-1) ... Setting up libelf1:amd64 (0.187-1) ... Setting up ruby-xmlrpc (0.3.2-2) ... Setting up libxml2:amd64 (2.9.14+dfsg-1) ... Setting up liburi-perl (5.10-1) ... Setting up libfile-touch-perl (0.12-1) ... Setting up gnupg-utils (2.2.27-3ubuntu2) ... Setting up libnet-ssleay-perl:amd64 (1.92-2) ... Setting up libfile-stripnondeterminism-perl (1.13.0-1) ... Setting up libhttp-date-perl (6.05-1) ... Setting up libdw1:amd64 (0.187-1) ... Setting up gettext (0.21-6) ... Setting up libgmp-dev:amd64 (2:6.2.1+dfsg-3ubuntu1) ... Setting up libfile-listing-perl (6.15-1) ... Setting up libtool (2.4.7-4) ... Setting up libedit2:amd64 (3.1-20210910-1build1) ... Setting up libnet-http-perl (6.22-1) ... Setting up m4 (1.4.18-5ubuntu2) ... Setting up libdevel-callchecker-perl (0.008-1ubuntu4) ... Setting up libldap-2.5-0:amd64 (2.5.12+dfsg-2ubuntu1) ... Setting up intltool-debian (0.35.0+20060710.5) ... Setting up libpython3.10-stdlib:amd64 (3.10.5-1) ... Setting up dirmngr (2.2.27-3ubuntu2) ... Created symlink /etc/systemd/user/sockets.target.wants/dirmngr.socket → /usr/lib/systemd/user/dirmngr.socket. Setting up autoconf (2.71-2) ... Setting up dh-strip-nondeterminism (1.13.0-1) ... Setting up libwww-robotrules-perl (6.02-1) ... Setting up dwz (0.14-1build2) ... Setting up groff-base (1.22.4-8build1) ... Setting up libhtml-parser-perl:amd64 (3.78-1) ... Setting up debugedit (1:5.0-4build1) ... Setting up libio-socket-ssl-perl (2.074-2) ... Setting up libpython3-stdlib:amd64 (3.10.4-0ubuntu2) ... Setting up libhttp-message-perl (6.37-1) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libhttp-negotiate-perl (6.01-1) ... Setting up python3.10 (3.10.5-1) ... Setting up gpg-wks-client (2.2.27-3ubuntu2) ... Setting up libhttp-cookies-perl (6.10-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libhtml-tree-perl (5.07-2) ... Setting up libparams-classify-perl:amd64 (0.015-2) ... Setting up python3 (3.10.4-0ubuntu2) ... Setting up man-db (2.10.2-1) ... Not building database; man-db/auto-update is not 'true'. Created symlink /etc/systemd/system/timers.target.wants/man-db.timer → /lib/systemd/system/man-db.timer. Setting up dh-autoreconf (20) ... Setting up libmodule-runtime-perl (0.016-2) ... Setting up gnupg (2.2.27-3ubuntu2) ... Setting up libimport-into-perl (1.002005-2) ... Setting up libmoo-perl (2.005004-3) ... Setting up debhelper (13.7.1ubuntu1) ... Setting up liblwp-protocol-https-perl (6.10-1) ... Setting up libruby3.0:amd64 (3.0.2-7ubuntu2) ... Setting up libwww-perl (6.67-1) ... Setting up ruby-rubygems (3.3.15-1) ... Setting up devscripts (2.22.2ubuntu1) ... Setting up ruby3.0-dev:amd64 (3.0.2-7ubuntu2) ... Setting up ruby3.0 (3.0.2-7ubuntu2) ... Setting up ruby-all-dev:amd64 (1:3.0~exp1) ... Setting up ruby (1:3.0~exp1) ... Setting up ruby-rbtree (0.4.4-1build2) ... Setting up ruby-coderay (1.1.3-6) ... Setting up rake (13.0.6-3) ... Setting up ruby-rspec-core (3.10.0c1e1m2s3-1) ... Setting up pry (0.13.1-2) ... Setting up ruby-diff-lcs (1.5.0-1) ... Setting up ruby-sorted-set (1.0.3-3) ... Setting up gem2deb-test-runner (1.8) ... Setting up ruby-rspec-expectations (3.10.0c1e1m2s3-1) ... Setting up ruby-rspec-mocks (3.10.0c1e1m2s3-1) ... Setting up gem2deb (1.8) ... Setting up ruby-rspec (3.10.0c1e1m2s3-1) ... Setting up sbuild-build-depends-main-dummy (0.invalid.0) ... Processing triggers for libc-bin (2.35-0ubuntu3) ... +------------------------------------------------------------------------------+ | Check architectures | +------------------------------------------------------------------------------+ Arch check ok (amd64 included in all) +------------------------------------------------------------------------------+ | Build environment | +------------------------------------------------------------------------------+ Kernel: Linux 5.4.0-120-generic #136-Ubuntu SMP Fri Jun 10 13:40:48 UTC 2022 amd64 (x86_64) Toolchain package versions: binutils_2.38.50.20220615-4ubuntu1 dpkg-dev_1.21.8ubuntu1 g++-11_11.3.0-3ubuntu1 gcc-11_11.3.0-3ubuntu1 libc6-dev_2.35-0ubuntu3 libstdc++-11-dev_11.3.0-3ubuntu1 libstdc++6_12.1.0-2ubuntu1 linux-libc-dev_5.15.0-27.28 Package versions: adduser_3.121ubuntu1 advancecomp_2.1-2.1ubuntu2 apt_2.5.0 autoconf_2.71-2 automake_1:1.16.5-1.3 autopoint_0.21-6 autotools-dev_20220109.1 base-files_12.2ubuntu1 base-passwd_3.5.52build1 bash_5.1-6ubuntu1 binutils_2.38.50.20220615-4ubuntu1 binutils-common_2.38.50.20220615-4ubuntu1 binutils-x86-64-linux-gnu_2.38.50.20220615-4ubuntu1 bsdextrautils_2.38-4ubuntu1 bsdutils_1:2.38-4ubuntu1 build-essential_12.9ubuntu3 bzip2_1.0.8-5build1 ca-certificates_20211016 coreutils_8.32-4.1ubuntu1 cpp_4:11.2.0-1ubuntu1 cpp-11_11.3.0-3ubuntu1 dash_0.5.11+git20210903+057cd650a4ed-8ubuntu1 debconf_1.5.79ubuntu1 debhelper_13.7.1ubuntu1 debianutils_5.7-0.2 debugedit_1:5.0-4build1 devscripts_2.22.2ubuntu1 dh-autoreconf_20 dh-strip-nondeterminism_1.13.0-1 diffutils_1:3.8-0ubuntu2 dirmngr_2.2.27-3ubuntu2 dpkg_1.21.8ubuntu1 dpkg-dev_1.21.8ubuntu1 dwz_0.14-1build2 e2fsprogs_1.46.5-2ubuntu2 fakeroot_1.29-1ubuntu1 file_1:5.41-4 findutils_4.8.0-1ubuntu3 g++_4:11.2.0-1ubuntu1 g++-11_11.3.0-3ubuntu1 gcc_4:11.2.0-1ubuntu1 gcc-11_11.3.0-3ubuntu1 gcc-11-base_11.3.0-3ubuntu1 gcc-12-base_12.1.0-2ubuntu1 gem2deb_1.8 gem2deb-test-runner_1.8 gettext_0.21-6 gettext-base_0.21-6 gnupg_2.2.27-3ubuntu2 gnupg-l10n_2.2.27-3ubuntu2 gnupg-utils_2.2.27-3ubuntu2 gpg_2.2.27-3ubuntu2 gpg-agent_2.2.27-3ubuntu2 gpg-wks-client_2.2.27-3ubuntu2 gpg-wks-server_2.2.27-3ubuntu2 gpgconf_2.2.27-3ubuntu2 gpgsm_2.2.27-3ubuntu2 gpgv_2.2.27-3ubuntu2 grep_3.7-1build1 groff-base_1.22.4-8build1 gzip_1.10-4ubuntu4 hostname_3.23ubuntu2 init_1.63 init-system-helpers_1.63 intltool-debian_0.35.0+20060710.5 libacl1_2.3.1-1 libapparmor1_3.0.4-2ubuntu3 libapt-pkg6.0_2.5.0 libarchive-zip-perl_1.68-1 libargon2-1_0~20171227-0.3 libasan6_11.3.0-3ubuntu1 libassuan0_2.5.5-3 libatomic1_12.1.0-2ubuntu1 libattr1_1:2.5.1-1build1 libaudit-common_1:3.0.7-1build1 libaudit1_1:3.0.7-1build1 libb-hooks-op-check-perl_0.22-2 libbinutils_2.38.50.20220615-4ubuntu1 libblkid1_2.38-4ubuntu1 libbsd0_0.11.6-1 libbz2-1.0_1.0.8-5build1 libc-bin_2.35-0ubuntu3 libc-dev-bin_2.35-0ubuntu3 libc6_2.35-0ubuntu3 libc6-dev_2.35-0ubuntu3 libcap-ng0_0.7.9-4 libcap2_1:2.44-1build3 libcc1-0_12.1.0-2ubuntu1 libclass-method-modifiers-perl_2.13-1 libclass-xsaccessor-perl_1.19-3build9 libcom-err2_1.46.5-2ubuntu2 libcrypt-dev_1:4.4.27-1 libcrypt1_1:4.4.27-1 libcryptsetup12_2:2.4.3-1ubuntu1 libctf-nobfd0_2.38.50.20220615-4ubuntu1 libctf0_2.38.50.20220615-4ubuntu1 libdb5.3_5.3.28+dfsg1-0.9 libdebconfclient0_0.261ubuntu1 libdebhelper-perl_13.7.1ubuntu1 libdevel-callchecker-perl_0.008-1ubuntu4 libdevmapper1.02.1_2:1.02.175-2.1ubuntu4 libdpkg-perl_1.21.8ubuntu1 libdw1_0.187-1 libdynaloader-functions-perl_0.003-2 libedit2_3.1-20210910-1build1 libelf1_0.187-1 libencode-locale-perl_1.05-2 libexpat1_2.4.8-1 libext2fs2_1.46.5-2ubuntu2 libfakeroot_1.29-1ubuntu1 libffi8_3.4.2-4 libfile-dirlist-perl_0.05-2 libfile-homedir-perl_1.006-1 libfile-listing-perl_6.15-1 libfile-stripnondeterminism-perl_1.13.0-1 libfile-touch-perl_0.12-1 libfile-which-perl_1.27-1 libgcc-11-dev_11.3.0-3ubuntu1 libgcc-s1_12.1.0-2ubuntu1 libgcrypt20_1.10.1-2ubuntu1 libgdbm-compat4_1.23-1 libgdbm6_1.23-1 libgmp-dev_2:6.2.1+dfsg-3ubuntu1 libgmp10_2:6.2.1+dfsg-3ubuntu1 libgmpxx4ldbl_2:6.2.1+dfsg-3ubuntu1 libgnutls30_3.7.6-2ubuntu1 libgomp1_12.1.0-2ubuntu1 libgpg-error0_1.45-2 libgprofng0_2.38.50.20220615-4ubuntu1 libgssapi-krb5-2_1.19.2-2 libhogweed6_3.7.3-1build2 libhtml-parser-perl_3.78-1 libhtml-tagset-perl_3.20-4 libhtml-tree-perl_5.07-2 libhttp-cookies-perl_6.10-1 libhttp-date-perl_6.05-1 libhttp-message-perl_6.37-1 libhttp-negotiate-perl_6.01-1 libicu71_71.1-3 libidn2-0_2.3.2-2build1 libimport-into-perl_1.002005-2 libio-html-perl_1.004-3 libio-pty-perl_1:1.15-2build2 libio-socket-ssl-perl_2.074-2 libip4tc2_1.8.7-1ubuntu6 libipc-run-perl_20200505.0-1 libisl23_0.24-2build1 libitm1_12.1.0-2ubuntu1 libjson-c5_0.16-1 libk5crypto3_1.19.2-2 libkeyutils1_1.6.1-3ubuntu1 libkmod2_29-1ubuntu1 libkrb5-3_1.19.2-2 libkrb5support0_1.19.2-2 libksba8_1.6.0-2build1 libldap-2.5-0_2.5.12+dfsg-2ubuntu1 liblockfile-bin_1.17-1build2 liblockfile1_1.17-1build2 liblsan0_12.1.0-2ubuntu1 liblwp-mediatypes-perl_6.04-1 liblwp-protocol-https-perl_6.10-1 liblz4-1_1.9.3-2build2 liblzma5_5.2.5-2.1 libmagic-mgc_1:5.41-4 libmagic1_1:5.41-4 libmd0_1.0.4-1build1 libmodule-runtime-perl_0.016-2 libmoo-perl_2.005004-3 libmount1_2.38-4ubuntu1 libmpc3_1.2.1-2build1 libmpdec3_2.5.1-2build2 libmpfr6_4.1.0-3build3 libncurses6_6.3+20220423-2 libncursesw6_6.3+20220423-2 libnet-http-perl_6.22-1 libnet-ssleay-perl_1.92-2 libnettle8_3.7.3-1build2 libnpth0_1.6-3build2 libnsl-dev_1.3.0-2build2 libnsl2_1.3.0-2build2 libp11-kit0_0.24.1-1 libpam-modules_1.4.0-13ubuntu1 libpam-modules-bin_1.4.0-13ubuntu1 libpam-runtime_1.4.0-13ubuntu1 libpam0g_1.4.0-13ubuntu1 libparams-classify-perl_0.015-2 libpcre2-8-0_10.40-1 libpcre3_2:8.39-14 libperl5.34_5.34.0-3ubuntu1 libpipeline1_1.5.6-1 libpng16-16_1.6.37-5 libprocps8_2:3.3.17-6ubuntu2 libpython3-stdlib_3.10.4-0ubuntu2 libpython3.10-minimal_3.10.5-1 libpython3.10-stdlib_3.10.5-1 libquadmath0_12.1.0-2ubuntu1 libreadline8_8.1.2-1.2 librole-tiny-perl_2.002004-1 libruby3.0_3.0.2-7ubuntu2 libsasl2-2_2.1.28+dfsg-6ubuntu1 libsasl2-modules-db_2.1.28+dfsg-6ubuntu1 libseccomp2_2.5.4-1ubuntu1 libselinux1_3.4-1 libsemanage-common_3.4-1 libsemanage2_3.4-1 libsepol2_3.4-2 libsigsegv2_2.13-1ubuntu3 libsmartcols1_2.38-4ubuntu1 libsqlite3-0_3.38.5-1 libss2_1.46.5-2ubuntu2 libssl3_3.0.3-5ubuntu3 libstdc++-11-dev_11.3.0-3ubuntu1 libstdc++6_12.1.0-2ubuntu1 libsub-override-perl_0.09-3 libsub-quote-perl_2.006006-1 libsystemd0_249.11-0ubuntu4 libtasn1-6_4.18.0-4build1 libtimedate-perl_2.3300-2 libtinfo6_6.3+20220423-2 libtirpc-common_1.3.2-2build1 libtirpc-dev_1.3.2-2build1 libtirpc3_1.3.2-2build1 libtool_2.4.7-4 libtry-tiny-perl_0.31-1 libtsan0_11.3.0-3ubuntu1 libubsan1_12.1.0-2ubuntu1 libuchardet0_0.0.7-1build2 libudev1_249.11-0ubuntu4 libunistring2_1.0-1 liburi-perl_5.10-1 libuuid1_2.38-4ubuntu1 libwww-perl_6.67-1 libwww-robotrules-perl_6.02-1 libxml2_2.9.14+dfsg-1 libxxhash0_0.8.1-1 libyaml-0-2_0.2.2-1build2 libzstd1_1.5.2+dfsg-1 linux-libc-dev_5.15.0-27.28 lockfile-progs_0.1.19build1 login_1:4.11.1+dfsg1-2ubuntu1 logsave_1.46.5-2ubuntu2 lsb-base_11.1.0ubuntu4 lto-disabled-list_27 m4_1.4.18-5ubuntu2 make_4.3-4.1build1 man-db_2.10.2-1 mawk_1.3.4.20200120-3.1 media-types_8.0.0 mount_2.38-4ubuntu1 ncurses-base_6.3+20220423-2 ncurses-bin_6.3+20220423-2 netbase_6.3 openssl_3.0.3-5ubuntu3 optipng_0.7.7-2build1 passwd_1:4.11.1+dfsg1-2ubuntu1 patch_2.7.6-7build2 patchutils_0.4.2-1build2 perl_5.34.0-3ubuntu1 perl-base_5.34.0-3ubuntu1 perl-modules-5.34_5.34.0-3ubuntu1 perl-openssl-defaults_7 pinentry-curses_1.2.0-1ubuntu1 pkgbinarymangler_149 po-debconf_1.0.21+nmu1 policyrcd-script-zg2_0.1-3.1 procps_2:3.3.17-6ubuntu2 pry_0.13.1-2 python3_3.10.4-0ubuntu2 python3-minimal_3.10.4-0ubuntu2 python3.10_3.10.5-1 python3.10-minimal_3.10.5-1 rake_13.0.6-3 readline-common_8.1.2-1.2 rpcsvc-proto_1.4.2-0ubuntu6 ruby_1:3.0~exp1 ruby-all-dev_1:3.0~exp1 ruby-coderay_1.1.3-6 ruby-concurrent_1.1.6+dfsg-5 ruby-diff-lcs_1.5.0-1 ruby-method-source_1.0.0-2 ruby-net-telnet_0.1.1-2.1 ruby-rbtree_0.4.4-1build2 ruby-rspec_3.10.0c1e1m2s3-1 ruby-rspec-core_3.10.0c1e1m2s3-1 ruby-rspec-expectations_3.10.0c1e1m2s3-1 ruby-rspec-mocks_3.10.0c1e1m2s3-1 ruby-rspec-support_3.10.0c1e1m2s3-1 ruby-rubygems_3.3.15-1 ruby-sorted-set_1.0.3-3 ruby-webrick_1.7.0-3 ruby-xmlrpc_0.3.2-2 ruby3.0_3.0.2-7ubuntu2 ruby3.0-dev_3.0.2-7ubuntu2 rubygems-integration_1.18 sbuild-build-depends-main-dummy_0.invalid.0 sed_4.8-1ubuntu2 sensible-utils_0.0.17 systemd_249.11-0ubuntu4 systemd-sysv_249.11-0ubuntu4 sysvinit-utils_3.01-1ubuntu1 tar_1.34+dfsg-1build3 tzdata_2022a-0ubuntu1 ubuntu-keyring_2021.03.26 usrmerge_25ubuntu2 util-linux_2.38-4ubuntu1 util-linux-extra_2.38-4ubuntu1 wdiff_1.2.2-2build3 xz-utils_5.2.5-2.1 zlib1g_1:1.2.11.dfsg-2ubuntu9 +------------------------------------------------------------------------------+ | Build | +------------------------------------------------------------------------------+ Unpack source ------------- -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: ruby-hamster Binary: ruby-hamster Architecture: all Version: 3.0.0-4 Maintainer: Debian Ruby Team Uploaders: Hanno Zulla Homepage: https://github.com/hamstergem/hamster Standards-Version: 4.6.0 Vcs-Browser: https://salsa.debian.org/ruby-team/ruby-hamster Vcs-Git: https://salsa.debian.org/ruby-team/ruby-hamster.git Testsuite: autopkgtest-pkg-ruby Build-Depends: debhelper-compat (= 13), gem2deb, pry, rake, ruby-concurrent, ruby-rspec, ruby-sorted-set Package-List: ruby-hamster deb ruby optional arch=all Checksums-Sha1: cf33571135d31fcd96d54326a06601a36152e10d 129120 ruby-hamster_3.0.0.orig.tar.gz 755b1430ea6b5bd080291677fe8e3056f3fe9555 4880 ruby-hamster_3.0.0-4.debian.tar.xz Checksums-Sha256: 6c8d5c12d3770559401b72c742ac540875a6dcd568c525b3f8c7ffe776429bbf 129120 ruby-hamster_3.0.0.orig.tar.gz 5dcf4d90d3c3bc1939ad47f00e5412c57db1ce5437972affd4a57151182119f8 4880 ruby-hamster_3.0.0-4.debian.tar.xz Files: 97f16109fe1f4efdb1eda481a3111dab 129120 ruby-hamster_3.0.0.orig.tar.gz 334e87bf6ff3c2c363e3711e2048e68c 4880 ruby-hamster_3.0.0-4.debian.tar.xz Ruby-Versions: all -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQSEz/3CFSD4gwbsKdFSaZq2P58rwwUCYfEtdAAKCRBSaZq2P58r w09CAQD6cERcQmidXsV/loXyK2Z+EErKJs9/4BYPJ6eMM2jHYwEA0QsVWJ1LNEwy LEvoGPY26KB0i64ypToV8uCBd7ULCQQ= =QFbC -----END PGP SIGNATURE----- gpgv: Signature made Wed Jan 26 11:16:04 2022 UTC gpgv: using EDDSA key 84CFFDC21520F88306EC29D152699AB63F9F2BC3 gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify signature ./ruby-hamster_3.0.0-4.dsc dpkg-source: info: extracting ruby-hamster in /<> dpkg-source: info: unpacking ruby-hamster_3.0.0.orig.tar.gz dpkg-source: info: unpacking ruby-hamster_3.0.0-4.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying 01-remove-code-climate.patch dpkg-source: info: applying 0002-skip-timing-sensitive-test.patch dpkg-source: info: applying 0003-ignore-failing-tests-caused-by-new-sorted_set.patch dpkg-source: info: applying 0004-support-Ruby-3.0.patch dpkg-source: info: applying 0005-Fix-tests-for-Hamster.to_ruby-for-Ruby-3.0.patch Check disk space ---------------- Sufficient free space for build User Environment ---------------- APT_CONFIG=/var/lib/sbuild/apt.conf DEB_BUILD_OPTIONS=noautodbgsym parallel=4 HOME=/sbuild-nonexistent LANG=C.UTF-8 LC_ALL=C.UTF-8 LOGNAME=buildd PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games SCHROOT_ALIAS_NAME=build-PACKAGEBUILD-24065342 SCHROOT_CHROOT_NAME=build-PACKAGEBUILD-24065342 SCHROOT_COMMAND=env SCHROOT_GID=2501 SCHROOT_GROUP=buildd SCHROOT_SESSION_ID=build-PACKAGEBUILD-24065342 SCHROOT_UID=2001 SCHROOT_USER=buildd SHELL=/bin/sh TERM=unknown USER=buildd V=1 dpkg-buildpackage ----------------- Command: dpkg-buildpackage -us -uc -mLaunchpad Build Daemon -b -rfakeroot dpkg-buildpackage: info: source package ruby-hamster dpkg-buildpackage: info: source version 3.0.0-4 dpkg-buildpackage: info: source distribution unstable dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean --buildsystem=ruby --with ruby dh_auto_clean -O--buildsystem=ruby dh_ruby --clean dh_ruby --clean dh_autoreconf_clean -O--buildsystem=ruby dh_clean -O--buildsystem=ruby debian/rules binary dh binary --buildsystem=ruby --with ruby dh_update_autotools_config -O--buildsystem=ruby dh_autoreconf -O--buildsystem=ruby dh_auto_configure -O--buildsystem=ruby dh_ruby --configure dh_auto_build -O--buildsystem=ruby dh_ruby --build dh_ruby --build dh_auto_test -O--buildsystem=ruby dh_ruby --test create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=ruby dh_prep -O--buildsystem=ruby dh_auto_install --destdir=debian/ruby-hamster/ -O--buildsystem=ruby dh_ruby --install /<>/debian/ruby-hamster dh_ruby --install /usr/bin/ruby3.0 -S gem build --config-file /dev/null --verbose /tmp/d20220623-4800-sowma2/gemspec Failed to load /dev/null because it doesn't contain valid YAML hash WARNING: description and summary are identical WARNING: See https://guides.rubygems.org/specification-reference/ for help Successfully built RubyGem Name: hamster Version: 3.0.0 File: hamster-3.0.0.gem /usr/bin/ruby3.0 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-hamster/usr/share/rubygems-integration/all /tmp/d20220623-4800-sowma2/hamster-3.0.0.gem Failed to load /dev/null because it doesn't contain valid YAML hash /<>/debian/ruby-hamster/usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster.rb /<>/debian/ruby-hamster/usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/associable.rb /<>/debian/ruby-hamster/usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/core_ext.rb /<>/debian/ruby-hamster/usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/core_ext/enumerable.rb /<>/debian/ruby-hamster/usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/core_ext/io.rb /<>/debian/ruby-hamster/usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/core_ext/struct.rb /<>/debian/ruby-hamster/usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/deque.rb /<>/debian/ruby-hamster/usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/enumerable.rb /<>/debian/ruby-hamster/usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/experimental/mutable_queue.rb /<>/debian/ruby-hamster/usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/experimental/mutable_set.rb /<>/debian/ruby-hamster/usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/hash.rb /<>/debian/ruby-hamster/usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/immutable.rb /<>/debian/ruby-hamster/usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/list.rb /<>/debian/ruby-hamster/usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/mutable_hash.rb /<>/debian/ruby-hamster/usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/nested.rb /<>/debian/ruby-hamster/usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/read_copy_update.rb /<>/debian/ruby-hamster/usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/set.rb /<>/debian/ruby-hamster/usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/sorted_set.rb /<>/debian/ruby-hamster/usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/trie.rb /<>/debian/ruby-hamster/usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/undefined.rb /<>/debian/ruby-hamster/usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/vector.rb /<>/debian/ruby-hamster/usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/version.rb Successfully installed hamster-3.0.0 1 gem installed cd debian/ruby-hamster/usr/share/rubygems-integration/all rm -rf bin rm -rf build_info rm -rf cache rm -rf doc rm -rf extensions rmdir plugins cd gems/hamster-3.0.0 rm -f chmod 644 lib/hamster/associable.rb lib/hamster/core_ext/enumerable.rb lib/hamster/core_ext/io.rb lib/hamster/core_ext/struct.rb lib/hamster/core_ext.rb lib/hamster/deque.rb lib/hamster/enumerable.rb lib/hamster/experimental/mutable_queue.rb lib/hamster/experimental/mutable_set.rb lib/hamster/hash.rb lib/hamster/immutable.rb lib/hamster/list.rb lib/hamster/mutable_hash.rb lib/hamster/nested.rb lib/hamster/read_copy_update.rb lib/hamster/set.rb lib/hamster/sorted_set.rb lib/hamster/trie.rb lib/hamster/undefined.rb lib/hamster/vector.rb lib/hamster/version.rb lib/hamster.rb find lib/ -type d -empty -delete cd - cd - /usr/bin/ruby3.0 /usr/bin/gem2deb-test-runner ┌──────────────────────────────────────────────────────────────────────────────┐ │ Checking Rubygems dependency resolution on ruby3.0 │ └──────────────────────────────────────────────────────────────────────────────┘ GEM_PATH=/<>/debian/ruby-hamster/usr/share/rubygems-integration/all:/<>/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.0.0:/var/lib/gems/3.0.0:/usr/local/lib/ruby/gems/3.0.0:/usr/lib/ruby/gems/3.0.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.0.0:/usr/share/rubygems-integration/3.0.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.0.0 ruby3.0 -e gem\ \"hamster\" ┌──────────────────────────────────────────────────────────────────────────────┐ │ Run tests for ruby3.0 from debian/ruby-tests.rake │ └──────────────────────────────────────────────────────────────────────────────┘ RUBYLIB=. GEM_PATH=/<>/debian/ruby-hamster/usr/share/rubygems-integration/all:/<>/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.0.0:/var/lib/gems/3.0.0:/usr/local/lib/ruby/gems/3.0.0:/usr/lib/ruby/gems/3.0.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.0.0:/usr/share/rubygems-integration/3.0.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.0.0 ruby3.0 -S rake -f debian/ruby-tests.rake /usr/bin/ruby3.0 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.10.3/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.10.1/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.10.1/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation Hamster::Associable #update_in with one level on existing key Hash passes the value to the block Vector passes the value to the block Hash replaces the value with the result of the block Vector replaces the value with the result of the block Hash should preserve the original Vector should preserve the original with multi-level on existing keys Hash passes the value to the block Vector passes the value to the block Hash replaces the value with the result of the block Vector replaces the value with the result of the block Hash should preserve the original Vector should preserve the original with multi-level creating sub-hashes when keys don't exist Hash passes nil to the block Vector passes nil to the block Hash creates subhashes on the way to set the value Vector creates subhashes on the way to set the value Hash with multi-level including Vector with existing keys passes the value to the block replaces the value with the result of the block should preserve the original Vector with multi-level including Hash with existing keys passes the value to the block replaces the value with the result of the block should preserve the original with empty key_path Hash raises ArguemntError Vector raises ArguemntError Array #to_list returns an equivalent hamster list Enumerable #to_list returns an equivalent list works on Ranges IO #to_list with a File returns an equivalent list with a StringIO returns an equivalent list Hamster::Deque #clear on [] preserves the original returns an empty deque on ["A"] preserves the original returns an empty deque on ["A", "B", "C"] preserves the original returns an empty deque from a subclass returns an instance of the subclass Hamster::Deque .[] with no arguments always returns the same instance returns an empty, frozen deque with a number of items always returns a different instance is the same as repeatedly using #endeque Hamster::Deque on [] returns self on ["A"] returns self on ["A", "B", "C"] returns self on [] returns self on ["A"] returns self on ["A", "B", "C"] returns self Hamster::Deque #dequeue on [] preserves the original returns [] on ["A"] preserves the original returns [] on ["A", "B", "C"] preserves the original returns ["B", "C"] on empty subclass returns emtpy object of same class #shift on [] preserves the original returns [] on ["A"] preserves the original returns [] on ["A", "B", "C"] preserves the original returns ["B", "C"] on empty subclass returns emtpy object of same class Hamster::Deque #empty? on [] returns true on ["A"] returns false on ["A", "B", "C"] returns false after dedequeing an item from ["A", "B", "C"] returns false .empty returns the canonical empty deque from a subclass returns an empty instance of the subclass Hamster::Deque #enqueue on [] with "A" preserves the original returns ["A"] on ["A"] with "B" preserves the original returns ["A", "B"] on ["A"] with "A" preserves the original returns ["A", "A"] on ["A", "B", "C"] with "D" preserves the original returns ["A", "B", "C", "D"] #push on [] with "A" preserves the original returns ["A"] on ["A"] with "B" preserves the original returns ["A", "B"] on ["A"] with "A" preserves the original returns ["A", "A"] on ["A", "B", "C"] with "D" preserves the original returns ["A", "B", "C", "D"] Hamster::Deque #first on [] returns nil on ["A"] returns "A" on ["A", "B", "C"] returns "A" Hamster::Deque #inspect on [] returns "Hamster::Deque[]" returns a string which can be eval'd to get an equivalent object on ["A"] returns "Hamster::Deque[\"A\"]" returns a string which can be eval'd to get an equivalent object on ["A", "B", "C"] returns "Hamster::Deque[\"A\", \"B\", \"C\"]" returns a string which can be eval'd to get an equivalent object Hamster::Deque #last on [] returns nil on ["A"] returns "A" on ["A", "B", "C"] returns "C" Hamster::Deque #marshal_dump/#marshal_load can survive dumping and loading into a new process is still possible to push and pop items after loading Hamster::Deque .new accepts a single enumerable argument and creates a new deque is amenable to overriding of #initialize from a subclass returns a frozen instance of the subclass .[] accepts a variable number of items and creates a new deque Hamster::Deque #pop on [] preserves the original returns [] returns a frozen instance on ["A"] preserves the original returns [] returns a frozen instance on ["A", "B", "C"] preserves the original returns ["A", "B"] returns a frozen instance on empty subclass returns emtpy object of same class Hamster::Deque #pretty_print prints the whole Deque on one line if it fits prints each item on its own line, if not Hamster::Deque #push pushing "A" into [] preserves the original returns ["A"] returns a frozen instance pushing "B" into ["A"] preserves the original returns ["A", "B"] returns a frozen instance pushing "D" into ["A", "B", "C"] preserves the original returns ["A", "B", "C", "D"] returns a frozen instance on a subclass returns an object of same class Hamster::Deque modification (using #push, #pop, #shift, and #unshift) works when applied in many random combinations Hamster::Deque #shift on [] preserves the original returns [] returns a frozen instance on ["A"] preserves the original returns [] returns a frozen instance on ["A", "B", "C"] preserves the original returns ["B", "C"] returns a frozen instance Hamster::Deque #size on [] returns 0 on ["A"] returns 1 on ["A", "B", "C"] returns 3 #length on [] returns 0 on ["A"] returns 1 on ["A", "B", "C"] returns 3 Hamster::Deque #to_a on [] returns [] returns a mutable array on ["A"] returns ["A"] returns a mutable array on ["A", "B", "C"] returns ["A", "B", "C"] returns a mutable array #entries on [] returns [] returns a mutable array on ["A"] returns ["A"] returns a mutable array on ["A", "B", "C"] returns ["A", "B", "C"] returns a mutable array Hamster::Deque #to_ary enables implicit conversion to block parameters method arguments works with splat Hamster::Deque #to_list on [] returns a list containing [] on ["A"] returns a list containing ["A"] on ["A", "B", "C"] returns a list containing ["A", "B", "C"] after dedequeing an item from ["A", "B", "C"] returns a list containing ["B", "C"] Hamster::Deque #unshift on [] with "A" preserves the original returns ["A"] returns a frozen instance on ["A"] with "B" preserves the original returns ["B", "A"] returns a frozen instance on ["A"] with "A" preserves the original returns ["A", "A"] returns a frozen instance on ["A", "B", "C"] with "D" preserves the original returns ["D", "A", "B", "C"] returns a frozen instance Hamster::MutableSet #add? with a unique value returns true modifies the set to include the new value with a duplicate value returns false preserves the original values Hamster::MutableSet #add with a unique value returns self modifies the original set to include new value with a duplicate value returns self preserves the original values Hamster::MutableSet #delete? with an existing value returns true modifies the set to remove the value with a non-existing value returns false preserves the original values Hamster::MutableSet #delete with an existing value returns self modifies the set to remove the value with a non-existing value returns self preserves the original values Hamster::Hash #all? when empty without a block returns true with a block returns true when not empty without a block returns true with a block returns true if the block always returns true returns false if the block ever returns false propagates an exception from the block stops iterating as soon as the block returns false Hamster::Hash #any? when empty with a block returns false with no block returns false when not empty with a block returns true if the block ever returns true (["A", "aye"]) returns false if the block always returns false returns true if the block ever returns true (["B", "bee"]) returns false if the block always returns false returns true if the block ever returns true (["C", "see"]) returns false if the block always returns false returns true if the block ever returns true ([nil, "NIL"]) returns false if the block always returns false propagates exceptions raised in the block stops iterating as soon as the block returns true with no block returns true Hamster::Hash #assoc searches for a key/val pair with a given key returns nil if a matching key is not found returns nil even if there is a default uses #== to compare keys with provided object #rassoc searches for a key/val pair with a given value returns nil if a matching value is not found returns nil even if there is a default uses #== to compare values with provided object Hamster::Hash #clear maintains the default Proc, if there is one on [] preserves the original returns an empty hash on [{"A"=>"aye"}] preserves the original returns an empty hash on [{"A"=>"aye", "B"=>"bee", "C"=>"see"}] preserves the original returns an empty hash on a subclass returns an empty instance of the subclass Hamster::Hash .hash with nothing returns the canonical empty hash with an implicit hash is equivalent to repeatedly using #put with an array of pairs initializes a new Hash with a Hamster::Hash initializes an equivalent Hash Hamster::Hash #dup returns self #clone returns self Hamster::Hash #default_proc returns the default block given when the Hash was created returns nil if no default block was given after a key/val pair are inserted doesn't change after all key/val pairs are filtered out doesn't change after Hash is inverted doesn't change when a slice is taken doesn't change when keys are removed with #except doesn't change when Hash is mapped doesn't change when another Hash is merged in doesn't change Hamster::Hash #delete with an existing key preserves the original returns a copy with the remaining key/value pairs with a non-existing key preserves the original values returns self when removing the last key from a Hash with no default block returns the canonical empty Hash Hamster::Hash #dig returns the value with one argument to dig returns the value in nested hashes returns nil if the key is not present returns nil if you dig out the end of the hash returns nil if a value does not support dig returns the correct value when there is a default proc Hamster::Hash #each with a block (internal iteration) returns self yields all key/value pairs yields key/value pairs in the same order as #each_key and #each_value yields both of a pair of colliding keys yields only the key to a block expecting |key,| with no block returns an Enumerator #each_pair with a block (internal iteration) returns self yields all key/value pairs yields key/value pairs in the same order as #each_key and #each_value yields both of a pair of colliding keys yields only the key to a block expecting |key,| with no block returns an Enumerator #each_key yields all keys with no block returns an Enumerator #each_value yields all values with no block returns an Enumerator Hamster::Hash #each_with_index with a block (internal iteration) returns self yields all key/value pairs with numeric indexes with no block returns an Enumerator Hamster::Hash #empty? returns true for [] returns false for [{"A"=>"aye"}] returns false for [{"A"=>"aye", "B"=>"bee", "C"=>"see"}] returns true for empty hashes which have a default block .empty returns the canonical empty Hash from a subclass returns an empty instance of the subclass calls overridden #initialize when creating empty Hash Hamster::Hash returns true on a large hash which is modified and then modified back again #eql? returns false when comparing with a standard hash returns false when comparing with an arbitrary object returns false when comparing with a subclass of Hamster::Hash #== returns true when comparing with a standard hash returns false when comparing with an arbitrary object returns true when comparing with a subclass of Hamster::Hash #eql? returns true for {} and {} for {} and {} returns false for {"A"=>"aye"} and {} for {} and {"A"=>"aye"} returns false for {} and {"A"=>"aye"} for {"A"=>"aye"} and {} returns true for {"A"=>"aye"} and {"A"=>"aye"} for {"A"=>"aye"} and {"A"=>"aye"} returns false for {"A"=>"aye"} and {"B"=>"bee"} for {"B"=>"bee"} and {"A"=>"aye"} returns false for {"A"=>"aye", "B"=>"bee"} and {"A"=>"aye"} for {"A"=>"aye"} and {"A"=>"aye", "B"=>"bee"} returns false for {"A"=>"aye"} and {"A"=>"aye", "B"=>"bee"} for {"A"=>"aye", "B"=>"bee"} and {"A"=>"aye"} returns true for {"A"=>"aye", "B"=>"bee", "C"=>"see"} and {"A"=>"aye", "B"=>"bee", "C"=>"see"} for {"A"=>"aye", "B"=>"bee", "C"=>"see"} and {"A"=>"aye", "B"=>"bee", "C"=>"see"} returns true for {"C"=>"see", "A"=>"aye", "B"=>"bee"} and {"A"=>"aye", "B"=>"bee", "C"=>"see"} for {"A"=>"aye", "B"=>"bee", "C"=>"see"} and {"C"=>"see", "A"=>"aye", "B"=>"bee"} #== returns true for {} and {} for {} and {} returns false for {"A"=>"aye"} and {} for {} and {"A"=>"aye"} returns false for {} and {"A"=>"aye"} for {"A"=>"aye"} and {} returns true for {"A"=>"aye"} and {"A"=>"aye"} for {"A"=>"aye"} and {"A"=>"aye"} returns false for {"A"=>"aye"} and {"B"=>"bee"} for {"B"=>"bee"} and {"A"=>"aye"} returns false for {"A"=>"aye", "B"=>"bee"} and {"A"=>"aye"} for {"A"=>"aye"} and {"A"=>"aye", "B"=>"bee"} returns false for {"A"=>"aye"} and {"A"=>"aye", "B"=>"bee"} for {"A"=>"aye", "B"=>"bee"} and {"A"=>"aye"} returns true for {"A"=>"aye", "B"=>"bee", "C"=>"see"} and {"A"=>"aye", "B"=>"bee", "C"=>"see"} for {"A"=>"aye", "B"=>"bee", "C"=>"see"} and {"A"=>"aye", "B"=>"bee", "C"=>"see"} returns true for {"C"=>"see", "A"=>"aye", "B"=>"bee"} and {"A"=>"aye", "B"=>"bee", "C"=>"see"} for {"A"=>"aye", "B"=>"bee", "C"=>"see"} and {"C"=>"see", "A"=>"aye", "B"=>"bee"} Hamster::Hash #except works on a large Hash, with many combinations of input with only keys that the Hash has returns a Hash without those values doesn't change the original Hash with keys that the Hash doesn't have returns a Hash without the values that it had keys for doesn't change the original Hash Hamster::Hash #fetch gives precedence to default block over default argument if passed both raises an ArgumentError when not passed one or 2 arguments with no default provided when the key exists returns the value associated with the key when the key does not exist raises a KeyError with a default value when the key exists returns the value associated with the key when the key does not exist returns the default value with a default block when the key exists returns the value associated with the key when the key does not exist invokes the default block with the missing key as paramter Hamster::Hash #fetch_values when the all the requests keys exist returns a vector of values for the given keys when the key does not exist raises a KeyError Hamster::Hash #find stops iterating when the block returns true on [] with a block returns nil without a block returns an Enumerator on [] with a block returns nil without a block returns an Enumerator on [{"A"=>"aye"}] with a block returns ["A", "aye"] without a block returns an Enumerator on [{"A"=>"aye"}] with a block returns nil without a block returns an Enumerator on [{"A"=>"aye"}] with a block returns nil without a block returns an Enumerator on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] with a block returns ["A", "aye"] without a block returns an Enumerator on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] with a block returns ["B", "bee"] without a block returns an Enumerator on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] with a block returns [nil, "NIL"] without a block returns an Enumerator on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] with a block returns nil without a block returns an Enumerator #detect stops iterating when the block returns true on [] with a block returns nil without a block returns an Enumerator on [] with a block returns nil without a block returns an Enumerator on [{"A"=>"aye"}] with a block returns ["A", "aye"] without a block returns an Enumerator on [{"A"=>"aye"}] with a block returns nil without a block returns an Enumerator on [{"A"=>"aye"}] with a block returns nil without a block returns an Enumerator on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] with a block returns ["A", "aye"] without a block returns an Enumerator on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] with a block returns ["B", "bee"] without a block returns an Enumerator on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] with a block returns [nil, "NIL"] without a block returns an Enumerator on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] with a block returns nil without a block returns an Enumerator Hamster::Hash #flat_map yields each key/val pair returns the concatenation of block return values doesn't change the receiver returns an empty array if only empty arrays are returned by block with no block returns an Enumerator Hamster::Hash #flatten with flatten depth of zero returns a vector of keys/value without array keys or values returns a vector of keys and values doesn't modify the receiver on an empty Hash returns an empty Vector with array keys flattens array keys into returned vector if flatten depth is sufficient doesn't modify the receiver (or its contents) with array values flattens array values into returned vector if flatten depth is sufficient doesn't modify the receiver (or its contents) with vector keys flattens vector keys into returned vector if flatten depth is sufficient with vector values flattens vector values into returned vector if flatten depth is sufficient Hamster::Hash #get uses #hash to look up keys uses #eql? to compare keys with the same hash code does not use #eql? to compare keys with different hash codes with a default block when the key exists returns the value associated with the key does not call the default block even if the key is 'nil' when the key does not exist returns the value from the default block with no default block returns the value ("aye") for an existing key ("A") returns the value ("bee") for an existing key ("B") returns the value ("see") for an existing key ("C") returns the value ("NIL") for an existing key (nil) returns nil for a non-existing key #[] uses #hash to look up keys uses #eql? to compare keys with the same hash code does not use #eql? to compare keys with different hash codes with a default block when the key exists returns the value associated with the key does not call the default block even if the key is 'nil' when the key does not exist returns the value from the default block with no default block returns the value ("aye") for an existing key ("A") returns the value ("bee") for an existing key ("B") returns the value ("see") for an existing key ("C") returns the value ("NIL") for an existing key (nil) returns nil for a non-existing key Hamster::Hash #key? returns true for an existing key ("A") returns true for an existing key ("B") returns true for an existing key ("C") returns true for an existing key (nil) returns true for an existing key (2.0) returns false for a non-existing key uses #eql? for equality returns true if the key is found and maps to nil returns true if the key is found and maps to false #has_key? returns true for an existing key ("A") returns true for an existing key ("B") returns true for an existing key ("C") returns true for an existing key (nil) returns true for an existing key (2.0) returns false for a non-existing key uses #eql? for equality returns true if the key is found and maps to nil returns true if the key is found and maps to false #include? returns true for an existing key ("A") returns true for an existing key ("B") returns true for an existing key ("C") returns true for an existing key (nil) returns true for an existing key (2.0) returns false for a non-existing key uses #eql? for equality returns true if the key is found and maps to nil returns true if the key is found and maps to false #member? returns true for an existing key ("A") returns true for an existing key ("B") returns true for an existing key ("C") returns true for an existing key (nil) returns true for an existing key (2.0) returns false for a non-existing key uses #eql? for equality returns true if the key is found and maps to nil returns true if the key is found and maps to false Hamster::Hash #value? returns true if any key/val pair in Hash has the same value returns false if no key/val pair in Hash has the same value uses #== to check equality works on a large hash #has_value? returns true if any key/val pair in Hash has the same value returns false if no key/val pair in Hash has the same value uses #== to check equality works on a large hash Hamster::Hash #hash values are sufficiently distributed differs given the same keys and different values differs given the same values and different keys generates the same hash value for a hash regardless of the order things were added to it on an empty hash returns 0 Hamster::Hash includes Immutable Hamster::Hash #inspect on [] returns "Hamster::Hash[]" on [{"A"=>"aye"}] returns "Hamster::Hash[\"A\" => \"aye\"]" on [{"A"=>"aye", "B"=>"bee", "C"=>"see"}] returns "Hamster::Hash[\"A\" => \"aye\", \"B\" => \"bee\", \"C\" => \"see\"]" on {} returns a string which can be eval'd to get an equivalent object on {"A"=>"aye"} returns a string which can be eval'd to get an equivalent object on {:a=>"aye", :b=>"bee", :c=>"see"} returns a string which can be eval'd to get an equivalent object Hamster::Hash #invert uses the existing keys as values and values as keys will select one key/value pair among multiple which have same value doesn't change the original Hash from a subclass of Hash returns an instance of the subclass Hamster::Hash #key returns a key associated with the given value, if there is one returns nil if there is no key associated with the given value uses #== to compare values for equality doesn't use default block if value is not found Hamster::Hash #keys returns the keys as a set returns frozen String keys Hamster::Hash #map when empty returns self when not empty with a block preserves the original values returns a new hash with the mapped values with no block returns an Enumerator from a subclass returns an instance of the subclass #collect when empty returns self when not empty with a block preserves the original values returns a new hash with the mapped values with no block returns an Enumerator from a subclass returns an instance of the subclass Hamster::Hash #marshal_dump/#marshal_load can survive dumping and loading into a new process is still possible to find items by key after loading Hamster::Hash #merge sets any duplicate key to the value of block if passed a block yields key/value pairs in the same order as #each for {} and {} returns {} when passed a Hamster::Hash returns {} when passed a Ruby Hash doesn't change the original Hashes for {"A"=>"aye"} and {} returns {"A"=>"aye"} when passed a Hamster::Hash returns {"A"=>"aye"} when passed a Ruby Hash doesn't change the original Hashes for {"A"=>"aye"} and {"A"=>"bee"} returns {"A"=>"bee"} when passed a Hamster::Hash returns {"A"=>"bee"} when passed a Ruby Hash doesn't change the original Hashes for {"A"=>"aye"} and {"B"=>"bee"} returns {"A"=>"aye", "B"=>"bee"} when passed a Hamster::Hash returns {"A"=>"aye", "B"=>"bee"} when passed a Ruby Hash doesn't change the original Hashes for [[1, 1], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6], [7, 7], [8, 8], [9, 9], [10, 10], [11, 11], [12, 12], [13, 13], [14, 14], [15, 15], [16, 16], [17, 17], [18, 18], [19, 19], [20, 20], [21, 21], [22, 22], [23, 23], [24, 24], [25, 25], [26, 26], [27, 27], [28, 28], [29, 29], [30, 30], [31, 31], [32, 32], [33, 33], [34, 34], [35, 35], [36, 36], [37, 37], [38, 38], [39, 39], [40, 40], [41, 41], [42, 42], [43, 43], [44, 44], [45, 45], [46, 46], [47, 47], [48, 48], [49, 49], [50, 50], [51, 51], [52, 52], [53, 53], [54, 54], [55, 55], [56, 56], [57, 57], [58, 58], [59, 59], [60, 60], [61, 61], [62, 62], [63, 63], [64, 64], [65, 65], [66, 66], [67, 67], [68, 68], [69, 69], [70, 70], [71, 71], [72, 72], [73, 73], [74, 74], [75, 75], [76, 76], [77, 77], [78, 78], [79, 79], [80, 80], [81, 81], [82, 82], [83, 83], [84, 84], [85, 85], [86, 86], [87, 87], [88, 88], [89, 89], [90, 90], [91, 91], [92, 92], [93, 93], [94, 94], [95, 95], [96, 96], [97, 97], [98, 98], [99, 99], [100, 100], [101, 101], [102, 102], [103, 103], [104, 104], [105, 105], [106, 106], [107, 107], [108, 108], [109, 109], [110, 110], [111, 111], [112, 112], [113, 113], [114, 114], [115, 115], [116, 116], [117, 117], [118, 118], [119, 119], [120, 120], [121, 121], [122, 122], [123, 123], [124, 124], [125, 125], [126, 126], [127, 127], [128, 128], [129, 129], [130, 130], [131, 131], [132, 132], [133, 133], [134, 134], [135, 135], [136, 136], [137, 137], [138, 138], [139, 139], [140, 140], [141, 141], [142, 142], [143, 143], [144, 144], [145, 145], [146, 146], [147, 147], [148, 148], [149, 149], [150, 150], [151, 151], [152, 152], [153, 153], [154, 154], [155, 155], [156, 156], [157, 157], [158, 158], [159, 159], [160, 160], [161, 161], [162, 162], [163, 163], [164, 164], [165, 165], [166, 166], [167, 167], [168, 168], [169, 169], [170, 170], [171, 171], [172, 172], [173, 173], [174, 174], [175, 175], [176, 176], [177, 177], [178, 178], [179, 179], [180, 180], [181, 181], [182, 182], [183, 183], [184, 184], [185, 185], [186, 186], [187, 187], [188, 188], [189, 189], [190, 190], [191, 191], [192, 192], [193, 193], [194, 194], [195, 195], [196, 196], [197, 197], [198, 198], [199, 199], [200, 200], [201, 201], [202, 202], [203, 203], [204, 204], [205, 205], [206, 206], [207, 207], [208, 208], [209, 209], [210, 210], [211, 211], [212, 212], [213, 213], [214, 214], [215, 215], [216, 216], [217, 217], [218, 218], [219, 219], [220, 220], [221, 221], [222, 222], [223, 223], [224, 224], [225, 225], [226, 226], [227, 227], [228, 228], [229, 229], [230, 230], [231, 231], [232, 232], [233, 233], [234, 234], [235, 235], [236, 236], [237, 237], [238, 238], [239, 239], [240, 240], [241, 241], [242, 242], [243, 243], [244, 244], [245, 245], [246, 246], [247, 247], [248, 248], [249, 249], [250, 250], [251, 251], [252, 252], [253, 253], [254, 254], [255, 255], [256, 256], [257, 257], [258, 258], [259, 259], [260, 260], [261, 261], [262, 262], [263, 263], [264, 264], [265, 265], [266, 266], [267, 267], [268, 268], [269, 269], [270, 270], [271, 271], [272, 272], [273, 273], [274, 274], [275, 275], [276, 276], [277, 277], [278, 278], [279, 279], [280, 280], [281, 281], [282, 282], [283, 283], [284, 284], [285, 285], [286, 286], [287, 287], [288, 288], [289, 289], [290, 290], [291, 291], [292, 292], [293, 293], [294, 294], [295, 295], [296, 296], [297, 297], [298, 298], [299, 299], [300, 300]] and [[150, 150], [151, 151], [152, 152], [153, 153], [154, 154], [155, 155], [156, 156], [157, 157], [158, 158], [159, 159], [160, 160], [161, 161], [162, 162], [163, 163], [164, 164], [165, 165], [166, 166], [167, 167], [168, 168], [169, 169], [170, 170], [171, 171], [172, 172], [173, 173], [174, 174], [175, 175], [176, 176], [177, 177], [178, 178], [179, 179], [180, 180], [181, 181], [182, 182], [183, 183], [184, 184], [185, 185], [186, 186], [187, 187], [188, 188], [189, 189], [190, 190], [191, 191], [192, 192], [193, 193], [194, 194], [195, 195], [196, 196], [197, 197], [198, 198], [199, 199], [200, 200], [201, 201], [202, 202], [203, 203], [204, 204], [205, 205], [206, 206], [207, 207], [208, 208], [209, 209], [210, 210], [211, 211], [212, 212], [213, 213], [214, 214], [215, 215], [216, 216], [217, 217], [218, 218], [219, 219], [220, 220], [221, 221], [222, 222], [223, 223], [224, 224], [225, 225], [226, 226], [227, 227], [228, 228], [229, 229], [230, 230], [231, 231], [232, 232], [233, 233], [234, 234], [235, 235], [236, 236], [237, 237], [238, 238], [239, 239], [240, 240], [241, 241], [242, 242], [243, 243], [244, 244], [245, 245], [246, 246], [247, 247], [248, 248], [249, 249], [250, 250], [251, 251], [252, 252], [253, 253], [254, 254], [255, 255], [256, 256], [257, 257], [258, 258], [259, 259], [260, 260], [261, 261], [262, 262], [263, 263], [264, 264], [265, 265], [266, 266], [267, 267], [268, 268], [269, 269], [270, 270], [271, 271], [272, 272], [273, 273], [274, 274], [275, 275], [276, 276], [277, 277], [278, 278], [279, 279], [280, 280], [281, 281], [282, 282], [283, 283], [284, 284], [285, 285], [286, 286], [287, 287], [288, 288], [289, 289], [290, 290], [291, 291], [292, 292], [293, 293], [294, 294], [295, 295], [296, 296], [297, 297], [298, 298], [299, 299], [300, 300], [301, 301], [302, 302], [303, 303], [304, 304], [305, 305], [306, 306], [307, 307], [308, 308], [309, 309], [310, 310], [311, 311], [312, 312], [313, 313], [314, 314], [315, 315], [316, 316], [317, 317], [318, 318], [319, 319], [320, 320], [321, 321], [322, 322], [323, 323], [324, 324], [325, 325], [326, 326], [327, 327], [328, 328], [329, 329], [330, 330], [331, 331], [332, 332], [333, 333], [334, 334], [335, 335], [336, 336], [337, 337], [338, 338], [339, 339], [340, 340], [341, 341], [342, 342], [343, 343], [344, 344], [345, 345], [346, 346], [347, 347], [348, 348], [349, 349], [350, 350], [351, 351], [352, 352], [353, 353], [354, 354], [355, 355], [356, 356], [357, 357], [358, 358], [359, 359], [360, 360], [361, 361], [362, 362], [363, 363], [364, 364], [365, 365], [366, 366], [367, 367], [368, 368], [369, 369], [370, 370], [371, 371], [372, 372], [373, 373], [374, 374], [375, 375], [376, 376], [377, 377], [378, 378], [379, 379], [380, 380], [381, 381], [382, 382], [383, 383], [384, 384], [385, 385], [386, 386], [387, 387], [388, 388], [389, 389], [390, 390], [391, 391], [392, 392], [393, 393], [394, 394], [395, 395], [396, 396], [397, 397], [398, 398], [399, 399], [400, 400], [401, 401], [402, 402], [403, 403], [404, 404], [405, 405], [406, 406], [407, 407], [408, 408], [409, 409], [410, 410], [411, 411], [412, 412], [413, 413], [414, 414], [415, 415], [416, 416], [417, 417], [418, 418], [419, 419], [420, 420], [421, 421], [422, 422], [423, 423], [424, 424], [425, 425], [426, 426], [427, 427], [428, 428], [429, 429], [430, 430], [431, 431], [432, 432], [433, 433], [434, 434], [435, 435], [436, 436], [437, 437], [438, 438], [439, 439], [440, 440], [441, 441], [442, 442], [443, 443], [444, 444], [445, 445], [446, 446], [447, 447], [448, 448], [449, 449], [450, 450]] returns [[1, 1], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6], [7, 7], [8, 8], [9, 9], [10, 10], [11, 11], [12, 12], [13, 13], [14, 14], [15, 15], [16, 16], [17, 17], [18, 18], [19, 19], [20, 20], [21, 21], [22, 22], [23, 23], [24, 24], [25, 25], [26, 26], [27, 27], [28, 28], [29, 29], [30, 30], [31, 31], [32, 32], [33, 33], [34, 34], [35, 35], [36, 36], [37, 37], [38, 38], [39, 39], [40, 40], [41, 41], [42, 42], [43, 43], [44, 44], [45, 45], [46, 46], [47, 47], [48, 48], [49, 49], [50, 50], [51, 51], [52, 52], [53, 53], [54, 54], [55, 55], [56, 56], [57, 57], [58, 58], [59, 59], [60, 60], [61, 61], [62, 62], [63, 63], [64, 64], [65, 65], [66, 66], [67, 67], [68, 68], [69, 69], [70, 70], [71, 71], [72, 72], [73, 73], [74, 74], [75, 75], [76, 76], [77, 77], [78, 78], [79, 79], [80, 80], [81, 81], [82, 82], [83, 83], [84, 84], [85, 85], [86, 86], [87, 87], [88, 88], [89, 89], [90, 90], [91, 91], [92, 92], [93, 93], [94, 94], [95, 95], [96, 96], [97, 97], [98, 98], [99, 99], [100, 100], [101, 101], [102, 102], [103, 103], [104, 104], [105, 105], [106, 106], [107, 107], [108, 108], [109, 109], [110, 110], [111, 111], [112, 112], [113, 113], [114, 114], [115, 115], [116, 116], [117, 117], [118, 118], [119, 119], [120, 120], [121, 121], [122, 122], [123, 123], [124, 124], [125, 125], [126, 126], [127, 127], [128, 128], [129, 129], [130, 130], [131, 131], [132, 132], [133, 133], [134, 134], [135, 135], [136, 136], [137, 137], [138, 138], [139, 139], [140, 140], [141, 141], [142, 142], [143, 143], [144, 144], [145, 145], [146, 146], [147, 147], [148, 148], [149, 149], [150, 150], [151, 151], [152, 152], [153, 153], [154, 154], [155, 155], [156, 156], [157, 157], [158, 158], [159, 159], [160, 160], [161, 161], [162, 162], [163, 163], [164, 164], [165, 165], [166, 166], [167, 167], [168, 168], [169, 169], [170, 170], [171, 171], [172, 172], [173, 173], [174, 174], [175, 175], [176, 176], [177, 177], [178, 178], [179, 179], [180, 180], [181, 181], [182, 182], [183, 183], [184, 184], [185, 185], [186, 186], [187, 187], [188, 188], [189, 189], [190, 190], [191, 191], [192, 192], [193, 193], [194, 194], [195, 195], [196, 196], [197, 197], [198, 198], [199, 199], [200, 200], [201, 201], [202, 202], [203, 203], [204, 204], [205, 205], [206, 206], [207, 207], [208, 208], [209, 209], [210, 210], [211, 211], [212, 212], [213, 213], [214, 214], [215, 215], [216, 216], [217, 217], [218, 218], [219, 219], [220, 220], [221, 221], [222, 222], [223, 223], [224, 224], [225, 225], [226, 226], [227, 227], [228, 228], [229, 229], [230, 230], [231, 231], [232, 232], [233, 233], [234, 234], [235, 235], [236, 236], [237, 237], [238, 238], [239, 239], [240, 240], [241, 241], [242, 242], [243, 243], [244, 244], [245, 245], [246, 246], [247, 247], [248, 248], [249, 249], [250, 250], [251, 251], [252, 252], [253, 253], [254, 254], [255, 255], [256, 256], [257, 257], [258, 258], [259, 259], [260, 260], [261, 261], [262, 262], [263, 263], [264, 264], [265, 265], [266, 266], [267, 267], [268, 268], [269, 269], [270, 270], [271, 271], [272, 272], [273, 273], [274, 274], [275, 275], [276, 276], [277, 277], [278, 278], [279, 279], [280, 280], [281, 281], [282, 282], [283, 283], [284, 284], [285, 285], [286, 286], [287, 287], [288, 288], [289, 289], [290, 290], [291, 291], [292, 292], [293, 293], [294, 294], [295, 295], [296, 296], [297, 297], [298, 298], [299, 299], [300, 300], [301, 301], [302, 302], [303, 303], [304, 304], [305, 305], [306, 306], [307, 307], [308, 308], [309, 309], [310, 310], [311, 311], [312, 312], [313, 313], [314, 314], [315, 315], [316, 316], [317, 317], [318, 318], [319, 319], [320, 320], [321, 321], [322, 322], [323, 323], [324, 324], [325, 325], [326, 326], [327, 327], [328, 328], [329, 329], [330, 330], [331, 331], [332, 332], [333, 333], [334, 334], [335, 335], [336, 336], [337, 337], [338, 338], [339, 339], [340, 340], [341, 341], [342, 342], [343, 343], [344, 344], [345, 345], [346, 346], [347, 347], [348, 348], [349, 349], [350, 350], [351, 351], [352, 352], [353, 353], [354, 354], [355, 355], [356, 356], [357, 357], [358, 358], [359, 359], [360, 360], [361, 361], [362, 362], [363, 363], [364, 364], [365, 365], [366, 366], [367, 367], [368, 368], [369, 369], [370, 370], [371, 371], [372, 372], [373, 373], [374, 374], [375, 375], [376, 376], [377, 377], [378, 378], [379, 379], [380, 380], [381, 381], [382, 382], [383, 383], [384, 384], [385, 385], [386, 386], [387, 387], [388, 388], [389, 389], [390, 390], [391, 391], [392, 392], [393, 393], [394, 394], [395, 395], [396, 396], [397, 397], [398, 398], [399, 399], [400, 400], [401, 401], [402, 402], [403, 403], [404, 404], [405, 405], [406, 406], [407, 407], [408, 408], [409, 409], [410, 410], [411, 411], [412, 412], [413, 413], [414, 414], [415, 415], [416, 416], [417, 417], [418, 418], [419, 419], [420, 420], [421, 421], [422, 422], [423, 423], [424, 424], [425, 425], [426, 426], [427, 427], [428, 428], [429, 429], [430, 430], [431, 431], [432, 432], [433, 433], [434, 434], [435, 435], [436, 436], [437, 437], [438, 438], [439, 439], [440, 440], [441, 441], [442, 442], [443, 443], [444, 444], [445, 445], [446, 446], [447, 447], [448, 448], [449, 449], [450, 450]] when passed a Hamster::Hash returns [[1, 1], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6], [7, 7], [8, 8], [9, 9], [10, 10], [11, 11], [12, 12], [13, 13], [14, 14], [15, 15], [16, 16], [17, 17], [18, 18], [19, 19], [20, 20], [21, 21], [22, 22], [23, 23], [24, 24], [25, 25], [26, 26], [27, 27], [28, 28], [29, 29], [30, 30], [31, 31], [32, 32], [33, 33], [34, 34], [35, 35], [36, 36], [37, 37], [38, 38], [39, 39], [40, 40], [41, 41], [42, 42], [43, 43], [44, 44], [45, 45], [46, 46], [47, 47], [48, 48], [49, 49], [50, 50], [51, 51], [52, 52], [53, 53], [54, 54], [55, 55], [56, 56], [57, 57], [58, 58], [59, 59], [60, 60], [61, 61], [62, 62], [63, 63], [64, 64], [65, 65], [66, 66], [67, 67], [68, 68], [69, 69], [70, 70], [71, 71], [72, 72], [73, 73], [74, 74], [75, 75], [76, 76], [77, 77], [78, 78], [79, 79], [80, 80], [81, 81], [82, 82], [83, 83], [84, 84], [85, 85], [86, 86], [87, 87], [88, 88], [89, 89], [90, 90], [91, 91], [92, 92], [93, 93], [94, 94], [95, 95], [96, 96], [97, 97], [98, 98], [99, 99], [100, 100], [101, 101], [102, 102], [103, 103], [104, 104], [105, 105], [106, 106], [107, 107], [108, 108], [109, 109], [110, 110], [111, 111], [112, 112], [113, 113], [114, 114], [115, 115], [116, 116], [117, 117], [118, 118], [119, 119], [120, 120], [121, 121], [122, 122], [123, 123], [124, 124], [125, 125], [126, 126], [127, 127], [128, 128], [129, 129], [130, 130], [131, 131], [132, 132], [133, 133], [134, 134], [135, 135], [136, 136], [137, 137], [138, 138], [139, 139], [140, 140], [141, 141], [142, 142], [143, 143], [144, 144], [145, 145], [146, 146], [147, 147], [148, 148], [149, 149], [150, 150], [151, 151], [152, 152], [153, 153], [154, 154], [155, 155], [156, 156], [157, 157], [158, 158], [159, 159], [160, 160], [161, 161], [162, 162], [163, 163], [164, 164], [165, 165], [166, 166], [167, 167], [168, 168], [169, 169], [170, 170], [171, 171], [172, 172], [173, 173], [174, 174], [175, 175], [176, 176], [177, 177], [178, 178], [179, 179], [180, 180], [181, 181], [182, 182], [183, 183], [184, 184], [185, 185], [186, 186], [187, 187], [188, 188], [189, 189], [190, 190], [191, 191], [192, 192], [193, 193], [194, 194], [195, 195], [196, 196], [197, 197], [198, 198], [199, 199], [200, 200], [201, 201], [202, 202], [203, 203], [204, 204], [205, 205], [206, 206], [207, 207], [208, 208], [209, 209], [210, 210], [211, 211], [212, 212], [213, 213], [214, 214], [215, 215], [216, 216], [217, 217], [218, 218], [219, 219], [220, 220], [221, 221], [222, 222], [223, 223], [224, 224], [225, 225], [226, 226], [227, 227], [228, 228], [229, 229], [230, 230], [231, 231], [232, 232], [233, 233], [234, 234], [235, 235], [236, 236], [237, 237], [238, 238], [239, 239], [240, 240], [241, 241], [242, 242], [243, 243], [244, 244], [245, 245], [246, 246], [247, 247], [248, 248], [249, 249], [250, 250], [251, 251], [252, 252], [253, 253], [254, 254], [255, 255], [256, 256], [257, 257], [258, 258], [259, 259], [260, 260], [261, 261], [262, 262], [263, 263], [264, 264], [265, 265], [266, 266], [267, 267], [268, 268], [269, 269], [270, 270], [271, 271], [272, 272], [273, 273], [274, 274], [275, 275], [276, 276], [277, 277], [278, 278], [279, 279], [280, 280], [281, 281], [282, 282], [283, 283], [284, 284], [285, 285], [286, 286], [287, 287], [288, 288], [289, 289], [290, 290], [291, 291], [292, 292], [293, 293], [294, 294], [295, 295], [296, 296], [297, 297], [298, 298], [299, 299], [300, 300], [301, 301], [302, 302], [303, 303], [304, 304], [305, 305], [306, 306], [307, 307], [308, 308], [309, 309], [310, 310], [311, 311], [312, 312], [313, 313], [314, 314], [315, 315], [316, 316], [317, 317], [318, 318], [319, 319], [320, 320], [321, 321], [322, 322], [323, 323], [324, 324], [325, 325], [326, 326], [327, 327], [328, 328], [329, 329], [330, 330], [331, 331], [332, 332], [333, 333], [334, 334], [335, 335], [336, 336], [337, 337], [338, 338], [339, 339], [340, 340], [341, 341], [342, 342], [343, 343], [344, 344], [345, 345], [346, 346], [347, 347], [348, 348], [349, 349], [350, 350], [351, 351], [352, 352], [353, 353], [354, 354], [355, 355], [356, 356], [357, 357], [358, 358], [359, 359], [360, 360], [361, 361], [362, 362], [363, 363], [364, 364], [365, 365], [366, 366], [367, 367], [368, 368], [369, 369], [370, 370], [371, 371], [372, 372], [373, 373], [374, 374], [375, 375], [376, 376], [377, 377], [378, 378], [379, 379], [380, 380], [381, 381], [382, 382], [383, 383], [384, 384], [385, 385], [386, 386], [387, 387], [388, 388], [389, 389], [390, 390], [391, 391], [392, 392], [393, 393], [394, 394], [395, 395], [396, 396], [397, 397], [398, 398], [399, 399], [400, 400], [401, 401], [402, 402], [403, 403], [404, 404], [405, 405], [406, 406], [407, 407], [408, 408], [409, 409], [410, 410], [411, 411], [412, 412], [413, 413], [414, 414], [415, 415], [416, 416], [417, 417], [418, 418], [419, 419], [420, 420], [421, 421], [422, 422], [423, 423], [424, 424], [425, 425], [426, 426], [427, 427], [428, 428], [429, 429], [430, 430], [431, 431], [432, 432], [433, 433], [434, 434], [435, 435], [436, 436], [437, 437], [438, 438], [439, 439], [440, 440], [441, 441], [442, 442], [443, 443], [444, 444], [445, 445], [446, 446], [447, 447], [448, 448], [449, 449], [450, 450]] when passed a Ruby Hash doesn't change the original Hashes when merging with an empty Hash returns self when merging with subset Hash returns self when called on a subclass returns an instance of the subclass Hamster::Hash #min returns the smallest key/val pair #max returns the largest key/val pair #min_by returns the smallest key/val pair (after passing it through a key function) returns the first key/val pair yielded by #each in case of a tie returns nil if the hash is empty #max_by returns the largest key/val pair (after passing it through a key function) returns the first key/val pair yielded by #each in case of a tie returns nil if the hash is empty Hamster::Hash .new is amenable to overriding of #initialize accepts an array as initializer returns a Hash which doesn't change even if initializer is mutated from a subclass returns a frozen instance of the subclass .[] accepts a Ruby Hash as initializer accepts a Hamster::Hash as initializer accepts an array as initializer can be used with a subclass of Hamster::Hash Hamster::Hash #none? when empty with a block returns true with no block returns true when not empty with a block returns false if the block ever returns true (["A", "aye"]) returns true if the block always returns false stops iterating as soon as the block returns true returns false if the block ever returns true (["B", "bee"]) returns true if the block always returns false stops iterating as soon as the block returns true returns false if the block ever returns true (["C", "see"]) returns true if the block always returns false stops iterating as soon as the block returns true returns false if the block ever returns true ([nil, "NIL"]) returns true if the block always returns false stops iterating as soon as the block returns true with no block returns false Hamster::Hash #partition returns a pair of Hamster::Hashes returns key/val pairs for which predicate is true in first Hash returns key/val pairs for which predicate is false in second Hash doesn't modify the original Hash from a subclass should return instances of the subclass Hamster::Hash #pretty_print prints the whole Hash on one line if it fits prints each key/val pair on its own line, if not prints keys and vals on separate lines, if space is very tight Hamster::Hash #put with a block passes the value to the block replaces the value with the result of the block supports to_proc methods if there is no existing association passes nil to the block stores the result of the block as the new value with a unique key preserves the original returns a copy with the superset of key/value pairs with a duplicate key preserves the original returns a copy with the superset of key/value pairs with duplicate key and identical value returns the original hash unmodified with big hash (force nested tries) returns the original hash unmodified for all changes with unequal keys which hash to the same value stores and can retrieve both when a String is inserted as key and then mutated is not affected Hamster::Hash #reduce when empty returns the memo when not empty with a block returns the final memo with no block uses a passed string as the name of a method to use instead uses a passed symbol as the name of a method to use instead #inject when empty returns the memo when not empty with a block returns the final memo with no block uses a passed string as the name of a method to use instead uses a passed symbol as the name of a method to use instead Hamster::Hash #reject when nothing matches returns self when only some things match with a block preserves the original returns a set with the matching values yields entries in the same order as #each with no block returns an Enumerator on a large hash, with many combinations of input still works #delete_if when nothing matches returns self when only some things match with a block preserves the original returns a set with the matching values yields entries in the same order as #each with no block returns an Enumerator on a large hash, with many combinations of input still works Hamster::Hash #reverse_each with a block returns self yields all key/value pairs in the opposite order as #each with no block returns an Enumerator Hamster::Hash #sample returns a randomly chosen item Hamster::Hash #select works on a large hash, with many combinations of input when everything matches returns self when only some things match yields entries as [key, value] pairs with a block preserves the original returns a set with the matching values with no block returns an Enumerator #find_all works on a large hash, with many combinations of input when everything matches returns self when only some things match yields entries as [key, value] pairs with a block preserves the original returns a set with the matching values with no block returns an Enumerator #keep_if works on a large hash, with many combinations of input when everything matches returns self when only some things match yields entries as [key, value] pairs with a block preserves the original returns a set with the matching values with no block returns an Enumerator Hamster::Hash #size returns 0 for [] returns 1 for [{"A"=>"aye"}] returns 3 for [{"A"=>"bee", "B"=>"bee", "C"=>"see"}] has the correct size after adding lots of things with colliding keys and such has the correct size after lots of addings and removings #length returns 0 for [] returns 1 for [{"A"=>"aye"}] returns 3 for [{"A"=>"bee", "B"=>"bee", "C"=>"see"}] has the correct size after adding lots of things with colliding keys and such has the correct size after lots of addings and removings Hamster::Hash #slice with all keys present in the Hash returns the sliced values doesn't modify the original Hash with keys aren't present in the Hash returns the sliced values of the matching keys doesn't modify the original Hash on a Hash with a default block maintains the default block Hamster::Hash #sort returns a Vector of sorted key/val pairs works on large hashes uses block as comparator to sort if passed a block #sort_by returns a Vector of key/val pairs, sorted using the block as a key function Hamster::Hash #store with a unique key preserves the original returns a copy with the superset of key/value pairs with a duplicate key preserves the original returns a copy with the superset of key/value pairs with duplicate key and identical value returns the original hash unmodified with big hash (force nested tries) returns the original hash unmodified for all changes with unequal keys which hash to the same value stores and can retrieve both when a String is inserted as key and then mutated is not affected Hamster::Hash #<= for {} and {} returns true for {"A"=>1} and {} returns false for {} and {"A"=>1} returns true for {"A"=>1} and {"A"=>1} returns true for {"A"=>1} and {"A"=>2} returns false for {"B"=>2} and {"A"=>1, "B"=>2, "C"=>3} returns true for {"A"=>1, "B"=>2, "C"=>3} and {"B"=>2} returns false for {"B"=>0} and {"A"=>1, "B"=>2, "C"=>3} returns false #< for {} and {} returns false for {"A"=>1} and {} returns false for {} and {"A"=>1} returns true for {"A"=>1} and {"A"=>1} returns false for {"A"=>1} and {"A"=>2} returns false for {"B"=>2} and {"A"=>1, "B"=>2, "C"=>3} returns true for {"A"=>1, "B"=>2, "C"=>3} and {"B"=>2} returns false for {"B"=>0} and {"A"=>1, "B"=>2, "C"=>3} returns false Hamster::Hash #>= for {} and {} returns true for {"A"=>1} and {} returns true for {} and {"A"=>1} returns false for {"A"=>1} and {"A"=>1} returns true for {"A"=>1} and {"A"=>2} returns false for {"A"=>1, "B"=>2, "C"=>3} and {"B"=>2} returns true for {"B"=>2} and {"A"=>1, "B"=>2, "C"=>3} returns false for {"A"=>1, "B"=>2, "C"=>3} and {"B"=>0} returns false #> for {} and {} returns false for {"A"=>1} and {} returns true for {} and {"A"=>1} returns false for {"A"=>1} and {"A"=>1} returns false for {"A"=>1} and {"A"=>2} returns false for {"A"=>1, "B"=>2, "C"=>3} and {"B"=>2} returns true for {"B"=>2} and {"A"=>1, "B"=>2, "C"=>3} returns false for {"A"=>1, "B"=>2, "C"=>3} and {"B"=>0} returns false Hamster::Hash #take returns the first N key/val pairs from hash #take_while passes elements to the block until the block returns nil/false returns an array of all elements before the one which returned nil/false passes all elements if the block never returns nil/false Hamster::Hash #to_a returns an Array of [key, value] pairs in same order as #each Hamster::Hash #to_hash converts an empty Hamster::Hash to an empty Ruby Hash converts a non-empty Hamster::Hash to a Hash with the same keys and values doesn't modify the receiver #to_h converts an empty Hamster::Hash to an empty Ruby Hash converts a non-empty Hamster::Hash to a Hash with the same keys and values doesn't modify the receiver Hamster::Hash #to_proc on Hash without default proc returns a Proc instance returns a Proc that returns the value of an existing key returns a Proc that returns nil for a missing key on Hash with a default proc returns a Proc instance returns a Proc that returns the value of an existing key returns a Proc that returns the result of the hash's default proc for a missing key Hamster::Hash #values_at on Hash without default proc returns an empty vector when no keys are given returns a vector of values for the given keys fills nil when keys are missing on Hash with default proc fills the result of the default proc when keys are missing Hamster::Hash #values returns the keys as a Vector with duplicates returns the keys as a Vector Hamster::Immutable #dup returns self #clone returns self Hamster::Immutable #immutable? object constructed after its class becomes Immutable returns true object constructed before its class becomes Immutable that are not frozen returns false that are frozen returns true Hamster::Immutable #memoize keeps the receiver frozen and immutable when called multiple times doesn't evaluate the memoized method more than once when making a copy clears all memory Hamster::Immutable freezes the instance subclass hides all public methods freezes the instance Hamster::Immutable #transform preserves the original returns a new instance with the updated values Hamster::Immutable #transform_unless when the condition is false preserves the original returns a new instance with the updated values when the condition is true preserves the original returns the original Hamster::List #add on [] with "A" preserves the original returns ["A"] on ["A"] with "B" preserves the original returns ["B", "A"] on ["A"] with "A" preserves the original returns ["A", "A"] on ["A", "B", "C"] with "D" preserves the original returns ["D", "A", "B", "C"] Hamster::List #all? on a really big list doesn't run out of stack when empty with a block returns true with no block returns true when not empty with a block if the block always returns true returns true if the block ever returns false returns false with no block if all values are truthy returns true if any value is nil returns false if any value is false returns false Hamster::List #any? on a really big list doesn't run out of stack when empty with a block returns false with no block returns false when not empty with a block returns true if the block ever returns true ("A") returns true if the block ever returns true ("B") returns true if the block ever returns true ("C") returns true if the block ever returns true (nil) returns false if the block always returns false with no block returns true if any value is truthy returns false if all values are falsey Hamster::List #append is lazy on [] and [] preserves the left preserves the right returns [] on ["A"] and [] preserves the left preserves the right returns ["A"] on [] and ["A"] preserves the left preserves the right returns ["A"] on ["A", "B"] and ["C", "D"] preserves the left preserves the right returns ["A", "B", "C", "D"] #concat is lazy on [] and [] preserves the left preserves the right returns [] on ["A"] and [] preserves the left preserves the right returns ["A"] on [] and ["A"] preserves the left preserves the right returns ["A"] on ["A", "B"] and ["C", "D"] preserves the left preserves the right returns ["A", "B", "C", "D"] #+ is lazy on [] and [] preserves the left preserves the right returns [] on ["A"] and [] preserves the left preserves the right returns ["A"] on [] and ["A"] preserves the left preserves the right returns ["A"] on ["A", "B"] and ["C", "D"] preserves the left preserves the right returns ["A", "B", "C", "D"] Hamster::List #at on a really big list doesn't run out of stack [] with 10 returns nil ["A"] with 10 returns nil ["A", "B", "C"] with 0 returns "A" ["A", "B", "C"] with 2 returns "C" ["A", "B", "C"] with -1 returns "C" ["A", "B", "C"] with -2 returns "B" ["A", "B", "C"] with -4 returns nil Hamster::List #break is lazy on [] with a block preserves the original returns a frozen array with two items correctly identifies the prefix correctly identifies the remainder without a block returns a frozen array with two items returns self as the prefix leaves the remainder empty on [1] with a block preserves the original returns a frozen array with two items correctly identifies the prefix correctly identifies the remainder without a block returns a frozen array with two items returns self as the prefix leaves the remainder empty on [1, 2] with a block preserves the original returns a frozen array with two items correctly identifies the prefix correctly identifies the remainder without a block returns a frozen array with two items returns self as the prefix leaves the remainder empty on [1, 2, 3] with a block preserves the original returns a frozen array with two items correctly identifies the prefix correctly identifies the remainder without a block returns a frozen array with two items returns self as the prefix leaves the remainder empty on [1, 2, 3, 4] with a block preserves the original returns a frozen array with two items correctly identifies the prefix correctly identifies the remainder without a block returns a frozen array with two items returns self as the prefix leaves the remainder empty on [2, 3, 4] with a block preserves the original returns a frozen array with two items correctly identifies the prefix correctly identifies the remainder without a block returns a frozen array with two items returns self as the prefix leaves the remainder empty on [3, 4] with a block preserves the original returns a frozen array with two items correctly identifies the prefix correctly identifies the remainder without a block returns a frozen array with two items returns self as the prefix leaves the remainder empty on [4] with a block preserves the original returns a frozen array with two items correctly identifies the prefix correctly identifies the remainder without a block returns a frozen array with two items returns self as the prefix leaves the remainder empty Hamster::List #car is responded to on [] preserves the original returns nil #car is responded to on ["A"] preserves the original returns "A" #car is responded to on ["A", "B", "C"] preserves the original returns "A" #cadr is responded to on ["A", "B", "C"] preserves the original returns "B" #caddr is responded to on ["A", "B", "C"] preserves the original returns "C" #cadddr is responded to on ["A", "B", "C"] preserves the original returns nil #caddddr is responded to on ["A", "B", "C"] preserves the original returns nil #cdr is responded to on [] preserves the original returns Hamster::List[] #cdr is responded to on ["A"] preserves the original returns Hamster::List[] #cdr is responded to on ["A", "B", "C"] preserves the original returns Hamster::List["B", "C"] #cddr is responded to on ["A", "B", "C"] preserves the original returns Hamster::List["C"] #cdddr is responded to on ["A", "B", "C"] preserves the original returns Hamster::List[] #cddddr is responded to on ["A", "B", "C"] preserves the original returns Hamster::List[] Hamster::List #chunk is lazy on [] preserves the original returns [] on ["A"] preserves the original returns [Hamster::List["A"]] on ["A", "B", "C"] preserves the original returns [Hamster::List["A", "B"], Hamster::List["C"]] Hamster::List #clear on [] preserves the original returns an empty list on ["A"] preserves the original returns an empty list on ["A", "B", "C"] preserves the original returns an empty list Hamster::List #combination is lazy on ["A", "B", "C", "D"] in groups of 1 preserves the original returns [Hamster::List["A"], Hamster::List["B"], Hamster::List["C"], Hamster::List["D"]] on ["A", "B", "C", "D"] in groups of 2 preserves the original returns [Hamster::List["A", "B"], Hamster::List["A", "C"], Hamster::List["A", "D"], Hamster::List["B", "C"], Hamster::List["B", "D"], Hamster::List["C", "D"]] on ["A", "B", "C", "D"] in groups of 3 preserves the original returns [Hamster::List["A", "B", "C"], Hamster::List["A", "B", "D"], Hamster::List["A", "C", "D"], Hamster::List["B", "C", "D"]] on ["A", "B", "C", "D"] in groups of 4 preserves the original returns [Hamster::List["A", "B", "C", "D"]] on ["A", "B", "C", "D"] in groups of 0 preserves the original returns [Hamster::List[]] on ["A", "B", "C", "D"] in groups of 5 preserves the original returns [] on [] in groups of 0 preserves the original returns [Hamster::List[]] on [] in groups of 1 preserves the original returns [] Hamster::List #compact is lazy on [] preserves the original returns [] on ["A"] preserves the original returns ["A"] on ["A", "B", "C"] preserves the original returns ["A", "B", "C"] on [nil] preserves the original returns [] on [nil, "B"] preserves the original returns ["B"] on ["A", nil] preserves the original returns ["A"] on [nil, nil] preserves the original returns [] on ["A", nil, "C"] preserves the original returns ["A", "C"] on [nil, "B", nil] preserves the original returns ["B"] Hamster::List #<=> with [] and [1] returns -1 with [1] and [] returns 1 with [] and [] returns 0 with [1] and [2] returns -1 with [2] and [1] returns 1 with [1] and [1] returns 0 with [1] and [1, 2] returns -1 with [1, 2] and [1] returns 1 with [1] and [1] returns 0 with [2, 3, 4] and [3, 4, 5] returns -1 with [3, 4, 5] and [2, 3, 4] returns 1 with [2, 3, 4] and [2, 3, 4] returns 0 Hamster::List #cons on [] with "A" preserves the original returns ["A"] on ["A"] with "B" preserves the original returns ["B", "A"] on ["A"] with "A" preserves the original returns ["A", "A"] on ["A", "B", "C"] with "D" preserves the original returns ["D", "A", "B", "C"] Hamster .list with no arguments always returns the same instance returns an empty list with a number of items always returns a different instance is the same as repeatedly using #cons .stream with no block returns an empty list with a block repeatedly calls the block .interval for numbers is equivalent to a list with explicit values for strings is equivalent to a list with explicit values .repeat returns an infinite list with specified value for each element .replicate returns a list with the specified value repeated the specified number of times .iterate returns an infinite list where the first item is calculated by applying the block on the initial argument, the second item by applying the function on the previous result and so on .enumerate returns a list based on the values yielded from the enumerator WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /<>/spec/lib/hamster/list/construction_spec.rb:94:in `block (3 levels) in '. realizes values as they are needed [] takes a variable number of items and returns a list returns an empty list when called without arguments Hamster::List on [] returns self on ["A"] returns self on ["A", "B", "C"] returns self on [] returns self on ["A"] returns self on ["A", "B", "C"] returns self Hamster::List #count on a really big list doesn't run out of stack on [] with a block returns 0 without a block returns length on [1] with a block returns 1 without a block returns length on [1, 2] with a block returns 1 without a block returns length on [1, 2, 3] with a block returns 2 without a block returns length on [1, 2, 3, 4] with a block returns 2 without a block returns length on [1, 2, 3, 4, 5] with a block returns 3 without a block returns length Hamster #cycle is lazy with an empty list returns an empty list with a non-empty list preserves the original infinitely cycles through all values Hamster::List #delete_at removes the element at the specified index makes no modification if the index is out of range Hamster::List #delete removes elements that are #== to the argument Hamster::List #drop is lazy with 10 from [] preserves the original returns [] with 10 from ["A"] preserves the original returns [] with -1 from ["A"] preserves the original returns ["A"] with 0 from ["A", "B", "C"] preserves the original returns ["A", "B", "C"] with 2 from ["A", "B", "C"] preserves the original returns ["C"] Hamster::List #drop_while is lazy on [] with a block preserves the original returns [] without a block returns an Enumerator on ["A"] with a block preserves the original returns [] without a block returns an Enumerator on ["A", "B", "C"] with a block preserves the original returns ["C"] without a block returns an Enumerator Hamster::List #each_chunk on a really big list doesn't run out of stack on [] with a block preserves the original iterates over the items in order returns self without a block preserves the original returns an Enumerator on ["A"] with a block preserves the original iterates over the items in order returns self without a block preserves the original returns an Enumerator on ["A", "B", "C"] with a block preserves the original iterates over the items in order returns self without a block preserves the original returns an Enumerator #each_slice on a really big list doesn't run out of stack on [] with a block preserves the original iterates over the items in order returns self without a block preserves the original returns an Enumerator on ["A"] with a block preserves the original iterates over the items in order returns self without a block preserves the original returns an Enumerator on ["A", "B", "C"] with a block preserves the original iterates over the items in order returns self without a block preserves the original returns an Enumerator Hamster::List #each on a really big list doesn't run out of stack on [] with a block iterates over the items in order returns nil without a block returns an Enumerator on ["A"] with a block iterates over the items in order returns nil without a block returns an Enumerator on ["A", "B", "C"] with a block iterates over the items in order returns nil without a block returns an Enumerator Hamster::List #each_with_index with no block returns an Enumerator with a block returns self iterates over the items in order, yielding item and index Hamster::List #empty? on a really big list doesn't run out of stack on [] returns true on ["A"] returns false on ["A", "B", "C"] returns false Hamster::List Hamster::List["A", "B", "C"] should == ["A", "B", "C"] Hamster::List["A", "B", "C"] should not eql? ["A", "B", "C"] Hamster::List["A", "B", "C"] should not == # Hamster::List["A", "B", "C"] should not eql? # Hamster::List[] should == [] Hamster::List[] should not eql? [] Hamster::List[] should eql? Hamster::List[] Hamster::List[] should == Hamster::List[] Hamster::List[] should not eql? Hamster::List[nil] Hamster::List["A"] should not eql? Hamster::List[] Hamster::List["A"] should eql? Hamster::List["A"] Hamster::List["A"] should == Hamster::List["A"] Hamster::List["A"] should not eql? Hamster::List["B"] Hamster::List["A", "B"] should not eql? Hamster::List["A"] Hamster::List["A", "B", "C"] should eql? Hamster::List["A", "B", "C"] Hamster::List["A", "B", "C"] should == Hamster::List["A", "B", "C"] Hamster::List["C", "A", "B"] should not eql? Hamster::List["A", "B", "C"] Hamster::List["A"] should == ["A"] ["A"] should == Hamster::List["A"] Hamster::List["A"] should not eql? ["A"] ["A"] should not eql? Hamster::List["A"] #eql? on a really big list doesn't run out of stack Hamster::List #fill can replace a range of items at the beginning of a list can replace a range of items in the middle of a list can replace a range of items at the end of a list can replace all the items in a list can fill past the end of the list is lazy with 1 argument replaces all the items in the list by default with 2 arguments replaces up to the end of the list by default when index and length are 0 leaves the list unmodified Hamster::List #find_all is lazy with an empty array with a block preserves the original returns the found list without a block returns an Enumerator with a single item array with a block preserves the original returns the found list without a block returns an Enumerator with a multi-item array with a block preserves the original returns the found list without a block returns an Enumerator with a multi-item single find_allable array with a block preserves the original returns the found list without a block returns an Enumerator with a multi-item multi-find_allable array with a block preserves the original returns the found list without a block returns an Enumerator Hamster::List #find_index on a really big list doesn't run out of stack looking for "A" in [] returns nil looking for nil in [] returns nil looking for "A" in ["A"] returns 0 looking for "B" in ["A"] returns nil looking for nil in ["A"] returns nil looking for "A" in ["A", "B", nil] returns 0 looking for "B" in ["A", "B", nil] returns 1 looking for nil in ["A", "B", nil] returns 2 looking for "C" in ["A", "B", nil] returns nil looking for 2 in [2] returns 0 looking for 2.0 in [2] returns 0 looking for 2.0 in [2.0] returns 0 looking for 2 in [2.0] returns 0 #index on a really big list doesn't run out of stack looking for "A" in [] returns nil looking for nil in [] returns nil looking for "A" in ["A"] returns 0 looking for "B" in ["A"] returns nil looking for nil in ["A"] returns nil looking for "A" in ["A", "B", nil] returns 0 looking for "B" in ["A", "B", nil] returns 1 looking for nil in ["A", "B", nil] returns 2 looking for "C" in ["A", "B", nil] returns nil looking for 2 in [2] returns 0 looking for 2.0 in [2] returns 0 looking for 2.0 in [2.0] returns 0 looking for 2 in [2.0] returns 0 Hamster::List #find on a really big list doesn't run out of stack on [] with a block returns nil without a block returns an Enumerator on [] with a block returns nil without a block returns an Enumerator on ["A"] with a block returns "A" without a block returns an Enumerator on ["A"] with a block returns nil without a block returns an Enumerator on ["A"] with a block returns nil without a block returns an Enumerator on ["A", "B", nil] with a block returns "A" without a block returns an Enumerator on ["A", "B", nil] with a block returns "B" without a block returns an Enumerator on ["A", "B", nil] with a block returns nil without a block returns an Enumerator on ["A", "B", nil] with a block returns nil without a block returns an Enumerator #detect on a really big list doesn't run out of stack on [] with a block returns nil without a block returns an Enumerator on [] with a block returns nil without a block returns an Enumerator on ["A"] with a block returns "A" without a block returns an Enumerator on ["A"] with a block returns nil without a block returns an Enumerator on ["A"] with a block returns nil without a block returns an Enumerator on ["A", "B", nil] with a block returns "A" without a block returns an Enumerator on ["A", "B", nil] with a block returns "B" without a block returns an Enumerator on ["A", "B", nil] with a block returns nil without a block returns an Enumerator on ["A", "B", nil] with a block returns nil without a block returns an Enumerator Hamster::List #flat_map with an empty list returns the flattened values as a Hamster::List returns a Hamster::List with a block that returns an empty list returns the flattened values as a Hamster::List returns a Hamster::List with a list of one item returns the flattened values as a Hamster::List returns a Hamster::List with a list of multiple items returns the flattened values as a Hamster::List returns a Hamster::List Hamster #flatten is lazy on [] preserves the original returns an empty list on ["A"] preserves the original returns an empty list on ["A", "B", "C"] preserves the original returns an empty list on ["A", Hamster::List["B"], "C"] preserves the original returns an empty list on [Hamster::List["A"], Hamster::List["B"], Hamster::List["C"]] preserves the original returns an empty list Hamster::List #grep is lazy without a block on [] returns [] on ["A"] returns ["A"] on [1] returns [] on ["A", 2, "C"] returns ["A", "C"] with a block on [] preserves the original returns [] on ["A"] preserves the original returns ["a"] on [1] preserves the original returns [] on ["A", 2, "C"] preserves the original returns ["a", "c"] Hamster::List #group_by on a really big list doesn't run out of stack with a block on [] returns [] on [1] returns [{true=>Hamster::List[1]}] on [1, 2, 3, 4] returns [{true=>Hamster::List[3, 1], false=>Hamster::List[4, 2]}] without a block on [] returns [] on [1] returns [{1=>Hamster::List[1]}] on [1, 2, 3, 4] returns [{1=>Hamster::List[1], 2=>Hamster::List[2], 3=>Hamster::List[3], 4=>Hamster::List[4]}] #group on a really big list doesn't run out of stack with a block on [] returns [] on [1] returns [{true=>Hamster::List[1]}] on [1, 2, 3, 4] returns [{true=>Hamster::List[3, 1], false=>Hamster::List[4, 2]}] without a block on [] returns [] on [1] returns [{1=>Hamster::List[1]}] on [1, 2, 3, 4] returns [{1=>Hamster::List[1], 2=>Hamster::List[2], 3=>Hamster::List[3], 4=>Hamster::List[4]}] Hamster::List #hash values are sufficiently distributed on a really big list doesn't run out of stack on an empty list returns 0 Hamster::List #head on [] returns nil on ["A"] returns "A" on ["A", "B", "C"] returns "A" #first on [] returns nil on ["A"] returns "A" on ["A", "B", "C"] returns "A" Hamster::List #include? on a really big list doesn't run out of stack on [] returns false on [] returns false on ["A"] returns true on ["A"] returns false on ["A"] returns false on ["A", "B", nil] returns true on ["A", "B", nil] returns true on ["A", "B", nil] returns true on ["A", "B", nil] returns false on [2] returns true on [2] returns true on [2.0] returns true on [2.0] returns true #member? on a really big list doesn't run out of stack on [] returns false on [] returns false on ["A"] returns true on ["A"] returns false on ["A"] returns false on ["A", "B", nil] returns true on ["A", "B", nil] returns true on ["A", "B", nil] returns true on ["A", "B", nil] returns false on [2] returns true on [2] returns true on [2.0] returns true on [2.0] returns true Hamster::List #index on a really big list doesn't run out of stack looking for "A" in [] returns nil looking for nil in [] returns nil looking for "A" in ["A"] returns 0 looking for "B" in ["A"] returns nil looking for nil in ["A"] returns nil looking for "A" in ["A", "B", nil] returns 0 looking for "B" in ["A", "B", nil] returns 1 looking for nil in ["A", "B", nil] returns 2 looking for "C" in ["A", "B", nil] returns nil looking for 2 in [2] returns 0 looking for 2.0 in [2] returns 0 looking for 2.0 in [2.0] returns 0 looking for 2 in [2.0] returns 0 Hamster::List #indices when called with a block is lazy on a large list which doesn't contain desired item doesn't blow the stack looking for "A" in [] returns [] looking for "B" in ["A"] returns [] looking for "B" in ["A", "B", "A"] returns [1] looking for "A" in ["A", "B", "A"] returns [0, 2] looking for 2 in [2] returns [0] looking for 2.0 in [2] returns [0] looking for 2.0 in [2.0] returns [0] looking for 2 in [2.0] returns [0] when called with a single argument is lazy looking for "A" in [] returns [] looking for "B" in ["A"] returns [] looking for "B" in ["A", "B", "A"] returns [1] looking for "A" in ["A", "B", "A"] returns [0, 2] looking for 2 in [2] returns [0] looking for 2.0 in [2] returns [0] looking for 2.0 in [2.0] returns [0] looking for 2 in [2.0] returns [0] Hamster::List #init is lazy on [] preserves the original returns the list without the last element: [] on ["A"] preserves the original returns the list without the last element: [] on ["A", "B", "C"] preserves the original returns the list without the last element: ["A", "B"] Hamster::List #inits is lazy on [] preserves the original returns [] on ["A"] preserves the original returns [Hamster::List["A"]] on ["A", "B", "C"] preserves the original returns [Hamster::List["A"], Hamster::List["A", "B"], Hamster::List["A", "B", "C"]] Hamster::List #insert can add items at the beginning of a list can add items in the middle of a list can add items at the end of a list can add items past the end of a list accepts a negative index, which counts back from the end of the list raises IndexError if a negative index is too great is lazy Hamster::List #inspect on a really big list doesn't run out of stack on [] returns "Hamster::List[]" returns a string which can be eval'd to get an equivalent object on ["A"] returns "Hamster::List[\"A\"]" returns a string which can be eval'd to get an equivalent object on ["A", "B", "C"] returns "Hamster::List[\"A\", \"B\", \"C\"]" returns a string which can be eval'd to get an equivalent object Hamster::List #intersperse is lazy on [] preserves the original returns [] on ["A"] preserves the original returns ["A"] on ["A", "B", "C"] preserves the original returns ["A", "|", "B", "|", "C"] Hamster::List #join on a really big list doesn't run out of stack with a separator on [] preserves the original returns "" on ["A"] preserves the original returns "A" on ["A", "B", "C"] preserves the original returns "A|B|C" without a separator on [] preserves the original returns "" on ["A"] preserves the original returns "A" on ["A", "B", "C"] preserves the original returns "ABC" without a separator (with global default separator set) uses the default global separator Hamster::List #last on a really big list doesn't run out of stack on [] returns nil on ["A"] returns "A" on ["A", "B", "C"] returns "C" Hamster::List #<< adds an item onto the end of a list on an empty list returns a list with one item Hamster::List #map is lazy on [] with a block preserves the original returns [] is lazy without a block returns an Enumerator on ["A"] with a block preserves the original returns ["a"] is lazy without a block returns an Enumerator on ["A", "B", "C"] with a block preserves the original returns ["a", "b", "c"] is lazy without a block returns an Enumerator #collect is lazy on [] with a block preserves the original returns [] is lazy without a block returns an Enumerator on ["A"] with a block preserves the original returns ["a"] is lazy without a block returns an Enumerator on ["A", "B", "C"] with a block preserves the original returns ["a", "b", "c"] is lazy without a block returns an Enumerator Hamster::List #max on a really big list doesn't run out of stack with a block on [] returns nil on ["A"] returns "A" on ["Ichi", "Ni", "San"] returns "Ichi" without a block on [] returns nil on ["A"] returns "A" on ["Ichi", "Ni", "San"] returns "San" Hamster::List without a comparator on an empty list returns an empty list on a single list returns the list with multiple lists merges the lists based on natural sort order with a comparator on an empty list returns an empty list on a single list returns the list with multiple lists merges the lists based on the specified transformer Hamster::List without a comparator on an empty list returns an empty list on a single list returns the list with multiple lists merges the lists based on natural sort order with a comparator on an empty list returns an empty list on a single list returns the list with multiple lists merges the lists based on the specified comparator Hamster::List #min on a really big list doesn't run out of stack with a block on [] returns nil on ["A"] returns "A" on ["Ichi", "Ni", "San"] returns "Ni" without a block on [] returns nil on ["A"] returns "A" on ["Ichi", "Ni", "San"] returns "Ichi" Hamster::List ensures each node of a lazy list will only be realized on ONE thread, even when accessed by multiple threads doesn't go into an infinite loop if lazy list block raises an exception doesn't give horrendously bad performance if thread realizing the list sleeps (PENDING: Temporarily skipped with xit) Hamster::List #none? on a really big list doesn't run out of stack when empty with a block returns true with no block returns true when not empty with a block returns false if the block ever returns true ("A") returns false if the block ever returns true ("B") returns false if the block ever returns true ("C") returns false if the block ever returns true (nil) returns true if the block always returns false with no block returns false if any value is truthy returns true if all values are falsey Hamster::List #one? on a really big list doesn't run out of stack when empty with a block returns false with no block returns false when not empty with a block returns false if the block returns true more than once returns false if the block never returns true returns true if the block only returns true once with no block returns false if more than one value is truthy returns true if only one value is truthy Hamster::List #partition is lazy calls the passed block only once for each item returns a lazy list of items for which predicate is true returns a lazy list of items for which predicate is false calls the passed block only once for each item, even with multiple threads on [] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator on [1] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator on [1, 2] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator on [1, 2, 3] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator on [1, 2, 3, 4] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator on [2, 3, 4] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator on [3, 4] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator on [4] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator Hamster::List #permutation with no block returns an Enumerator with no argument yields all permutations of the list with a length argument yields all N-size permutations of the list with a length argument greater than length of list yields nothing with a length argument of 0 yields an empty list with a block returns the original list Hamster::List #pop with an empty list returns an empty list with a list with a few items removes the last item Hamster::List #product on a really big list doesn't run out of stack on [] returns 1 on [2] returns 2 on [1, 3, 5, 7, 11] returns 1155 Hamster::List #reduce on a really big list doesn't run out of stack on [] with an initial value of 10 and a block returns 10 on [1] with an initial value of 10 and a block returns 9 on [1, 2, 3] with an initial value of 10 and a block returns 4 on [] with no initial value and a block returns nil on [1] with no initial value and a block returns 1 on [1, 2, 3] with no initial value and a block returns -4 with no block and a symbol argument uses the symbol as the name of a method to reduce with with no block and a string argument uses the string as the name of a method to reduce with #inject on a really big list doesn't run out of stack on [] with an initial value of 10 and a block returns 10 on [1] with an initial value of 10 and a block returns 9 on [1, 2, 3] with an initial value of 10 and a block returns 4 on [] with no initial value and a block returns nil on [1] with no initial value and a block returns 1 on [1, 2, 3] with no initial value and a block returns -4 with no block and a symbol argument uses the symbol as the name of a method to reduce with with no block and a string argument uses the string as the name of a method to reduce with Hamster::List #reject is lazy on [] with a block returns [] is lazy without a block returns an Enumerator on ["A"] with a block returns ["A"] is lazy without a block returns an Enumerator on ["A", "B", "C"] with a block returns ["A", "B", "C"] is lazy without a block returns an Enumerator on ["A", "b", "C"] with a block returns ["A", "C"] is lazy without a block returns an Enumerator on ["a", "b", "c"] with a block returns [] is lazy without a block returns an Enumerator #delete_if is lazy on [] with a block returns [] is lazy without a block returns an Enumerator on ["A"] with a block returns ["A"] is lazy without a block returns an Enumerator on ["A", "B", "C"] with a block returns ["A", "B", "C"] is lazy without a block returns an Enumerator on ["A", "b", "C"] with a block returns ["A", "C"] is lazy without a block returns an Enumerator on ["a", "b", "c"] with a block returns [] is lazy without a block returns an Enumerator Hamster::List #reverse is lazy on a really big list doesn't run out of stack on [] preserves the original returns [] on ["A"] preserves the original returns ["A"] on ["A", "B", "C"] preserves the original returns ["C", "B", "A"] Hamster::List #rotate when passed no argument returns a new list with the first element moved to the end with an integral argument n returns a new list with the first (n % size) elements moved to the end with a non-numeric argument raises a TypeError with an argument of zero (or one evenly divisible by list length) it returns self Hamster::List #sample returns a randomly chosen item Hamster::List #select is lazy with an empty array with a block preserves the original returns the selected list without a block returns an Enumerator with a single item array with a block preserves the original returns the selected list without a block returns an Enumerator with a multi-item array with a block preserves the original returns the selected list without a block returns an Enumerator with a multi-item single selectable array with a block preserves the original returns the selected list without a block returns an Enumerator with a multi-item multi-selectable array with a block preserves the original returns the selected list without a block returns an Enumerator Hamster::List #size on a really big list doesn't run out of stack on [] returns 0 on ["A"] returns 1 on ["A", "B", "C"] returns 3 #length on a really big list doesn't run out of stack on [] returns 0 on ["A"] returns 1 on ["A", "B", "C"] returns 3 Hamster::List #slice when passed a positive integral index returns the element at that index leaves the original unchanged when passed a negative integral index returns the element which is number (index.abs) counting from the end of the list when passed a positive integral index and count returns 'count' elements starting from 'index' leaves the original unchanged when passed a negative integral index and count returns 'count' elements, starting from index which is number 'index.abs' counting from the end of the array when passed a Range returns the elements whose indexes are within the given Range leaves the original unchanged when passed a subclass of Range works the same as with a Range #[] when passed a positive integral index returns the element at that index leaves the original unchanged when passed a negative integral index returns the element which is number (index.abs) counting from the end of the list when passed a positive integral index and count returns 'count' elements starting from 'index' leaves the original unchanged when passed a negative integral index and count returns 'count' elements, starting from index which is number 'index.abs' counting from the end of the array when passed a Range returns the elements whose indexes are within the given Range leaves the original unchanged when passed a subclass of Range works the same as with a Range Hamster::List #sort is lazy on [] with a block preserves the original returns [] without a block preserves the original returns [] on ["A"] with a block preserves the original returns ["A"] without a block preserves the original returns ["A"] on ["Ichi", "Ni", "San"] with a block preserves the original returns ["Ni", "San", "Ichi"] without a block preserves the original returns ["Ichi", "Ni", "San"] #sort_by is lazy on [] with a block preserves the original returns [] without a block preserves the original returns [] on ["A"] with a block preserves the original returns ["A"] without a block preserves the original returns ["A"] on ["Ichi", "Ni", "San"] with a block preserves the original returns ["Ni", "San", "Ichi"] without a block preserves the original returns ["Ichi", "Ni", "San"] Hamster::list#span is lazy given a predicate (in the form of a block), splits the list into two lists (returned as an array) such that elements in the first list (the prefix) are taken from the head of the list while the predicate is satisfied, and elements in the second list (the remainder) are the remaining elements from the list once the predicate is not satisfied. For example: given the list [] and a predicate that returns true for values <= 2 preserves the original returns the prefix as [] returns the remainder as [] calls the block only once for each element without a predicate returns a frozen array returns self as the prefix returns an empty list as the remainder given the list [1] and a predicate that returns true for values <= 2 preserves the original returns the prefix as [1] returns the remainder as [] calls the block only once for each element without a predicate returns a frozen array returns self as the prefix returns an empty list as the remainder given the list [1, 2] and a predicate that returns true for values <= 2 preserves the original returns the prefix as [1, 2] returns the remainder as [] calls the block only once for each element without a predicate returns a frozen array returns self as the prefix returns an empty list as the remainder given the list [1, 2, 3] and a predicate that returns true for values <= 2 preserves the original returns the prefix as [1, 2] returns the remainder as [3] calls the block only once for each element without a predicate returns a frozen array returns self as the prefix returns an empty list as the remainder given the list [1, 2, 3, 4] and a predicate that returns true for values <= 2 preserves the original returns the prefix as [1, 2] returns the remainder as [3, 4] calls the block only once for each element without a predicate returns a frozen array returns self as the prefix returns an empty list as the remainder given the list [2, 3, 4] and a predicate that returns true for values <= 2 preserves the original returns the prefix as [2] returns the remainder as [3, 4] calls the block only once for each element without a predicate returns a frozen array returns self as the prefix returns an empty list as the remainder given the list [3, 4] and a predicate that returns true for values <= 2 preserves the original returns the prefix as [] returns the remainder as [3, 4] calls the block only once for each element without a predicate returns a frozen array returns self as the prefix returns an empty list as the remainder given the list [4] and a predicate that returns true for values <= 2 preserves the original returns the prefix as [] returns the remainder as [4] calls the block only once for each element without a predicate returns a frozen array returns self as the prefix returns an empty list as the remainder Hamster::List #split_at is lazy on [] preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder on [1] preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder on [1, 2] preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder on [1, 2, 3] preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder on [1, 2, 3, 4] preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder Hamster::List #subsequences yields all sublists with 1 or more consecutive items with no block returns an Enumerator Hamster::List #sum on a really big list doesn't run out of stack on [] returns 0 on [2] returns 2 on [1, 3, 5, 7, 11] returns 27 Hamster::List #tail on a really big list doesn't run out of stack on [] preserves the original returns [] on ["A"] preserves the original returns [] on ["A", "B", "C"] preserves the original returns ["B", "C"] Hamster::List #tails is lazy on [] preserves the original returns [] on ["A"] preserves the original returns [Hamster::List["A"]] on ["A", "B", "C"] preserves the original returns [Hamster::List["A", "B", "C"], Hamster::List["B", "C"], Hamster::List["C"]] Hamster::List #take is lazy 10 from [] preserves the original returns [] 10 from ["A"] preserves the original returns ["A"] -1 from ["A"] preserves the original returns [] 0 from ["A", "B", "C"] preserves the original returns [] 2 from ["A", "B", "C"] preserves the original returns ["A", "B"] Hamster::List #take_while is lazy on [] with a block returns [] preserves the original is lazy without a block returns an Enumerator on ["A"] with a block returns ["A"] preserves the original is lazy without a block returns an Enumerator on ["A", "B", "C"] with a block returns ["A", "B"] preserves the original is lazy without a block returns an Enumerator Hamster::List #to_a on a really big list doesn't run out of stack on [] returns [] leaves the original unchanged returns a mutable array on ["A"] returns ["A"] leaves the original unchanged returns a mutable array on ["A", "B", "C"] returns ["A", "B", "C"] leaves the original unchanged returns a mutable array #entries on a really big list doesn't run out of stack on [] returns [] leaves the original unchanged returns a mutable array on ["A"] returns ["A"] leaves the original unchanged returns a mutable array on ["A", "B", "C"] returns ["A", "B", "C"] leaves the original unchanged returns a mutable array Hamster::List #to_ary on a really big list doesn't run out of stack enables implicit conversion to block parameters method arguments works with splat Hamster::List #to_list on [] returns self on ["A"] returns self on ["A", "B", "C"] returns self Hamster::List #to_set on [] returns a set with the same values on ["A"] returns a set with the same values on ["A", "B", "C"] returns a set with the same values Hamster::List #transpose takes a list of lists and returns a list of all the first elements, all the 2nd elements, and so on only goes as far as the shortest list Hamster::List #union is lazy returns [] for [] and [] for [] and [] returns ["A"] for ["A"] and [] for [] and ["A"] returns ["A", "B", "C"] for ["A", "B", "C"] and [] for [] and ["A", "B", "C"] returns ["A"] for ["A", "A"] and ["A"] for ["A"] and ["A", "A"] #| is lazy returns [] for [] and [] for [] and [] returns ["A"] for ["A"] and [] for [] and ["A"] returns ["A", "B", "C"] for ["A", "B", "C"] and [] for [] and ["A", "B", "C"] returns ["A"] for ["A", "A"] and ["A"] for ["A"] and ["A", "A"] Hamster::List #uniq is lazy when passed a block uses the block to identify duplicates on [] preserves the original returns [] on ["A"] preserves the original returns ["A"] on ["A", "B", "C"] preserves the original returns ["A", "B", "C"] on ["A", "B", "A", "C", "C"] preserves the original returns ["A", "B", "C"] Hamster::List #zip is lazy on [] and [] returns [] on ["A"] and ["aye"] returns [Hamster::List["A", "aye"]] on ["A"] and [] returns [Hamster::List["A", nil]] on [] and ["A"] returns [Hamster::List[nil, "A"]] on ["A", "B", "C"] and ["aye", "bee", "see"] returns [Hamster::List["A", "aye"], Hamster::List["B", "bee"], Hamster::List["C", "see"]] Hamster .from with {"a"=>1, "b"=>[2, {"c"=>3}, 4], "d"=>#, "e"=>{"f"=>8, "g"=>9}, "h"=>/ijk/} as input should return Hamster::Hash["b" => Hamster::Vector[2, Hamster::Hash["c" => 3], 4], "a" => 1, "h" => /ijk/, "d" => Hamster::Set[6, 7, 5], "e" => Hamster::Hash["f" => 8, "g" => 9]] with {} as input should return Hamster::Hash[] with {"a"=>1, "b"=>2, "c"=>3} as input should return Hamster::Hash["b" => 2, "a" => 1, "c" => 3] with [] as input should return Hamster::Vector[] with [1, 2, 3] as input should return Hamster::Vector[1, 2, 3] with # as input should return Hamster::Set[] with # as input should return Hamster::Set[1, 2, 3] with 42 as input should return 42 with #> as input should return #> with # as input should return Hamster::Hash[:address => nil, :name => nil] with # as input should return Hamster::Hash[:address => "123 Main", :name => "Dave"] with mixed object should return Hamster data .to_ruby with Hamster::Hash["b" => Hamster::Vector[2, Hamster::Hash["c" => 3], 4], "a" => 1, "h" => /ijk/, "d" => Hamster::Set[6, 7, 5], "e" => Hamster::Hash["f" => 8, "g" => 9]] as input should return {"a"=>1, "b"=>[2, {"c"=>3}, 4], "d"=>#, "e"=>{"f"=>8, "g"=>9}, "h"=>/ijk/} (PENDING: Temporarily skipped with xit) with Hamster::Hash[] as input should return {} (PENDING: Temporarily skipped with xit) with Hamster::Hash["b" => 2, "a" => 1, "c" => 3] as input should return {"a"=>1, "b"=>2, "c"=>3} (PENDING: Temporarily skipped with xit) with Hamster::Vector[] as input should return [] (PENDING: Temporarily skipped with xit) with Hamster::Vector[1, 2, 3] as input should return [1, 2, 3] (PENDING: Temporarily skipped with xit) with Hamster::Set[] as input should return # (PENDING: Temporarily skipped with xit) with Hamster::Set[1, 2, 3] as input should return # (PENDING: Temporarily skipped with xit) with 42 as input should return 42 (PENDING: Temporarily skipped with xit) with #> as input should return #> (PENDING: Temporarily skipped with xit) with Hamster::Deque[] as input should return [] with Hamster::Deque[Hamster::Hash["a" => 1]] as input should return [{"a" => 1}] with Hamster::SortedSet[] as input should return ::SortedSet.new with Hamster::SortedSet[1, 2, 3] as input should return ::SortedSet.new with mixed object should return Ruby data structures Hamster::Set #add can add nil to a set works on large sets, with many combinations of input with a unique value preserves the original returns a copy with the superset of values with a duplicate value preserves the original values returns self #<< can add nil to a set works on large sets, with many combinations of input with a unique value preserves the original returns a copy with the superset of values with a duplicate value preserves the original values returns self #add? with a unique value preserves the original returns a copy with the superset of values with a duplicate value preserves the original values returns false Hamster::Set #all? when empty with a block returns true with no block returns true when not empty with a block returns true if the block always returns true returns false if the block ever returns false propagates an exception from the block stops iterating as soon as the block returns false with no block returns true if all values are truthy returns false if any value is nil returns false if any value is false Hamster::Set #any? when empty with a block returns false with no block returns false when not empty with a block returns true if the block ever returns true ("A") returns true if the block ever returns true ("B") returns true if the block ever returns true ("C") returns true if the block ever returns true (nil) returns false if the block always returns false propagates exceptions raised in the block stops iterating as soon as the block returns true with no block returns true if any value is truthy returns false if all values are falsey Hamster::Set #clear on [] preserves the original returns an empty set on ["A"] preserves the original returns an empty set on ["A", "B", "C"] preserves the original returns an empty set from a subclass returns an empty instance of the subclass Hamster::Set #compact on [] preserves the original returns [] on ["A"] preserves the original returns ["A"] on ["A", "B", "C"] preserves the original returns ["A", "B", "C"] on [nil] preserves the original returns [] on [nil, "B"] preserves the original returns ["B"] on ["A", nil] preserves the original returns ["A"] on [nil, nil] preserves the original returns [] on ["A", nil, "C"] preserves the original returns ["A", "C"] on [nil, "B", nil] preserves the original returns ["B"] Hamster::Set .set with no values returns the empty set with a list of values is equivalent to repeatedly using #add Hamster::Set #dup returns self #clone returns self Hamster::Set #count works on large sets on [] with a block returns 0 without a block returns length on [1] with a block returns 1 without a block returns length on [1, 2] with a block returns 1 without a block returns length on [1, 2, 3] with a block returns 2 without a block returns length on [1, 2, 3, 4] with a block returns 2 without a block returns length on [1, 2, 3, 4, 5] with a block returns 3 without a block returns length Hamster::Set #delete works on large sets, with many combinations of input with an existing value preserves the original returns a copy with the remaining values with a non-existing value preserves the original values returns self when removing the last value in a set returns the canonical empty set #delete? with an existing value preserves the original returns a copy with the remaining values with a non-existing value preserves the original values returns false Hamster::Set #difference works on a wide variety of inputs for [] and [] doesn't modify the original Sets returns [] when passed a Ruby Array returns the expected Set for ["A"] and [] doesn't modify the original Sets returns ["A"] when passed a Ruby Array returns the expected Set for ["A"] and ["A"] doesn't modify the original Sets returns [] when passed a Ruby Array returns the expected Set for ["A", "B", "C"] and ["B"] doesn't modify the original Sets returns ["A", "C"] when passed a Ruby Array returns the expected Set for ["A", "B", "C"] and ["A", "C"] doesn't modify the original Sets returns ["B"] when passed a Ruby Array returns the expected Set for ["A", "B", "C", "D", "E", "F", "G", "H"] and [] doesn't modify the original Sets returns ["A", "B", "C", "D", "E", "F", "G", "H"] when passed a Ruby Array returns the expected Set for ["A", "B", "C", "M", "X", "Y", "Z"] and ["B", "C", "D", "E", "F", "G", "H", "I", "J", "X"] doesn't modify the original Sets returns ["A", "M", "Y", "Z"] when passed a Ruby Array returns the expected Set #subtract works on a wide variety of inputs for [] and [] doesn't modify the original Sets returns [] when passed a Ruby Array returns the expected Set for ["A"] and [] doesn't modify the original Sets returns ["A"] when passed a Ruby Array returns the expected Set for ["A"] and ["A"] doesn't modify the original Sets returns [] when passed a Ruby Array returns the expected Set for ["A", "B", "C"] and ["B"] doesn't modify the original Sets returns ["A", "C"] when passed a Ruby Array returns the expected Set for ["A", "B", "C"] and ["A", "C"] doesn't modify the original Sets returns ["B"] when passed a Ruby Array returns the expected Set for ["A", "B", "C", "D", "E", "F", "G", "H"] and [] doesn't modify the original Sets returns ["A", "B", "C", "D", "E", "F", "G", "H"] when passed a Ruby Array returns the expected Set for ["A", "B", "C", "M", "X", "Y", "Z"] and ["B", "C", "D", "E", "F", "G", "H", "I", "J", "X"] doesn't modify the original Sets returns ["A", "M", "Y", "Z"] when passed a Ruby Array returns the expected Set #- works on a wide variety of inputs for [] and [] doesn't modify the original Sets returns [] when passed a Ruby Array returns the expected Set for ["A"] and [] doesn't modify the original Sets returns ["A"] when passed a Ruby Array returns the expected Set for ["A"] and ["A"] doesn't modify the original Sets returns [] when passed a Ruby Array returns the expected Set for ["A", "B", "C"] and ["B"] doesn't modify the original Sets returns ["A", "C"] when passed a Ruby Array returns the expected Set for ["A", "B", "C"] and ["A", "C"] doesn't modify the original Sets returns ["B"] when passed a Ruby Array returns the expected Set for ["A", "B", "C", "D", "E", "F", "G", "H"] and [] doesn't modify the original Sets returns ["A", "B", "C", "D", "E", "F", "G", "H"] when passed a Ruby Array returns the expected Set for ["A", "B", "C", "M", "X", "Y", "Z"] and ["B", "C", "D", "E", "F", "G", "H", "I", "J", "X"] doesn't modify the original Sets returns ["A", "M", "Y", "Z"] when passed a Ruby Array returns the expected Set Hamster::Set #disjoint? for [] and [] returns true for ["A"] and [] returns true for [] and ["A"] returns true for ["A"] and ["A"] returns false for ["A", "B", "C"] and ["B"] returns false for ["B"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["D", "E"] returns true for ["F", "G", "H", "I"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["A", "B", "C", "D"] returns false for ["D", "E", "F", "G"] and ["A", "B", "C"] returns true Hamster::Set #each yields both of a pair of colliding keys without a block returns an Enumerator with an empty block returns self with a block yields all values Hamster::Set #empty? on [] returns true on ["A"] returns false on ["A", "B", "C"] returns false on [nil] returns false on [false] returns false .empty returns the canonical empty set from a subclass returns an empty instance of the subclass calls overridden #initialize when creating empty Set Hamster::Set #== when comparing to a standard set returns false when comparing to a arbitrary object returns false with an empty set for each comparison returns true with an empty set and a set with nil returns false with a single item array and empty array returns false with matching single item array returns true with mismatching single item array returns false with a multi-item array and single item array returns false with matching multi-item array returns true with a mismatching multi-item array returns true Hamster::Set #eql? when comparing to a standard set returns false when comparing to a arbitrary object returns false when comparing with a subclass of Hamster::Set returns false with an empty set for each comparison returns true with an empty set and a set with nil returns false with a single item array and empty array returns false with matching single item array returns true with mismatching single item array returns false with a multi-item array and single item array returns false with matching multi-item array returns true with a mismatching multi-item array returns true Hamster::Set #exclusion works for a wide variety of inputs for [] and [] doesn't modify the original Sets returns [] when passed a Ruby Array returns the expected Set for ["A"] and [] doesn't modify the original Sets returns ["A"] when passed a Ruby Array returns the expected Set for ["A"] and ["A"] doesn't modify the original Sets returns [] when passed a Ruby Array returns the expected Set for ["A", "B", "C"] and ["B"] doesn't modify the original Sets returns ["A", "C"] when passed a Ruby Array returns the expected Set for ["A", "B", "C"] and ["B", "C", "D"] doesn't modify the original Sets returns ["A", "D"] when passed a Ruby Array returns the expected Set for ["A", "B", "C"] and ["D", "E", "F"] doesn't modify the original Sets returns ["A", "B", "C", "D", "E", "F"] when passed a Ruby Array returns the expected Set #^ works for a wide variety of inputs for [] and [] doesn't modify the original Sets returns [] when passed a Ruby Array returns the expected Set for ["A"] and [] doesn't modify the original Sets returns ["A"] when passed a Ruby Array returns the expected Set for ["A"] and ["A"] doesn't modify the original Sets returns [] when passed a Ruby Array returns the expected Set for ["A", "B", "C"] and ["B"] doesn't modify the original Sets returns ["A", "C"] when passed a Ruby Array returns the expected Set for ["A", "B", "C"] and ["B", "C", "D"] doesn't modify the original Sets returns ["A", "D"] when passed a Ruby Array returns the expected Set for ["A", "B", "C"] and ["D", "E", "F"] doesn't modify the original Sets returns ["A", "B", "C", "D", "E", "F"] when passed a Ruby Array returns the expected Set Hamster::Set #find on [] with a block returns nil without a block returns an Enumerator on [] with a block returns nil without a block returns an Enumerator on ["A"] with a block returns "A" without a block returns an Enumerator on ["A"] with a block returns nil without a block returns an Enumerator on ["A"] with a block returns nil without a block returns an Enumerator on ["A", "B", nil] with a block returns "A" without a block returns an Enumerator on ["A", "B", nil] with a block returns "B" without a block returns an Enumerator on ["A", "B", nil] with a block returns nil without a block returns an Enumerator on ["A", "B", nil] with a block returns nil without a block returns an Enumerator #detect on [] with a block returns nil without a block returns an Enumerator on [] with a block returns nil without a block returns an Enumerator on ["A"] with a block returns "A" without a block returns an Enumerator on ["A"] with a block returns nil without a block returns an Enumerator on ["A"] with a block returns nil without a block returns an Enumerator on ["A", "B", nil] with a block returns "A" without a block returns an Enumerator on ["A", "B", nil] with a block returns "B" without a block returns an Enumerator on ["A", "B", nil] with a block returns nil without a block returns an Enumerator on ["A", "B", nil] with a block returns nil without a block returns an Enumerator Hamster::Set #first returns nil if only member of set is nil returns the first item yielded by #each on an empty set returns nil on a non-empty set returns an arbitrary value from the set Hamster #flatten on ["A"] preserves the original returns the inlined values on ["A", "B", "C"] preserves the original returns the inlined values on ["A", Hamster::Set["B"], "C"] preserves the original returns the inlined values on [Hamster::Set["A"], Hamster::Set["B"], Hamster::Set["C"]] preserves the original returns the inlined values on an empty set returns an empty set on a set with multiple levels of nesting inlines lower levels of nesting from a subclass returns an instance of the subclass Hamster::Set #grep without a block with an empty set returns the filtered values with a single item set returns the filtered values with a single item set that doesn't contain match returns the filtered values with a multi-item set where one isn't a match returns the filtered values with a block processes each matching item with the block returns the filtered values Hamster::Set #grep_v without a block with an empty set returns the filtered values with a single item set returns the filtered values with a single item set that doesn't contain match returns the filtered values with a multi-item set where one isn't a match returns the filtered values with a block resulting items are processed with the block returns the filtered values Hamster::Set #group_by returns a hash without default proc with a block on [] returns [] on [1] returns [{true=>Hamster::Set[1]}] on [1, 2, 3, 4] returns [{true=>Hamster::Set[1, 3], false=>Hamster::Set[4, 2]}] without a block on [] returns [] on [1] returns [{1=>Hamster::Set[1]}] on [1, 2, 3, 4] returns [{1=>Hamster::Set[1], 2=>Hamster::Set[2], 3=>Hamster::Set[3], 4=>Hamster::Set[4]}] on an empty set returns an empty hash from a subclass returns an Hash whose values are instances of the subclass #group returns a hash without default proc with a block on [] returns [] on [1] returns [{true=>Hamster::Set[1]}] on [1, 2, 3, 4] returns [{true=>Hamster::Set[1, 3], false=>Hamster::Set[4, 2]}] without a block on [] returns [] on [1] returns [{1=>Hamster::Set[1]}] on [1, 2, 3, 4] returns [{1=>Hamster::Set[1], 2=>Hamster::Set[2], 3=>Hamster::Set[3], 4=>Hamster::Set[4]}] on an empty set returns an empty hash from a subclass returns an Hash whose values are instances of the subclass #classify returns a hash without default proc with a block on [] returns [] on [1] returns [{true=>Hamster::Set[1]}] on [1, 2, 3, 4] returns [{true=>Hamster::Set[1, 3], false=>Hamster::Set[4, 2]}] without a block on [] returns [] on [1] returns [{1=>Hamster::Set[1]}] on [1, 2, 3, 4] returns [{1=>Hamster::Set[1], 2=>Hamster::Set[2], 3=>Hamster::Set[3], 4=>Hamster::Set[4]}] on an empty set returns an empty hash from a subclass returns an Hash whose values are instances of the subclass Hamster::Set #hash generates the same hash value for a set regardless of the order things were added to it values are sufficiently distributed on an empty set returns 0 Hamster::Set includes Immutable Hamster::Set #include? returns true for an existing value ("A") returns true for an existing value ("B") returns true for an existing value ("C") returns true for an existing value (2.0) returns true for an existing value (nil) returns false for a non-existing value returns true even if existing value is nil returns true even if existing value is false returns false for a mutable item which is mutated after adding uses #eql? for equality returns the right answers after a lot of addings and removings #member? returns true for an existing value ("A") returns true for an existing value ("B") returns true for an existing value ("C") returns true for an existing value (2.0) returns true for an existing value (nil) returns false for a non-existing value returns true even if existing value is nil returns true even if existing value is false returns false for a mutable item which is mutated after adding uses #eql? for equality returns the right answers after a lot of addings and removings Hamster::Set #inspect on [] returns "Hamster::Set[]" returns a string which can be eval'd to get an equivalent set on ["A"] returns "Hamster::Set[\"A\"]" returns a string which can be eval'd to get an equivalent set on ["A", "B", "C"] returns a programmer-readable representation of the set contents returns a string which can be eval'd to get an equivalent set from a subclass returns a programmer-readable representation of the set contents returns a string which can be eval'd to get an equivalent set Hamster::Set #intersect? for [] and [] returns false for ["A"] and [] returns false for [] and ["A"] returns false for ["A"] and ["A"] returns true for ["A", "B", "C"] and ["B"] returns true for ["B"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["D", "E"] returns false for ["F", "G", "H", "I"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["A", "B", "C", "D"] returns true for ["D", "E", "F", "G"] and ["A", "B", "C"] returns false Hamster::Set #intersection returns results consistent with Array#& for [] and [] returns [], without changing the original Sets for [] and [] returns [], without changing the original Sets when passed a Ruby Array returns the expected Set for ["A"] and [] returns [], without changing the original Sets for [] and ["A"] returns [], without changing the original Sets when passed a Ruby Array returns the expected Set for ["A"] and ["A"] returns ["A"], without changing the original Sets for ["A"] and ["A"] returns ["A"], without changing the original Sets when passed a Ruby Array returns the expected Set for ["A", "B", "C"] and ["B"] returns ["B"], without changing the original Sets for ["B"] and ["A", "B", "C"] returns ["B"], without changing the original Sets when passed a Ruby Array returns the expected Set for ["A", "B", "C"] and ["A", "C"] returns ["A", "C"], without changing the original Sets for ["A", "C"] and ["A", "B", "C"] returns ["A", "C"], without changing the original Sets when passed a Ruby Array returns the expected Set #& returns results consistent with Array#& for [] and [] returns [], without changing the original Sets for [] and [] returns [], without changing the original Sets when passed a Ruby Array returns the expected Set for ["A"] and [] returns [], without changing the original Sets for [] and ["A"] returns [], without changing the original Sets when passed a Ruby Array returns the expected Set for ["A"] and ["A"] returns ["A"], without changing the original Sets for ["A"] and ["A"] returns ["A"], without changing the original Sets when passed a Ruby Array returns the expected Set for ["A", "B", "C"] and ["B"] returns ["B"], without changing the original Sets for ["B"] and ["A", "B", "C"] returns ["B"], without changing the original Sets when passed a Ruby Array returns the expected Set for ["A", "B", "C"] and ["A", "C"] returns ["A", "C"], without changing the original Sets for ["A", "C"] and ["A", "B", "C"] returns ["A", "C"], without changing the original Sets when passed a Ruby Array returns the expected Set Hamster::Set #join with a separator on [] preserves the original returns "" on ["A"] preserves the original returns "A" on ["A", "B", "C"] preserves the original returns "A|B|C" without a separator on [] preserves the original returns "" on ["A"] preserves the original returns "A" on ["A", "B", "C"] preserves the original returns "ABC" without a separator (with global default separator set) on ['A', 'B', 'C'] preserves the original returns nil Hamster::Set #map works on large sets when empty returns self when not empty with a block preserves the original values returns a new set with the mapped values with no block returns an Enumerator from a subclass returns an instance of the subclass when multiple items map to the same value filters out the duplicates #collect works on large sets when empty returns self when not empty with a block preserves the original values returns a new set with the mapped values with no block returns an Enumerator from a subclass returns an instance of the subclass when multiple items map to the same value filters out the duplicates Hamster::Set #marshal_dump/#marshal_load can survive dumping and loading into a new process is still possible to test items by key after loading Hamster::Set #max with a block on [] returns nil on ["A"] returns "A" on ["Ichi", "Ni", "San"] returns "Ichi" without a block on [] returns nil on ["A"] returns "A" on ["Ichi", "Ni", "San"] returns "San" Hamster::Set #min with a block on [] returns nil on ["A"] returns "A" on ["Ichi", "Ni", "San"] returns "Ni" without a block on [] returns nil on ["A"] returns "A" on ["Ichi", "Ni", "San"] returns "Ichi" Hamster::Set .new initializes a new set accepts a Range returns a Set which doesn't change even if the initializer is mutated is amenable to overriding of #initialize from a subclass returns a frozen instance of the subclass [] accepts any number of arguments and initializes a new set Hamster::Set #none? when empty with a block returns true with no block returns true when not empty with a block returns false if the block ever returns true ("A") returns false if the block ever returns true ("B") returns false if the block ever returns true ("C") returns false if the block ever returns true (nil) returns true if the block always returns false stops iterating as soon as the block returns true with no block returns false if any value is truthy returns true if all values are falsey Hamster::Set #one? when empty with a block returns false with no block returns false when not empty with a block returns false if the block returns true more than once returns false if the block never returns true returns true if the block only returns true once with no block returns false if more than one value is truthy returns true if only one value is truthy returns false if no values are truthy Hamster::Set #partition on [] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator on [1] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator on [1, 2] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator on [1, 2, 3] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator on [1, 2, 3, 4] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator on [2, 3, 4] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator on [3, 4] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator on [4] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator Hamster::Set #product on [] returns 1 doesn't change the original Set on [2] returns 2 doesn't change the original Set on [1, 3, 5, 7, 11] returns 1155 doesn't change the original Set Hamster::Set #reduce on [] with an initial value of 10 and a block returns 10 on [1] with an initial value of 10 and a block returns 9 on [1, 2, 3] with an initial value of 10 and a block returns 4 on [] with no initial value and a block returns nil on [1] with no initial value and a block returns 1 on [1, 2, 3] with no initial value and a block returns 6 with no block and a symbol argument uses the symbol as the name of a method to reduce with with no block and a string argument uses the string as the name of a method to reduce with #inject on [] with an initial value of 10 and a block returns 10 on [1] with an initial value of 10 and a block returns 9 on [1, 2, 3] with an initial value of 10 and a block returns 4 on [] with no initial value and a block returns nil on [1] with no initial value and a block returns 1 on [1, 2, 3] with no initial value and a block returns 6 with no block and a symbol argument uses the symbol as the name of a method to reduce with with no block and a string argument uses the string as the name of a method to reduce with Hamster::Set #reject when nothing matches returns self when only some things match with a block preserves the original returns a set with the matching values with no block returns self on a large set, with many combinations of input still works #delete_if when nothing matches returns self when only some things match with a block preserves the original returns a set with the matching values with no block returns self on a large set, with many combinations of input still works Hamster::Set #reverse_each without a block returns an Enumerator with an empty block returns self with a block yields all values Hamster::Set #sample returns a randomly chosen item Hamster::Set #select works on a large set, with many combinations of input when everything matches returns self when only some things match with a block preserves the original returns a set with the matching values with no block returns an Enumerator when nothing matches preserves the original returns the canonical empty set from a subclass returns an instance of the same class #find_all works on a large set, with many combinations of input when everything matches returns self when only some things match with a block preserves the original returns a set with the matching values with no block returns an Enumerator when nothing matches preserves the original returns the canonical empty set from a subclass returns an instance of the same class Hamster::Set #size returns 0 for [] returns 1 for ["A"] returns 3 for ["A", "B", "C"] #length returns 0 for [] returns 1 for ["A"] returns 3 for ["A", "B", "C"] Hamster::Set #sort on [] with a block returns [] doesn't change the original Set without a block returns [] doesn't change the original Set on ["A"] with a block returns ["A"] doesn't change the original Set without a block returns ["A"] doesn't change the original Set on ["Ichi", "Ni", "San"] with a block returns ["Ni", "San", "Ichi"] doesn't change the original Set without a block returns ["Ichi", "Ni", "San"] doesn't change the original Set #sort_by on [] with a block returns [] doesn't change the original Set without a block returns [] doesn't change the original Set on ["A"] with a block returns ["A"] doesn't change the original Set without a block returns ["A"] doesn't change the original Set on ["Ichi", "Ni", "San"] with a block returns ["Ni", "San", "Ichi"] doesn't change the original Set without a block returns ["Ichi", "Ni", "San"] doesn't change the original Set #sort_by only calls the passed block once for each item Hamster::Set #subset? for [] and [] returns true for ["A"] and [] returns false for [] and ["A"] returns true for ["A"] and ["A"] returns true for ["A", "B", "C"] and ["B"] returns false for ["B"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["A", "C"] returns false for ["A", "C"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["A", "B", "C", "D"] returns true for ["A", "B", "C", "D"] and ["A", "B", "C"] returns false #<= for [] and [] returns true for ["A"] and [] returns false for [] and ["A"] returns true for ["A"] and ["A"] returns true for ["A", "B", "C"] and ["B"] returns false for ["B"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["A", "C"] returns false for ["A", "C"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["A", "B", "C", "D"] returns true for ["A", "B", "C", "D"] and ["A", "B", "C"] returns false #proper_subset? for [] and [] returns false for ["A"] and [] returns false for [] and ["A"] returns true for ["A"] and ["A"] returns false for ["A", "B", "C"] and ["B"] returns false for ["B"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["A", "C"] returns false for ["A", "C"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["A", "B", "C", "D"] returns true for ["A", "B", "C", "D"] and ["A", "B", "C"] returns false #< for [] and [] returns false for ["A"] and [] returns false for [] and ["A"] returns true for ["A"] and ["A"] returns false for ["A", "B", "C"] and ["B"] returns false for ["B"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["A", "C"] returns false for ["A", "C"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["A", "B", "C", "D"] returns true for ["A", "B", "C", "D"] and ["A", "B", "C"] returns false Hamster::Set #sum on [] returns 0 doesn't change the original Set on [2] returns 2 doesn't change the original Set on [1, 3, 5, 7, 11] returns 27 doesn't change the original Set Hamster::Set #superset? for [] and [] returns true for ["A"] and [] returns true for [] and ["A"] returns false for ["A"] and ["A"] returns true for ["A", "B", "C"] and ["B"] returns true for ["B"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["A", "C"] returns true for ["A", "C"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["A", "B", "C", "D"] returns false for ["A", "B", "C", "D"] and ["A", "B", "C"] returns true #>= for [] and [] returns true for ["A"] and [] returns true for [] and ["A"] returns false for ["A"] and ["A"] returns true for ["A", "B", "C"] and ["B"] returns true for ["B"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["A", "C"] returns true for ["A", "C"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["A", "B", "C", "D"] returns false for ["A", "B", "C", "D"] and ["A", "B", "C"] returns true #proper_superset? for [] and [] returns false for ["A"] and [] returns true for [] and ["A"] returns false for ["A"] and ["A"] returns false for ["A", "B", "C"] and ["B"] returns true for ["B"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["A", "C"] returns true for ["A", "C"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["A", "B", "C", "D"] returns false for ["A", "B", "C", "D"] and ["A", "B", "C"] returns true #> for [] and [] returns false for ["A"] and [] returns true for [] and ["A"] returns false for ["A"] and ["A"] returns false for ["A", "B", "C"] and ["B"] returns true for ["B"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["A", "C"] returns true for ["A", "C"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["A", "B", "C", "D"] returns false for ["A", "B", "C", "D"] and ["A", "B", "C"] returns true Hamster::Set #to_a on 'a'..'a' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'b' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'c' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'d' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'e' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'f' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'g' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'h' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'i' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'j' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'k' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'l' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'m' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'n' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'o' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'p' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'q' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'r' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'s' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'t' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'u' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'v' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'w' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'x' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'y' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'z' returns an equivalent array doesn't change the original Set returns a mutable array #entries on 'a'..'a' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'b' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'c' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'d' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'e' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'f' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'g' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'h' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'i' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'j' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'k' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'l' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'m' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'n' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'o' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'p' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'q' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'r' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'s' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'t' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'u' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'v' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'w' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'x' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'y' returns an equivalent array doesn't change the original Set returns a mutable array on 'a'..'z' returns an equivalent array doesn't change the original Set returns a mutable array Hamster::Set #to_list on [] returns a list doesn't change the original Set the returned list has the correct length contains all values on ["A"] returns a list doesn't change the original Set the returned list has the correct length contains all values on ["A", "B", "C"] returns a list doesn't change the original Set the returned list has the correct length contains all values Hamster::Set #to_set on [] returns self on ["A"] returns self on ["A", "B", "C"] returns self Hamster::Set #union for [] and [] returns [], without changing the original Sets for [] and [] returns [], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for ["A"] and [] returns ["A"], without changing the original Sets for [] and ["A"] returns ["A"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for ["A"] and ["A"] returns ["A"], without changing the original Sets for ["A"] and ["A"] returns ["A"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for [] and ["A"] returns ["A"], without changing the original Sets for ["A"] and [] returns ["A"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for ["A", "B", "C"] and [] returns ["A", "B", "C"], without changing the original Sets for [] and ["A", "B", "C"] returns ["A", "B", "C"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for ["A", "B", "C"] and ["A", "B", "C"] returns ["A", "B", "C"], without changing the original Sets for ["A", "B", "C"] and ["A", "B", "C"] returns ["A", "B", "C"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for ["A", "B", "C"] and ["X", "Y", "Z"] returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets for ["X", "Y", "Z"] and ["A", "B", "C"] returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass when receiving a subset returns self #| for [] and [] returns [], without changing the original Sets for [] and [] returns [], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for ["A"] and [] returns ["A"], without changing the original Sets for [] and ["A"] returns ["A"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for ["A"] and ["A"] returns ["A"], without changing the original Sets for ["A"] and ["A"] returns ["A"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for [] and ["A"] returns ["A"], without changing the original Sets for ["A"] and [] returns ["A"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for ["A", "B", "C"] and [] returns ["A", "B", "C"], without changing the original Sets for [] and ["A", "B", "C"] returns ["A", "B", "C"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for ["A", "B", "C"] and ["A", "B", "C"] returns ["A", "B", "C"], without changing the original Sets for ["A", "B", "C"] and ["A", "B", "C"] returns ["A", "B", "C"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for ["A", "B", "C"] and ["X", "Y", "Z"] returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets for ["X", "Y", "Z"] and ["A", "B", "C"] returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass when receiving a subset returns self #+ for [] and [] returns [], without changing the original Sets for [] and [] returns [], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for ["A"] and [] returns ["A"], without changing the original Sets for [] and ["A"] returns ["A"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for ["A"] and ["A"] returns ["A"], without changing the original Sets for ["A"] and ["A"] returns ["A"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for [] and ["A"] returns ["A"], without changing the original Sets for ["A"] and [] returns ["A"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for ["A", "B", "C"] and [] returns ["A", "B", "C"], without changing the original Sets for [] and ["A", "B", "C"] returns ["A", "B", "C"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for ["A", "B", "C"] and ["A", "B", "C"] returns ["A", "B", "C"], without changing the original Sets for ["A", "B", "C"] and ["A", "B", "C"] returns ["A", "B", "C"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for ["A", "B", "C"] and ["X", "Y", "Z"] returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets for ["X", "Y", "Z"] and ["A", "B", "C"] returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass when receiving a subset returns self #merge for [] and [] returns [], without changing the original Sets for [] and [] returns [], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for ["A"] and [] returns ["A"], without changing the original Sets for [] and ["A"] returns ["A"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for ["A"] and ["A"] returns ["A"], without changing the original Sets for ["A"] and ["A"] returns ["A"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for [] and ["A"] returns ["A"], without changing the original Sets for ["A"] and [] returns ["A"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for ["A", "B", "C"] and [] returns ["A", "B", "C"], without changing the original Sets for [] and ["A", "B", "C"] returns ["A", "B", "C"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for ["A", "B", "C"] and ["A", "B", "C"] returns ["A", "B", "C"], without changing the original Sets for ["A", "B", "C"] and ["A", "B", "C"] returns ["A", "B", "C"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass for ["A", "B", "C"] and ["X", "Y", "Z"] returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets for ["X", "Y", "Z"] and ["A", "B", "C"] returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets when passed a Ruby Array returns the expected Set from a subclass returns an instance of the subclass when receiving a subset returns self Hamster::SortedSet #above when called without a block returns a sorted set of all items higher than the argument when called with a block yields all the items higher than the argument on an empty set returns an empty set with an argument higher than all the values in the set returns an empty set Hamster::SortedSet #add with a unique value preserves the original returns a copy with the superset of values (in order) with a duplicate value preserves the original values returns self on a set ordered by a comparator inserts the new item in the correct place #<< with a unique value preserves the original returns a copy with the superset of values (in order) with a duplicate value preserves the original values returns self on a set ordered by a comparator inserts the new item in the correct place #add? with a unique value preserves the original returns a copy with the superset of values with a duplicate value preserves the original values returns false Hamster::SortedSet #at [] with 10 returns nil ["A"] with 10 returns nil ["A", "B", "C"] with 0 returns "A" ["A", "B", "C"] with 1 returns "B" ["A", "B", "C"] with 2 returns "C" ["A", "B", "C"] with 3 returns nil ["A", "B", "C"] with -1 returns "C" ["A", "B", "C"] with -2 returns "B" ["A", "B", "C"] with -3 returns "A" ["A", "B", "C"] with -4 returns nil Hamster::SortedSet #below when called without a block returns a sorted set of all items lower than the argument when called with a block yields all the items lower than the argument on an empty set returns an empty set with an argument lower than all the values in the set returns an empty set Hamster::SortedSet #between when called without a block returns a sorted set of all items from the first argument to the second when called with a block yields all the items lower than the argument on an empty set returns an empty set with a 'to' argument lower than the 'from' argument returns an empty set Hamster::SortedSet #clear on [] preserves the original returns an empty set on ["A"] preserves the original returns an empty set on ["A", "B", "C"] preserves the original returns an empty set from a subclass returns an empty instance of the subclass with a comparator returns an empty instance with same comparator Hamster::SortedSet on [] returns self on ["A"] returns self on ["A", "B", "C"] returns self on 1..32 returns self on [] returns self on ["A"] returns self on ["A", "B", "C"] returns self on 1..32 returns self Hamster::SortedSet #delete_at removes the element at the specified index makes no modification if the index is out of range Hamster::SortedSet #delete on an empty set returns an empty set with an existing value preserves the original returns a copy with the remaining of values with a non-existing value preserves the original values returns self when removing the last value in a sorted set maintains the set order when the set is in natural order returns the canonical empty set on [1, 2, 3], when deleting [1, 2, 3] returns [] on [1, 2, 3, 4], when deleting [1, 2, 3] returns [4] on [1, 2, 3, 4], when deleting [1, 2, 4] returns [3] on [1, 2, 3, 4], when deleting [1, 3, 4] returns [2] on [1, 2, 3, 4], when deleting [2, 3, 4] returns [1] on [1, 2, 3, 4, 5], when deleting [1, 2, 3] returns [4, 5] on [1, 2, 3, 4, 5], when deleting [1, 2, 4] returns [3, 5] on [1, 2, 3, 4, 5], when deleting [1, 2, 5] returns [3, 4] on [1, 2, 3, 4, 5], when deleting [1, 3, 4] returns [2, 5] on [1, 2, 3, 4, 5], when deleting [1, 3, 5] returns [2, 4] on [1, 2, 3, 4, 5], when deleting [1, 4, 5] returns [2, 3] on [1, 2, 3, 4, 5], when deleting [2, 3, 4] returns [1, 5] on [1, 2, 3, 4, 5], when deleting [2, 3, 5] returns [1, 4] on [1, 2, 3, 4, 5], when deleting [2, 4, 5] returns [1, 3] on [1, 2, 3, 4, 5], when deleting [3, 4, 5] returns [1, 2] on [1, 2, 3, 4, 5, 6], when deleting [1, 2, 3] returns [4, 5, 6] on [1, 2, 3, 4, 5, 6], when deleting [1, 2, 4] returns [3, 5, 6] on [1, 2, 3, 4, 5, 6], when deleting [1, 2, 5] returns [3, 4, 6] on [1, 2, 3, 4, 5, 6], when deleting [1, 2, 6] returns [3, 4, 5] on [1, 2, 3, 4, 5, 6], when deleting [1, 3, 4] returns [2, 5, 6] on [1, 2, 3, 4, 5, 6], when deleting [1, 3, 5] returns [2, 4, 6] on [1, 2, 3, 4, 5, 6], when deleting [1, 3, 6] returns [2, 4, 5] on [1, 2, 3, 4, 5, 6], when deleting [1, 4, 5] returns [2, 3, 6] on [1, 2, 3, 4, 5, 6], when deleting [1, 4, 6] returns [2, 3, 5] on [1, 2, 3, 4, 5, 6], when deleting [1, 5, 6] returns [2, 3, 4] on [1, 2, 3, 4, 5, 6], when deleting [2, 3, 4] returns [1, 5, 6] on [1, 2, 3, 4, 5, 6], when deleting [2, 3, 5] returns [1, 4, 6] on [1, 2, 3, 4, 5, 6], when deleting [2, 3, 6] returns [1, 4, 5] on [1, 2, 3, 4, 5, 6], when deleting [2, 4, 5] returns [1, 3, 6] on [1, 2, 3, 4, 5, 6], when deleting [2, 4, 6] returns [1, 3, 5] on [1, 2, 3, 4, 5, 6], when deleting [2, 5, 6] returns [1, 3, 4] on [1, 2, 3, 4, 5, 6], when deleting [3, 4, 5] returns [1, 2, 6] on [1, 2, 3, 4, 5, 6], when deleting [3, 4, 6] returns [1, 2, 5] on [1, 2, 3, 4, 5, 6], when deleting [3, 5, 6] returns [1, 2, 4] on [1, 2, 3, 4, 5, 6], when deleting [4, 5, 6] returns [1, 2, 3] on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 2, 3] returns [4, 5, 6, 7] on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 2, 4] returns [3, 5, 6, 7] on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 2, 5] returns [3, 4, 6, 7] on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 2, 6] returns [3, 4, 5, 7] on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 2, 7] returns [3, 4, 5, 6] on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 3, 4] returns [2, 5, 6, 7] on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 3, 5] returns [2, 4, 6, 7] on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 3, 6] returns [2, 4, 5, 7] on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 3, 7] returns [2, 4, 5, 6] on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 4, 5] returns [2, 3, 6, 7] on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 4, 6] returns [2, 3, 5, 7] on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 4, 7] returns [2, 3, 5, 6] on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 5, 6] returns [2, 3, 4, 7] on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 5, 7] returns [2, 3, 4, 6] on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 6, 7] returns [2, 3, 4, 5] on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 3, 4] returns [1, 5, 6, 7] on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 3, 5] returns [1, 4, 6, 7] on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 3, 6] returns [1, 4, 5, 7] on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 3, 7] returns [1, 4, 5, 6] on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 4, 5] returns [1, 3, 6, 7] on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 4, 6] returns [1, 3, 5, 7] on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 4, 7] returns [1, 3, 5, 6] on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 5, 6] returns [1, 3, 4, 7] on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 5, 7] returns [1, 3, 4, 6] on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 6, 7] returns [1, 3, 4, 5] on [1, 2, 3, 4, 5, 6, 7], when deleting [3, 4, 5] returns [1, 2, 6, 7] on [1, 2, 3, 4, 5, 6, 7], when deleting [3, 4, 6] returns [1, 2, 5, 7] on [1, 2, 3, 4, 5, 6, 7], when deleting [3, 4, 7] returns [1, 2, 5, 6] on [1, 2, 3, 4, 5, 6, 7], when deleting [3, 5, 6] returns [1, 2, 4, 7] on [1, 2, 3, 4, 5, 6, 7], when deleting [3, 5, 7] returns [1, 2, 4, 6] on [1, 2, 3, 4, 5, 6, 7], when deleting [3, 6, 7] returns [1, 2, 4, 5] on [1, 2, 3, 4, 5, 6, 7], when deleting [4, 5, 6] returns [1, 2, 3, 7] on [1, 2, 3, 4, 5, 6, 7], when deleting [4, 5, 7] returns [1, 2, 3, 6] on [1, 2, 3, 4, 5, 6, 7], when deleting [4, 6, 7] returns [1, 2, 3, 5] on [1, 2, 3, 4, 5, 6, 7], when deleting [5, 6, 7] returns [1, 2, 3, 4] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 2, 3] returns [4, 5, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 2, 4] returns [3, 5, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 2, 5] returns [3, 4, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 2, 6] returns [3, 4, 5, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 2, 7] returns [3, 4, 5, 6, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 2, 8] returns [3, 4, 5, 6, 7] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 3, 4] returns [2, 5, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 3, 5] returns [2, 4, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 3, 6] returns [2, 4, 5, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 3, 7] returns [2, 4, 5, 6, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 3, 8] returns [2, 4, 5, 6, 7] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 4, 5] returns [2, 3, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 4, 6] returns [2, 3, 5, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 4, 7] returns [2, 3, 5, 6, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 4, 8] returns [2, 3, 5, 6, 7] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 5, 6] returns [2, 3, 4, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 5, 7] returns [2, 3, 4, 6, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 5, 8] returns [2, 3, 4, 6, 7] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 6, 7] returns [2, 3, 4, 5, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 6, 8] returns [2, 3, 4, 5, 7] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 7, 8] returns [2, 3, 4, 5, 6] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 3, 4] returns [1, 5, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 3, 5] returns [1, 4, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 3, 6] returns [1, 4, 5, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 3, 7] returns [1, 4, 5, 6, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 3, 8] returns [1, 4, 5, 6, 7] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 4, 5] returns [1, 3, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 4, 6] returns [1, 3, 5, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 4, 7] returns [1, 3, 5, 6, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 4, 8] returns [1, 3, 5, 6, 7] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 5, 6] returns [1, 3, 4, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 5, 7] returns [1, 3, 4, 6, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 5, 8] returns [1, 3, 4, 6, 7] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 6, 7] returns [1, 3, 4, 5, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 6, 8] returns [1, 3, 4, 5, 7] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 7, 8] returns [1, 3, 4, 5, 6] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 4, 5] returns [1, 2, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 4, 6] returns [1, 2, 5, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 4, 7] returns [1, 2, 5, 6, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 4, 8] returns [1, 2, 5, 6, 7] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 5, 6] returns [1, 2, 4, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 5, 7] returns [1, 2, 4, 6, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 5, 8] returns [1, 2, 4, 6, 7] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 6, 7] returns [1, 2, 4, 5, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 6, 8] returns [1, 2, 4, 5, 7] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 7, 8] returns [1, 2, 4, 5, 6] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [4, 5, 6] returns [1, 2, 3, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [4, 5, 7] returns [1, 2, 3, 6, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [4, 5, 8] returns [1, 2, 3, 6, 7] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [4, 6, 7] returns [1, 2, 3, 5, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [4, 6, 8] returns [1, 2, 3, 5, 7] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [4, 7, 8] returns [1, 2, 3, 5, 6] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [5, 6, 7] returns [1, 2, 3, 4, 8] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [5, 6, 8] returns [1, 2, 3, 4, 7] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [5, 7, 8] returns [1, 2, 3, 4, 6] on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [6, 7, 8] returns [1, 2, 3, 4, 5] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 2, 3] returns [4, 5, 6, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 2, 4] returns [3, 5, 6, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 2, 5] returns [3, 4, 6, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 2, 6] returns [3, 4, 5, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 2, 7] returns [3, 4, 5, 6, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 2, 8] returns [3, 4, 5, 6, 7, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 2, 9] returns [3, 4, 5, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 3, 4] returns [2, 5, 6, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 3, 5] returns [2, 4, 6, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 3, 6] returns [2, 4, 5, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 3, 7] returns [2, 4, 5, 6, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 3, 8] returns [2, 4, 5, 6, 7, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 3, 9] returns [2, 4, 5, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 4, 5] returns [2, 3, 6, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 4, 6] returns [2, 3, 5, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 4, 7] returns [2, 3, 5, 6, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 4, 8] returns [2, 3, 5, 6, 7, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 4, 9] returns [2, 3, 5, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 5, 6] returns [2, 3, 4, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 5, 7] returns [2, 3, 4, 6, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 5, 8] returns [2, 3, 4, 6, 7, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 5, 9] returns [2, 3, 4, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 6, 7] returns [2, 3, 4, 5, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 6, 8] returns [2, 3, 4, 5, 7, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 6, 9] returns [2, 3, 4, 5, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 7, 8] returns [2, 3, 4, 5, 6, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 7, 9] returns [2, 3, 4, 5, 6, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 8, 9] returns [2, 3, 4, 5, 6, 7] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 3, 4] returns [1, 5, 6, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 3, 5] returns [1, 4, 6, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 3, 6] returns [1, 4, 5, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 3, 7] returns [1, 4, 5, 6, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 3, 8] returns [1, 4, 5, 6, 7, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 3, 9] returns [1, 4, 5, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 4, 5] returns [1, 3, 6, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 4, 6] returns [1, 3, 5, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 4, 7] returns [1, 3, 5, 6, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 4, 8] returns [1, 3, 5, 6, 7, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 4, 9] returns [1, 3, 5, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 5, 6] returns [1, 3, 4, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 5, 7] returns [1, 3, 4, 6, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 5, 8] returns [1, 3, 4, 6, 7, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 5, 9] returns [1, 3, 4, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 6, 7] returns [1, 3, 4, 5, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 6, 8] returns [1, 3, 4, 5, 7, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 6, 9] returns [1, 3, 4, 5, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 7, 8] returns [1, 3, 4, 5, 6, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 7, 9] returns [1, 3, 4, 5, 6, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 8, 9] returns [1, 3, 4, 5, 6, 7] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 4, 5] returns [1, 2, 6, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 4, 6] returns [1, 2, 5, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 4, 7] returns [1, 2, 5, 6, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 4, 8] returns [1, 2, 5, 6, 7, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 4, 9] returns [1, 2, 5, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 5, 6] returns [1, 2, 4, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 5, 7] returns [1, 2, 4, 6, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 5, 8] returns [1, 2, 4, 6, 7, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 5, 9] returns [1, 2, 4, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 6, 7] returns [1, 2, 4, 5, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 6, 8] returns [1, 2, 4, 5, 7, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 6, 9] returns [1, 2, 4, 5, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 7, 8] returns [1, 2, 4, 5, 6, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 7, 9] returns [1, 2, 4, 5, 6, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 8, 9] returns [1, 2, 4, 5, 6, 7] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 5, 6] returns [1, 2, 3, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 5, 7] returns [1, 2, 3, 6, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 5, 8] returns [1, 2, 3, 6, 7, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 5, 9] returns [1, 2, 3, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 6, 7] returns [1, 2, 3, 5, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 6, 8] returns [1, 2, 3, 5, 7, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 6, 9] returns [1, 2, 3, 5, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 7, 8] returns [1, 2, 3, 5, 6, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 7, 9] returns [1, 2, 3, 5, 6, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 8, 9] returns [1, 2, 3, 5, 6, 7] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [5, 6, 7] returns [1, 2, 3, 4, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [5, 6, 8] returns [1, 2, 3, 4, 7, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [5, 6, 9] returns [1, 2, 3, 4, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [5, 7, 8] returns [1, 2, 3, 4, 6, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [5, 7, 9] returns [1, 2, 3, 4, 6, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [5, 8, 9] returns [1, 2, 3, 4, 6, 7] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [6, 7, 8] returns [1, 2, 3, 4, 5, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [6, 7, 9] returns [1, 2, 3, 4, 5, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [6, 8, 9] returns [1, 2, 3, 4, 5, 7] on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [7, 8, 9] returns [1, 2, 3, 4, 5, 6] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 3] returns [4, 5, 6, 7, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 4] returns [3, 5, 6, 7, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 5] returns [3, 4, 6, 7, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 6] returns [3, 4, 5, 7, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 7] returns [3, 4, 5, 6, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 8] returns [3, 4, 5, 6, 7, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 9] returns [3, 4, 5, 6, 7, 8, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 10] returns [3, 4, 5, 6, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 3, 4] returns [2, 5, 6, 7, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 3, 5] returns [2, 4, 6, 7, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 3, 6] returns [2, 4, 5, 7, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 3, 7] returns [2, 4, 5, 6, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 3, 8] returns [2, 4, 5, 6, 7, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 3, 9] returns [2, 4, 5, 6, 7, 8, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 3, 10] returns [2, 4, 5, 6, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 4, 5] returns [2, 3, 6, 7, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 4, 6] returns [2, 3, 5, 7, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 4, 7] returns [2, 3, 5, 6, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 4, 8] returns [2, 3, 5, 6, 7, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 4, 9] returns [2, 3, 5, 6, 7, 8, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 4, 10] returns [2, 3, 5, 6, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 5, 6] returns [2, 3, 4, 7, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 5, 7] returns [2, 3, 4, 6, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 5, 8] returns [2, 3, 4, 6, 7, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 5, 9] returns [2, 3, 4, 6, 7, 8, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 5, 10] returns [2, 3, 4, 6, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 6, 7] returns [2, 3, 4, 5, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 6, 8] returns [2, 3, 4, 5, 7, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 6, 9] returns [2, 3, 4, 5, 7, 8, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 6, 10] returns [2, 3, 4, 5, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 7, 8] returns [2, 3, 4, 5, 6, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 7, 9] returns [2, 3, 4, 5, 6, 8, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 7, 10] returns [2, 3, 4, 5, 6, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 8, 9] returns [2, 3, 4, 5, 6, 7, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 8, 10] returns [2, 3, 4, 5, 6, 7, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 9, 10] returns [2, 3, 4, 5, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 3, 4] returns [1, 5, 6, 7, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 3, 5] returns [1, 4, 6, 7, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 3, 6] returns [1, 4, 5, 7, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 3, 7] returns [1, 4, 5, 6, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 3, 8] returns [1, 4, 5, 6, 7, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 3, 9] returns [1, 4, 5, 6, 7, 8, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 3, 10] returns [1, 4, 5, 6, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 4, 5] returns [1, 3, 6, 7, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 4, 6] returns [1, 3, 5, 7, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 4, 7] returns [1, 3, 5, 6, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 4, 8] returns [1, 3, 5, 6, 7, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 4, 9] returns [1, 3, 5, 6, 7, 8, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 4, 10] returns [1, 3, 5, 6, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 5, 6] returns [1, 3, 4, 7, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 5, 7] returns [1, 3, 4, 6, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 5, 8] returns [1, 3, 4, 6, 7, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 5, 9] returns [1, 3, 4, 6, 7, 8, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 5, 10] returns [1, 3, 4, 6, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 6, 7] returns [1, 3, 4, 5, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 6, 8] returns [1, 3, 4, 5, 7, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 6, 9] returns [1, 3, 4, 5, 7, 8, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 6, 10] returns [1, 3, 4, 5, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 7, 8] returns [1, 3, 4, 5, 6, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 7, 9] returns [1, 3, 4, 5, 6, 8, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 7, 10] returns [1, 3, 4, 5, 6, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 8, 9] returns [1, 3, 4, 5, 6, 7, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 8, 10] returns [1, 3, 4, 5, 6, 7, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 9, 10] returns [1, 3, 4, 5, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 4, 5] returns [1, 2, 6, 7, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 4, 6] returns [1, 2, 5, 7, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 4, 7] returns [1, 2, 5, 6, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 4, 8] returns [1, 2, 5, 6, 7, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 4, 9] returns [1, 2, 5, 6, 7, 8, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 4, 10] returns [1, 2, 5, 6, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 5, 6] returns [1, 2, 4, 7, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 5, 7] returns [1, 2, 4, 6, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 5, 8] returns [1, 2, 4, 6, 7, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 5, 9] returns [1, 2, 4, 6, 7, 8, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 5, 10] returns [1, 2, 4, 6, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 6, 7] returns [1, 2, 4, 5, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 6, 8] returns [1, 2, 4, 5, 7, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 6, 9] returns [1, 2, 4, 5, 7, 8, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 6, 10] returns [1, 2, 4, 5, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 7, 8] returns [1, 2, 4, 5, 6, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 7, 9] returns [1, 2, 4, 5, 6, 8, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 7, 10] returns [1, 2, 4, 5, 6, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 8, 9] returns [1, 2, 4, 5, 6, 7, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 8, 10] returns [1, 2, 4, 5, 6, 7, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 9, 10] returns [1, 2, 4, 5, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 5, 6] returns [1, 2, 3, 7, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 5, 7] returns [1, 2, 3, 6, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 5, 8] returns [1, 2, 3, 6, 7, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 5, 9] returns [1, 2, 3, 6, 7, 8, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 5, 10] returns [1, 2, 3, 6, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 6, 7] returns [1, 2, 3, 5, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 6, 8] returns [1, 2, 3, 5, 7, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 6, 9] returns [1, 2, 3, 5, 7, 8, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 6, 10] returns [1, 2, 3, 5, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 7, 8] returns [1, 2, 3, 5, 6, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 7, 9] returns [1, 2, 3, 5, 6, 8, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 7, 10] returns [1, 2, 3, 5, 6, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 8, 9] returns [1, 2, 3, 5, 6, 7, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 8, 10] returns [1, 2, 3, 5, 6, 7, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 9, 10] returns [1, 2, 3, 5, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 6, 7] returns [1, 2, 3, 4, 8, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 6, 8] returns [1, 2, 3, 4, 7, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 6, 9] returns [1, 2, 3, 4, 7, 8, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 6, 10] returns [1, 2, 3, 4, 7, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 7, 8] returns [1, 2, 3, 4, 6, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 7, 9] returns [1, 2, 3, 4, 6, 8, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 7, 10] returns [1, 2, 3, 4, 6, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 8, 9] returns [1, 2, 3, 4, 6, 7, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 8, 10] returns [1, 2, 3, 4, 6, 7, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 9, 10] returns [1, 2, 3, 4, 6, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [6, 7, 8] returns [1, 2, 3, 4, 5, 9, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [6, 7, 9] returns [1, 2, 3, 4, 5, 8, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [6, 7, 10] returns [1, 2, 3, 4, 5, 8, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [6, 8, 9] returns [1, 2, 3, 4, 5, 7, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [6, 8, 10] returns [1, 2, 3, 4, 5, 7, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [6, 9, 10] returns [1, 2, 3, 4, 5, 7, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [7, 8, 9] returns [1, 2, 3, 4, 5, 6, 10] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [7, 8, 10] returns [1, 2, 3, 4, 5, 6, 9] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [7, 9, 10] returns [1, 2, 3, 4, 5, 6, 8] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [8, 9, 10] returns [1, 2, 3, 4, 5, 6, 7] #delete? with an existing value preserves the original returns a copy with the remaining values with a non-existing value preserves the original values returns false Hamster::SortedSet #difference for [] and [] returns [] for ["A"] and [] returns ["A"] for ["A"] and ["A"] returns [] for ["A", "B", "C"] and ["B"] returns ["A", "C"] for ["A", "B", "C"] and ["A", "C"] returns ["B"] for ["A", "B", "C", "D", "E", "F"] and ["B", "E", "F", "G", "M", "X"] returns ["A", "C", "D"] #subtract for [] and [] returns [] for ["A"] and [] returns ["A"] for ["A"] and ["A"] returns [] for ["A", "B", "C"] and ["B"] returns ["A", "C"] for ["A", "B", "C"] and ["A", "C"] returns ["B"] for ["A", "B", "C", "D", "E", "F"] and ["B", "E", "F", "G", "M", "X"] returns ["A", "C", "D"] #- for [] and [] returns [] for ["A"] and [] returns ["A"] for ["A"] and ["A"] returns [] for ["A", "B", "C"] and ["B"] returns ["A", "C"] for ["A", "B", "C"] and ["A", "C"] returns ["B"] for ["A", "B", "C", "D", "E", "F"] and ["B", "E", "F", "G", "M", "X"] returns ["A", "C", "D"] Hamster::SortedSet #disjoint? for [] and [] returns true for ["A"] and [] returns true for [] and ["A"] returns true for ["A"] and ["A"] returns false for ["A", "B", "C"] and ["B"] returns false for ["B"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["D", "E"] returns true for ["F", "G", "H", "I"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["A", "B", "C", "D"] returns false for ["D", "E", "F", "G"] and ["A", "B", "C"] returns true Hamster::SortedSet #drop 0 from [] preserves the original returns [] 10 from [] preserves the original returns [] 10 from ["A"] preserves the original returns [] 0 from ["A", "B", "C"] preserves the original returns ["A", "B", "C"] 1 from ["A", "B", "C"] preserves the original returns ["B", "C"] 2 from ["A", "B", "C"] preserves the original returns ["C"] 3 from ["A", "B", "C"] preserves the original returns [] when argument is zero returns self when the set has a custom order maintains the custom order keeps the comparator even when set is cleared when called on a subclass should return an instance of the subclass Hamster::SortedSet #drop_while on [] with a block preserves the original returns [] without a block returns an Enumerator on ["A"] with a block preserves the original returns [] without a block returns an Enumerator on ["A", "B", "C"] with a block preserves the original returns ["C"] without a block returns an Enumerator on ["A", "B", "C", "D", "E", "F", "G"] with a block preserves the original returns ["C", "D", "E", "F", "G"] without a block returns an Enumerator Hamster::SortedSet #each with no block returns an Enumerator with a block returns self iterates over the items in order Hamster::SortedSet #empty? on [] returns true on ["A"] returns false on ["A", "B", "C"] returns false .empty returns the canonical empty set from a subclass returns an empty instance of the subclass Hamster::SortedSet #eql? when comparing to a standard set returns false when comparing to a arbitrary object returns false when comparing to a Hamster::Set returns false when comparing with a subclass of Hamster::SortedSet returns false with an empty set for each comparison returns true with an empty set and a set with nil returns false with a single item array and empty array returns false with matching single item array returns true with mismatching single item array returns false with a multi-item array and single item array returns false with matching multi-item array returns true with a mismatching multi-item array returns true with the same values, but a different sort order returns false Hamster::SortedSet #exclusion for [] and [] returns [] for ["A"] and [] returns ["A"] for ["A"] and ["A"] returns [] for ["A", "B", "C"] and ["B"] returns ["A", "C"] for ["A", "B", "C"] and ["B", "C", "D"] returns ["A", "D"] for ["A", "B", "C"] and ["D", "E", "F"] returns ["A", "B", "C", "D", "E", "F"] #^ for [] and [] returns [] for ["A"] and [] returns ["A"] for ["A"] and ["A"] returns [] for ["A", "B", "C"] and ["B"] returns ["A", "C"] for ["A", "B", "C"] and ["B", "C", "D"] returns ["A", "D"] for ["A", "B", "C"] and ["D", "E", "F"] returns ["A", "B", "C", "D", "E", "F"] Hamster::SortedSet #fetch gives precedence to default block over default argument if passed both with no default provided when the index exists returns the value at the index when the key does not exist raises an IndexError with a default value when the index exists returns the value at the index when the index does not exist returns the default value with a default block when the index exists returns the value at the index when the index does not exist invokes the block with the missing index as parameter Hamster::SortedSet #find_index looking for "A" in [] without block returns nil looking for "A" in [] with block returns nil looking for nil in [] with block returns nil looking for "A" in ["A"] without block returns 0 looking for "A" in ["A"] with block returns 0 looking for "B" in ["A"] without block returns nil looking for "B" in ["A"] with block returns nil looking for nil in ["A"] with block returns nil looking for "A" in ["A", "B", "C"] without block returns 0 looking for "A" in ["A", "B", "C"] with block returns 0 looking for "B" in ["A", "B", "C"] without block returns 1 looking for "B" in ["A", "B", "C"] with block returns 1 looking for "C" in ["A", "B", "C"] without block returns 2 looking for "C" in ["A", "B", "C"] with block returns 2 looking for "D" in ["A", "B", "C"] without block returns nil looking for "D" in ["A", "B", "C"] with block returns nil looking for 1 in 0..1 without block returns 1 looking for 1 in 0..1 with block returns 1 looking for 5 in 0..10 without block returns 5 looking for 5 in 0..10 with block returns 5 looking for 10 in 0..10 without block returns 10 looking for 10 in 0..10 with block returns 10 looking for 2 in [2] without block returns 0 looking for 2 in [2] with block returns 0 looking for 2.0 in [2] without block returns 0 looking for 2.0 in [2] with block returns 0 looking for 2.0 in [2.0] without block returns 0 looking for 2.0 in [2.0] with block returns 0 looking for 2 in [2.0] without block returns 0 looking for 2 in [2.0] with block returns 0 #index looking for "A" in [] without block returns nil looking for "A" in [] with block returns nil looking for nil in [] with block returns nil looking for "A" in ["A"] without block returns 0 looking for "A" in ["A"] with block returns 0 looking for "B" in ["A"] without block returns nil looking for "B" in ["A"] with block returns nil looking for nil in ["A"] with block returns nil looking for "A" in ["A", "B", "C"] without block returns 0 looking for "A" in ["A", "B", "C"] with block returns 0 looking for "B" in ["A", "B", "C"] without block returns 1 looking for "B" in ["A", "B", "C"] with block returns 1 looking for "C" in ["A", "B", "C"] without block returns 2 looking for "C" in ["A", "B", "C"] with block returns 2 looking for "D" in ["A", "B", "C"] without block returns nil looking for "D" in ["A", "B", "C"] with block returns nil looking for 1 in 0..1 without block returns 1 looking for 1 in 0..1 with block returns 1 looking for 5 in 0..10 without block returns 5 looking for 5 in 0..10 with block returns 5 looking for 10 in 0..10 without block returns 10 looking for 10 in 0..10 with block returns 10 looking for 2 in [2] without block returns 0 looking for 2 in [2] with block returns 0 looking for 2.0 in [2] without block returns 0 looking for 2.0 in [2] with block returns 0 looking for 2.0 in [2.0] without block returns 0 looking for 2.0 in [2.0] with block returns 0 looking for 2 in [2.0] without block returns 0 looking for 2 in [2.0] with block returns 0 Hamster::SortedSet #first on [] returns nil on ["A"] returns "A" on ["A", "B", "C"] returns "A" on ["Z", "Y", "X"] returns "X" Hamster::SortedSet #from when called without a block returns a sorted set of all items equal to or greater than the argument when called with a block yields all the items equal to or greater than than the argument on an empty set returns an empty set with an argument higher than all the values in the set returns an empty set Hamster::SortedSet #group_by with a block on [] preserves the original returns [] on [1] preserves the original returns [{true=>Hamster::SortedSet[1]}] on [1, 2, 3, 4] preserves the original returns [{true=>Hamster::SortedSet[1, 3], false=>Hamster::SortedSet[2, 4]}] without a block on [] preserves the original returns [] on [1] preserves the original returns [{1=>Hamster::SortedSet[1]}] on [1, 2, 3, 4] preserves the original returns [{1=>Hamster::SortedSet[1], 2=>Hamster::SortedSet[2], 3=>Hamster::SortedSet[3], 4=>Hamster::SortedSet[4]}] from a subclass returns an Hash whose values are instances of the subclass #group with a block on [] preserves the original returns [] on [1] preserves the original returns [{true=>Hamster::SortedSet[1]}] on [1, 2, 3, 4] preserves the original returns [{true=>Hamster::SortedSet[1, 3], false=>Hamster::SortedSet[2, 4]}] without a block on [] preserves the original returns [] on [1] preserves the original returns [{1=>Hamster::SortedSet[1]}] on [1, 2, 3, 4] preserves the original returns [{1=>Hamster::SortedSet[1], 2=>Hamster::SortedSet[2], 3=>Hamster::SortedSet[3], 4=>Hamster::SortedSet[4]}] from a subclass returns an Hash whose values are instances of the subclass #classify with a block on [] preserves the original returns [] on [1] preserves the original returns [{true=>Hamster::SortedSet[1]}] on [1, 2, 3, 4] preserves the original returns [{true=>Hamster::SortedSet[1, 3], false=>Hamster::SortedSet[2, 4]}] without a block on [] preserves the original returns [] on [1] preserves the original returns [{1=>Hamster::SortedSet[1]}] on [1, 2, 3, 4] preserves the original returns [{1=>Hamster::SortedSet[1], 2=>Hamster::SortedSet[2], 3=>Hamster::SortedSet[3], 4=>Hamster::SortedSet[4]}] from a subclass returns an Hash whose values are instances of the subclass Hamster::SortedSet #include? returns true for an existing value (1) returns true for an existing value (2) returns true for an existing value (3) returns true for an existing value (4.0) returns false for a non-existing value uses #<=> for equality #member? returns true for an existing value (1) returns true for an existing value (2) returns true for an existing value (3) returns true for an existing value (4.0) returns false for a non-existing value uses #<=> for equality Hamster::SortedSet #inspect on [] returns "Hamster::SortedSet[]" returns a string which can be eval'd to get an equivalent set on ["A"] returns "Hamster::SortedSet[\"A\"]" returns a string which can be eval'd to get an equivalent set on ["C", "B", "A"] returns "Hamster::SortedSet[\"A\", \"B\", \"C\"]" returns a string which can be eval'd to get an equivalent set from a subclass returns a programmer-readable representation of the set contents returns a string which can be eval'd to get an equivalent set Hamster::SortedSet #intersect? for [] and [] returns false for ["A"] and [] returns false for [] and ["A"] returns false for ["A"] and ["A"] returns true for ["A", "B", "C"] and ["B"] returns true for ["B"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["D", "E"] returns false for ["F", "G", "H", "I"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["A", "B", "C", "D"] returns true for ["D", "E", "F", "G"] and ["A", "B", "C"] returns false Hamster::SortedSet #intersection for [] and [] returns [] for [] and [] returns [] for ["A"] and [] returns [] for [] and ["A"] returns [] for ["A"] and ["A"] returns ["A"] for ["A"] and ["A"] returns ["A"] for ["A", "B", "C"] and ["B"] returns ["B"] for ["B"] and ["A", "B", "C"] returns ["B"] for ["A", "B", "C"] and ["A", "C"] returns ["A", "C"] for ["A", "C"] and ["A", "B", "C"] returns ["A", "C"] for ["A", "M", "T", "X"] and ["B", "C", "D", "E", "F", "G", "H", "I", "M", "P", "Q", "T", "U"] returns ["M", "T"] for ["B", "C", "D", "E", "F", "G", "H", "I", "M", "P", "Q", "T", "U"] and ["A", "M", "T", "X"] returns ["M", "T"] #& for [] and [] returns [] for [] and [] returns [] for ["A"] and [] returns [] for [] and ["A"] returns [] for ["A"] and ["A"] returns ["A"] for ["A"] and ["A"] returns ["A"] for ["A", "B", "C"] and ["B"] returns ["B"] for ["B"] and ["A", "B", "C"] returns ["B"] for ["A", "B", "C"] and ["A", "C"] returns ["A", "C"] for ["A", "C"] and ["A", "B", "C"] returns ["A", "C"] for ["A", "M", "T", "X"] and ["B", "C", "D", "E", "F", "G", "H", "I", "M", "P", "Q", "T", "U"] returns ["M", "T"] for ["B", "C", "D", "E", "F", "G", "H", "I", "M", "P", "Q", "T", "U"] and ["A", "M", "T", "X"] returns ["M", "T"] Hamster::SortedSet #last with an empty set returns the last item with a single item set returns the last item with a multi-item set returns the last item Hamster::SortedSet #map when empty returns self when not empty with a block preserves the original values returns a new set with the mapped values with no block returns an Enumerator on a set ordered by a comparator returns a new set with the mapped values #collect when empty returns self when not empty with a block preserves the original values returns a new set with the mapped values with no block returns an Enumerator on a set ordered by a comparator returns a new set with the mapped values Hamster::SortedSet #marshal_dump/#marshal_load can survive dumping and loading into a new process is still possible to find items by index after loading raises a TypeError if set has a custom sort order Hamster::SortedSet #max with a block on [] returns nil on ["A"] returns "A" on ["Ichi", "Ni", "San"] returns "Ichi" without a block on [] returns nil on ["A"] returns "A" on ["Ichi", "Ni", "San"] returns "San" Hamster::SortedSet #min on [] returns nil on ["A"] returns "A" on ["Ichi", "Ni", "San"] returns "Ichi" on [1, 2, 3, 4, 5] returns 1 on [0, -0.0, 2.2, -4, -4.2] returns -4.2 Hamster::SortedSet .new accepts a single enumerable argument and creates a new sorted set also works with a Range is amenable to overriding of #initialize accepts a block with arity 1 accepts a block with arity 2 can use a block produced by Symbol#to_proc from a subclass returns a frozen instance of the subclass .[] accepts a variable number of items and creates a new sorted set Hamster::SortedSet #reverse_each with no block returns an Enumerator with a block returns self iterates over the items in order Hamster::SortedSet #sample returns a randomly chosen item Hamster::SortedSet #select when everything matches preserves the original returns self when only some things match with a block preserves the original returns a set with the matching values with no block returns an Enumerator when nothing matches preserves the original returns the canonical empty set from a subclass returns an instance of the same class #find_all when everything matches preserves the original returns self when only some things match with a block preserves the original returns a set with the matching values with no block returns an Enumerator when nothing matches preserves the original returns the canonical empty set from a subclass returns an instance of the same class Hamster::SortedSet #size returns 0 for [] returns 1 for ["A"] returns 3 for ["A", "B", "C"] #length returns 0 for [] returns 1 for ["A"] returns 3 for ["A", "B", "C"] Hamster::SortedSet #slice when passed a positive integral index returns the element at that index leaves the original unchanged when passed a negative integral index returns the element which is number (index.abs) counting from the end of the sorted_set when passed a positive integral index and count returns 'count' elements starting from 'index' leaves the original unchanged when passed a negative integral index and count returns 'count' elements, starting from index which is number 'index.abs' counting from the end of the array when passed a Range returns the elements whose indexes are within the given Range leaves the original unchanged when passed an empty Range does not lose custom sort order when passed a length of zero does not lose custom sort order when passed a subclass of Range works the same as with a Range on a subclass of SortedSet with index and count or a range, returns an instance of the subclass #[] when passed a positive integral index returns the element at that index leaves the original unchanged when passed a negative integral index returns the element which is number (index.abs) counting from the end of the sorted_set when passed a positive integral index and count returns 'count' elements starting from 'index' leaves the original unchanged when passed a negative integral index and count returns 'count' elements, starting from index which is number 'index.abs' counting from the end of the array when passed a Range returns the elements whose indexes are within the given Range leaves the original unchanged when passed an empty Range does not lose custom sort order when passed a length of zero does not lose custom sort order when passed a subclass of Range works the same as with a Range on a subclass of SortedSet with index and count or a range, returns an instance of the subclass Hamster::SortedSet #sort on [] with a block preserves the original returns [] without a block preserves the original returns [] on ["A"] with a block preserves the original returns ["A"] without a block preserves the original returns ["A"] on ["Ichi", "Ni", "San"] with a block preserves the original returns ["Ni", "San", "Ichi"] without a block preserves the original returns ["Ichi", "Ni", "San"] #sort_by on [] with a block preserves the original returns [] without a block preserves the original returns [] on ["A"] with a block preserves the original returns ["A"] without a block preserves the original returns ["A"] on ["Ichi", "Ni", "San"] with a block preserves the original returns ["Ni", "San", "Ichi"] without a block preserves the original returns ["Ichi", "Ni", "San"] Hamster::SortedSet #subset? for [] and [] returns true for ["A"] and [] returns false for [] and ["A"] returns true for ["A"] and ["A"] returns true for ["A", "B", "C"] and ["B"] returns false for ["B"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["A", "C"] returns false for ["A", "C"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["A", "B", "C", "D"] returns true for ["A", "B", "C", "D"] and ["A", "B", "C"] returns false #proper_subset? for [] and [] returns false for ["A"] and [] returns false for [] and ["A"] returns true for ["A"] and ["A"] returns false for ["A", "B", "C"] and ["B"] returns false for ["B"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["A", "C"] returns false for ["A", "C"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["A", "B", "C", "D"] returns true for ["A", "B", "C", "D"] and ["A", "B", "C"] returns false Hamster::SortedSet #superset? for [] and [] returns true for ["A"] and [] returns true for [] and ["A"] returns false for ["A"] and ["A"] returns true for ["A", "B", "C"] and ["B"] returns true for ["B"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["A", "C"] returns true for ["A", "C"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["A", "B", "C"] returns true for ["A", "B", "C"] and ["A", "B", "C", "D"] returns false for ["A", "B", "C", "D"] and ["A", "B", "C"] returns true #proper_superset? for [] and [] returns false for ["A"] and [] returns true for [] and ["A"] returns false for ["A"] and ["A"] returns false for ["A", "B", "C"] and ["B"] returns true for ["B"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["A", "C"] returns true for ["A", "C"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["A", "B", "C"] returns false for ["A", "B", "C"] and ["A", "B", "C", "D"] returns false for ["A", "B", "C", "D"] and ["A", "B", "C"] returns true Hamster::SortedSet #take 10 from [] preserves the original returns [] 10 from ["A"] preserves the original returns ["A"] 0 from ["A", "B", "C"] preserves the original returns [] 2 from ["A", "B", "C"] preserves the original returns ["A", "B"] when argument is at least size of receiver returns self when the set has a custom order maintains the custom order keeps the comparator even when set is cleared when called on a subclass should return an instance of the subclass Hamster::SortedSet #take_while on [] with a block returns [] preserves the original without a block returns an Enumerator on ["A"] with a block returns ["A"] preserves the original without a block returns an Enumerator on ["A", "B", "C"] with a block returns ["A", "B"] preserves the original without a block returns an Enumerator Hamster::SortedSet #to_set on [] returns a set with the same values on ["A"] returns a set with the same values on ["A", "B", "C"] returns a set with the same values Hamster::SortedSet #union for [] and [] returns [] for [] and [] returns [] for ["A"] and [] returns ["A"] for [] and ["A"] returns ["A"] for ["A"] and ["A"] returns ["A"] for ["A"] and ["A"] returns ["A"] for ["A", "B", "C"] and [] returns ["A", "B", "C"] for [] and ["A", "B", "C"] returns ["A", "B", "C"] for ["A", "C", "E", "G", "X"] and ["B", "C", "D", "E", "H", "M"] returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] for ["B", "C", "D", "E", "H", "M"] and ["A", "C", "E", "G", "X"] returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] #| for [] and [] returns [] for [] and [] returns [] for ["A"] and [] returns ["A"] for [] and ["A"] returns ["A"] for ["A"] and ["A"] returns ["A"] for ["A"] and ["A"] returns ["A"] for ["A", "B", "C"] and [] returns ["A", "B", "C"] for [] and ["A", "B", "C"] returns ["A", "B", "C"] for ["A", "C", "E", "G", "X"] and ["B", "C", "D", "E", "H", "M"] returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] for ["B", "C", "D", "E", "H", "M"] and ["A", "C", "E", "G", "X"] returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] #+ for [] and [] returns [] for [] and [] returns [] for ["A"] and [] returns ["A"] for [] and ["A"] returns ["A"] for ["A"] and ["A"] returns ["A"] for ["A"] and ["A"] returns ["A"] for ["A", "B", "C"] and [] returns ["A", "B", "C"] for [] and ["A", "B", "C"] returns ["A", "B", "C"] for ["A", "C", "E", "G", "X"] and ["B", "C", "D", "E", "H", "M"] returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] for ["B", "C", "D", "E", "H", "M"] and ["A", "C", "E", "G", "X"] returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] #merge for [] and [] returns [] for [] and [] returns [] for ["A"] and [] returns ["A"] for [] and ["A"] returns ["A"] for ["A"] and ["A"] returns ["A"] for ["A"] and ["A"] returns ["A"] for ["A", "B", "C"] and [] returns ["A", "B", "C"] for [] and ["A", "B", "C"] returns ["A", "B", "C"] for ["A", "C", "E", "G", "X"] and ["B", "C", "D", "E", "H", "M"] returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] for ["B", "C", "D", "E", "H", "M"] and ["A", "C", "E", "G", "X"] returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] Hamster::SortedSet #up_to when called without a block returns a sorted set of all items equal to or less than the argument when called with a block yields all the items equal to or less than than the argument on an empty set returns an empty set with an argument less than all the values in the set returns an empty set Hamster::SortedSet #values_at accepts any number of indices, and returns a sorted_set of items at those indices when passed invalid indices filters them out when passed no arguments returns an empty sorted_set from a subclass returns an instance of the subclass Hamster::Vector #add with a empty vector adding a single item preserves the original adds the item to the vector with a single-item vector adding a different item preserves the original adds the item to the vector with a single-item vector adding a duplicate item preserves the original adds the item to the vector with a 31-item vector adding a different item preserves the original adds the item to the vector with a 32-item vector adding a different item preserves the original adds the item to the vector with a 33-item vector adding a different item preserves the original adds the item to the vector with a 1023-item vector adding a different item preserves the original adds the item to the vector with a 1024-item vector adding a different item preserves the original adds the item to the vector with a 1025-item vector adding a different item preserves the original adds the item to the vector from a subclass returns an instance of the subclass #<< with a empty vector adding a single item preserves the original adds the item to the vector with a single-item vector adding a different item preserves the original adds the item to the vector with a single-item vector adding a duplicate item preserves the original adds the item to the vector with a 31-item vector adding a different item preserves the original adds the item to the vector with a 32-item vector adding a different item preserves the original adds the item to the vector with a 33-item vector adding a different item preserves the original adds the item to the vector with a 1023-item vector adding a different item preserves the original adds the item to the vector with a 1024-item vector adding a different item preserves the original adds the item to the vector with a 1025-item vector adding a different item preserves the original adds the item to the vector from a subclass returns an instance of the subclass #push with a empty vector adding a single item preserves the original adds the item to the vector with a single-item vector adding a different item preserves the original adds the item to the vector with a single-item vector adding a duplicate item preserves the original adds the item to the vector with a 31-item vector adding a different item preserves the original adds the item to the vector with a 32-item vector adding a different item preserves the original adds the item to the vector with a 33-item vector adding a different item preserves the original adds the item to the vector with a 1023-item vector adding a different item preserves the original adds the item to the vector with a 1024-item vector adding a different item preserves the original adds the item to the vector with a 1025-item vector adding a different item preserves the original adds the item to the vector from a subclass returns an instance of the subclass Hamster::Vector #any? when created with no values with a block returns false with a block returns false when created with values with a block that returns true returns true with a block that doesn't return true returns false without a block with some values that are truthy returns true with all values that are falsey returns false Hamster::Vector #assoc searches for a 2-element array with a given 1st item returns nil if a matching 1st item is not found uses #== to compare 1st items with provided object skips elements which are not indexable #rassoc searches for a 2-element array with a given 2nd item returns nil if a matching 2nd item is not found uses #== to compare 2nd items with provided object skips elements which are not indexable Hamster::Vector #bsearch with a block which returns false for elements below desired position, and true for those at/above returns the first element for which the predicate is true if the block always returns false returns nil if the block always returns true returns the first element with a block which returns a negative number for elements below desired position, zero for the right element, and positive for those above returns the element for which the block returns zero if the block always returns positive returns nil if the block always returns negative returns nil if the block returns sometimes positive, sometimes negative, but never zero returns nil if not passed a block returns an Enumerator on an empty vector returns nil Hamster::Vector #clear on [] preserves the original returns an empty vector from a subclass returns an instance of the subclass on ["A"] preserves the original returns an empty vector from a subclass returns an instance of the subclass on ["A", "B", "C"] preserves the original returns an empty vector from a subclass returns an instance of the subclass Hamster::Vector #combination works on many combinations of input leaves the original unmodified with a block returns self with no block returns an Enumerator when passed an argument which is out of bounds yields nothing and returns self when passed an argument zero yields an empty array when passed an argument equal to the vector's length yields self as an array when passed an argument 1 yields each item in the vector, as single-item vectors when passed another integral argument yields all combinations of the given length on an empty vector works the same Hamster::Vector #compact returns a new Vector with all nils removed doesn't remove false on an empty vector returns self from a subclass returns an instance of the subclass Hamster::Vector #<=> with [] and [1] returns -1 with [1] and [] returns 1 with [] and [] returns 0 with [1] and [2] returns -1 with [2] and [1] returns 1 with [1] and [1] returns 0 with [1] and [1, 2] returns -1 with [1, 2] and [1] returns 1 with [1] and [1] returns 0 with [2, 3, 4] and [3, 4, 5] returns -1 with [3, 4, 5] and [2, 3, 4] returns 1 with [2, 3, 4] and [2, 3, 4] returns 0 with [[0]] and [[1]] returns -1 with [[1]] and [[0]] returns 1 with [[0]] and [[0]] returns 0 Hamster::Vector #+ preserves the original appends the elements in the other enumerable on a 1-item vector works the same on a 31-item vector works the same on a 32-item vector works the same on a 33-item vector works the same on a 1023-item vector works the same on a 1024-item vector works the same on a 1025-item vector works the same #concat preserves the original appends the elements in the other enumerable on a 1-item vector works the same on a 31-item vector works the same on a 32-item vector works the same on a 33-item vector works the same on a 1023-item vector works the same on a 1024-item vector works the same on a 1025-item vector works the same Hamster::Vector on [] returns self on ["A"] returns self on ["A", "B", "C"] returns self on 1..32 returns self on [] returns self on ["A"] returns self on ["A", "B", "C"] returns self on 1..32 returns self Hamster::Vector #count returns the number of elements returns the number of elements that equal the argument returns the number of element for which the block evaluates to true Hamster::Vector #delete_at removes the element at the specified index makes no modification if the index is out of range works when deleting last item at boundary where vector trie needs to get shallower works on an empty vector works on a vector with 1 item works on a vector with 32 items has the right size and contents after many deletions Hamster::Vector #delete removes elements that are #== to the argument on an empty vector returns self on a subclass of Vector returns an instance of the subclass Hamster::Vector #dig returns value at the index with one argument returns value at index in nested arrays returns nil when indexing deeper than possible returns nil if you index past the end of an array raises a type error when indexing with a key arrays don't understand Hamster::Vector #drop raises an ArgumentError if number of elements specified is negative 10 from [] preserves the original returns [] 10 from ["A"] preserves the original returns [] 1 from ["A"] preserves the original returns [] 0 from ["A"] preserves the original returns ["A"] 0 from ["A", "B", "C"] preserves the original returns ["A", "B", "C"] 2 from ["A", "B", "C"] preserves the original returns ["C"] 3 from 1..32 preserves the original returns 4..32 32 from 1..33 preserves the original returns [33] when number of elements specified is zero returns self Hamster::Vector #drop_while returns an empty vector if block is always true stops dropping items if block returns nil stops dropping items if block returns false on [] with a block preserves the original returns [] without a block returns an Enumerator on ["A"] with a block preserves the original returns [] without a block returns an Enumerator on ["A", "B", "C"] with a block preserves the original returns ["C"] without a block returns an Enumerator on an empty vector returns an empty vector Hamster::Vector #each_index with a block yields all the valid indices into the vector returns self without a block returns an Enumerator on an empty vector doesn't yield anything on a 1-item vector yields all valid indices on a 2-item vector yields all valid indices on a 10-item vector yields all valid indices on a 31-item vector yields all valid indices on a 32-item vector yields all valid indices on a 33-item vector yields all valid indices on a 1000-item vector yields all valid indices on a 1024-item vector yields all valid indices on a 1025-item vector yields all valid indices Hamster::Vector #each with no block returns an Enumerator on a 31-item vector with a block returns self yields all the items iterates over the items in order on a 32-item vector with a block returns self yields all the items iterates over the items in order on a 33-item vector with a block returns self yields all the items iterates over the items in order on a 1023-item vector with a block returns self yields all the items iterates over the items in order on a 1024-item vector with a block returns self yields all the items iterates over the items in order on a 1025-item vector with a block returns self yields all the items iterates over the items in order on an empty vector doesn't yield anything Hamster::Vector #each_with_index with no block returns an Enumerator on a 1-item vector with a block returns self iterates over the items in order on a 2-item vector with a block returns self iterates over the items in order on a 31-item vector with a block returns self iterates over the items in order on a 32-item vector with a block returns self iterates over the items in order on a 33-item vector with a block returns self iterates over the items in order on a 1023-item vector with a block returns self iterates over the items in order on a 1024-item vector with a block returns self iterates over the items in order on a 1025-item vector with a block returns self iterates over the items in order on an empty vector doesn't yield anything Hamster::Vector #empty? on [] returns true on ["A"] returns false on ["A", "B", "C"] returns false .empty returns the canonical empty vector from a subclass returns an empty instance of the subclass calls overridden #initialize when creating empty Hash Hamster::Vector #eql returns false when comparing with an array with the same contents returns false when comparing with an arbitrary object returns false when comparing an empty vector with an empty array returns false when comparing with a subclass of Hamster::Vector #== returns true when comparing with an array with the same contents returns false when comparing with an arbitrary object returns true when comparing an empty vector with an empty array returns true when comparing with a subclass of Hamster::Vector works on larger vectors #eql? returns true for vectors [] and [] for vectors [] and [] returns false for vectors [] and [nil] for vectors [nil] and [] returns false for vectors ["A"] and [] for vectors [] and ["A"] returns true for vectors ["A"] and ["A"] for vectors ["A"] and ["A"] returns false for vectors ["A"] and ["B"] for vectors ["B"] and ["A"] returns false for vectors ["A", "B"] and ["A"] for vectors ["A"] and ["A", "B"] returns true for vectors ["A", "B", "C"] and ["A", "B", "C"] for vectors ["A", "B", "C"] and ["A", "B", "C"] returns false for vectors ["C", "A", "B"] and ["A", "B", "C"] for vectors ["A", "B", "C"] and ["C", "A", "B"] #== returns true for vectors [] and [] for vectors [] and [] returns false for vectors [] and [nil] for vectors [nil] and [] returns false for vectors ["A"] and [] for vectors [] and ["A"] returns true for vectors ["A"] and ["A"] for vectors ["A"] and ["A"] returns false for vectors ["A"] and ["B"] for vectors ["B"] and ["A"] returns false for vectors ["A", "B"] and ["A"] for vectors ["A"] and ["A", "B"] returns true for vectors ["A", "B", "C"] and ["A", "B", "C"] for vectors ["A", "B", "C"] and ["A", "B", "C"] returns false for vectors ["C", "A", "B"] and ["A", "B", "C"] for vectors ["A", "B", "C"] and ["C", "A", "B"] Hamster::Vector #fetch gives precedence to default block over default argument if passed both with no default provided when the index exists returns the value at the index when the key does not exist raises an IndexError with a default value when the index exists returns the value at the index when the index does not exist returns the default value with a default block when the index exists returns the value at the index when the index does not exist invokes the block with the missing index as parameter Hamster::Vector #fill can replace a range of items at the beginning of a vector can replace a range of items in the middle of a vector can replace a range of items at the end of a vector can replace all the items in a vector can fill past the end of the vector behaves like Array#fill, on a variety of inputs with 1 argument replaces all the items in the vector by default with 2 arguments replaces up to the end of the vector by default when index and length are 0 leaves the vector unmodified when expanding a vector past boundary where vector trie needs to deepen works the same on a 1000-item vector works the same on a 1023-item vector works the same on a 1024-item vector works the same on a 1025-item vector works the same on a 2000-item vector works the same Hamster::Vector #first on [] returns nil on ["A"] returns "A" on ["A", "B", "C"] returns "A" on 1..32 returns 1 Hamster::Vector #flat_map with an empty vector returns the flattened values as a Hamster::Vector returns a Hamster::Vector with a block that returns an empty vector returns the flattened values as a Hamster::Vector returns a Hamster::Vector with a vector of one item returns the flattened values as a Hamster::Vector returns a Hamster::Vector with a vector of multiple items returns the flattened values as a Hamster::Vector returns a Hamster::Vector Hamster::Vector #flatten recursively flattens nested vectors into containing vector flattens nested arrays as well leaves the original unmodified with an integral argument only flattens down to the specified depth with an argument of zero returns self on a subclass returns an instance of the subclass on a vector with no nested vectors returns an unchanged vector on a Vector larger than 32 items initialized with Vector.new returns an unchanged vector Hamster::Vector #get when empty always returns nil when not empty with a positive index within the absolute bounds of the vector returns the value at the specified index from the head outside the absolute bounds of the vector returns nil with a negative index within the absolute bounds of the vector returns the value at the specified index from the tail outside the absolute bounds of the vector returns nil on a 1-item vector works correctly, even after various addings and removings on a 10-item vector works correctly, even after various addings and removings on a 31-item vector works correctly, even after various addings and removings on a 32-item vector works correctly, even after various addings and removings on a 33-item vector works correctly, even after various addings and removings on a 1024-item vector works correctly, even after various addings and removings on a 1025-item vector works correctly, even after various addings and removings on a 2000-item vector works correctly, even after various addings and removings #at when empty always returns nil when not empty with a positive index within the absolute bounds of the vector returns the value at the specified index from the head outside the absolute bounds of the vector returns nil with a negative index within the absolute bounds of the vector returns the value at the specified index from the tail outside the absolute bounds of the vector returns nil on a 1-item vector works correctly, even after various addings and removings on a 10-item vector works correctly, even after various addings and removings on a 31-item vector works correctly, even after various addings and removings on a 32-item vector works correctly, even after various addings and removings on a 33-item vector works correctly, even after various addings and removings on a 1024-item vector works correctly, even after various addings and removings on a 1025-item vector works correctly, even after various addings and removings on a 2000-item vector works correctly, even after various addings and removings Hamster::Vector #group_by returns a hash without default proc with a block on [] returns [] on [1] returns [{true=>Hamster::Vector[1]}] on [1, 2, 3, 4] returns [{true=>Hamster::Vector[1, 3], false=>Hamster::Vector[2, 4]}] without a block on [] returns [] on [1] returns [{1=>Hamster::Vector[1]}] on [1, 2, 3, 4] returns [{1=>Hamster::Vector[1], 2=>Hamster::Vector[2], 3=>Hamster::Vector[3], 4=>Hamster::Vector[4]}] on an empty vector returns an empty hash from a subclass returns an Hash whose values are instances of the subclass Hamster::Vector #include? on [] returns false on [] returns false on ["A"] returns true on ["A"] returns false on ["A"] returns false on ["A", "B", nil] returns true on ["A", "B", nil] returns true on ["A", "B", nil] returns true on ["A", "B", nil] returns false on ["A", "B", false] returns true on [2] returns true on [2] returns true on [2.0] returns true on [2.0] returns true #member? on [] returns false on [] returns false on ["A"] returns true on ["A"] returns false on ["A"] returns false on ["A", "B", nil] returns true on ["A", "B", nil] returns true on ["A", "B", nil] returns true on ["A", "B", nil] returns false on ["A", "B", false] returns true on [2] returns true on [2] returns true on [2.0] returns true on [2.0] returns true Hamster::Vector #insert can add items at the beginning of a vector can add items in the middle of a vector can add items at the end of a vector can add items past the end of a vector accepts a negative index, which counts back from the end of the vector raises IndexError if a negative index is too great works when adding an item past boundary when vector trie needs to deepen works when adding to an empty Vector has the right size and contents after many insertions Hamster::Vector #inspect with an empty array returns its contents as a programmer-readable string returns a string which can be eval'd to get back an equivalent vector with a single item array returns its contents as a programmer-readable string returns a string which can be eval'd to get back an equivalent vector with a multi-item array returns its contents as a programmer-readable string returns a string which can be eval'd to get back an equivalent vector from a subclass returns its contents as a programmer-readable string returns a string which can be eval'd to get back an equivalent vector Hamster::Vector #join with a separator on [] preserves the original returns "" on ["A"] preserves the original returns "A" on ["A", "B", "C"] preserves the original returns "A|B|C" without a separator on [] preserves the original returns "" on ["A"] preserves the original returns "A" on ["A", "B", "C"] preserves the original returns "ABC" without a separator (with global default separator set) on ["A", "B", "C"] returns "A**B**C" Hamster::Vector #last with an empty vector returns the last item with a single item vector returns the last item with a multi-item vector returns the last item with a 31-item vector returns the last item with a 32-item vector returns the last item with a 33-item vector returns the last item with a 1023-item vector returns the last item with a 1024-item vector returns the last item with a 1025-item vector returns the last item Hamster::Vector #length with an empty vector returns the values with a single item vector returns the values with a multi-item vector returns the values with a 31-item vector returns the values with a 32-item vector returns the values with a 33-item vector returns the values with a 1023-item vector returns the values with a 1024-item vector returns the values with a 1025-item vector returns the values Hamster::Vector #<< with a empty array adding a single item preserves the original ltlts the item to the vector with a single-item array adding a different item preserves the original ltlts the item to the vector with a single-item array adding a duplicate item preserves the original ltlts the item to the vector with a 31-item vector adding a different item preserves the original ltlts the item to the vector with a 32-item vector adding a different item preserves the original ltlts the item to the vector with a 33-item vector adding a different item preserves the original ltlts the item to the vector with a 1023-item vector adding a different item preserves the original ltlts the item to the vector with a 1024-item vector adding a different item preserves the original ltlts the item to the vector with a 1025-item vector adding a different item preserves the original ltlts the item to the vector from a subclass returns an instance of the subclass Hamster::Vector #map when empty returns self when not empty with a block preserves the original values returns a new vector with the mapped values with no block returns an Enumerator from a subclass returns an instance of the subclass on a large vector works #collect when empty returns self when not empty with a block preserves the original values returns a new vector with the mapped values with no block returns an Enumerator from a subclass returns an instance of the subclass on a large vector works Hamster::Vector #marshal_dump/#marshal_load can survive dumping and loading into a new process is still possible to find items by index after loading Hamster::Vector #max with a block on [] returns nil on ["A"] returns "A" on ["Ichi", "Ni", "San"] returns "Ichi" without a block on [] returns nil on ["A"] returns "A" on ["Ichi", "Ni", "San"] returns "San" Hamster::Vector #min with a block on [] returns nil on ["A"] returns "A" on ["Ichi", "Ni", "San"] returns "Ni" without a block on [] returns nil on ["A"] returns "A" on ["Ichi", "Ni", "San"] returns "Ichi" Hamster::Vector #* raises a TypeError if passed nil raises an ArgumentError if passed no arguments with a String argument acts just like #join with an Integer argument concatenates n copies of the array raises an ArgumentError if integer is negative works on large vectors with a subclass of Vector returns an instance of the subclass Hamster::Vector .new accepts a single enumerable argument and creates a new vector makes a defensive copy of a non-frozen mutable Array passed in is amenable to overriding of #initialize from a subclass returns a frozen instance of the subclass .[] accepts a variable number of items and creates a new vector Hamster::Vector #partition on [] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator on [1] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator on [1, 2] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator on [1, 2, 3] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator on [1, 2, 3, 4] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator on [2, 3, 4] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator on [3, 4] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator on [4] with a block preserves the original returns a frozen array with two items correctly identifies the matches correctly identifies the remainder without a block returns an Enumerator Hamster::Vector #permutation handles duplicate elements correctly leaves the original unmodified behaves like Array#permutation without a block or arguments returns an Enumerator of all permutations without a block, but with integral argument returns an Enumerator of all permutations of given length with a block returns self and no argument yields all permutations and an integral argument yields all permutations of the given length on an empty vector yields the empty permutation with an argument of zero yields the empty permutation with a length greater than the size of the vector yields no permutations Hamster::Vector #pop on [] preserves the original returns [] on ["A"] preserves the original returns [] on ["A", "B", "C"] preserves the original returns ["A", "B"] on 1..32 preserves the original returns 1..31 on 1..33 preserves the original returns 1..32 Hamster::Vector #product when passed no arguments multiplies all items in vector when passed one or more vectors when passed a block yields an array for each combination of items from the vectors returns self when not passed a block returns the cartesian product in an array when one of the arguments is empty returns an empty array when the receiver is empty returns an empty array when passed one or more Arrays also calculates the cartesian product correctly Hamster::Vector #put when empty WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /<>/spec/lib/hamster/vector/put_spec.rb:12:in `block (4 levels) in '. raises an error for index -1 allows indexes 0 and 1 to be put when not empty with a block and a positive index within the absolute bounds of the vector passes the current value to the block replaces the value with the result of the block supports to_proc methods just past the end of the vector passes nil to the block and adds a new value further outside the bounds of the vector passes nil to the block, fills up missing nils, and adds a new value and a negative index within the absolute bounds of the vector passes the current value to the block replaces the value with the result of the block supports to_proc methods outside the absolute bounds of the vector WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /<>/spec/lib/hamster/vector/put_spec.rb:76:in `block (7 levels) in '. raises an error with a value and a positive index within the absolute bounds of the vector preserves the original puts the new value at the specified index just past the end of the vector adds a new value outside the absolute bounds of the vector fills up with nils with a negative index preserves the original puts the new value at the specified index outside the absolute bounds of the vector WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /<>/spec/lib/hamster/vector/put_spec.rb:126:in `block (6 levels) in '. raises an error from a subclass returns an instance of the subclass on a 10-item vector works correctly on a 31-item vector works correctly on a 32-item vector works correctly on a 33-item vector works correctly on a 1000-item vector works correctly on a 1023-item vector works correctly on a 1024-item vector works correctly on a 1025-item vector works correctly on a 2000-item vector works correctly with an identical value to an existing item on a 1-item vector returns self on a 2-item vector returns self on a 5-item vector returns self on a 31-item vector returns self on a 32-item vector returns self on a 33-item vector returns self on a 100-item vector returns self on a 200-item vector returns self Hamster::Vector #reduce on [] with an initial value of 10 and a block returns 10 on [1] with an initial value of 10 and a block returns 9 on [1, 2, 3] with an initial value of 10 and a block returns 4 on [] with no initial value and a block returns nil on [1] with no initial value and a block returns 1 on [1, 2, 3] with no initial value and a block returns -4 with no block and a symbol argument uses the symbol as the name of a method to reduce with with no block and a string argument uses the string as the name of a method to reduce with #inject on [] with an initial value of 10 and a block returns 10 on [1] with an initial value of 10 and a block returns 9 on [1, 2, 3] with an initial value of 10 and a block returns 4 on [] with no initial value and a block returns nil on [1] with no initial value and a block returns 1 on [1, 2, 3] with no initial value and a block returns -4 with no block and a symbol argument uses the symbol as the name of a method to reduce with with no block and a string argument uses the string as the name of a method to reduce with Hamster::Vector #reject works with a variety of inputs on [] with a block returns [] without a block returns an Enumerator on ["A"] with a block returns ["A"] without a block returns an Enumerator on ["A", "B", "C"] with a block returns ["A", "B", "C"] without a block returns an Enumerator on ["A", "b", "C"] with a block returns ["A", "C"] without a block returns an Enumerator on ["a", "b", "c"] with a block returns [] without a block returns an Enumerator #delete_if works with a variety of inputs on [] with a block returns [] without a block returns an Enumerator on ["A"] with a block returns ["A"] without a block returns an Enumerator on ["A", "B", "C"] with a block returns ["A", "B", "C"] without a block returns an Enumerator on ["A", "b", "C"] with a block returns ["A", "C"] without a block returns an Enumerator on ["a", "b", "c"] with a block returns [] without a block returns an Enumerator Hamster::Vector #repeated_combination leaves the original unmodified behaves like Array#repeated_combination with no block returns an Enumerator with a block returns self with a negative argument yields nothing and returns self with a zero argument yields an empty array with a argument of 1 yields each item in the vector, as single-item vectors on an empty vector, with an argument greater than zero yields nothing with a positive argument, greater than 1 yields all combinations of the given size (where a single element can appear more than once in a row) Hamster::Vector #repeated_permutation handles duplicate elements correctly allows permutations larger than the number of elements leaves the original unmodified behaves like Array#repeated_permutation without a block and without argument returns an Enumerator of all repeated permutations with an integral argument returns an Enumerator of all repeated permutations of the given length with a block returns self on an empty vector yields the empty permutation with an argument of zero yields the empty permutation with no argument yields all repeated permutations with a positive integral argument yields all repeated permutations of the given length Hamster::Vector #reverse_each on a 2-item vector with a block (internal iteration) returns self yields all items in the opposite order as #each with no block returns an Enumerator on a 31-item vector with a block (internal iteration) returns self yields all items in the opposite order as #each with no block returns an Enumerator on a 32-item vector with a block (internal iteration) returns self yields all items in the opposite order as #each with no block returns an Enumerator on a 33-item vector with a block (internal iteration) returns self yields all items in the opposite order as #each with no block returns an Enumerator on a 1000-item vector with a block (internal iteration) returns self yields all items in the opposite order as #each with no block returns an Enumerator on a 1024-item vector with a block (internal iteration) returns self yields all items in the opposite order as #each with no block returns an Enumerator on a 1025-item vector with a block (internal iteration) returns self yields all items in the opposite order as #each with no block returns an Enumerator on a 2000-item vector with a block (internal iteration) returns self yields all items in the opposite order as #each with no block returns an Enumerator Hamster::Vector #reverse on [] returns [] on [1] returns [1] on [1, 2] returns [2, 1] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32] returns [32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33] returns [33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100] returns [100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1] on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024] returns [1024, 1023, 1022, 1021, 1020, 1019, 1018, 1017, 1016, 1015, 1014, 1013, 1012, 1011, 1010, 1009, 1008, 1007, 1006, 1005, 1004, 1003, 1002, 1001, 1000, 999, 998, 997, 996, 995, 994, 993, 992, 991, 990, 989, 988, 987, 986, 985, 984, 983, 982, 981, 980, 979, 978, 977, 976, 975, 974, 973, 972, 971, 970, 969, 968, 967, 966, 965, 964, 963, 962, 961, 960, 959, 958, 957, 956, 955, 954, 953, 952, 951, 950, 949, 948, 947, 946, 945, 944, 943, 942, 941, 940, 939, 938, 937, 936, 935, 934, 933, 932, 931, 930, 929, 928, 927, 926, 925, 924, 923, 922, 921, 920, 919, 918, 917, 916, 915, 914, 913, 912, 911, 910, 909, 908, 907, 906, 905, 904, 903, 902, 901, 900, 899, 898, 897, 896, 895, 894, 893, 892, 891, 890, 889, 888, 887, 886, 885, 884, 883, 882, 881, 880, 879, 878, 877, 876, 875, 874, 873, 872, 871, 870, 869, 868, 867, 866, 865, 864, 863, 862, 861, 860, 859, 858, 857, 856, 855, 854, 853, 852, 851, 850, 849, 848, 847, 846, 845, 844, 843, 842, 841, 840, 839, 838, 837, 836, 835, 834, 833, 832, 831, 830, 829, 828, 827, 826, 825, 824, 823, 822, 821, 820, 819, 818, 817, 816, 815, 814, 813, 812, 811, 810, 809, 808, 807, 806, 805, 804, 803, 802, 801, 800, 799, 798, 797, 796, 795, 794, 793, 792, 791, 790, 789, 788, 787, 786, 785, 784, 783, 782, 781, 780, 779, 778, 777, 776, 775, 774, 773, 772, 771, 770, 769, 768, 767, 766, 765, 764, 763, 762, 761, 760, 759, 758, 757, 756, 755, 754, 753, 752, 751, 750, 749, 748, 747, 746, 745, 744, 743, 742, 741, 740, 739, 738, 737, 736, 735, 734, 733, 732, 731, 730, 729, 728, 727, 726, 725, 724, 723, 722, 721, 720, 719, 718, 717, 716, 715, 714, 713, 712, 711, 710, 709, 708, 707, 706, 705, 704, 703, 702, 701, 700, 699, 698, 697, 696, 695, 694, 693, 692, 691, 690, 689, 688, 687, 686, 685, 684, 683, 682, 681, 680, 679, 678, 677, 676, 675, 674, 673, 672, 671, 670, 669, 668, 667, 666, 665, 664, 663, 662, 661, 660, 659, 658, 657, 656, 655, 654, 653, 652, 651, 650, 649, 648, 647, 646, 645, 644, 643, 642, 641, 640, 639, 638, 637, 636, 635, 634, 633, 632, 631, 630, 629, 628, 627, 626, 625, 624, 623, 622, 621, 620, 619, 618, 617, 616, 615, 614, 613, 612, 611, 610, 609, 608, 607, 606, 605, 604, 603, 602, 601, 600, 599, 598, 597, 596, 595, 594, 593, 592, 591, 590, 589, 588, 587, 586, 585, 584, 583, 582, 581, 580, 579, 578, 577, 576, 575, 574, 573, 572, 571, 570, 569, 568, 567, 566, 565, 564, 563, 562, 561, 560, 559, 558, 557, 556, 555, 554, 553, 552, 551, 550, 549, 548, 547, 546, 545, 544, 543, 542, 541, 540, 539, 538, 537, 536, 535, 534, 533, 532, 531, 530, 529, 528, 527, 526, 525, 524, 523, 522, 521, 520, 519, 518, 517, 516, 515, 514, 513, 512, 511, 510, 509, 508, 507, 506, 505, 504, 503, 502, 501, 500, 499, 498, 497, 496, 495, 494, 493, 492, 491, 490, 489, 488, 487, 486, 485, 484, 483, 482, 481, 480, 479, 478, 477, 476, 475, 474, 473, 472, 471, 470, 469, 468, 467, 466, 465, 464, 463, 462, 461, 460, 459, 458, 457, 456, 455, 454, 453, 452, 451, 450, 449, 448, 447, 446, 445, 444, 443, 442, 441, 440, 439, 438, 437, 436, 435, 434, 433, 432, 431, 430, 429, 428, 427, 426, 425, 424, 423, 422, 421, 420, 419, 418, 417, 416, 415, 414, 413, 412, 411, 410, 409, 408, 407, 406, 405, 404, 403, 402, 401, 400, 399, 398, 397, 396, 395, 394, 393, 392, 391, 390, 389, 388, 387, 386, 385, 384, 383, 382, 381, 380, 379, 378, 377, 376, 375, 374, 373, 372, 371, 370, 369, 368, 367, 366, 365, 364, 363, 362, 361, 360, 359, 358, 357, 356, 355, 354, 353, 352, 351, 350, 349, 348, 347, 346, 345, 344, 343, 342, 341, 340, 339, 338, 337, 336, 335, 334, 333, 332, 331, 330, 329, 328, 327, 326, 325, 324, 323, 322, 321, 320, 319, 318, 317, 316, 315, 314, 313, 312, 311, 310, 309, 308, 307, 306, 305, 304, 303, 302, 301, 300, 299, 298, 297, 296, 295, 294, 293, 292, 291, 290, 289, 288, 287, 286, 285, 284, 283, 282, 281, 280, 279, 278, 277, 276, 275, 274, 273, 272, 271, 270, 269, 268, 267, 266, 265, 264, 263, 262, 261, 260, 259, 258, 257, 256, 255, 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, 202, 201, 200, 199, 198, 197, 196, 195, 194, 193, 192, 191, 190, 189, 188, 187, 186, 185, 184, 183, 182, 181, 180, 179, 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1] Hamster::Vector #rindex when passed an object present in the vector returns the last index where the object is present when passed an object not present in the vector returns nil with a block returns the last index of an object which the predicate is true for without an argument OR block returns an Enumerator Hamster::Vector #rotate leaves the original unmodified when passed no argument returns a new vector with the first element moved to the end with an integral argument n returns a new vector with the first (n % size) elements moved to the end with a floating-point argument n coerces the argument to integer using to_int with a non-numeric argument raises a TypeError with an argument of zero returns self with an argument equal to the vector's size returns self on a 31-item vector behaves like Array#rotate on a 32-item vector behaves like Array#rotate on a 33-item vector behaves like Array#rotate on a 1000-item vector behaves like Array#rotate on a 1023-item vector behaves like Array#rotate on a 1024-item vector behaves like Array#rotate on a 1025-item vector behaves like Array#rotate from a subclass returns an instance of the subclass Hamster::Vector #sample returns a randomly chosen item Hamster::Vector #select works with a variety of inputs with a block preserves the original returns a vector with the matching values with no block returns an Enumerator when nothing matches preserves the original returns an empty vector on an empty vector returns self from a subclass returns an instance of the subclass #find_all works with a variety of inputs with a block preserves the original returns a vector with the matching values with no block returns an Enumerator when nothing matches preserves the original returns an empty vector on an empty vector returns self from a subclass returns an instance of the subclass Hamster::Vector #set without block replaces the element with block passes the existing element to the block and replaces the result Hamster::Vector #shift on [] preserves the original returns [] on ["A"] preserves the original returns [] on ["A", "B", "C"] preserves the original returns ["B", "C"] on 1..31 preserves the original returns 2..31 on 1..32 preserves the original returns 2..32 on 1..33 preserves the original returns 2..33 Hamster::Vector #shuffle returns the same values, in a usually different order leaves the original unchanged from a subclass returns an instance of the subclass on a 32-item vector works correctly on a 33-item vector works correctly on a 1023-item vector works correctly on a 1024-item vector works correctly on a 1025-item vector works correctly Hamster::Vector #slice when passed a positive integral index returns the element at that index leaves the original unchanged when passed a negative integral index returns the element which is number (index.abs) counting from the end of the vector when passed a positive integral index and count returns 'count' elements starting from 'index' leaves the original unchanged when passed a negative integral index and count returns 'count' elements, starting from index which is number 'index.abs' counting from the end of the array when passed a Range returns the elements whose indexes are within the given Range leaves the original unchanged when passed a subclass of Range works the same as with a Range on a subclass of Vector with index and count or a range, returns an instance of the subclass #[] when passed a positive integral index returns the element at that index leaves the original unchanged when passed a negative integral index returns the element which is number (index.abs) counting from the end of the vector when passed a positive integral index and count returns 'count' elements starting from 'index' leaves the original unchanged when passed a negative integral index and count returns 'count' elements, starting from index which is number 'index.abs' counting from the end of the array when passed a Range returns the elements whose indexes are within the given Range leaves the original unchanged when passed a subclass of Range works the same as with a Range on a subclass of Vector with index and count or a range, returns an instance of the subclass Hamster::Vector #sort on [] with a block preserves the original returns [] without a block preserves the original returns [] on ["A"] with a block preserves the original returns ["A"] without a block preserves the original returns ["A"] on ["Ichi", "Ni", "San"] with a block preserves the original returns ["Ni", "San", "Ichi"] without a block preserves the original returns ["Ichi", "Ni", "San"] on a 10-item vector behaves like Arraysort on a 31-item vector behaves like Arraysort on a 32-item vector behaves like Arraysort on a 33-item vector behaves like Arraysort on a 1023-item vector behaves like Arraysort on a 1024-item vector behaves like Arraysort on a 1025-item vector behaves like Arraysort #sort_by on [] with a block preserves the original returns [] without a block preserves the original returns [] on ["A"] with a block preserves the original returns ["A"] without a block preserves the original returns ["A"] on ["Ichi", "Ni", "San"] with a block preserves the original returns ["Ni", "San", "Ichi"] without a block preserves the original returns ["Ichi", "Ni", "San"] on a 10-item vector behaves like Arraysort_by on a 31-item vector behaves like Arraysort_by on a 32-item vector behaves like Arraysort_by on a 33-item vector behaves like Arraysort_by on a 1023-item vector behaves like Arraysort_by on a 1024-item vector behaves like Arraysort_by on a 1025-item vector behaves like Arraysort_by Hamster::Vector #sum on [] returns 0 on [2] returns 2 on [1, 3, 5, 7, 11] returns 27 Hamster::Vector #take 10 from [] preserves the original returns [] 10 from ["A"] preserves the original returns ["A"] 0 from ["A", "B", "C"] preserves the original returns [] 2 from ["A", "B", "C"] preserves the original returns ["A", "B"] 1 from 1..32 preserves the original returns [1] 32 from 1..33 preserves the original returns 1..32 40 from 1..100 preserves the original returns 1..40 when number of elements specified is identical to size returns self when number of elements specified is bigger than size returns self Hamster::Vector #take_while on [] with a block returns [] preserves the original without a block returns an Enumerator on ["A"] with a block returns ["A"] preserves the original without a block returns an Enumerator on ["A", "B", "C"] with a block returns ["A", "B"] preserves the original without a block returns an Enumerator Hamster::Vector #to_a with an empty vector returns the values with an single item vector returns the values with an multi-item vector returns the values with a 10-item vector returns the values with a 31-item vector returns the values with a 32-item vector returns the values with a 33-item vector returns the values with a 1000-item vector returns the values with a 1023-item vector returns the values with a 1024-item vector returns the values with a 1025-item vector returns the values Hamster::Vector #to_ary converts using block parameters converts using method arguments converts using splat Hamster::Vector #to_list on [] returns a list the returned list has the correct length contains all values on ["A"] returns a list the returned list has the correct length contains all values on ["A", "B", "C"] returns a list the returned list has the correct length contains all values Hamster::Vector #to_set on [] returns a set with the same values on ["A"] returns a set with the same values on ["A", "B", "C"] returns a set with the same values on 1..10 returns a set with the same values on 1..32 returns a set with the same values on 1..33 returns a set with the same values on 1..1000 returns a set with the same values Hamster::Vector #transpose takes a vector of vectors and transposes rows and columns raises an IndexError if the vectors are not of the same length also works on Vectors of Arrays on 10-item vectors behaves like Array#transpose on 31-item vectors behaves like Array#transpose on 32-item vectors behaves like Array#transpose on 33-item vectors behaves like Array#transpose on 1000-item vectors behaves like Array#transpose on 1023-item vectors behaves like Array#transpose on 1024-item vectors behaves like Array#transpose on 1025-item vectors behaves like Array#transpose on 2000-item vectors behaves like Array#transpose on a subclass of Vector returns instances of the subclass Hamster::Vector #uniq returns a vector with no duplicates leaves the original unmodified uses #eql? semantics also uses #hash when determining which values are duplicates keeps the first of each group of duplicate values when passed a block uses the return value of the block to determine which items are duplicate on a vector with no duplicates returns an unchanged vector if the vector has more than 32 elements and is initialized with Vector.new returns an unchanged vector on a 10-item vector behaves like Array#uniq on a 31-item vector behaves like Array#uniq on a 32-item vector behaves like Array#uniq on a 33-item vector behaves like Array#uniq on a 1000-item vector behaves like Array#uniq on a 1023-item vector behaves like Array#uniq on a 1024-item vector behaves like Array#uniq on a 1025-item vector behaves like Array#uniq on a 2000-item vector behaves like Array#uniq from a subclass returns an instance of the subclass Hamster::Vector #unshift on [] with "A" preserves the original returns ["A"] on ["A"] with "B" preserves the original returns ["B", "A"] on ["A"] with "A" preserves the original returns ["A", "A"] on ["A", "B", "C"] with "D" preserves the original returns ["D", "A", "B", "C"] on 1..31 with 0 preserves the original returns 0..31 on 1..32 with 0 preserves the original returns 0..32 on 1..33 with 0 preserves the original returns 0..33 Hamster::Vector #values_at accepts any number of indices, and returns a vector of items at those indices when passed invalid indices fills in with nils when passed no arguments returns an empty vector from a subclass returns an instance of the subclass Hamster::Vector #zip with a block yields arrays of one corresponding element from each input sequence fills in the missing values with nils returns nil can handle multiple inputs, of different classes without a block returns a vector of arrays (one corresponding element from each input sequence) on 10-item vectors behaves like Array#zip on 31-item vectors behaves like Array#zip on 32-item vectors behaves like Array#zip on 33-item vectors behaves like Array#zip on 1000-item vectors behaves like Array#zip on 1023-item vectors behaves like Array#zip on 1024-item vectors behaves like Array#zip on 1025-item vectors behaves like Array#zip from a subclass returns an instance of the subclass Hamster Hash can be loaded separately Set can be loaded separately Vector can be loaded separately List can be loaded separately SortedSet can be loaded separately Deque can be loaded separately Pending: (Failures listed here are expected and do not affect your suite's status) 1) Hamster::List doesn't give horrendously bad performance if thread realizing the list sleeps # Temporarily skipped with xit # ./spec/lib/hamster/list/multithreading_spec.rb:33 2) Hamster.to_ruby with Hamster::Hash["b" => Hamster::Vector[2, Hamster::Hash["c" => 3], 4], "a" => 1, "h" => /ijk/, "d" => Hamster::Set[6, 7, 5], "e" => Hamster::Hash["f" => 8, "g" => 9]] as input should return {"a"=>1, "b"=>[2, {"c"=>3}, 4], "d"=>#, "e"=>{"f"=>8, "g"=>9}, "h"=>/ijk/} # Temporarily skipped with xit # ./spec/lib/hamster/nested/construction_spec.rb:64 3) Hamster.to_ruby with Hamster::Hash[] as input should return {} # Temporarily skipped with xit # ./spec/lib/hamster/nested/construction_spec.rb:64 4) Hamster.to_ruby with Hamster::Hash["b" => 2, "a" => 1, "c" => 3] as input should return {"a"=>1, "b"=>2, "c"=>3} # Temporarily skipped with xit # ./spec/lib/hamster/nested/construction_spec.rb:64 5) Hamster.to_ruby with Hamster::Vector[] as input should return [] # Temporarily skipped with xit # ./spec/lib/hamster/nested/construction_spec.rb:64 6) Hamster.to_ruby with Hamster::Vector[1, 2, 3] as input should return [1, 2, 3] # Temporarily skipped with xit # ./spec/lib/hamster/nested/construction_spec.rb:64 7) Hamster.to_ruby with Hamster::Set[] as input should return # # Temporarily skipped with xit # ./spec/lib/hamster/nested/construction_spec.rb:64 8) Hamster.to_ruby with Hamster::Set[1, 2, 3] as input should return # # Temporarily skipped with xit # ./spec/lib/hamster/nested/construction_spec.rb:64 9) Hamster.to_ruby with 42 as input should return 42 # Temporarily skipped with xit # ./spec/lib/hamster/nested/construction_spec.rb:64 10) Hamster.to_ruby with #> as input should return #> # Temporarily skipped with xit # ./spec/lib/hamster/nested/construction_spec.rb:64 Finished in 21.41 seconds (files took 2.89 seconds to load) 4593 examples, 0 failures, 10 pending ┌──────────────────────────────────────────────────────────────────────────────┐ │ dh_ruby --install finished │ └──────────────────────────────────────────────────────────────────────────────┘ dh_installdocs -O--buildsystem=ruby dh_ruby_fixdocs -O--buildsystem=ruby dh_installchangelogs -O--buildsystem=ruby dh_installsystemduser -O--buildsystem=ruby dh_perl -O--buildsystem=ruby dh_link -O--buildsystem=ruby dh_strip_nondeterminism -O--buildsystem=ruby dh_compress -X.rb -O--buildsystem=ruby dh_fixperms -O--buildsystem=ruby dh_missing -O--buildsystem=ruby dh_ruby_fixdepends -O--buildsystem=ruby dh_installdeb -O--buildsystem=ruby dh_gencontrol -O--buildsystem=ruby dpkg-gencontrol: warning: Depends field of package ruby-hamster: substitution variable ${shlibs:Depends} used, but is not defined dh_md5sums -O--buildsystem=ruby dh_builddeb -O--buildsystem=ruby INFO: pkgstriptranslations version 149 pkgstriptranslations: processing ruby-hamster (in debian/ruby-hamster); do_strip: , oemstrip: pkgmaintainermangler: Maintainer field overridden to "Ubuntu Developers " pkgstripfiles: processing control file: debian/ruby-hamster/DEBIAN/control, package ruby-hamster, directory debian/ruby-hamster pkgstripfiles: Running PNG optimization (using 4 cpus) for package ruby-hamster ... pkgstripfiles: No PNG files. dpkg-deb: building package 'ruby-hamster' in '../ruby-hamster_3.0.0-4_all.deb'. dpkg-genbuildinfo --build=binary -O../ruby-hamster_3.0.0-4_amd64.buildinfo dpkg-genchanges --build=binary -mLaunchpad Build Daemon -O../ruby-hamster_3.0.0-4_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) -------------------------------------------------------------------------------- Build finished at 2022-06-23T14:48:55Z Finished -------- I: Built successfully +------------------------------------------------------------------------------+ | Changes | +------------------------------------------------------------------------------+ ruby-hamster_3.0.0-4_amd64.changes: ----------------------------------- Format: 1.8 Date: Wed, 26 Jan 2022 11:45:13 +0100 Source: ruby-hamster Binary: ruby-hamster Built-For-Profiles: noudeb Architecture: all Version: 3.0.0-4 Distribution: kinetic Urgency: medium Maintainer: Launchpad Build Daemon Changed-By: Cédric Boutillier Description: ruby-hamster - Efficient, immutable, thread-safe collection classes for Ruby Closes: 996238 Changes: ruby-hamster (3.0.0-4) unstable; urgency=medium . * Team upload * Apply upstream patch to fix tests for Hamster.to_ruby for Ruby 3.0 (Closes: #996238) Checksums-Sha1: 8b592456b148d757fea223b8c9dc5589edcc0c9e 42938 ruby-hamster_3.0.0-4_all.deb cca18e7dd95ed55fdab00bcb98b257f9d6c0555b 9452 ruby-hamster_3.0.0-4_amd64.buildinfo Checksums-Sha256: f4be34d3e7ef75ed0cef5992d3407c0ce4448caa110aa5e92f7e04afa5c7b8db 42938 ruby-hamster_3.0.0-4_all.deb 0d7e8ad7238dcf7b6f8f7e9d732c3346936e5759fd43e3def50ce87ab228b612 9452 ruby-hamster_3.0.0-4_amd64.buildinfo Files: 38d9ffd225d16072720ba2f3935aaaf5 42938 ruby optional ruby-hamster_3.0.0-4_all.deb 1b6d9e22f91ba1047ab8f0ab22d6fd10 9452 ruby optional ruby-hamster_3.0.0-4_amd64.buildinfo /<>/ruby-hamster_3.0.0-4_amd64.changes.new could not be renamed to /<>/ruby-hamster_3.0.0-4_amd64.changes: Illegal seek Distribution field may be wrong!!! +------------------------------------------------------------------------------+ | Buildinfo | +------------------------------------------------------------------------------+ Format: 1.0 Source: ruby-hamster Binary: ruby-hamster Architecture: all Version: 3.0.0-4 Checksums-Md5: 38d9ffd225d16072720ba2f3935aaaf5 42938 ruby-hamster_3.0.0-4_all.deb Checksums-Sha1: 8b592456b148d757fea223b8c9dc5589edcc0c9e 42938 ruby-hamster_3.0.0-4_all.deb Checksums-Sha256: f4be34d3e7ef75ed0cef5992d3407c0ce4448caa110aa5e92f7e04afa5c7b8db 42938 ruby-hamster_3.0.0-4_all.deb Build-Origin: Ubuntu Build-Architecture: amd64 Build-Date: Thu, 23 Jun 2022 14:48:54 +0000 Build-Path: /<> Build-Tainted-By: merged-usr-via-aliased-dirs usr-local-has-programs Installed-Build-Depends: adduser (= 3.121ubuntu1), autoconf (= 2.71-2), automake (= 1:1.16.5-1.3), autopoint (= 0.21-6), autotools-dev (= 20220109.1), base-files (= 12.2ubuntu1), base-passwd (= 3.5.52build1), bash (= 5.1-6ubuntu1), binutils (= 2.38.50.20220615-4ubuntu1), binutils-common (= 2.38.50.20220615-4ubuntu1), binutils-x86-64-linux-gnu (= 2.38.50.20220615-4ubuntu1), bsdextrautils (= 2.38-4ubuntu1), bsdutils (= 1:2.38-4ubuntu1), build-essential (= 12.9ubuntu3), bzip2 (= 1.0.8-5build1), ca-certificates (= 20211016), coreutils (= 8.32-4.1ubuntu1), cpp (= 4:11.2.0-1ubuntu1), cpp-11 (= 11.3.0-3ubuntu1), dash (= 0.5.11+git20210903+057cd650a4ed-8ubuntu1), debconf (= 1.5.79ubuntu1), debhelper (= 13.7.1ubuntu1), debianutils (= 5.7-0.2), debugedit (= 1:5.0-4build1), devscripts (= 2.22.2ubuntu1), dh-autoreconf (= 20), dh-strip-nondeterminism (= 1.13.0-1), diffutils (= 1:3.8-0ubuntu2), dirmngr (= 2.2.27-3ubuntu2), dpkg (= 1.21.8ubuntu1), dpkg-dev (= 1.21.8ubuntu1), dwz (= 0.14-1build2), fakeroot (= 1.29-1ubuntu1), file (= 1:5.41-4), findutils (= 4.8.0-1ubuntu3), g++ (= 4:11.2.0-1ubuntu1), g++-11 (= 11.3.0-3ubuntu1), gcc (= 4:11.2.0-1ubuntu1), gcc-11 (= 11.3.0-3ubuntu1), gcc-11-base (= 11.3.0-3ubuntu1), gcc-12-base (= 12.1.0-2ubuntu1), gem2deb (= 1.8), gem2deb-test-runner (= 1.8), gettext (= 0.21-6), gettext-base (= 0.21-6), gnupg (= 2.2.27-3ubuntu2), gnupg-l10n (= 2.2.27-3ubuntu2), gnupg-utils (= 2.2.27-3ubuntu2), gpg (= 2.2.27-3ubuntu2), gpg-agent (= 2.2.27-3ubuntu2), gpg-wks-client (= 2.2.27-3ubuntu2), gpg-wks-server (= 2.2.27-3ubuntu2), gpgconf (= 2.2.27-3ubuntu2), gpgsm (= 2.2.27-3ubuntu2), gpgv (= 2.2.27-3ubuntu2), grep (= 3.7-1build1), groff-base (= 1.22.4-8build1), gzip (= 1.10-4ubuntu4), hostname (= 3.23ubuntu2), init-system-helpers (= 1.63), intltool-debian (= 0.35.0+20060710.5), libacl1 (= 2.3.1-1), libarchive-zip-perl (= 1.68-1), libasan6 (= 11.3.0-3ubuntu1), libassuan0 (= 2.5.5-3), libatomic1 (= 12.1.0-2ubuntu1), libattr1 (= 1:2.5.1-1build1), libaudit-common (= 1:3.0.7-1build1), libaudit1 (= 1:3.0.7-1build1), libb-hooks-op-check-perl (= 0.22-2), libbinutils (= 2.38.50.20220615-4ubuntu1), libblkid1 (= 2.38-4ubuntu1), libbsd0 (= 0.11.6-1), libbz2-1.0 (= 1.0.8-5build1), libc-bin (= 2.35-0ubuntu3), libc-dev-bin (= 2.35-0ubuntu3), libc6 (= 2.35-0ubuntu3), libc6-dev (= 2.35-0ubuntu3), libcap-ng0 (= 0.7.9-4), libcap2 (= 1:2.44-1build3), libcc1-0 (= 12.1.0-2ubuntu1), libclass-method-modifiers-perl (= 2.13-1), libclass-xsaccessor-perl (= 1.19-3build9), libcom-err2 (= 1.46.5-2ubuntu2), libcrypt-dev (= 1:4.4.27-1), libcrypt1 (= 1:4.4.27-1), libctf-nobfd0 (= 2.38.50.20220615-4ubuntu1), libctf0 (= 2.38.50.20220615-4ubuntu1), libdb5.3 (= 5.3.28+dfsg1-0.9), libdebconfclient0 (= 0.261ubuntu1), libdebhelper-perl (= 13.7.1ubuntu1), libdevel-callchecker-perl (= 0.008-1ubuntu4), libdpkg-perl (= 1.21.8ubuntu1), libdw1 (= 0.187-1), libdynaloader-functions-perl (= 0.003-2), libedit2 (= 3.1-20210910-1build1), libelf1 (= 0.187-1), libencode-locale-perl (= 1.05-2), libexpat1 (= 2.4.8-1), libfakeroot (= 1.29-1ubuntu1), libffi8 (= 3.4.2-4), libfile-dirlist-perl (= 0.05-2), libfile-homedir-perl (= 1.006-1), libfile-listing-perl (= 6.15-1), libfile-stripnondeterminism-perl (= 1.13.0-1), libfile-touch-perl (= 0.12-1), libfile-which-perl (= 1.27-1), libgcc-11-dev (= 11.3.0-3ubuntu1), libgcc-s1 (= 12.1.0-2ubuntu1), libgcrypt20 (= 1.10.1-2ubuntu1), libgdbm-compat4 (= 1.23-1), libgdbm6 (= 1.23-1), libgmp-dev (= 2:6.2.1+dfsg-3ubuntu1), libgmp10 (= 2:6.2.1+dfsg-3ubuntu1), libgmpxx4ldbl (= 2:6.2.1+dfsg-3ubuntu1), libgnutls30 (= 3.7.6-2ubuntu1), libgomp1 (= 12.1.0-2ubuntu1), libgpg-error0 (= 1.45-2), libgprofng0 (= 2.38.50.20220615-4ubuntu1), libgssapi-krb5-2 (= 1.19.2-2), libhogweed6 (= 3.7.3-1build2), libhtml-parser-perl (= 3.78-1), libhtml-tagset-perl (= 3.20-4), libhtml-tree-perl (= 5.07-2), libhttp-cookies-perl (= 6.10-1), libhttp-date-perl (= 6.05-1), libhttp-message-perl (= 6.37-1), libhttp-negotiate-perl (= 6.01-1), libicu71 (= 71.1-3), libidn2-0 (= 2.3.2-2build1), libimport-into-perl (= 1.002005-2), libio-html-perl (= 1.004-3), libio-pty-perl (= 1:1.15-2build2), libio-socket-ssl-perl (= 2.074-2), libipc-run-perl (= 20200505.0-1), libisl23 (= 0.24-2build1), libitm1 (= 12.1.0-2ubuntu1), libk5crypto3 (= 1.19.2-2), libkeyutils1 (= 1.6.1-3ubuntu1), libkrb5-3 (= 1.19.2-2), libkrb5support0 (= 1.19.2-2), libksba8 (= 1.6.0-2build1), libldap-2.5-0 (= 2.5.12+dfsg-2ubuntu1), liblsan0 (= 12.1.0-2ubuntu1), liblwp-mediatypes-perl (= 6.04-1), liblwp-protocol-https-perl (= 6.10-1), liblz4-1 (= 1.9.3-2build2), liblzma5 (= 5.2.5-2.1), libmagic-mgc (= 1:5.41-4), libmagic1 (= 1:5.41-4), libmd0 (= 1.0.4-1build1), libmodule-runtime-perl (= 0.016-2), libmoo-perl (= 2.005004-3), libmount1 (= 2.38-4ubuntu1), libmpc3 (= 1.2.1-2build1), libmpdec3 (= 2.5.1-2build2), libmpfr6 (= 4.1.0-3build3), libncursesw6 (= 6.3+20220423-2), libnet-http-perl (= 6.22-1), libnet-ssleay-perl (= 1.92-2), libnettle8 (= 3.7.3-1build2), libnpth0 (= 1.6-3build2), libnsl-dev (= 1.3.0-2build2), libnsl2 (= 1.3.0-2build2), libp11-kit0 (= 0.24.1-1), libpam-modules (= 1.4.0-13ubuntu1), libpam-modules-bin (= 1.4.0-13ubuntu1), libpam-runtime (= 1.4.0-13ubuntu1), libpam0g (= 1.4.0-13ubuntu1), libparams-classify-perl (= 0.015-2), libpcre2-8-0 (= 10.40-1), libpcre3 (= 2:8.39-14), libperl5.34 (= 5.34.0-3ubuntu1), libpipeline1 (= 1.5.6-1), libpython3-stdlib (= 3.10.4-0ubuntu2), libpython3.10-minimal (= 3.10.5-1), libpython3.10-stdlib (= 3.10.5-1), libquadmath0 (= 12.1.0-2ubuntu1), libreadline8 (= 8.1.2-1.2), librole-tiny-perl (= 2.002004-1), libruby3.0 (= 3.0.2-7ubuntu2), libsasl2-2 (= 2.1.28+dfsg-6ubuntu1), libsasl2-modules-db (= 2.1.28+dfsg-6ubuntu1), libseccomp2 (= 2.5.4-1ubuntu1), libselinux1 (= 3.4-1), libsemanage-common (= 3.4-1), libsemanage2 (= 3.4-1), libsepol2 (= 3.4-2), libsigsegv2 (= 2.13-1ubuntu3), libsmartcols1 (= 2.38-4ubuntu1), libsqlite3-0 (= 3.38.5-1), libssl3 (= 3.0.3-5ubuntu3), libstdc++-11-dev (= 11.3.0-3ubuntu1), libstdc++6 (= 12.1.0-2ubuntu1), libsub-override-perl (= 0.09-3), libsub-quote-perl (= 2.006006-1), libsystemd0 (= 249.11-0ubuntu4), libtasn1-6 (= 4.18.0-4build1), libtimedate-perl (= 2.3300-2), libtinfo6 (= 6.3+20220423-2), libtirpc-common (= 1.3.2-2build1), libtirpc-dev (= 1.3.2-2build1), libtirpc3 (= 1.3.2-2build1), libtool (= 2.4.7-4), libtry-tiny-perl (= 0.31-1), libtsan0 (= 11.3.0-3ubuntu1), libubsan1 (= 12.1.0-2ubuntu1), libuchardet0 (= 0.0.7-1build2), libudev1 (= 249.11-0ubuntu4), libunistring2 (= 1.0-1), liburi-perl (= 5.10-1), libuuid1 (= 2.38-4ubuntu1), libwww-perl (= 6.67-1), libwww-robotrules-perl (= 6.02-1), libxml2 (= 2.9.14+dfsg-1), libyaml-0-2 (= 0.2.2-1build2), libzstd1 (= 1.5.2+dfsg-1), linux-libc-dev (= 5.15.0-27.28), login (= 1:4.11.1+dfsg1-2ubuntu1), lsb-base (= 11.1.0ubuntu4), lto-disabled-list (= 27), m4 (= 1.4.18-5ubuntu2), make (= 4.3-4.1build1), man-db (= 2.10.2-1), mawk (= 1.3.4.20200120-3.1), media-types (= 8.0.0), ncurses-base (= 6.3+20220423-2), ncurses-bin (= 6.3+20220423-2), netbase (= 6.3), openssl (= 3.0.3-5ubuntu3), passwd (= 1:4.11.1+dfsg1-2ubuntu1), patch (= 2.7.6-7build2), patchutils (= 0.4.2-1build2), perl (= 5.34.0-3ubuntu1), perl-base (= 5.34.0-3ubuntu1), perl-modules-5.34 (= 5.34.0-3ubuntu1), perl-openssl-defaults (= 7), pinentry-curses (= 1.2.0-1ubuntu1), po-debconf (= 1.0.21+nmu1), pry (= 0.13.1-2), python3 (= 3.10.4-0ubuntu2), python3-minimal (= 3.10.4-0ubuntu2), python3.10 (= 3.10.5-1), python3.10-minimal (= 3.10.5-1), rake (= 13.0.6-3), readline-common (= 8.1.2-1.2), rpcsvc-proto (= 1.4.2-0ubuntu6), ruby (= 1:3.0~exp1), ruby-all-dev (= 1:3.0~exp1), ruby-coderay (= 1.1.3-6), ruby-concurrent (= 1.1.6+dfsg-5), ruby-diff-lcs (= 1.5.0-1), ruby-method-source (= 1.0.0-2), ruby-net-telnet (= 0.1.1-2.1), ruby-rbtree (= 0.4.4-1build2), ruby-rspec (= 3.10.0c1e1m2s3-1), ruby-rspec-core (= 3.10.0c1e1m2s3-1), ruby-rspec-expectations (= 3.10.0c1e1m2s3-1), ruby-rspec-mocks (= 3.10.0c1e1m2s3-1), ruby-rspec-support (= 3.10.0c1e1m2s3-1), ruby-rubygems (= 3.3.15-1), ruby-sorted-set (= 1.0.3-3), ruby-webrick (= 1.7.0-3), ruby-xmlrpc (= 0.3.2-2), ruby3.0 (= 3.0.2-7ubuntu2), ruby3.0-dev (= 3.0.2-7ubuntu2), rubygems-integration (= 1.18), sed (= 4.8-1ubuntu2), sensible-utils (= 0.0.17), sysvinit-utils (= 3.01-1ubuntu1), tar (= 1.34+dfsg-1build3), util-linux (= 2.38-4ubuntu1), util-linux-extra (= 2.38-4ubuntu1), wdiff (= 1.2.2-2build3), xz-utils (= 5.2.5-2.1), zlib1g (= 1:1.2.11.dfsg-2ubuntu9) Environment: DEB_BUILD_OPTIONS="noautodbgsym parallel=4" DEB_BUILD_PROFILES="noudeb" LANG="C.UTF-8" LC_ALL="C.UTF-8" SOURCE_DATE_EPOCH="1643193913" +------------------------------------------------------------------------------+ | Package contents | +------------------------------------------------------------------------------+ ruby-hamster_3.0.0-4_all.deb ---------------------------- new Debian package, version 2.0. size 42938 bytes: control archive=1305 bytes. 640 bytes, 15 lines control 2763 bytes, 25 lines md5sums Package: ruby-hamster Version: 3.0.0-4 Architecture: all Maintainer: Ubuntu Developers Original-Maintainer: Debian Ruby Team Installed-Size: 254 Depends: ruby-concurrent (>= 1.0) Section: ruby Priority: optional Homepage: https://github.com/hamstergem/hamster Description: Efficient, immutable, thread-safe collection classes for Ruby Hamster collections are immutable. Whenever you modify a Hamster collection, the original is preserved and a modified copy is returned. This makes them inherently thread-safe and sharable. Ruby-Versions: all drwxr-xr-x root/root 0 2022-01-26 10:45 ./ drwxr-xr-x root/root 0 2022-01-26 10:45 ./usr/ drwxr-xr-x root/root 0 2022-01-26 10:45 ./usr/share/ drwxr-xr-x root/root 0 2022-01-26 10:45 ./usr/share/doc/ drwxr-xr-x root/root 0 2022-01-26 10:45 ./usr/share/doc/ruby-hamster/ -rw-r--r-- root/root 1068 2022-01-26 10:45 ./usr/share/doc/ruby-hamster/changelog.Debian.gz -rw-r--r-- root/root 1508 2022-01-26 10:45 ./usr/share/doc/ruby-hamster/copyright drwxr-xr-x root/root 0 2022-01-26 10:45 ./usr/share/rubygems-integration/ drwxr-xr-x root/root 0 2022-01-26 10:45 ./usr/share/rubygems-integration/all/ drwxr-xr-x root/root 0 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/ drwxr-xr-x root/root 0 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/ drwxr-xr-x root/root 0 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/ -rw-r--r-- root/root 312 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster.rb drwxr-xr-x root/root 0 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/ -rw-r--r-- root/root 2804 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/associable.rb -rw-r--r-- root/root 68 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/core_ext.rb drwxr-xr-x root/root 0 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/core_ext/ -rw-r--r-- root/root 315 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/core_ext/enumerable.rb -rw-r--r-- root/root 550 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/core_ext/io.rb -rw-r--r-- root/root 205 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/core_ext/struct.rb -rw-r--r-- root/root 7065 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/deque.rb -rw-r--r-- root/root 5308 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/enumerable.rb drwxr-xr-x root/root 0 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/experimental/ -rw-r--r-- root/root 438 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/experimental/mutable_queue.rb -rw-r--r-- root/root 689 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/experimental/mutable_set.rb -rw-r--r-- root/root 30924 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/hash.rb -rw-r--r-- root/root 1676 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/immutable.rb -rw-r--r-- root/root 47889 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/list.rb -rw-r--r-- root/root 582 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/mutable_hash.rb -rw-r--r-- root/root 2818 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/nested.rb -rw-r--r-- root/root 668 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/read_copy_update.rb -rw-r--r-- root/root 18567 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/set.rb -rw-r--r-- root/root 44913 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/sorted_set.rb -rw-r--r-- root/root 10101 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/trie.rb -rw-r--r-- root/root 57 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/undefined.rb -rw-r--r-- root/root 49891 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/vector.rb -rw-r--r-- root/root 167 2022-01-26 10:45 ./usr/share/rubygems-integration/all/gems/hamster-3.0.0/lib/hamster/version.rb drwxr-xr-x root/root 0 2022-01-26 10:45 ./usr/share/rubygems-integration/all/specifications/ -rw-r--r-- root/root 2095 2022-01-26 10:45 ./usr/share/rubygems-integration/all/specifications/hamster-3.0.0.gemspec +------------------------------------------------------------------------------+ | Post Build | +------------------------------------------------------------------------------+ +------------------------------------------------------------------------------+ | Cleanup | +------------------------------------------------------------------------------+ Purging /<> Not removing build depends: as requested +------------------------------------------------------------------------------+ | Summary | +------------------------------------------------------------------------------+ Build Architecture: amd64 Build Type: binary Build-Space: 2516 Build-Time: 37 Distribution: kinetic Host Architecture: amd64 Install-Time: 31 Job: ruby-hamster_3.0.0-4.dsc Machine Architecture: amd64 Package: ruby-hamster Package-Time: 71 Source-Version: 3.0.0-4 Space: 2516 Status: successful Version: 3.0.0-4 -------------------------------------------------------------------------------- Finished at 2022-06-23T14:48:55Z Build needed 00:01:11, 2516k disk space Adding user buildd to group lxd RUN: /usr/share/launchpad-buildd/bin/in-target scan-for-processes --backend=chroot --series=kinetic --arch=amd64 PACKAGEBUILD-24065342 Scanning for processes to kill in build PACKAGEBUILD-24065342