I: pbuilder: network access will be disabled during build
I: Current time: Sun Feb 16 21:28:24 +14 2025
I: pbuilder-time-stamp: 1739690904
I: Building the build Environment
I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz]
I: copying local configuration
W: --override-config is not set; not updating apt.conf Read the manpage for details.
I: mounting /proc filesystem
I: mounting /sys filesystem
I: creating /{dev,run}/shm
I: mounting /dev/pts filesystem
I: redirecting /dev/ptmx to /dev/pts/ptmx
I: policy-rc.d already exists
I: Copying source file
I: copying [crystal_1.14.0+dfsg-1.dsc]
I: copying [./crystal_1.14.0+dfsg.orig.tar.xz]
I: copying [./crystal_1.14.0+dfsg-1.debian.tar.xz]
I: Extracting source
dpkg-source: warning: cannot verify inline signature for ./crystal_1.14.0+dfsg-1.dsc: unsupported subcommand
dpkg-source: info: extracting crystal in crystal-1.14.0+dfsg
dpkg-source: info: unpacking crystal_1.14.0+dfsg.orig.tar.xz
dpkg-source: info: unpacking crystal_1.14.0+dfsg-1.debian.tar.xz
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: info: applying disable-udp-multicast-specs.diff
dpkg-source: info: applying remove-check-in-random-failing-test.diff
dpkg-source: info: applying update-packaged-javascript-links.patch
I: Not using root during the build.
I: Installing the build-deps
I: user script /srv/workspace/pbuilder/2461830/tmp/hooks/D01_modify_environment starting
debug: Running on ionos11-amd64.
I: Changing host+domainname to test build reproducibility
I: Adding a custom variable just for the fun of it...
I: Changing /bin/sh to bash
'/bin/sh' -> '/bin/bash'
lrwxrwxrwx 1 root root 9 Feb 16 07:28 /bin/sh -> /bin/bash
I: Setting pbuilder2's login shell to /bin/bash
I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other
I: user script /srv/workspace/pbuilder/2461830/tmp/hooks/D01_modify_environment finished
I: user script /srv/workspace/pbuilder/2461830/tmp/hooks/D02_print_environment starting
I: set
  BASH=/bin/sh
  BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath
  BASH_ALIASES=()
  BASH_ARGC=()
  BASH_ARGV=()
  BASH_CMDS=()
  BASH_LINENO=([0]="12" [1]="0")
  BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:.
  BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment")
  BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
  BASH_VERSION='5.2.37(1)-release'
  BUILDDIR=/build/reproducible-path
  BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other'
  BUILDUSERNAME=pbuilder2
  BUILD_ARCH=amd64
  DEBIAN_FRONTEND=noninteractive
  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 '
  DIRSTACK=()
  DISTRIBUTION=unstable
  EUID=0
  FUNCNAME=([0]="Echo" [1]="main")
  GROUPS=()
  HOME=/root
  HOSTNAME=i-capture-the-hostname
  HOSTTYPE=x86_64
  HOST_ARCH=amd64
  IFS=' 	
  '
  INVOCATION_ID=8630b33601374133a70c174dfd4e27fa
  LANG=C
  LANGUAGE=et_EE:et
  LC_ALL=C
  MACHTYPE=x86_64-pc-linux-gnu
  MAIL=/var/mail/root
  OPTERR=1
  OPTIND=1
  OSTYPE=linux-gnu
  PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path
  PBCURRENTCOMMANDLINEOPERATION=build
  PBUILDER_OPERATION=build
  PBUILDER_PKGDATADIR=/usr/share/pbuilder
  PBUILDER_PKGLIBDIR=/usr/lib/pbuilder
  PBUILDER_SYSCONFDIR=/etc
  PIPESTATUS=([0]="0")
  POSIXLY_CORRECT=y
  PPID=2461830
  PS4='+ '
  PWD=/
  SHELL=/bin/bash
  SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix
  SHLVL=3
  SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.Z15QMKHg/pbuilderrc_O8EH --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.Z15QMKHg/b2 --logfile b2/build.log crystal_1.14.0+dfsg-1.dsc'
  SUDO_GID=111
  SUDO_UID=106
  SUDO_USER=jenkins
  TERM=unknown
  TZ=/usr/share/zoneinfo/Etc/GMT-14
  UID=0
  USER=root
  _='I: set'
  http_proxy=http://46.16.76.132:3128
I: uname -a
  Linux i-capture-the-hostname 6.1.0-31-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.128-1 (2025-02-07) x86_64 GNU/Linux
I: ls -l /bin
  lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin
I: user script /srv/workspace/pbuilder/2461830/tmp/hooks/D02_print_environment finished
 -> Attempting to satisfy build-dependencies
 -> Creating pbuilder-satisfydepends-dummy package
Package: pbuilder-satisfydepends-dummy
Version: 0.invalid.0
Architecture: amd64
Maintainer: Debian Pbuilder Team <pbuilder-maint@lists.alioth.debian.org>
Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder
 This package was created automatically by pbuilder to satisfy the
 build-dependencies of the package being currently built.
Depends: debhelper-compat (= 13), git, libbsd-dev, libedit-dev, libevent-dev, libgc-dev (>= 1:7.6.0), libgmp-dev, libpcre2-dev, libssl-dev, libtool, libxml2-dev, libyaml-dev, libz-dev, lld-19, llvm-19-dev, pkgconf, crystal (>= 1.6.0)
dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'.
Selecting previously unselected package pbuilder-satisfydepends-dummy.
(Reading database ... 19808 files and directories currently installed.)
Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ...
Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ...
dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested:
 pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however:
  Package debhelper-compat is not installed.
 pbuilder-satisfydepends-dummy depends on git; however:
  Package git is not installed.
 pbuilder-satisfydepends-dummy depends on libbsd-dev; however:
  Package libbsd-dev is not installed.
 pbuilder-satisfydepends-dummy depends on libedit-dev; however:
  Package libedit-dev is not installed.
 pbuilder-satisfydepends-dummy depends on libevent-dev; however:
  Package libevent-dev is not installed.
 pbuilder-satisfydepends-dummy depends on libgc-dev (>= 1:7.6.0); however:
  Package libgc-dev is not installed.
 pbuilder-satisfydepends-dummy depends on libgmp-dev; however:
  Package libgmp-dev is not installed.
 pbuilder-satisfydepends-dummy depends on libpcre2-dev; however:
  Package libpcre2-dev is not installed.
 pbuilder-satisfydepends-dummy depends on libssl-dev; however:
  Package libssl-dev is not installed.
 pbuilder-satisfydepends-dummy depends on libtool; however:
  Package libtool is not installed.
 pbuilder-satisfydepends-dummy depends on libxml2-dev; however:
  Package libxml2-dev is not installed.
 pbuilder-satisfydepends-dummy depends on libyaml-dev; however:
  Package libyaml-dev is not installed.
 pbuilder-satisfydepends-dummy depends on libz-dev; however:
  Package libz-dev is not installed.
 pbuilder-satisfydepends-dummy depends on lld-19; however:
  Package lld-19 is not installed.
 pbuilder-satisfydepends-dummy depends on llvm-19-dev; however:
  Package llvm-19-dev is not installed.
 pbuilder-satisfydepends-dummy depends on pkgconf; however:
  Package pkgconf is not installed.
 pbuilder-satisfydepends-dummy depends on crystal (>= 1.6.0); however:
  Package crystal is not installed.

Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ...
Reading package lists...
Building dependency tree...
Reading state information...
Initializing package states...
Writing extended state information...
Building tag database...
pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0)
pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0)
The following NEW packages will be installed:
  autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} crystal{a} debhelper{a} dh-autoreconf{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} git{a} git-man{a} groff-base{a} icu-devtools{a} intltool-debian{a} libarchive-zip-perl{a} libbrotli1{a} libbsd-dev{a} libclang-cpp19{a} libcom-err2{a} libcurl3t64-gnutls{a} libcurl4t64{a} libdebhelper-perl{a} libedit-dev{a} libedit2{a} libelf1t64{a} liberror-perl{a} libevent-2.1-7t64{a} libevent-core-2.1-7t64{a} libevent-dev{a} libevent-extra-2.1-7t64{a} libevent-openssl-2.1-7t64{a} libevent-pthreads-2.1-7t64{a} libexpat1{a} libffi-dev{a} libffi8{a} libfile-stripnondeterminism-perl{a} libgc-dev{a} libgc1{a} libgmp-dev{a} libgmpxx4ldbl{a} libgnutls30t64{a} libgssapi-krb5-2{a} libicu-dev{a} libicu72{a} libidn2-0{a} libjs-codemirror{a} libjs-jquery{a} libk5crypto3{a} libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} libldap2{a} libllvm19{a} libmagic-mgc{a} libmagic1t64{a} libmd-dev{a} libncurses-dev{a} libncurses6{a} libnghttp2-14{a} libnghttp3-9{a} libngtcp2-16{a} libngtcp2-crypto-gnutls8{a} libp11-kit0{a} libpcre2-16-0{a} libpcre2-32-0{a} libpcre2-dev{a} libpcre2-posix3{a} libpfm4{a} libpipeline1{a} libpkgconf3{a} libpsl5t64{a} libpython3-stdlib{a} libpython3.13-minimal{a} libpython3.13-stdlib{a} libreadline8t64{a} librtmp1{a} libsasl2-2{a} libsasl2-modules-db{a} libssh2-1t64{a} libssl-dev{a} libtasn1-6{a} libtool{a} libuchardet0{a} libunistring5{a} libxml2{a} libxml2-dev{a} libyaml-0-2{a} libyaml-dev{a} libz3-4{a} libz3-dev{a} lld-19{a} llvm-19{a} llvm-19-dev{a} llvm-19-linker-tools{a} llvm-19-runtime{a} llvm-19-tools{a} m4{a} man-db{a} media-types{a} netbase{a} pkgconf{a} pkgconf-bin{a} po-debconf{a} python3{a} python3-minimal{a} python3-pygments{a} python3-yaml{a} python3.13{a} python3.13-minimal{a} readline-common{a} sensible-utils{a} tzdata{a} zlib1g-dev{a} 
The following packages are RECOMMENDED but will NOT be installed:
  binfmt-support ca-certificates curl javascript-common krb5-locales less libarchive-cpio-perl libgpm2 libldap-common libltdl-dev libmail-sendmail-perl libsasl2-modules lynx openssh-client publicsuffix systemd wget 
0 packages upgraded, 117 newly installed, 0 to remove and 0 not upgraded.
Need to get 181 MB of archives. After unpacking 968 MB will be used.
Writing extended state information...
Get: 1 http://deb.debian.org/debian unstable/main amd64 libpython3.13-minimal amd64 3.13.2-1 [859 kB]
Get: 2 http://deb.debian.org/debian unstable/main amd64 libexpat1 amd64 2.6.4-1 [106 kB]
Get: 3 http://deb.debian.org/debian unstable/main amd64 python3.13-minimal amd64 3.13.2-1 [2205 kB]
Get: 4 http://deb.debian.org/debian unstable/main amd64 python3-minimal amd64 3.13.1-2 [27.0 kB]
Get: 5 http://deb.debian.org/debian unstable/main amd64 media-types all 11.0.0 [27.6 kB]
Get: 6 http://deb.debian.org/debian unstable/main amd64 netbase all 6.4 [12.8 kB]
Get: 7 http://deb.debian.org/debian unstable/main amd64 tzdata all 2025a-2 [259 kB]
Get: 8 http://deb.debian.org/debian unstable/main amd64 libffi8 amd64 3.4.7-1 [23.9 kB]
Get: 9 http://deb.debian.org/debian unstable/main amd64 readline-common all 8.2-6 [69.4 kB]
Get: 10 http://deb.debian.org/debian unstable/main amd64 libreadline8t64 amd64 8.2-6 [169 kB]
Get: 11 http://deb.debian.org/debian unstable/main amd64 libpython3.13-stdlib amd64 3.13.2-1 [1979 kB]
Get: 12 http://deb.debian.org/debian unstable/main amd64 python3.13 amd64 3.13.2-1 [745 kB]
Get: 13 http://deb.debian.org/debian unstable/main amd64 libpython3-stdlib amd64 3.13.1-2 [9952 B]
Get: 14 http://deb.debian.org/debian unstable/main amd64 python3 amd64 3.13.1-2 [28.0 kB]
Get: 15 http://deb.debian.org/debian unstable/main amd64 sensible-utils all 0.0.24 [24.8 kB]
Get: 16 http://deb.debian.org/debian unstable/main amd64 libmagic-mgc amd64 1:5.45-3+b1 [314 kB]
Get: 17 http://deb.debian.org/debian unstable/main amd64 libmagic1t64 amd64 1:5.45-3+b1 [108 kB]
Get: 18 http://deb.debian.org/debian unstable/main amd64 file amd64 1:5.45-3+b1 [43.3 kB]
Get: 19 http://deb.debian.org/debian unstable/main amd64 gettext-base amd64 0.23.1-1 [243 kB]
Get: 20 http://deb.debian.org/debian unstable/main amd64 libuchardet0 amd64 0.0.8-1+b2 [68.9 kB]
Get: 21 http://deb.debian.org/debian unstable/main amd64 groff-base amd64 1.23.0-7 [1185 kB]
Get: 22 http://deb.debian.org/debian unstable/main amd64 bsdextrautils amd64 2.40.4-3 [92.1 kB]
Get: 23 http://deb.debian.org/debian unstable/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB]
Get: 24 http://deb.debian.org/debian unstable/main amd64 man-db amd64 2.13.0-1 [1420 kB]
Get: 25 http://deb.debian.org/debian unstable/main amd64 m4 amd64 1.4.19-5 [294 kB]
Get: 26 http://deb.debian.org/debian unstable/main amd64 autoconf all 2.72-3 [493 kB]
Get: 27 http://deb.debian.org/debian unstable/main amd64 autotools-dev all 20220109.1 [51.6 kB]
Get: 28 http://deb.debian.org/debian unstable/main amd64 automake all 1:1.17-3 [862 kB]
Get: 29 http://deb.debian.org/debian unstable/main amd64 autopoint all 0.23.1-1 [770 kB]
Get: 30 http://deb.debian.org/debian unstable/main amd64 libevent-2.1-7t64 amd64 2.1.12-stable-10+b1 [182 kB]
Get: 31 http://deb.debian.org/debian unstable/main amd64 libgc1 amd64 1:8.2.8-1 [247 kB]
Get: 32 http://deb.debian.org/debian unstable/main amd64 libedit2 amd64 3.1-20250104-1 [93.8 kB]
Get: 33 http://deb.debian.org/debian unstable/main amd64 libicu72 amd64 72.1-6 [9421 kB]
Get: 34 http://deb.debian.org/debian unstable/main amd64 libxml2 amd64 2.12.7+dfsg+really2.9.14-0.2+b1 [699 kB]
Get: 35 http://deb.debian.org/debian unstable/main amd64 libz3-4 amd64 4.13.3-1 [8560 kB]
Get: 36 http://deb.debian.org/debian unstable/main amd64 libllvm19 amd64 1:19.1.7-1+b1 [26.0 MB]
Get: 37 http://deb.debian.org/debian unstable/main amd64 libgc-dev amd64 1:8.2.8-1 [416 kB]
Get: 38 http://deb.debian.org/debian unstable/main amd64 libpkgconf3 amd64 1.8.1-4 [36.4 kB]
Get: 39 http://deb.debian.org/debian unstable/main amd64 pkgconf-bin amd64 1.8.1-4 [30.2 kB]
Get: 40 http://deb.debian.org/debian unstable/main amd64 pkgconf amd64 1.8.1-4 [26.2 kB]
Get: 41 http://deb.debian.org/debian unstable/main amd64 libpcre2-16-0 amd64 10.45-1 [281 kB]
Get: 42 http://deb.debian.org/debian unstable/main amd64 libpcre2-32-0 amd64 10.45-1 [268 kB]
Get: 43 http://deb.debian.org/debian unstable/main amd64 libpcre2-posix3 amd64 10.45-1 [63.5 kB]
Get: 44 http://deb.debian.org/debian unstable/main amd64 libpcre2-dev amd64 10.45-1 [853 kB]
Get: 45 http://deb.debian.org/debian unstable/main amd64 libevent-core-2.1-7t64 amd64 2.1.12-stable-10+b1 [132 kB]
Get: 46 http://deb.debian.org/debian unstable/main amd64 libevent-extra-2.1-7t64 amd64 2.1.12-stable-10+b1 [108 kB]
Get: 47 http://deb.debian.org/debian unstable/main amd64 libevent-pthreads-2.1-7t64 amd64 2.1.12-stable-10+b1 [54.3 kB]
Get: 48 http://deb.debian.org/debian unstable/main amd64 libevent-openssl-2.1-7t64 amd64 2.1.12-stable-10+b1 [61.1 kB]
Get: 49 http://deb.debian.org/debian unstable/main amd64 libevent-dev amd64 2.1.12-stable-10+b1 [305 kB]
Get: 50 http://deb.debian.org/debian unstable/main amd64 libjs-codemirror all 5.65.0+~cs5.83.9-3 [774 kB]
Get: 51 http://deb.debian.org/debian unstable/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB]
Get: 52 http://deb.debian.org/debian unstable/main amd64 crystal amd64 1.14.0+dfsg-1 [4375 kB]
Get: 53 http://deb.debian.org/debian unstable/main amd64 libdebhelper-perl all 13.24.1 [90.9 kB]
Get: 54 http://deb.debian.org/debian unstable/main amd64 libtool all 2.5.4-3 [539 kB]
Get: 55 http://deb.debian.org/debian unstable/main amd64 dh-autoreconf all 20 [17.1 kB]
Get: 56 http://deb.debian.org/debian unstable/main amd64 libarchive-zip-perl all 1.68-1 [104 kB]
Get: 57 http://deb.debian.org/debian unstable/main amd64 libfile-stripnondeterminism-perl all 1.14.1-2 [19.7 kB]
Get: 58 http://deb.debian.org/debian unstable/main amd64 dh-strip-nondeterminism all 1.14.1-2 [8620 B]
Get: 59 http://deb.debian.org/debian unstable/main amd64 libelf1t64 amd64 0.192-4 [189 kB]
Get: 60 http://deb.debian.org/debian unstable/main amd64 dwz amd64 0.15-1+b1 [110 kB]
Get: 61 http://deb.debian.org/debian unstable/main amd64 libunistring5 amd64 1.3-1 [476 kB]
Get: 62 http://deb.debian.org/debian unstable/main amd64 gettext amd64 0.23.1-1 [1680 kB]
Get: 63 http://deb.debian.org/debian unstable/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB]
Get: 64 http://deb.debian.org/debian unstable/main amd64 po-debconf all 1.0.21+nmu1 [248 kB]
Get: 65 http://deb.debian.org/debian unstable/main amd64 debhelper all 13.24.1 [920 kB]
Get: 66 http://deb.debian.org/debian unstable/main amd64 libbrotli1 amd64 1.1.0-2+b6 [302 kB]
Get: 67 http://deb.debian.org/debian unstable/main amd64 libidn2-0 amd64 2.3.7-2+b1 [129 kB]
Get: 68 http://deb.debian.org/debian unstable/main amd64 libp11-kit0 amd64 0.25.5-3 [425 kB]
Get: 69 http://deb.debian.org/debian unstable/main amd64 libtasn1-6 amd64 4.20.0-2 [49.9 kB]
Get: 70 http://deb.debian.org/debian unstable/main amd64 libgnutls30t64 amd64 3.8.9-2 [1464 kB]
Get: 71 http://deb.debian.org/debian unstable/main amd64 libkrb5support0 amd64 1.21.3-4 [32.8 kB]
Get: 72 http://deb.debian.org/debian unstable/main amd64 libcom-err2 amd64 1.47.2-1 [24.0 kB]
Get: 73 http://deb.debian.org/debian unstable/main amd64 libk5crypto3 amd64 1.21.3-4 [80.9 kB]
Get: 74 http://deb.debian.org/debian unstable/main amd64 libkeyutils1 amd64 1.6.3-4 [9092 B]
Get: 75 http://deb.debian.org/debian unstable/main amd64 libkrb5-3 amd64 1.21.3-4 [326 kB]
Get: 76 http://deb.debian.org/debian unstable/main amd64 libgssapi-krb5-2 amd64 1.21.3-4 [138 kB]
Get: 77 http://deb.debian.org/debian unstable/main amd64 libsasl2-modules-db amd64 2.1.28+dfsg1-8+b1 [19.9 kB]
Get: 78 http://deb.debian.org/debian unstable/main amd64 libsasl2-2 amd64 2.1.28+dfsg1-8+b1 [57.6 kB]
Get: 79 http://deb.debian.org/debian unstable/main amd64 libldap2 amd64 2.6.9+dfsg-1 [192 kB]
Get: 80 http://deb.debian.org/debian unstable/main amd64 libnghttp2-14 amd64 1.64.0-1 [75.5 kB]
Get: 81 http://deb.debian.org/debian unstable/main amd64 libnghttp3-9 amd64 1.6.0-2 [64.8 kB]
Get: 82 http://deb.debian.org/debian unstable/main amd64 libngtcp2-16 amd64 1.9.1-1 [119 kB]
Get: 83 http://deb.debian.org/debian unstable/main amd64 libngtcp2-crypto-gnutls8 amd64 1.9.1-1 [18.5 kB]
Get: 84 http://deb.debian.org/debian unstable/main amd64 libpsl5t64 amd64 0.21.2-1.1+b1 [57.2 kB]
Get: 85 http://deb.debian.org/debian unstable/main amd64 librtmp1 amd64 2.4+20151223.gitfa8646d.1-2+b5 [58.8 kB]
Get: 86 http://deb.debian.org/debian unstable/main amd64 libssh2-1t64 amd64 1.11.1-1 [245 kB]
Get: 87 http://deb.debian.org/debian unstable/main amd64 libcurl3t64-gnutls amd64 8.12.1-2 [365 kB]
Get: 88 http://deb.debian.org/debian unstable/main amd64 liberror-perl all 0.17029-2 [29.0 kB]
Get: 89 http://deb.debian.org/debian unstable/main amd64 git-man all 1:2.47.2-0.1 [2205 kB]
Get: 90 http://deb.debian.org/debian unstable/main amd64 git amd64 1:2.47.2-0.1 [8788 kB]
Get: 91 http://deb.debian.org/debian unstable/main amd64 icu-devtools amd64 72.1-6 [210 kB]
Get: 92 http://deb.debian.org/debian unstable/main amd64 libmd-dev amd64 1.1.0-2+b1 [55.3 kB]
Get: 93 http://deb.debian.org/debian unstable/main amd64 libbsd-dev amd64 0.12.2-2 [258 kB]
Get: 94 http://deb.debian.org/debian unstable/main amd64 libclang-cpp19 amd64 1:19.1.7-1+b1 [13.2 MB]
Get: 95 http://deb.debian.org/debian unstable/main amd64 libcurl4t64 amd64 8.12.1-2 [369 kB]
Get: 96 http://deb.debian.org/debian unstable/main amd64 libncurses6 amd64 6.5+20250125-2 [105 kB]
Get: 97 http://deb.debian.org/debian unstable/main amd64 libncurses-dev amd64 6.5+20250125-2 [353 kB]
Get: 98 http://deb.debian.org/debian unstable/main amd64 libedit-dev amd64 3.1-20250104-1 [115 kB]
Get: 99 http://deb.debian.org/debian unstable/main amd64 libffi-dev amd64 3.4.7-1 [60.8 kB]
Get: 100 http://deb.debian.org/debian unstable/main amd64 libgmpxx4ldbl amd64 2:6.3.0+dfsg-3 [329 kB]
Get: 101 http://deb.debian.org/debian unstable/main amd64 libgmp-dev amd64 2:6.3.0+dfsg-3 [642 kB]
Get: 102 http://deb.debian.org/debian unstable/main amd64 libicu-dev amd64 72.1-6 [10.4 MB]
Get: 103 http://deb.debian.org/debian unstable/main amd64 libpfm4 amd64 4.13.0+git83-g91970fe-1 [368 kB]
Get: 104 http://deb.debian.org/debian unstable/main amd64 libssl-dev amd64 3.4.1-1 [2787 kB]
Get: 105 http://deb.debian.org/debian unstable/main amd64 libxml2-dev amd64 2.12.7+dfsg+really2.9.14-0.2+b1 [795 kB]
Get: 106 http://deb.debian.org/debian unstable/main amd64 libyaml-0-2 amd64 0.2.5-2 [52.5 kB]
Get: 107 http://deb.debian.org/debian unstable/main amd64 libyaml-dev amd64 0.2.5-2 [63.4 kB]
Get: 108 http://deb.debian.org/debian unstable/main amd64 libz3-dev amd64 4.13.3-1 [107 kB]
Get: 109 http://deb.debian.org/debian unstable/main amd64 lld-19 amd64 1:19.1.7-1+b1 [1375 kB]
Get: 110 http://deb.debian.org/debian unstable/main amd64 llvm-19-runtime amd64 1:19.1.7-1+b1 [551 kB]
Get: 111 http://deb.debian.org/debian unstable/main amd64 llvm-19-linker-tools amd64 1:19.1.7-1+b1 [1261 kB]
Get: 112 http://deb.debian.org/debian unstable/main amd64 llvm-19 amd64 1:19.1.7-1+b1 [16.4 MB]
Get: 113 http://deb.debian.org/debian unstable/main amd64 python3-pygments all 2.18.0+dfsg-2 [836 kB]
Get: 114 http://deb.debian.org/debian unstable/main amd64 python3-yaml amd64 6.0.2-1+b1 [178 kB]
Get: 115 http://deb.debian.org/debian unstable/main amd64 llvm-19-tools amd64 1:19.1.7-1+b1 [511 kB]
Get: 116 http://deb.debian.org/debian unstable/main amd64 llvm-19-dev amd64 1:19.1.7-1+b1 [43.2 MB]
Get: 117 http://deb.debian.org/debian unstable/main amd64 zlib1g-dev amd64 1:1.3.dfsg+really1.3.1-1+b1 [920 kB]
Fetched 181 MB in 14s (12.5 MB/s)
Preconfiguring packages ...
Selecting previously unselected package libpython3.13-minimal:amd64.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 19808 files and directories currently installed.)
Preparing to unpack .../libpython3.13-minimal_3.13.2-1_amd64.deb ...
Unpacking libpython3.13-minimal:amd64 (3.13.2-1) ...
Selecting previously unselected package libexpat1:amd64.
Preparing to unpack .../libexpat1_2.6.4-1_amd64.deb ...
Unpacking libexpat1:amd64 (2.6.4-1) ...
Selecting previously unselected package python3.13-minimal.
Preparing to unpack .../python3.13-minimal_3.13.2-1_amd64.deb ...
Unpacking python3.13-minimal (3.13.2-1) ...
Setting up libpython3.13-minimal:amd64 (3.13.2-1) ...
Setting up libexpat1:amd64 (2.6.4-1) ...
Setting up python3.13-minimal (3.13.2-1) ...
Selecting previously unselected package python3-minimal.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 20142 files and directories currently installed.)
Preparing to unpack .../0-python3-minimal_3.13.1-2_amd64.deb ...
Unpacking python3-minimal (3.13.1-2) ...
Selecting previously unselected package media-types.
Preparing to unpack .../1-media-types_11.0.0_all.deb ...
Unpacking media-types (11.0.0) ...
Selecting previously unselected package netbase.
Preparing to unpack .../2-netbase_6.4_all.deb ...
Unpacking netbase (6.4) ...
Selecting previously unselected package tzdata.
Preparing to unpack .../3-tzdata_2025a-2_all.deb ...
Unpacking tzdata (2025a-2) ...
Selecting previously unselected package libffi8:amd64.
Preparing to unpack .../4-libffi8_3.4.7-1_amd64.deb ...
Unpacking libffi8:amd64 (3.4.7-1) ...
Selecting previously unselected package readline-common.
Preparing to unpack .../5-readline-common_8.2-6_all.deb ...
Unpacking readline-common (8.2-6) ...
Selecting previously unselected package libreadline8t64:amd64.
Preparing to unpack .../6-libreadline8t64_8.2-6_amd64.deb ...
Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8 to /lib/x86_64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64'
Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8.2 to /lib/x86_64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64'
Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8 to /lib/x86_64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64'
Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8.2 to /lib/x86_64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64'
Unpacking libreadline8t64:amd64 (8.2-6) ...
Selecting previously unselected package libpython3.13-stdlib:amd64.
Preparing to unpack .../7-libpython3.13-stdlib_3.13.2-1_amd64.deb ...
Unpacking libpython3.13-stdlib:amd64 (3.13.2-1) ...
Selecting previously unselected package python3.13.
Preparing to unpack .../8-python3.13_3.13.2-1_amd64.deb ...
Unpacking python3.13 (3.13.2-1) ...
Selecting previously unselected package libpython3-stdlib:amd64.
Preparing to unpack .../9-libpython3-stdlib_3.13.1-2_amd64.deb ...
Unpacking libpython3-stdlib:amd64 (3.13.1-2) ...
Setting up python3-minimal (3.13.1-2) ...
Selecting previously unselected package python3.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 21152 files and directories currently installed.)
Preparing to unpack .../000-python3_3.13.1-2_amd64.deb ...
Unpacking python3 (3.13.1-2) ...
Selecting previously unselected package sensible-utils.
Preparing to unpack .../001-sensible-utils_0.0.24_all.deb ...
Unpacking sensible-utils (0.0.24) ...
Selecting previously unselected package libmagic-mgc.
Preparing to unpack .../002-libmagic-mgc_1%3a5.45-3+b1_amd64.deb ...
Unpacking libmagic-mgc (1:5.45-3+b1) ...
Selecting previously unselected package libmagic1t64:amd64.
Preparing to unpack .../003-libmagic1t64_1%3a5.45-3+b1_amd64.deb ...
Unpacking libmagic1t64:amd64 (1:5.45-3+b1) ...
Selecting previously unselected package file.
Preparing to unpack .../004-file_1%3a5.45-3+b1_amd64.deb ...
Unpacking file (1:5.45-3+b1) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../005-gettext-base_0.23.1-1_amd64.deb ...
Unpacking gettext-base (0.23.1-1) ...
Selecting previously unselected package libuchardet0:amd64.
Preparing to unpack .../006-libuchardet0_0.0.8-1+b2_amd64.deb ...
Unpacking libuchardet0:amd64 (0.0.8-1+b2) ...
Selecting previously unselected package groff-base.
Preparing to unpack .../007-groff-base_1.23.0-7_amd64.deb ...
Unpacking groff-base (1.23.0-7) ...
Selecting previously unselected package bsdextrautils.
Preparing to unpack .../008-bsdextrautils_2.40.4-3_amd64.deb ...
Unpacking bsdextrautils (2.40.4-3) ...
Selecting previously unselected package libpipeline1:amd64.
Preparing to unpack .../009-libpipeline1_1.5.8-1_amd64.deb ...
Unpacking libpipeline1:amd64 (1.5.8-1) ...
Selecting previously unselected package man-db.
Preparing to unpack .../010-man-db_2.13.0-1_amd64.deb ...
Unpacking man-db (2.13.0-1) ...
Selecting previously unselected package m4.
Preparing to unpack .../011-m4_1.4.19-5_amd64.deb ...
Unpacking m4 (1.4.19-5) ...
Selecting previously unselected package autoconf.
Preparing to unpack .../012-autoconf_2.72-3_all.deb ...
Unpacking autoconf (2.72-3) ...
Selecting previously unselected package autotools-dev.
Preparing to unpack .../013-autotools-dev_20220109.1_all.deb ...
Unpacking autotools-dev (20220109.1) ...
Selecting previously unselected package automake.
Preparing to unpack .../014-automake_1%3a1.17-3_all.deb ...
Unpacking automake (1:1.17-3) ...
Selecting previously unselected package autopoint.
Preparing to unpack .../015-autopoint_0.23.1-1_all.deb ...
Unpacking autopoint (0.23.1-1) ...
Selecting previously unselected package libevent-2.1-7t64:amd64.
Preparing to unpack .../016-libevent-2.1-7t64_2.1.12-stable-10+b1_amd64.deb ...
Unpacking libevent-2.1-7t64:amd64 (2.1.12-stable-10+b1) ...
Selecting previously unselected package libgc1:amd64.
Preparing to unpack .../017-libgc1_1%3a8.2.8-1_amd64.deb ...
Unpacking libgc1:amd64 (1:8.2.8-1) ...
Selecting previously unselected package libedit2:amd64.
Preparing to unpack .../018-libedit2_3.1-20250104-1_amd64.deb ...
Unpacking libedit2:amd64 (3.1-20250104-1) ...
Selecting previously unselected package libicu72:amd64.
Preparing to unpack .../019-libicu72_72.1-6_amd64.deb ...
Unpacking libicu72:amd64 (72.1-6) ...
Selecting previously unselected package libxml2:amd64.
Preparing to unpack .../020-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_amd64.deb ...
Unpacking libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ...
Selecting previously unselected package libz3-4:amd64.
Preparing to unpack .../021-libz3-4_4.13.3-1_amd64.deb ...
Unpacking libz3-4:amd64 (4.13.3-1) ...
Selecting previously unselected package libllvm19:amd64.
Preparing to unpack .../022-libllvm19_1%3a19.1.7-1+b1_amd64.deb ...
Unpacking libllvm19:amd64 (1:19.1.7-1+b1) ...
Selecting previously unselected package libgc-dev:amd64.
Preparing to unpack .../023-libgc-dev_1%3a8.2.8-1_amd64.deb ...
Unpacking libgc-dev:amd64 (1:8.2.8-1) ...
Selecting previously unselected package libpkgconf3:amd64.
Preparing to unpack .../024-libpkgconf3_1.8.1-4_amd64.deb ...
Unpacking libpkgconf3:amd64 (1.8.1-4) ...
Selecting previously unselected package pkgconf-bin.
Preparing to unpack .../025-pkgconf-bin_1.8.1-4_amd64.deb ...
Unpacking pkgconf-bin (1.8.1-4) ...
Selecting previously unselected package pkgconf:amd64.
Preparing to unpack .../026-pkgconf_1.8.1-4_amd64.deb ...
Unpacking pkgconf:amd64 (1.8.1-4) ...
Selecting previously unselected package libpcre2-16-0:amd64.
Preparing to unpack .../027-libpcre2-16-0_10.45-1_amd64.deb ...
Unpacking libpcre2-16-0:amd64 (10.45-1) ...
Selecting previously unselected package libpcre2-32-0:amd64.
Preparing to unpack .../028-libpcre2-32-0_10.45-1_amd64.deb ...
Unpacking libpcre2-32-0:amd64 (10.45-1) ...
Selecting previously unselected package libpcre2-posix3:amd64.
Preparing to unpack .../029-libpcre2-posix3_10.45-1_amd64.deb ...
Unpacking libpcre2-posix3:amd64 (10.45-1) ...
Selecting previously unselected package libpcre2-dev:amd64.
Preparing to unpack .../030-libpcre2-dev_10.45-1_amd64.deb ...
Unpacking libpcre2-dev:amd64 (10.45-1) ...
Selecting previously unselected package libevent-core-2.1-7t64:amd64.
Preparing to unpack .../031-libevent-core-2.1-7t64_2.1.12-stable-10+b1_amd64.deb ...
Unpacking libevent-core-2.1-7t64:amd64 (2.1.12-stable-10+b1) ...
Selecting previously unselected package libevent-extra-2.1-7t64:amd64.
Preparing to unpack .../032-libevent-extra-2.1-7t64_2.1.12-stable-10+b1_amd64.deb ...
Unpacking libevent-extra-2.1-7t64:amd64 (2.1.12-stable-10+b1) ...
Selecting previously unselected package libevent-pthreads-2.1-7t64:amd64.
Preparing to unpack .../033-libevent-pthreads-2.1-7t64_2.1.12-stable-10+b1_amd64.deb ...
Unpacking libevent-pthreads-2.1-7t64:amd64 (2.1.12-stable-10+b1) ...
Selecting previously unselected package libevent-openssl-2.1-7t64:amd64.
Preparing to unpack .../034-libevent-openssl-2.1-7t64_2.1.12-stable-10+b1_amd64.deb ...
Unpacking libevent-openssl-2.1-7t64:amd64 (2.1.12-stable-10+b1) ...
Selecting previously unselected package libevent-dev.
Preparing to unpack .../035-libevent-dev_2.1.12-stable-10+b1_amd64.deb ...
Unpacking libevent-dev (2.1.12-stable-10+b1) ...
Selecting previously unselected package libjs-codemirror.
Preparing to unpack .../036-libjs-codemirror_5.65.0+~cs5.83.9-3_all.deb ...
Unpacking libjs-codemirror (5.65.0+~cs5.83.9-3) ...
Selecting previously unselected package libjs-jquery.
Preparing to unpack .../037-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ...
Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ...
Selecting previously unselected package crystal.
Preparing to unpack .../038-crystal_1.14.0+dfsg-1_amd64.deb ...
Unpacking crystal (1.14.0+dfsg-1) ...
Selecting previously unselected package libdebhelper-perl.
Preparing to unpack .../039-libdebhelper-perl_13.24.1_all.deb ...
Unpacking libdebhelper-perl (13.24.1) ...
Selecting previously unselected package libtool.
Preparing to unpack .../040-libtool_2.5.4-3_all.deb ...
Unpacking libtool (2.5.4-3) ...
Selecting previously unselected package dh-autoreconf.
Preparing to unpack .../041-dh-autoreconf_20_all.deb ...
Unpacking dh-autoreconf (20) ...
Selecting previously unselected package libarchive-zip-perl.
Preparing to unpack .../042-libarchive-zip-perl_1.68-1_all.deb ...
Unpacking libarchive-zip-perl (1.68-1) ...
Selecting previously unselected package libfile-stripnondeterminism-perl.
Preparing to unpack .../043-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ...
Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../044-dh-strip-nondeterminism_1.14.1-2_all.deb ...
Unpacking dh-strip-nondeterminism (1.14.1-2) ...
Selecting previously unselected package libelf1t64:amd64.
Preparing to unpack .../045-libelf1t64_0.192-4_amd64.deb ...
Unpacking libelf1t64:amd64 (0.192-4) ...
Selecting previously unselected package dwz.
Preparing to unpack .../046-dwz_0.15-1+b1_amd64.deb ...
Unpacking dwz (0.15-1+b1) ...
Selecting previously unselected package libunistring5:amd64.
Preparing to unpack .../047-libunistring5_1.3-1_amd64.deb ...
Unpacking libunistring5:amd64 (1.3-1) ...
Selecting previously unselected package gettext.
Preparing to unpack .../048-gettext_0.23.1-1_amd64.deb ...
Unpacking gettext (0.23.1-1) ...
Selecting previously unselected package intltool-debian.
Preparing to unpack .../049-intltool-debian_0.35.0+20060710.6_all.deb ...
Unpacking intltool-debian (0.35.0+20060710.6) ...
Selecting previously unselected package po-debconf.
Preparing to unpack .../050-po-debconf_1.0.21+nmu1_all.deb ...
Unpacking po-debconf (1.0.21+nmu1) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../051-debhelper_13.24.1_all.deb ...
Unpacking debhelper (13.24.1) ...
Selecting previously unselected package libbrotli1:amd64.
Preparing to unpack .../052-libbrotli1_1.1.0-2+b6_amd64.deb ...
Unpacking libbrotli1:amd64 (1.1.0-2+b6) ...
Selecting previously unselected package libidn2-0:amd64.
Preparing to unpack .../053-libidn2-0_2.3.7-2+b1_amd64.deb ...
Unpacking libidn2-0:amd64 (2.3.7-2+b1) ...
Selecting previously unselected package libp11-kit0:amd64.
Preparing to unpack .../054-libp11-kit0_0.25.5-3_amd64.deb ...
Unpacking libp11-kit0:amd64 (0.25.5-3) ...
Selecting previously unselected package libtasn1-6:amd64.
Preparing to unpack .../055-libtasn1-6_4.20.0-2_amd64.deb ...
Unpacking libtasn1-6:amd64 (4.20.0-2) ...
Selecting previously unselected package libgnutls30t64:amd64.
Preparing to unpack .../056-libgnutls30t64_3.8.9-2_amd64.deb ...
Unpacking libgnutls30t64:amd64 (3.8.9-2) ...
Selecting previously unselected package libkrb5support0:amd64.
Preparing to unpack .../057-libkrb5support0_1.21.3-4_amd64.deb ...
Unpacking libkrb5support0:amd64 (1.21.3-4) ...
Selecting previously unselected package libcom-err2:amd64.
Preparing to unpack .../058-libcom-err2_1.47.2-1_amd64.deb ...
Unpacking libcom-err2:amd64 (1.47.2-1) ...
Selecting previously unselected package libk5crypto3:amd64.
Preparing to unpack .../059-libk5crypto3_1.21.3-4_amd64.deb ...
Unpacking libk5crypto3:amd64 (1.21.3-4) ...
Selecting previously unselected package libkeyutils1:amd64.
Preparing to unpack .../060-libkeyutils1_1.6.3-4_amd64.deb ...
Unpacking libkeyutils1:amd64 (1.6.3-4) ...
Selecting previously unselected package libkrb5-3:amd64.
Preparing to unpack .../061-libkrb5-3_1.21.3-4_amd64.deb ...
Unpacking libkrb5-3:amd64 (1.21.3-4) ...
Selecting previously unselected package libgssapi-krb5-2:amd64.
Preparing to unpack .../062-libgssapi-krb5-2_1.21.3-4_amd64.deb ...
Unpacking libgssapi-krb5-2:amd64 (1.21.3-4) ...
Selecting previously unselected package libsasl2-modules-db:amd64.
Preparing to unpack .../063-libsasl2-modules-db_2.1.28+dfsg1-8+b1_amd64.deb ...
Unpacking libsasl2-modules-db:amd64 (2.1.28+dfsg1-8+b1) ...
Selecting previously unselected package libsasl2-2:amd64.
Preparing to unpack .../064-libsasl2-2_2.1.28+dfsg1-8+b1_amd64.deb ...
Unpacking libsasl2-2:amd64 (2.1.28+dfsg1-8+b1) ...
Selecting previously unselected package libldap2:amd64.
Preparing to unpack .../065-libldap2_2.6.9+dfsg-1_amd64.deb ...
Unpacking libldap2:amd64 (2.6.9+dfsg-1) ...
Selecting previously unselected package libnghttp2-14:amd64.
Preparing to unpack .../066-libnghttp2-14_1.64.0-1_amd64.deb ...
Unpacking libnghttp2-14:amd64 (1.64.0-1) ...
Selecting previously unselected package libnghttp3-9:amd64.
Preparing to unpack .../067-libnghttp3-9_1.6.0-2_amd64.deb ...
Unpacking libnghttp3-9:amd64 (1.6.0-2) ...
Selecting previously unselected package libngtcp2-16:amd64.
Preparing to unpack .../068-libngtcp2-16_1.9.1-1_amd64.deb ...
Unpacking libngtcp2-16:amd64 (1.9.1-1) ...
Selecting previously unselected package libngtcp2-crypto-gnutls8:amd64.
Preparing to unpack .../069-libngtcp2-crypto-gnutls8_1.9.1-1_amd64.deb ...
Unpacking libngtcp2-crypto-gnutls8:amd64 (1.9.1-1) ...
Selecting previously unselected package libpsl5t64:amd64.
Preparing to unpack .../070-libpsl5t64_0.21.2-1.1+b1_amd64.deb ...
Unpacking libpsl5t64:amd64 (0.21.2-1.1+b1) ...
Selecting previously unselected package librtmp1:amd64.
Preparing to unpack .../071-librtmp1_2.4+20151223.gitfa8646d.1-2+b5_amd64.deb ...
Unpacking librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b5) ...
Selecting previously unselected package libssh2-1t64:amd64.
Preparing to unpack .../072-libssh2-1t64_1.11.1-1_amd64.deb ...
Unpacking libssh2-1t64:amd64 (1.11.1-1) ...
Selecting previously unselected package libcurl3t64-gnutls:amd64.
Preparing to unpack .../073-libcurl3t64-gnutls_8.12.1-2_amd64.deb ...
Unpacking libcurl3t64-gnutls:amd64 (8.12.1-2) ...
Selecting previously unselected package liberror-perl.
Preparing to unpack .../074-liberror-perl_0.17029-2_all.deb ...
Unpacking liberror-perl (0.17029-2) ...
Selecting previously unselected package git-man.
Preparing to unpack .../075-git-man_1%3a2.47.2-0.1_all.deb ...
Unpacking git-man (1:2.47.2-0.1) ...
Selecting previously unselected package git.
Preparing to unpack .../076-git_1%3a2.47.2-0.1_amd64.deb ...
Unpacking git (1:2.47.2-0.1) ...
Selecting previously unselected package icu-devtools.
Preparing to unpack .../077-icu-devtools_72.1-6_amd64.deb ...
Unpacking icu-devtools (72.1-6) ...
Selecting previously unselected package libmd-dev:amd64.
Preparing to unpack .../078-libmd-dev_1.1.0-2+b1_amd64.deb ...
Unpacking libmd-dev:amd64 (1.1.0-2+b1) ...
Selecting previously unselected package libbsd-dev:amd64.
Preparing to unpack .../079-libbsd-dev_0.12.2-2_amd64.deb ...
Unpacking libbsd-dev:amd64 (0.12.2-2) ...
Selecting previously unselected package libclang-cpp19.
Preparing to unpack .../080-libclang-cpp19_1%3a19.1.7-1+b1_amd64.deb ...
Unpacking libclang-cpp19 (1:19.1.7-1+b1) ...
Selecting previously unselected package libcurl4t64:amd64.
Preparing to unpack .../081-libcurl4t64_8.12.1-2_amd64.deb ...
Unpacking libcurl4t64:amd64 (8.12.1-2) ...
Selecting previously unselected package libncurses6:amd64.
Preparing to unpack .../082-libncurses6_6.5+20250125-2_amd64.deb ...
Unpacking libncurses6:amd64 (6.5+20250125-2) ...
Selecting previously unselected package libncurses-dev:amd64.
Preparing to unpack .../083-libncurses-dev_6.5+20250125-2_amd64.deb ...
Unpacking libncurses-dev:amd64 (6.5+20250125-2) ...
Selecting previously unselected package libedit-dev:amd64.
Preparing to unpack .../084-libedit-dev_3.1-20250104-1_amd64.deb ...
Unpacking libedit-dev:amd64 (3.1-20250104-1) ...
Selecting previously unselected package libffi-dev:amd64.
Preparing to unpack .../085-libffi-dev_3.4.7-1_amd64.deb ...
Unpacking libffi-dev:amd64 (3.4.7-1) ...
Selecting previously unselected package libgmpxx4ldbl:amd64.
Preparing to unpack .../086-libgmpxx4ldbl_2%3a6.3.0+dfsg-3_amd64.deb ...
Unpacking libgmpxx4ldbl:amd64 (2:6.3.0+dfsg-3) ...
Selecting previously unselected package libgmp-dev:amd64.
Preparing to unpack .../087-libgmp-dev_2%3a6.3.0+dfsg-3_amd64.deb ...
Unpacking libgmp-dev:amd64 (2:6.3.0+dfsg-3) ...
Selecting previously unselected package libicu-dev:amd64.
Preparing to unpack .../088-libicu-dev_72.1-6_amd64.deb ...
Unpacking libicu-dev:amd64 (72.1-6) ...
Selecting previously unselected package libpfm4:amd64.
Preparing to unpack .../089-libpfm4_4.13.0+git83-g91970fe-1_amd64.deb ...
Unpacking libpfm4:amd64 (4.13.0+git83-g91970fe-1) ...
Selecting previously unselected package libssl-dev:amd64.
Preparing to unpack .../090-libssl-dev_3.4.1-1_amd64.deb ...
Unpacking libssl-dev:amd64 (3.4.1-1) ...
Selecting previously unselected package libxml2-dev:amd64.
Preparing to unpack .../091-libxml2-dev_2.12.7+dfsg+really2.9.14-0.2+b1_amd64.deb ...
Unpacking libxml2-dev:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ...
Selecting previously unselected package libyaml-0-2:amd64.
Preparing to unpack .../092-libyaml-0-2_0.2.5-2_amd64.deb ...
Unpacking libyaml-0-2:amd64 (0.2.5-2) ...
Selecting previously unselected package libyaml-dev:amd64.
Preparing to unpack .../093-libyaml-dev_0.2.5-2_amd64.deb ...
Unpacking libyaml-dev:amd64 (0.2.5-2) ...
Selecting previously unselected package libz3-dev:amd64.
Preparing to unpack .../094-libz3-dev_4.13.3-1_amd64.deb ...
Unpacking libz3-dev:amd64 (4.13.3-1) ...
Selecting previously unselected package lld-19.
Preparing to unpack .../095-lld-19_1%3a19.1.7-1+b1_amd64.deb ...
Unpacking lld-19 (1:19.1.7-1+b1) ...
Selecting previously unselected package llvm-19-runtime.
Preparing to unpack .../096-llvm-19-runtime_1%3a19.1.7-1+b1_amd64.deb ...
Unpacking llvm-19-runtime (1:19.1.7-1+b1) ...
Selecting previously unselected package llvm-19-linker-tools.
Preparing to unpack .../097-llvm-19-linker-tools_1%3a19.1.7-1+b1_amd64.deb ...
Unpacking llvm-19-linker-tools (1:19.1.7-1+b1) ...
Selecting previously unselected package llvm-19.
Preparing to unpack .../098-llvm-19_1%3a19.1.7-1+b1_amd64.deb ...
Unpacking llvm-19 (1:19.1.7-1+b1) ...
Selecting previously unselected package python3-pygments.
Preparing to unpack .../099-python3-pygments_2.18.0+dfsg-2_all.deb ...
Unpacking python3-pygments (2.18.0+dfsg-2) ...
Selecting previously unselected package python3-yaml.
Preparing to unpack .../100-python3-yaml_6.0.2-1+b1_amd64.deb ...
Unpacking python3-yaml (6.0.2-1+b1) ...
Selecting previously unselected package llvm-19-tools.
Preparing to unpack .../101-llvm-19-tools_1%3a19.1.7-1+b1_amd64.deb ...
Unpacking llvm-19-tools (1:19.1.7-1+b1) ...
Selecting previously unselected package llvm-19-dev.
Preparing to unpack .../102-llvm-19-dev_1%3a19.1.7-1+b1_amd64.deb ...
Unpacking llvm-19-dev (1:19.1.7-1+b1) ...
Selecting previously unselected package zlib1g-dev:amd64.
Preparing to unpack .../103-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1+b1_amd64.deb ...
Unpacking zlib1g-dev:amd64 (1:1.3.dfsg+really1.3.1-1+b1) ...
Setting up media-types (11.0.0) ...
Setting up libpipeline1:amd64 (1.5.8-1) ...
Setting up libkeyutils1:amd64 (1.6.3-4) ...
Setting up libicu72:amd64 (72.1-6) ...
Setting up bsdextrautils (2.40.4-3) ...
Setting up libmagic-mgc (1:5.45-3+b1) ...
Setting up libarchive-zip-perl (1.68-1) ...
Setting up libyaml-0-2:amd64 (0.2.5-2) ...
Setting up libdebhelper-perl (13.24.1) ...
Setting up libbrotli1:amd64 (1.1.0-2+b6) ...
Setting up libedit2:amd64 (3.1-20250104-1) ...
Setting up libmagic1t64:amd64 (1:5.45-3+b1) ...
Setting up libnghttp2-14:amd64 (1.64.0-1) ...
Setting up gettext-base (0.23.1-1) ...
Setting up m4 (1.4.19-5) ...
Setting up libevent-2.1-7t64:amd64 (2.1.12-stable-10+b1) ...
Setting up libcom-err2:amd64 (1.47.2-1) ...
Setting up file (1:5.45-3+b1) ...
Setting up libpcre2-16-0:amd64 (10.45-1) ...
Setting up libelf1t64:amd64 (0.192-4) ...
Setting up libkrb5support0:amd64 (1.21.3-4) ...
Setting up libsasl2-modules-db:amd64 (2.1.28+dfsg1-8+b1) ...
Setting up tzdata (2025a-2) ...

Current default time zone: 'Etc/UTC'
Local time is now:      Sun Feb 16 07:32:41 UTC 2025.
Universal Time is now:  Sun Feb 16 07:32:41 UTC 2025.
Run 'dpkg-reconfigure tzdata' if you wish to change it.

Setting up liberror-perl (0.17029-2) ...
Setting up autotools-dev (20220109.1) ...
Setting up libz3-4:amd64 (4.13.3-1) ...
Setting up libpcre2-32-0:amd64 (10.45-1) ...
Setting up libpkgconf3:amd64 (1.8.1-4) ...
Setting up libgmpxx4ldbl:amd64 (2:6.3.0+dfsg-3) ...
Setting up libpfm4:amd64 (4.13.0+git83-g91970fe-1) ...
Setting up libncurses6:amd64 (6.5+20250125-2) ...
Setting up libunistring5:amd64 (1.3-1) ...
Setting up libjs-codemirror (5.65.0+~cs5.83.9-3) ...
Setting up libssl-dev:amd64 (3.4.1-1) ...
Setting up autopoint (0.23.1-1) ...
Setting up icu-devtools (72.1-6) ...
Setting up pkgconf-bin (1.8.1-4) ...
Setting up libk5crypto3:amd64 (1.21.3-4) ...
Setting up libgc1:amd64 (1:8.2.8-1) ...
Setting up libsasl2-2:amd64 (2.1.28+dfsg1-8+b1) ...
Setting up autoconf (2.72-3) ...
Setting up libnghttp3-9:amd64 (1.6.0-2) ...
Setting up zlib1g-dev:amd64 (1:1.3.dfsg+really1.3.1-1+b1) ...
Setting up libffi8:amd64 (3.4.7-1) ...
Setting up libpcre2-posix3:amd64 (10.45-1) ...
Setting up dwz (0.15-1+b1) ...
Setting up sensible-utils (0.0.24) ...
Setting up libuchardet0:amd64 (0.0.8-1+b2) ...
Setting up libmd-dev:amd64 (1.1.0-2+b1) ...
Setting up libtasn1-6:amd64 (4.20.0-2) ...
Setting up git-man (1:2.47.2-0.1) ...
Setting up netbase (6.4) ...
Setting up libngtcp2-16:amd64 (1.9.1-1) ...
Setting up libkrb5-3:amd64 (1.21.3-4) ...
Setting up libevent-core-2.1-7t64:amd64 (2.1.12-stable-10+b1) ...
Setting up libssh2-1t64:amd64 (1.11.1-1) ...
Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ...
Setting up libgc-dev:amd64 (1:8.2.8-1) ...
Setting up readline-common (8.2-6) ...
Setting up libicu-dev:amd64 (72.1-6) ...
Setting up libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ...
Setting up libbsd-dev:amd64 (0.12.2-2) ...
Setting up libldap2:amd64 (2.6.9+dfsg-1) ...
Setting up automake (1:1.17-3) ...
update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode
Setting up libfile-stripnondeterminism-perl (1.14.1-2) ...
Setting up libllvm19:amd64 (1:19.1.7-1+b1) ...
Setting up libz3-dev:amd64 (4.13.3-1) ...
Setting up libncurses-dev:amd64 (6.5+20250125-2) ...
Setting up gettext (0.23.1-1) ...
Setting up libgmp-dev:amd64 (2:6.3.0+dfsg-3) ...
Setting up libpcre2-dev:amd64 (10.45-1) ...
Setting up libyaml-dev:amd64 (0.2.5-2) ...
Setting up libtool (2.5.4-3) ...
Setting up libevent-pthreads-2.1-7t64:amd64 (2.1.12-stable-10+b1) ...
Setting up libevent-openssl-2.1-7t64:amd64 (2.1.12-stable-10+b1) ...
Setting up libidn2-0:amd64 (2.3.7-2+b1) ...
Setting up libffi-dev:amd64 (3.4.7-1) ...
Setting up pkgconf:amd64 (1.8.1-4) ...
Setting up intltool-debian (0.35.0+20060710.6) ...
Setting up dh-autoreconf (20) ...
Setting up libxml2-dev:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ...
Setting up libp11-kit0:amd64 (0.25.5-3) ...
Setting up libedit-dev:amd64 (3.1-20250104-1) ...
Setting up libgssapi-krb5-2:amd64 (1.21.3-4) ...
Setting up libevent-extra-2.1-7t64:amd64 (2.1.12-stable-10+b1) ...
Setting up libreadline8t64:amd64 (8.2-6) ...
Setting up dh-strip-nondeterminism (1.14.1-2) ...
Setting up groff-base (1.23.0-7) ...
Setting up llvm-19-linker-tools (1:19.1.7-1+b1) ...
Setting up llvm-19-runtime (1:19.1.7-1+b1) ...
Setting up lld-19 (1:19.1.7-1+b1) ...
Setting up libpython3.13-stdlib:amd64 (3.13.2-1) ...
Setting up libpython3-stdlib:amd64 (3.13.1-2) ...
Setting up libclang-cpp19 (1:19.1.7-1+b1) ...
Setting up libgnutls30t64:amd64 (3.8.9-2) ...
Setting up python3.13 (3.13.2-1) ...
Setting up po-debconf (1.0.21+nmu1) ...
Setting up libpsl5t64:amd64 (0.21.2-1.1+b1) ...
Setting up python3 (3.13.1-2) ...
Setting up man-db (2.13.0-1) ...
Not building database; man-db/auto-update is not 'true'.
Setting up python3-pygments (2.18.0+dfsg-2) ...
Setting up librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b5) ...
Setting up libevent-dev (2.1.12-stable-10+b1) ...
Setting up libngtcp2-crypto-gnutls8:amd64 (1.9.1-1) ...
Setting up crystal (1.14.0+dfsg-1) ...
Setting up libcurl4t64:amd64 (8.12.1-2) ...
Setting up libcurl3t64-gnutls:amd64 (8.12.1-2) ...
Setting up python3-yaml (6.0.2-1+b1) ...
Setting up debhelper (13.24.1) ...
Setting up git (1:2.47.2-0.1) ...
Setting up llvm-19 (1:19.1.7-1+b1) ...
Setting up llvm-19-tools (1:19.1.7-1+b1) ...
Setting up llvm-19-dev (1:19.1.7-1+b1) ...
Processing triggers for libc-bin (2.40-7) ...
Reading package lists...
Building dependency tree...
Reading state information...
Reading extended state information...
Initializing package states...
Writing extended state information...
Building tag database...
 -> Finished parsing the build-deps
I: Building the package
I: user script /srv/workspace/pbuilder/2461830/tmp/hooks/A99_set_merged_usr starting
Not re-configuring usrmerge for unstable
I: user script /srv/workspace/pbuilder/2461830/tmp/hooks/A99_set_merged_usr finished
hostname: Name or service not known
I: Running cd /build/reproducible-path/crystal-1.14.0+dfsg/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S  > ../crystal_1.14.0+dfsg-1_source.changes
dpkg-buildpackage: info: source package crystal
dpkg-buildpackage: info: source version 1.14.0+dfsg-1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by David Suárez <deiv@debian.org>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture amd64
 debian/rules clean
dh clean
   dh_auto_clean
	make -j20 clean
make[1]: Entering directory '/build/reproducible-path/crystal-1.14.0+dfsg'
rm -rf .build
rm -rf ./docs
rm -rf src/llvm/ext/llvm_ext.o
rm -rf man/*.gz
make[1]: Leaving directory '/build/reproducible-path/crystal-1.14.0+dfsg'
   debian/rules override_dh_clean
make[1]: Entering directory '/build/reproducible-path/crystal-1.14.0+dfsg'
dh_clean
rm -f man/*.gz
make[1]: Leaving directory '/build/reproducible-path/crystal-1.14.0+dfsg'
 debian/rules binary
dh binary
   dh_update_autotools_config
   dh_autoreconf
   dh_auto_configure
   debian/rules override_dh_auto_build
make[1]: Entering directory '/build/reproducible-path/crystal-1.14.0+dfsg'
dh_auto_build -- release=1 verbose=1 progress=1 threads=20 CRYSTAL_CONFIG_PATH="lib:/usr/lib/crystal/lib" CRYSTAL_CACHE_DIR="/tmp/crystal" interpreter=1
	make -j20 "INSTALL=install --strip-program=true" release=1 verbose=1 progress=1 threads=20 CRYSTAL_CONFIG_PATH=lib:/usr/lib/crystal/lib CRYSTAL_CACHE_DIR=/tmp/crystal interpreter=1
make[2]: Entering directory '/build/reproducible-path/crystal-1.14.0+dfsg'
Using /usr/bin/llvm-config-19 [version=19.1.7]
CRYSTAL_CONFIG_BUILD_COMMIT="" CRYSTAL_CONFIG_PATH=lib:/usr/lib/crystal/lib SOURCE_DATE_EPOCH="1734712509"  CRYSTAL_CONFIG_LIBRARY_PATH='$ORIGIN/../lib/crystal' ./bin/crystal build -D strict_multi_assign -D preview_overload_order --release --progress --threads 20 --link-flags="-Wl,-z,relro"  -o .build/crystal src/compiler/crystal.cr -D without_openssl -D without_zlib -D use_pcre2
[1/13] Parse                             
[1/13] Parse                             
[2/13] Semantic (top level)              
[2/13] Semantic (top level)              
[3/13] Semantic (new)                    
[3/13] Semantic (new)                    
[4/13] Semantic (type declarations)      
[4/13] Semantic (type declarations)      
[5/13] Semantic (abstract def check)     
[5/13] Semantic (abstract def check)     
[6/13] Semantic (restrictions augmenter) 
[6/13] Semantic (restrictions augmenter) 
[7/13] Semantic (ivars initializers)     
[7/13] Semantic (ivars initializers)     
[8/13] Semantic (cvars initializers)     
[8/13] Semantic (cvars initializers)     
[9/13] Semantic (main)                   
[9/13] Semantic (main)                   
[10/13] Semantic (cleanup)                
[10/13] Semantic (cleanup)                
[11/13] Semantic (recursive struct check) 
[11/13] Semantic (recursive struct check) 
[12/13] Codegen (crystal)                 
[12/13] Codegen (crystal)                 
[13/13] Codegen (bc+obj)                  
[13/13] [0/1] Codegen (bc+obj)                  
[13/13] [1/1] Codegen (bc+obj)                  
[13/13] [1/1] Codegen (bc+obj)                  
[14/13] Codegen (linking)                 
[14/13] Codegen (linking)                 
                                       
make[2]: Leaving directory '/build/reproducible-path/crystal-1.14.0+dfsg'
make[1]: Leaving directory '/build/reproducible-path/crystal-1.14.0+dfsg'
   debian/rules override_dh_auto_test
make[1]: Entering directory '/build/reproducible-path/crystal-1.14.0+dfsg'
make release=1 verbose=1 progress=1 threads=20 CRYSTAL_CONFIG_PATH="lib:/usr/lib/crystal/lib" CRYSTAL_CACHE_DIR="/tmp/crystal" interpreter=1 compiler_spec
make[2]: Entering directory '/build/reproducible-path/crystal-1.14.0+dfsg'
Using /usr/bin/llvm-config-19 [version=19.1.7]
CRYSTAL_CONFIG_BUILD_COMMIT="" CRYSTAL_CONFIG_PATH=lib:/usr/lib/crystal/lib SOURCE_DATE_EPOCH="1734712509" ./bin/crystal build -D strict_multi_assign -D preview_overload_order --release --progress --threads 20 --link-flags="-Wl,-z,relro"  --exclude-warnings spec/std --exclude-warnings spec/compiler --exclude-warnings spec/primitives -o .build/compiler_spec spec/compiler_spec.cr --release
Using compiled compiler at .build/crystal
In lib/markd/src/markd/renderers/html_renderer.cr:238:7

 238 | {% if Crystal::VERSION < "1.2.0" %}
       ^
Warning: expanding macro


There was a problem expanding macro 'macro_140300317817808'

Called macro defined in lib/markd/src/markd/renderers/html_renderer.cr:238:7

 238 | {% if Crystal::VERSION < "1.2.0" %}

Which expanded to:

   1 | 
 > 2 |         title = URI.encode(node.first_child.text)
   3 |         @output_io << %(<a id="anchor-) << title << %(" class="anchor" href="#anchor-) << title << %("></a>)
   4 |       
Warning: Deprecated URI.encode. Use `.encode_path` instead.

A total of 1 warnings were found.
[1/13] Parse                             
[1/13] Parse                             
[2/13] Semantic (top level)              
[2/13] Semantic (top level)              
[3/13] Semantic (new)                    
[3/13] Semantic (new)                    
[4/13] Semantic (type declarations)      
[4/13] Semantic (type declarations)      
[5/13] Semantic (abstract def check)     
[5/13] Semantic (abstract def check)     
[6/13] Semantic (restrictions augmenter) 
[6/13] Semantic (restrictions augmenter) 
[7/13] Semantic (ivars initializers)     
[7/13] Semantic (ivars initializers)     
[8/13] Semantic (cvars initializers)     
[8/13] Semantic (cvars initializers)     
[9/13] Semantic (main)                   
[9/13] Semantic (main)                   
[10/13] Semantic (cleanup)                
[10/13] Semantic (cleanup)                
[11/13] Semantic (recursive struct check) 
[11/13] Semantic (recursive struct check) 
[12/13] Codegen (crystal)                 
[12/13] Codegen (crystal)                 
[13/13] Codegen (bc+obj)                  
[13/13] [0/1] Codegen (bc+obj)                  
[13/13] [1/1] Codegen (bc+obj)                  
[13/13] [1/1] Codegen (bc+obj)                  
[14/13] Codegen (linking)                 
[14/13] Codegen (linking)                 
                                       
.build/compiler_spec -v --order=random   
Randomized with seed: 76473
Code gen: C ABI x86_64
  passes struct less than 64 bits as { i64 }
  passes struct less than 64 bits as { i64 }
  passes struct between 64 and 128 bits as { i64, i64 }
  passes struct between 64 and 128 bits as { i64, i64 }
  passes struct between 64 and 128 bits as { i64, i64 } (with multiple modules/contexts)
  passes struct between 64 and 128 bits as { i64, i64 } (with multiple modules/contexts)
  returns struct less than 64 bits as { i64 }
  returns struct less than 64 bits as { i64 }
  passes struct less than 64 bits as { i64 } in varargs
  passes struct less than 64 bits as { i64 } in varargs
  passes struct bigger than128 bits with byval
  passes struct bigger than128 bits with byval
  returns struct bigger than 128 bits with sret
  returns struct bigger than 128 bits with sret
  returns struct between 64 and 128 bits as { i64, i64 }
  returns struct between 64 and 128 bits as { i64, i64 }
Codegen: class var
  initializes class var with array literal  initializes class var with array literal  initializes class var with array literal  initializes class var with array literal  initializes class var with array literal  initializes class var with array literal  initializes class var with array literal  initializes class var with array literal  initializes class var with array literal
  initializes class var with array literal
  doesn't crash with pointerof from another module  doesn't crash with pointerof from another module  doesn't crash with pointerof from another module  doesn't crash with pointerof from another module  doesn't crash with pointerof from another module  doesn't crash with pointerof from another module  doesn't crash with pointerof from another module  doesn't crash with pointerof from another module  doesn't crash with pointerof from another module
  doesn't crash with pointerof from another module
  declares var as uninitialized and initializes it unsafely
  declares var as uninitialized and initializes it unsafely
  accesses class var from proc literal
  accesses class var from proc literal
  codegens class var inside module
  codegens class var inside module
  reads class var before initializing it (hoisting)
  reads class var before initializing it (hoisting)
  reads class var from virtual type metaclass
  reads class var from virtual type metaclass
  codegens class var with begin and vars
  codegens class var with begin and vars
  doesn't error if class var shares name with const (#7865)  doesn't error if class var shares name with const (#7865)  doesn't error if class var shares name with const (#7865)  doesn't error if class var shares name with const (#7865)  doesn't error if class var shares name with const (#7865)  doesn't error if class var shares name with const (#7865)  doesn't error if class var shares name with const (#7865)  doesn't error if class var shares name with const (#7865)  doesn't error if class var shares name with const (#7865)
  doesn't error if class var shares name with const (#7865)
  codegens class var inside instance method
  codegens class var inside instance method
  codegens generic class with class var
  codegens generic class with class var
  inline initialization of simple class var
  inline initialization of simple class var
  codegens second class var initializer
  codegens second class var initializer
  initializes class var the moment it reaches it  initializes class var the moment it reaches it  initializes class var the moment it reaches it  initializes class var the moment it reaches it  initializes class var the moment it reaches it  initializes class var the moment it reaches it  initializes class var the moment it reaches it  initializes class var the moment it reaches it  initializes class var the moment it reaches it
  initializes class var the moment it reaches it
  declares and initializes
  declares and initializes
  catch infinite loop in class var initializer  catch infinite loop in class var initializer  catch infinite loop in class var initializer  catch infinite loop in class var initializer  catch infinite loop in class var initializer  catch infinite loop in class var initializer  catch infinite loop in class var initializer  catch infinite loop in class var initializer  catch infinite loop in class var initializer
  catch infinite loop in class var initializer
  initializes class var of union with single type
  initializes class var of union with single type
  doesn't inherit class var value in subclass
  doesn't inherit class var value in subclass
  codegens class var with nilable reference type
  codegens class var with nilable reference type
  writes class var from virtual type
  writes class var from virtual type
  codegens class var
  codegens class var
  codegens class var with type declaration begin and vars
  codegens class var with type declaration begin and vars
  runs class var side effects (#8862)  runs class var side effects (#8862)  runs class var side effects (#8862)  runs class var side effects (#8862)  runs class var side effects (#8862)  runs class var side effects (#8862)  runs class var side effects (#8862)  runs class var side effects (#8862)  runs class var side effects (#8862)
  runs class var side effects (#8862)
  codegens class var as nil
  codegens class var as nil
  initializes dependent constant before class var  initializes dependent constant before class var  initializes dependent constant before class var  initializes dependent constant before class var  initializes dependent constant before class var  initializes dependent constant before class var  initializes dependent constant before class var  initializes dependent constant before class var  initializes dependent constant before class var
  initializes dependent constant before class var
  doesn't use nilable type for initializer
  doesn't use nilable type for initializer
  gets pointerof class var complex constant
  gets pointerof class var complex constant
  codegens class var as nil if assigned for the first time inside method
  codegens class var as nil if assigned for the first time inside method
  gets pointerof class var
  gets pointerof class var
  uses var in class var initializer
  uses var in class var initializer
  doesn't inherit class var value in module
  doesn't inherit class var value in module
  reads simple class var before another complex one
  reads simple class var before another complex one
  reads class var from virtual type
  reads class var from virtual type
Semantic: method_missing
  doesn't look up method_missing in with_yield_scope if call has a receiver (#12097)
  doesn't look up method_missing in with_yield_scope if call has a receiver (#12097)
  finds method_missing with 'with ... yield'
  finds method_missing with 'with ... yield'
  errors if method_missing expands to multiple methods
  errors if method_missing expands to multiple methods
  does method missing for generic type
  does method missing for generic type
  errors if method_missing expands to an incorrect method
  errors if method_missing expands to an incorrect method
  does error in method_missing macro with virtual type
  does error in method_missing macro with virtual type
  does error in method_missing if wrong number of params
  does error in method_missing if wrong number of params
Code gen: alias
  invokes methods on empty array of recursive alias (2)  invokes methods on empty array of recursive alias (2)  invokes methods on empty array of recursive alias (2)  invokes methods on empty array of recursive alias (2)  invokes methods on empty array of recursive alias (2)  invokes methods on empty array of recursive alias (2)  invokes methods on empty array of recursive alias (2)  invokes methods on empty array of recursive alias (2)  invokes methods on empty array of recursive alias (2)
  invokes methods on empty array of recursive alias (2)
  invokes methods on empty array of recursive alias (3)  invokes methods on empty array of recursive alias (3)  invokes methods on empty array of recursive alias (3)  invokes methods on empty array of recursive alias (3)  invokes methods on empty array of recursive alias (3)  invokes methods on empty array of recursive alias (3)  invokes methods on empty array of recursive alias (3)  invokes methods on empty array of recursive alias (3)  invokes methods on empty array of recursive alias (3)
  invokes methods on empty array of recursive alias (3)
  codegens cast to alias that includes bool
  codegens cast to alias that includes bool
  overloads alias against generic (1) (#3261)
  overloads alias against generic (1) (#3261)
  doesn't crash on cast to as recursive alias (#639)
  doesn't crash on cast to as recursive alias (#639)
  casts to recursive alias  casts to recursive alias  casts to recursive alias  casts to recursive alias  casts to recursive alias  casts to recursive alias  casts to recursive alias  casts to recursive alias  casts to recursive alias
  casts to recursive alias
  invokes methods on empty array of recursive alias (1)  invokes methods on empty array of recursive alias (1)  invokes methods on empty array of recursive alias (1)  invokes methods on empty array of recursive alias (1)  invokes methods on empty array of recursive alias (1)  invokes methods on empty array of recursive alias (1)  invokes methods on empty array of recursive alias (1)  invokes methods on empty array of recursive alias (1)  invokes methods on empty array of recursive alias (1)
  invokes methods on empty array of recursive alias (1)
  casts to recursive alias
  casts to recursive alias
  doesn't break with alias for link attributes
  doesn't break with alias for link attributes
  lazily solves aliases (#1346)
  lazily solves aliases (#1346)
  overloads alias against generic (2) (#3261)
  overloads alias against generic (2) (#3261)
Semantic: fun
  errors if defining class inside fun through macro (#6874)
  errors if defining class inside fun through macro (#6874)
Code gen: var
  codegens bug with var, while, if, break and ssa
  codegens bug with var, while, if, break and ssa
  works with typeof with assignment (#828)
  works with typeof with assignment (#828)
  codegens assignment that can never be reached
  codegens assignment that can never be reached
  codegens ivar assignment when not-nil type filter applies
  codegens ivar assignment when not-nil type filter applies
  codegens bug with union of int, nil and string (1): assigning nil to union must fill all zeros
  codegens bug with union of int, nil and string (1): assigning nil to union must fill all zeros
  codegens bug with union of int, nil and string (2): assigning nil to union must fill all zeros
  codegens bug with union of int, nil and string (2): assigning nil to union must fill all zeros
  codegens bug with instance vars and ssa
  codegens bug with instance vars and ssa
  codegens var
  codegens var
  codegens var with type declaration
  codegens var with type declaration
  assigns to underscore
  assigns to underscore
Semantic: require
  file not found
    require
    require
    relative wildcard
    relative wildcard
    wildcard
    wildcard
    relative require
    relative require
Code gen: ssa
  codegens a var that is declared in a block (1)
  codegens a var that is declared in a block (1)
  codegens ssa bug with if/else on var
  codegens ssa bug with if/else on var
  codegens a redefined var
  codegens a redefined var
  codegens declaration of var inside then when false
  codegens declaration of var inside then when false
  codegens declaration of var inside then when true
  codegens declaration of var inside then when true
  codegens a var that is re-assigned in a block (1)
  codegens a var that is re-assigned in a block (1)
  codegens ssa bug (2)
  codegens ssa bug (2)
  codegens ssa bug (1)
  codegens ssa bug (1)
  codegens a var that is declared in a block (2)
  codegens a var that is declared in a block (2)
  codegens a redefined var inside method with argument
  codegens a redefined var inside method with argument
  codegens a redefined var inside method
  codegens a redefined var inside method
  codegens a var that is re-assigned in a block (2)
  codegens a var that is re-assigned in a block (2)
  codegens a var that is re-assigned in a block
  codegens a var that is re-assigned in a block
Normalize: block
  normalizes unpacking with underscore
  normalizes unpacking with underscore
  normalizes unpacking with splat
  normalizes unpacking with splat
  normalizes unpacking with multiple body expressions
  normalizes unpacking with multiple body expressions
  normalizes unpacking with single expression body
  normalizes unpacking with single expression body
  normalizes multiple nested unpackings
  normalizes multiple nested unpackings
  normalizes unpacking with empty body
  normalizes unpacking with empty body
  normalizes nested unpacking
  normalizes nested unpacking
Semantic: private
  finds private macro in same file
  finds private macro in same file
  doesn't find private alias in another file
  doesn't find private alias in another file
  can use types in private type
  can use types in private type
  gives private constant error in macro
  gives private constant error in macro
  doesn't find private macro in another file
  doesn't find private macro in another file
  doesn't find private enum from outside namespace, long name (#8831)
  doesn't find private enum from outside namespace, long name (#8831)
  doesn't define incorrect type in top-level namespace (#13511)
  doesn't define incorrect type in top-level namespace (#13511)
  doesn't find private def defined in macro in another file (#7681)
  doesn't find private def defined in macro in another file (#7681)
  doesn't define incorrect type in top-level namespace (#13511)
  doesn't define incorrect type in top-level namespace (#13511)
  finds private def in same file
  finds private def in same file
  finds private type in same file
  finds private type in same file
  doesn't find private class defined through macro (#8715)
  doesn't find private class defined through macro (#8715)
  doesn't find private class from outside namespace, long name (#8831)
  doesn't find private class from outside namespace, long name (#8831)
  doesn't inherit visibility from class node in macro hook (#8794)
  doesn't inherit visibility from class node in macro hook (#8794)
  find module private macro inside a module, which is inherited by the module
  find module private macro inside a module, which is inherited by the module
  find module private macro inside the module
  find module private macro inside the module
  doesn't find private class from outside namespace
  doesn't find private class from outside namespace
  doesn't find private constant in another file (#7850)
  doesn't find private constant in another file (#7850)
  doesn't define private constant with global type name
  doesn't define private constant with global type name
  doesn't find private alias from outside namespace, long name (#8831)
  doesn't find private alias from outside namespace, long name (#8831)
  doesn't define incorrect type in top-level namespace (#13511)
  doesn't define incorrect type in top-level namespace (#13511)
  doesn't find module private macro outside the module
  doesn't find module private macro outside the module
  doesn't define private class with global type name
  doesn't define private class with global type name
  doesn't find private enum from outside namespace
  doesn't find private enum from outside namespace
  doesn't find private macro defined through macro (#8715)
  doesn't find private macro defined through macro (#8715)
  doesn't define incorrect type in top-level namespace (#13511)
  doesn't define incorrect type in top-level namespace (#13511)
  doesn't define private alias with global type name
  doesn't define private alias with global type name
  types private def correctly
  types private def correctly
  doesn't define private module with global type name
  doesn't define private module with global type name
  doesn't find private module from outside namespace, long name (#8831)
  doesn't find private module from outside namespace, long name (#8831)
  can use instance var initializer in private type
  can use instance var initializer in private type
  doesn't define private lib with global type name
  doesn't define private lib with global type name
  finds private type from inside namespace in subclass
  finds private type from inside namespace in subclass
  doesn't find private thing defined through recursive macro (#8715)
  doesn't find private thing defined through recursive macro (#8715)
  finds private class in macro expansion
  finds private class in macro expansion
  doesn't find private lib from outside namespace
  doesn't find private lib from outside namespace
  doesn't define incorrect type in top-level namespace (#13511)
  doesn't define incorrect type in top-level namespace (#13511)
  finds private macro in same file, invoking from another macro (#1265)
  finds private macro in same file, invoking from another macro (#1265)
  finds private def when invoking from inside macro (#2082)
  finds private def when invoking from inside macro (#2082)
  doesn't find private def in another file
  doesn't find private def in another file
  finds private type from inside namespace
  finds private type from inside namespace
  finds private def in same file that invokes another def
  finds private def in same file that invokes another def
  doesn't find private module from outside namespace
  doesn't find private module from outside namespace
  doesn't find private class in another file
  doesn't find private class in another file
  doesn't find private constant from outside namespace, long name (#8831)
  doesn't find private constant from outside namespace, long name (#8831)
  doesn't find private alias from outside namespace
  doesn't find private alias from outside namespace
  doesn't define private enum with global type name
  doesn't define private enum with global type name
  doesn't find private lib from outside namespace, long name (#8831)
  doesn't find private lib from outside namespace, long name (#8831)
  doesn't find private module defined through macro (#8715)
  doesn't find private module defined through macro (#8715)
  doesn't define incorrect type in top-level namespace (#13511)
  doesn't define incorrect type in top-level namespace (#13511)
  can use class var initializer in private type
  can use class var initializer in private type
  doesn't find private constant from outside namespace
  doesn't find private constant from outside namespace
Init invocation
  errors if files will be overwritten by a generated file
  errors if files will be overwritten by a generated file
  prints error if a file is already present
  prints error if a file is already present
  honors the custom set directory name
  honors the custom set directory name
  doesn't error when asked to skip existing files
  doesn't error when asked to skip existing files
  doesn't error if files will be overwritten by a generated file and --force is used
  doesn't error if files will be overwritten by a generated file and --force is used
  produces valid yaml file
  produces valid yaml file
Semantic: initialize
  doesn't type instance var as nilable if out
  doesn't type instance var as nilable if out
  doesn't type instance var as nilable if not used in method call
  doesn't type instance var as nilable if not used in method call
  doesn't type instance var as nilable if used after method call that doesn't read var
  doesn't type instance var as nilable if used after method call that doesn't read var
  marks instance variable as nilable in initialize if using self in method
  marks instance variable as nilable in initialize if using self in method
  types instance var as nilable if not always assigned
  types instance var as nilable if not always assigned
  marks instance variable as nilable when using self in super
  marks instance variable as nilable when using self in super
  finishes when analyzing recursive calls
  finishes when analyzing recursive calls
  types instance var as nilable if assigned in block
  types instance var as nilable if assigned in block
  types instance var as non-nilable if calls super and super defines it, with one level of indirection
  types instance var as non-nilable if calls super and super defines it, with one level of indirection
  doesn't type ivar having initializer as nilable even if it is used before assigned inside initialize (#5112)
  doesn't type ivar having initializer as nilable even if it is used before assigned inside initialize (#5112)
  doesn't type ivar as nilable if super call present and parent has already typed ivar (#4764)
  doesn't type ivar as nilable if super call present and parent has already typed ivar (#4764)
  types instance var as nilable if used before assignment
  types instance var as nilable if used before assignment
  types initializer of recursive generic type
  types initializer of recursive generic type
  doesn't type instance var as nilable if assigned before method call
  doesn't type instance var as nilable if assigned before method call
  types instance vars as nilable if doesn't invoke super with default arguments
  types instance vars as nilable if doesn't invoke super with default arguments
  types instance var as non-nilable if calls super and super defines it
  types instance var as non-nilable if calls super and super defines it
  doesn't type instance var as nilable if used after method call inside typeof
  doesn't type instance var as nilable if used after method call inside typeof
  doesn't type instance var as nilable if used after global method call
  doesn't type instance var as nilable if used after global method call
  doesn't type instance var as nilable if used after method call that assigns var
  doesn't type instance var as nilable if used after method call that assigns var
  marks instance variable as nilable in initialize if using self
  marks instance variable as nilable in initialize if using self
  types instance var as nilable if used after method call that reads var (2)
  types instance var as nilable if used after method call that reads var (2)
  doesn't mark instance variable as nilable when using self.class
  doesn't mark instance variable as nilable when using self.class
  types instance var as nilable if used after method call that reads var through other calls
  types instance var as nilable if used after method call that reads var through other calls
  checks instance vars of included modules
  checks instance vars of included modules
  types initializer of generic type after instantiated
  types initializer of generic type after instantiated
  types instance var as not-nilable if assigned in block but previously assigned
  types instance var as not-nilable if assigned in block but previously assigned
  marks instance variable as nilable in initialize if assigning self
  marks instance variable as nilable in initialize if assigning self
  types instance vars as nilable if doesn't invoke super in initialize
  types instance vars as nilable if doesn't invoke super in initialize
  doesn't mark instance variable as nilable when using self.class in method
  doesn't mark instance variable as nilable when using self.class in method
  types instance var as nilable if used after method call that reads var
  types instance var as nilable if used after method call that reads var
  errors on default new when using named arguments (#2245)
  errors on default new when using named arguments (#2245)
  types instance vars as nilable if doesn't invoke super in initialize with deep subclass
  types instance vars as nilable if doesn't invoke super in initialize with deep subclass
  errors if found matches for initialize but doesn't cover all (bug #204)
  errors if found matches for initialize but doesn't cover all (bug #204)
  types instance var as nilable if used in first of two method calls
  types instance var as nilable if used in first of two method calls
Semantic: metaclass
  types generic module metaclass
  types generic module metaclass
  types Object class
  types Object class
  can't reopen as struct
  can't reopen as struct
  types Object and Class metaclasses
  types Object and Class metaclasses
  types metaclass superclass
  types metaclass superclass
  can't reopen as module
  can't reopen as module
  types generic instance metaclass superclass
  types generic instance metaclass superclass
  subtyping relations between metaclasses
    non-generic classes
    non-generic classes
    non-generic modules
    non-generic modules
    generic modules (2)
    generic modules (2)
    generic classes (1)
    generic classes (1)
    generic modules (1)
    generic modules (1)
    generic classes (3)
    generic classes (3)
    generic modules (3)
    generic modules (3)
    virtual metaclass type with virtual type (#12628)
    virtual metaclass type with virtual type (#12628)
    generic classes (2)
    generic classes (2)
  types Class class
  types Class class
  types generic class metaclass
  types generic class metaclass
  types generic metaclass superclass
  types generic metaclass superclass
  types Reference metaclass
  types Reference metaclass
Semantic: is_a?
  checks simple type with union
  checks simple type with union
  restricts type inside if scope 1
  restricts type inside if scope 1
  does is_a? from virtual metaclass to generic metaclass (#12302)
  does is_a? from virtual metaclass to generic metaclass (#12302)
  restricts other types inside if else
  restricts other types inside if else
  restricts type in else but lazily
  restricts type in else but lazily
  doesn't fail on untyped is_a (#10317)
  doesn't fail on untyped is_a (#10317)
  types if is_a? preceded by return if (preserves nops)
  types if is_a? preceded by return if (preserves nops)
  applies filter inside block
  applies filter inside block
  is bool
  is bool
  restricts type inside if else when used with module type
  restricts type inside if else when used with module type
  restricts type inside if scope 3
  restricts type inside if scope 3
  restricts type inside if scope 2
  restricts type inside if scope 2
  restricts in assignment
  restricts in assignment
  applies negative condition filter if then is no return
  applies negative condition filter if then is no return
  checks union with union
  checks union with union
.system
  failing command
  failing command
  successful command
  successful command
sh: line 1: commanddoesnotexist: command not found
  command does not exist
  command does not exist
  successful command with output
  successful command with output
Semantic: array
  types array literal of int with splats
  types array literal of int with splats
  types non-empty typed array literal of int
  types non-empty typed array literal of int
  types array literal of union
  types array literal of union
  types non-empty typed array literal of int
  types non-empty typed array literal of int
  types array literal size correctly
  types array literal size correctly
  types empty typed array literal of int32
  types empty typed array literal of int32
  assignment in array literal works (#3195)
  assignment in array literal works (#3195)
  types array literal with splats (2)
  types array literal with splats (2)
  types array literal with splats
  types array literal with splats
  types array literal of int
  types array literal of int
Code gen: proc
  codegens proc to implicit self in constant (#647)  codegens proc to implicit self in constant (#647)  codegens proc to implicit self in constant (#647)  codegens proc to implicit self in constant (#647)  codegens proc to implicit self in constant (#647)  codegens proc to implicit self in constant (#647)  codegens proc to implicit self in constant (#647)  codegens proc to implicit self in constant (#647)  codegens proc to implicit self in constant (#647)
  codegens proc to implicit self in constant (#647)
  builds proc type from fun
  builds proc type from fun
  call proc pointer of instance method that raises  call proc pointer of instance method that raises  call proc pointer of instance method that raises  call proc pointer of instance method that raises  call proc pointer of instance method that raises  call proc pointer of instance method that raises  call proc pointer of instance method that raises  call proc pointer of instance method that raises  call proc pointer of instance method that raises
  call proc pointer of instance method that raises
  accesses T in macros as a TupleLiteral
  accesses T in macros as a TupleLiteral
  doesn't crash when taking a proc pointer that multidispatches on the top-level (#3822)
  doesn't crash when taking a proc pointer that multidispatches on the top-level (#3822)
  call proc pointer of instance method
  call proc pointer of instance method
  codegens nilable proc type (2)
  codegens nilable proc type (2)
  calls proc pointer with union (passed by value) arg
  calls proc pointer with union (passed by value) arg
  call simple proc literal with return
  call simple proc literal with return
  saves receiver value of proc pointer `->var.foo`
  saves receiver value of proc pointer `->var.foo`
  saves receiver value of proc pointer `->@ivar.foo`
  saves receiver value of proc pointer `->@ivar.foo`
  codegens proc with another var
  codegens proc with another var
  passes proc as &->expr to method that yields
  passes proc as &->expr to method that yields
  call simple proc literal
  call simple proc literal
  allows using proc arg name shadowing local variable
  allows using proc arg name shadowing local variable
  allows proc type of enum type with base type
  allows proc type of enum type with base type
  allows invoking a function with a subtype when defined as block spec
  allows invoking a function with a subtype when defined as block spec
  codegens proc that references struct (bug)
  codegens proc that references struct (bug)
  allows invoking proc literal with smaller type
  allows invoking proc literal with smaller type
  takes pointerof function pointer
  takes pointerof function pointer
  calls function pointer  calls function pointer  calls function pointer  calls function pointer  calls function pointer  calls function pointer  calls function pointer  calls function pointer  calls function pointer
  calls function pointer
  allows proc type of enum type
  allows proc type of enum type
  codegens proc with union type that returns itself
  codegens proc with union type that returns itself
  can assign proc that returns anything to proc that returns nil, using union type (#3655)
  can assign proc that returns anything to proc that returns nil, using union type (#3655)
  codegens proc that accepts array of type  codegens proc that accepts array of type  codegens proc that accepts array of type  codegens proc that accepts array of type  codegens proc that accepts array of type  codegens proc that accepts array of type  codegens proc that accepts array of type  codegens proc that accepts array of type  codegens proc that accepts array of type
  codegens proc that accepts array of type
  doesn't crash when taking a proc pointer that multidispatches on a module (#3822)
  doesn't crash when taking a proc pointer that multidispatches on a module (#3822)
  codegens nilable proc type dispatch (1)
  codegens nilable proc type dispatch (1)
  codegens proc literal hard type inference (1)  codegens proc literal hard type inference (1)  codegens proc literal hard type inference (1)  codegens proc literal hard type inference (1)  codegens proc literal hard type inference (1)  codegens proc literal hard type inference (1)  codegens proc literal hard type inference (1)  codegens proc literal hard type inference (1)  codegens proc literal hard type inference (1)
  codegens proc literal hard type inference (1)
  codegens proc of generic type
  codegens proc of generic type
  doesn't crash on #2196
  doesn't crash on #2196
  builds nilable proc type from fun
  builds nilable proc type from fun
  call proc literal with arguments
  call proc literal with arguments
  executes proc pointer on primitive
  executes proc pointer on primitive
  codegens nilable proc type (1)
  codegens nilable proc type (1)
  makes sure that proc pointer is transformed after type inference  makes sure that proc pointer is transformed after type inference  makes sure that proc pointer is transformed after type inference  makes sure that proc pointer is transformed after type inference  makes sure that proc pointer is transformed after type inference  makes sure that proc pointer is transformed after type inference  makes sure that proc pointer is transformed after type inference  makes sure that proc pointer is transformed after type inference  makes sure that proc pointer is transformed after type inference
  makes sure that proc pointer is transformed after type inference
  closures var on ->var.call (#8584)
  closures var on ->var.call (#8584)
  uses alias of proc with virtual type (#1347)  uses alias of proc with virtual type (#1347)  uses alias of proc with virtual type (#1347)  uses alias of proc with virtual type (#1347)  uses alias of proc with virtual type (#1347)  uses alias of proc with virtual type (#1347)  uses alias of proc with virtual type (#1347)  uses alias of proc with virtual type (#1347)  uses alias of proc with virtual type (#1347)
  uses alias of proc with virtual type (#1347)
  codegens proc that accepts a union and is called with a single type
  codegens proc that accepts a union and is called with a single type
  allows redefining fun
  allows redefining fun
  raises if returning closure from top-level fun (#14691)  raises if returning closure from top-level fun (#14691)  raises if returning closure from top-level fun (#14691)  raises if returning closure from top-level fun (#14691)  raises if returning closure from top-level fun (#14691)  raises if returning closure from top-level fun (#14691)  raises if returning closure from top-level fun (#14691)  raises if returning closure from top-level fun (#14691)  raises if returning closure from top-level fun (#14691)
  raises if returning closure from top-level fun (#14691)
  mangles strings in such a way they don't conflict with funs (#1006)
  mangles strings in such a way they don't conflict with funs (#1006)
  gets proc pointer using virtual type (#1337)
  gets proc pointer using virtual type (#1337)
  returns ProcPointer inside top-level fun (#14691)
  returns ProcPointer inside top-level fun (#14691)
  casts from function pointer to proc
  casts from function pointer to proc
  assigns nil and proc to nilable proc type
  assigns nil and proc to nilable proc type
  call proc literal with return type
  call proc literal with return type
  codegens proc that returns a virtual type
  codegens proc that returns a virtual type
  passes block to another function (bug: mangling of both methods was the same)
  passes block to another function (bug: mangling of both methods was the same)
  call proc pointer with args
  call proc pointer with args
  codegens captured block that returns tuple
  codegens captured block that returns tuple
  codegens nilable proc type dispatch (2)
  codegens nilable proc type dispatch (2)
  codegens proc in instance var initialize (#3016)
  codegens proc in instance var initialize (#3016)
  binds function pointer to associated call
  binds function pointer to associated call
  allows invoking a function with a subtype
  allows invoking a function with a subtype
  codegens issue with missing byval in proc literal inside struct  codegens issue with missing byval in proc literal inside struct  codegens issue with missing byval in proc literal inside struct  codegens issue with missing byval in proc literal inside struct  codegens issue with missing byval in proc literal inside struct  codegens issue with missing byval in proc literal inside struct  codegens issue with missing byval in proc literal inside struct  codegens issue with missing byval in proc literal inside struct  codegens issue with missing byval in proc literal inside struct
  codegens issue with missing byval in proc literal inside struct
  automatically casts proc that returns something to proc that returns void
  automatically casts proc that returns something to proc that returns void
  allows proc pointer where self is a class
  allows proc pointer where self is a class
  call proc pointer
  call proc pointer
  saves receiver value of proc pointer `->@@cvar.foo`  saves receiver value of proc pointer `->@@cvar.foo`  saves receiver value of proc pointer `->@@cvar.foo`  saves receiver value of proc pointer `->@@cvar.foo`  saves receiver value of proc pointer `->@@cvar.foo`  saves receiver value of proc pointer `->@@cvar.foo`  saves receiver value of proc pointer `->@@cvar.foo`  saves receiver value of proc pointer `->@@cvar.foo`  saves receiver value of proc pointer `->@@cvar.foo`
  saves receiver value of proc pointer `->@@cvar.foo`
  doesn't crash when taking a proc pointer to a virtual type (#9823)
  doesn't crash when taking a proc pointer to a virtual type (#9823)
  does new on proc type
  does new on proc type
  gets proc to lib fun (#504)
  gets proc to lib fun (#504)
  can assign proc that returns anything to proc that returns nil (#3655)
  can assign proc that returns anything to proc that returns nil (#3655)
  can pass Proc(T) to Proc(Nil) in type restriction (#8964)
  can pass Proc(T) to Proc(Nil) in type restriction (#8964)
  returns proc as function pointer inside top-level fun (#14691)
  returns proc as function pointer inside top-level fun (#14691)
  allows passing proc type to C automatically  allows passing proc type to C automatically  allows passing proc type to C automatically  allows passing proc type to C automatically  allows passing proc type to C automatically  allows passing proc type to C automatically  allows passing proc type to C automatically  allows passing proc type to C automatically  allows passing proc type to C automatically
  allows passing proc type to C automatically
Lexer string
  lexes double numeral
  lexes double numeral
  says syntax error on "\"\\uD800\""
  says syntax error on "\"\\uD800\""
  raises when identifier doesn't start with a letter or number
  raises when identifier doesn't start with a letter or number
  lexes string with unicode codepoint in curly multiple times
  lexes string with unicode codepoint in curly multiple times
  lexes heredoc with spaces before close tag
  lexes heredoc with spaces before close tag
  says syntax error on "\"\\u{}\""
  says syntax error on "\"\\u{}\""
  lexes interpolations in heredocs
  lexes interpolations in heredocs
  says syntax error on "\"\\u{DFFF}\""
  says syntax error on "\"\\u{DFFF}\""
  lexes simple string with nested %(
  lexes simple string with nested %(
  lexes string with slash
  lexes string with slash
  lexes string with only newline
  lexes string with only newline
  lexes regex string with escaped slash with %r(...)
  lexes regex string with escaped slash with %r(...)
  lexes regex string with escaped space with /.../
  lexes regex string with escaped space with /.../
  lexes simple string with nested %{
  lexes simple string with nested %{
  says syntax error on "\"\\u{D800}\""
  says syntax error on "\"\\u{D800}\""
  lexes string with interpolation
  lexes string with interpolation
  lexes string with slash t
  lexes string with slash t
  lexes string with newline
  lexes string with newline
  assigns correct location after heredoc (#346)
  assigns correct location after heredoc (#346)
  lexes simple string
  lexes simple string
  lexes string with unicode codepoint
  lexes string with unicode codepoint
  lexes slash with no-escape char
  lexes slash with no-escape char
  lexes simple string with %(
  lexes simple string with %(
  says syntax error on "\"\\uDFFF\""
  says syntax error on "\"\\uDFFF\""
  says syntax error on "\"\\u{110000}\""
  says syntax error on "\"\\u{110000}\""
  lexes string with backslash
  lexes string with backslash
  lexes heredoc
  lexes heredoc
  lexes simple string with nested %<
  lexes simple string with nested %<
  lexes string with interpolation with double numeral
  lexes string with interpolation with double numeral
  lexes regex string with escaped slash with /.../
  lexes regex string with escaped slash with /.../
  lexes heredoc with empty line
  lexes heredoc with empty line
  raises on unexpected EOF while lexing heredoc
  raises on unexpected EOF while lexing heredoc
  lexes heredoc with \r\n
  lexes heredoc with \r\n
  lexes backtick string
  lexes backtick string
  lexes string with slash quote
  lexes string with slash quote
  lexes regex string with special chars with /.../
  lexes regex string with special chars with /.../
  raises on unterminated heredoc
  raises on unterminated heredoc
  lexes simple string with nested %[
  lexes simple string with nested %[
  lexes string with numeral
  lexes string with numeral
  lexes regex string
  lexes regex string
  lexes string with unicode codepoint in curly
  lexes string with unicode codepoint in curly
  lexes regex string with escaped space with %r(...)
  lexes regex string with escaped space with %r(...)
  lexes simple string with %|
  lexes simple string with %|
  lexes regex string with special chars with %r(...)
  lexes regex string with special chars with %r(...)
  lexes string with literal newline
  lexes string with literal newline
  says syntax error on "\"\\uFEDZ\""
  says syntax error on "\"\\uFEDZ\""
Lexer string array
  using [ as delimiter
    lexes simple string array
    lexes simple string array
  using | as delimiter
    lexes simple string array
    lexes simple string array
  lexes simple string array
  lexes simple string array
  using < as delimiter
    lexes simple string array
    lexes simple string array
  using { as delimiter
    lexes simple string array
    lexes simple string array
  lexes string array with new line gives correct column for next token
  lexes string array with new line gives correct column for next token
  lexes string array with new line
  lexes string array with new line
Normalize: unless
  normalizes unless
  normalizes unless
Code gen: C ABI
  passes struct between 64 and 128 bits (for real)  passes struct between 64 and 128 bits (for real)  passes struct between 64 and 128 bits (for real)  passes struct between 64 and 128 bits (for real)  passes struct between 64 and 128 bits (for real)  passes struct between 64 and 128 bits (for real)  passes struct between 64 and 128 bits (for real)  passes struct between 64 and 128 bits (for real)  passes struct between 64 and 128 bits (for real)
  passes struct between 64 and 128 bits (for real)
  promotes variadic args (float to double)  promotes variadic args (float to double)  promotes variadic args (float to double)  promotes variadic args (float to double)  promotes variadic args (float to double)  promotes variadic args (float to double)  promotes variadic args (float to double)  promotes variadic args (float to double)  promotes variadic args (float to double)
  promotes variadic args (float to double)
  returns struct less than 64 bits (for real)  returns struct less than 64 bits (for real)  returns struct less than 64 bits (for real)  returns struct less than 64 bits (for real)  returns struct less than 64 bits (for real)  returns struct less than 64 bits (for real)  returns struct less than 64 bits (for real)  returns struct less than 64 bits (for real)  returns struct less than 64 bits (for real)
  returns struct less than 64 bits (for real)
  promotes variadic args (i16 to i32) (#9742)  promotes variadic args (i16 to i32) (#9742)  promotes variadic args (i16 to i32) (#9742)  promotes variadic args (i16 to i32) (#9742)  promotes variadic args (i16 to i32) (#9742)  promotes variadic args (i16 to i32) (#9742)  promotes variadic args (i16 to i32) (#9742)  promotes variadic args (i16 to i32) (#9742)  promotes variadic args (i16 to i32) (#9742)
  promotes variadic args (i16 to i32) (#9742)
  passes struct bigger than 128 bits (for real)  passes struct bigger than 128 bits (for real)  passes struct bigger than 128 bits (for real)  passes struct bigger than 128 bits (for real)  passes struct bigger than 128 bits (for real)  passes struct bigger than 128 bits (for real)  passes struct bigger than 128 bits (for real)  passes struct bigger than 128 bits (for real)  passes struct bigger than 128 bits (for real)
  passes struct bigger than 128 bits (for real)
  passes struct less than 64 bits (for real)  passes struct less than 64 bits (for real)  passes struct less than 64 bits (for real)  passes struct less than 64 bits (for real)  passes struct less than 64 bits (for real)  passes struct less than 64 bits (for real)  passes struct less than 64 bits (for real)  passes struct less than 64 bits (for real)  passes struct less than 64 bits (for real)
  passes struct less than 64 bits (for real)
  passes struct after many other args when returning a large struct (sret return type)  passes struct after many other args when returning a large struct (sret return type)  passes struct after many other args when returning a large struct (sret return type)  passes struct after many other args when returning a large struct (sret return type)  passes struct after many other args when returning a large struct (sret return type)  passes struct after many other args when returning a large struct (sret return type)  passes struct after many other args when returning a large struct (sret return type)  passes struct after many other args when returning a large struct (sret return type)  passes struct after many other args when returning a large struct (sret return type)
  passes struct after many other args when returning a large struct (sret return type)
  accepts large struct in a callback (for real)  accepts large struct in a callback (for real)  accepts large struct in a callback (for real)  accepts large struct in a callback (for real)  accepts large struct in a callback (for real)  accepts large struct in a callback (for real)  accepts large struct in a callback (for real)  accepts large struct in a callback (for real)  accepts large struct in a callback (for real)
  accepts large struct in a callback (for real)
  returns struct bigger than 128 bits with sret  returns struct bigger than 128 bits with sret  returns struct bigger than 128 bits with sret  returns struct bigger than 128 bits with sret  returns struct bigger than 128 bits with sret  returns struct bigger than 128 bits with sret  returns struct bigger than 128 bits with sret  returns struct bigger than 128 bits with sret  returns struct bigger than 128 bits with sret
  returns struct bigger than 128 bits with sret
  promotes variadic args (u16 to i32) (#9742)  promotes variadic args (u16 to i32) (#9742)  promotes variadic args (u16 to i32) (#9742)  promotes variadic args (u16 to i32) (#9742)  promotes variadic args (u16 to i32) (#9742)  promotes variadic args (u16 to i32) (#9742)  promotes variadic args (u16 to i32) (#9742)  promotes variadic args (u16 to i32) (#9742)  promotes variadic args (u16 to i32) (#9742)
  promotes variadic args (u16 to i32) (#9742)
  passes struct after many other args (for real)  passes struct after many other args (for real)  passes struct after many other args (for real)  passes struct after many other args (for real)  passes struct after many other args (for real)  passes struct after many other args (for real)  passes struct after many other args (for real)  passes struct after many other args (for real)  passes struct after many other args (for real)
  passes struct after many other args (for real)
  promotes variadic args (i8 to i32) (#9742)  promotes variadic args (i8 to i32) (#9742)  promotes variadic args (i8 to i32) (#9742)  promotes variadic args (i8 to i32) (#9742)  promotes variadic args (i8 to i32) (#9742)  promotes variadic args (i8 to i32) (#9742)  promotes variadic args (i8 to i32) (#9742)  promotes variadic args (i8 to i32) (#9742)  promotes variadic args (i8 to i32) (#9742)
  promotes variadic args (i8 to i32) (#9742)
  promotes variadic args (u8 to i32) (#9742)  promotes variadic args (u8 to i32) (#9742)  promotes variadic args (u8 to i32) (#9742)  promotes variadic args (u8 to i32) (#9742)  promotes variadic args (u8 to i32) (#9742)  promotes variadic args (u8 to i32) (#9742)  promotes variadic args (u8 to i32) (#9742)  promotes variadic args (u8 to i32) (#9742)  promotes variadic args (u8 to i32) (#9742)
  promotes variadic args (u8 to i32) (#9742)
  returns struct between 64 and 128 bits (for real)  returns struct between 64 and 128 bits (for real)  returns struct between 64 and 128 bits (for real)  returns struct between 64 and 128 bits (for real)  returns struct between 64 and 128 bits (for real)  returns struct between 64 and 128 bits (for real)  returns struct between 64 and 128 bits (for real)  returns struct between 64 and 128 bits (for real)  returns struct between 64 and 128 bits (for real)
  returns struct between 64 and 128 bits (for real)
Code gen: class
  reads a virtual type instance var
  reads a virtual type instance var
  codegens class method
  codegens class method
  calls class method without self
  calls class method without self
  assigns type to reference union type
  assigns type to reference union type
  resolves type declaration when accessing instance var (#348)
  resolves type declaration when accessing instance var (#348)
  never considers read instance var as closure (#12181)
  never considers read instance var as closure (#12181)
  doesn't crash on abstract class never instantiated (#2840)
  doesn't crash on abstract class never instantiated (#2840)
  works with array in variable initializer in non-generic type (#855)  works with array in variable initializer in non-generic type (#855)  works with array in variable initializer in non-generic type (#855)  works with array in variable initializer in non-generic type (#855)  works with array in variable initializer in non-generic type (#855)  works with array in variable initializer in non-generic type (#855)  works with array in variable initializer in non-generic type (#855)  works with array in variable initializer in non-generic type (#855)  works with array in variable initializer in non-generic type (#855)
  works with array in variable initializer in non-generic type (#855)
  codegens method of class union including Int (#1476)
  codegens method of class union including Int (#1476)
  allows fixing an instance variable's type
  allows fixing an instance variable's type
  doesn't crash on #1216 with pointerof
  doesn't crash on #1216 with pointerof
  codegens new which calls initialize
  codegens new which calls initialize
  invokes class method inside instance method (#1119)
  invokes class method inside instance method (#1119)
  does to_s for virtual metaclass type (3)  does to_s for virtual metaclass type (3)  does to_s for virtual metaclass type (3)  does to_s for virtual metaclass type (3)  does to_s for virtual metaclass type (3)  does to_s for virtual metaclass type (3)  does to_s for virtual metaclass type (3)  does to_s for virtual metaclass type (3)  does to_s for virtual metaclass type (3)
  does to_s for virtual metaclass type (3)
  doesn't crash on #1216
  doesn't crash on #1216
  runs instance variable initializer at the class level
  runs instance variable initializer at the class level
  does to_s for virtual metaclass type (2)  does to_s for virtual metaclass type (2)  does to_s for virtual metaclass type (2)  does to_s for virtual metaclass type (2)  does to_s for virtual metaclass type (2)  does to_s for virtual metaclass type (2)  does to_s for virtual metaclass type (2)  does to_s for virtual metaclass type (2)  does to_s for virtual metaclass type (2)
  does to_s for virtual metaclass type (2)
  codegens assignment of generic metaclasses (2) (#10394)
  codegens assignment of generic metaclasses (2) (#10394)
  makes .class always be a virtual type even if no subclasses
  makes .class always be a virtual type even if no subclasses
  does to_s for class  does to_s for class  does to_s for class  does to_s for class  does to_s for class  does to_s for class  does to_s for class  does to_s for class  does to_s for class
  does to_s for class
  reads a union type instance var (reference union, first type)
  reads a union type instance var (reference union, first type)
  codegens virtual metaclass union bug (#2597)
  codegens virtual metaclass union bug (#2597)
  runs instance variable initializer at the class level, for generic type
  runs instance variable initializer at the class level, for generic type
  codegens virtual generic class instance metaclass (#3819)
  codegens virtual generic class instance metaclass (#3819)
  transfers initializer from module to generic class
  transfers initializer from module to generic class
  calls method on Class class
  calls method on Class class
  codegens singleton (#718)
  codegens singleton (#718)
  does to_s on class  does to_s on class  does to_s on class  does to_s on class  does to_s on class  does to_s on class  does to_s on class  does to_s on class  does to_s on class
  does to_s on class
  codegens bug #168
  codegens bug #168
  codegens assignment of generic metaclasses (4) (#10394)
  codegens assignment of generic metaclasses (4) (#10394)
  codegens recursive type
  codegens recursive type
  doesn't skip zero initializers (#3272)
  doesn't skip zero initializers (#3272)
  codegens assignment of generic metaclasses, base is non-generic (2) (#10394)
  codegens assignment of generic metaclasses, base is non-generic (2) (#10394)
  doesn't crash if not using undefined instance variable in superclass
  doesn't crash if not using undefined instance variable in superclass
  does to_s for virtual metaclass type (1)  does to_s for virtual metaclass type (1)  does to_s for virtual metaclass type (1)  does to_s for virtual metaclass type (1)  does to_s for virtual metaclass type (1)  does to_s for virtual metaclass type (1)  does to_s for virtual metaclass type (1)  does to_s for virtual metaclass type (1)  does to_s for virtual metaclass type (1)
  does to_s for virtual metaclass type (1)
  codegens call to same instance
  codegens call to same instance
  codegens method call of instance var
  codegens method call of instance var
  codegens instance var
  codegens instance var
  codegens assignment of generic metaclasses (3) (#10394)
  codegens assignment of generic metaclasses (3) (#10394)
  allows using self in class scope
  allows using self in class scope
  gets class of virtual type
  gets class of virtual type
  uses number type var
  uses number type var
  codegens class with recursive tuple to class (#4520)
  codegens class with recursive tuple to class (#4520)
  codegens assignment of generic metaclasses, base is non-generic (1) (#10394)
  codegens assignment of generic metaclasses, base is non-generic (1) (#10394)
  codegens initialize with instance var
  codegens initialize with instance var
  reads other instance var
  reads other instance var
  calls class method without self (2)
  calls class method without self (2)
  codegens virtual call that calls another method
  codegens virtual call that calls another method
  reads a union type instance var (reference union, second type)
  reads a union type instance var (reference union, second type)
  transfers initializer from generic module to generic class
  transfers initializer from generic module to generic class
  builds generic class bug
  builds generic class bug
  codegens method from another method without obj and accesses instance vars
  codegens method from another method without obj and accesses instance vars
  changes instance variable in method (ssa bug)
  changes instance variable in method (ssa bug)
  reads a union type instance var (mixed union, second type)
  reads a union type instance var (mixed union, second type)
  reads a union type instance var (mixed union, first type)
  reads a union type instance var (mixed union, first type)
  codegens virtual method of generic class
  codegens virtual method of generic class
  can assign virtual metaclass to virtual metaclass (#3007)
  can assign virtual metaclass to virtual metaclass (#3007)
  allows using self in class scope  allows using self in class scope  allows using self in class scope  allows using self in class scope  allows using self in class scope  allows using self in class scope  allows using self in class scope  allows using self in class scope  allows using self in class scope
  allows using self in class scope
  doesn't crash on #1216 (reduced)
  doesn't crash on #1216 (reduced)
  codegens assignment of generic metaclasses (1) (#10394)
  codegens assignment of generic metaclasses (1) (#10394)
  transfers initializer from generic module to non-generic class
  transfers initializer from generic module to non-generic class
  runs with nilable instance var
  runs with nilable instance var
  codegens virtual class method
  codegens virtual class method
  doesn't skip false initializers (#3272)
  doesn't skip false initializers (#3272)
  allows initializing var with constant
  allows initializing var with constant
  doesn't crash on instance variable assigned a proc, and never instantiated (#923)
  doesn't crash on instance variable assigned a proc, and never instantiated (#923)
  runs with nil instance var when inheriting
  runs with nil instance var when inheriting
  notifies superclass recursively on inheritance (#576)
  notifies superclass recursively on inheritance (#576)
  works with array in variable initializer in generic type (#855)  works with array in variable initializer in generic type (#855)  works with array in variable initializer in generic type (#855)  works with array in variable initializer in generic type (#855)  works with array in variable initializer in generic type (#855)  works with array in variable initializer in generic type (#855)  works with array in variable initializer in generic type (#855)  works with array in variable initializer in generic type (#855)  works with array in variable initializer in generic type (#855)
  works with array in variable initializer in generic type (#855)
  can use a Main class (#1628)  can use a Main class (#1628)  can use a Main class (#1628)  can use a Main class (#1628)  can use a Main class (#1628)  can use a Main class (#1628)  can use a Main class (#1628)  can use a Main class (#1628)  can use a Main class (#1628)
  can use a Main class (#1628)
Code gen: multi assign
  supports 1 to n assignment, raises if out of bounds (1)  supports 1 to n assignment, raises if out of bounds (1)  supports 1 to n assignment, raises if out of bounds (1)  supports 1 to n assignment, raises if out of bounds (1)  supports 1 to n assignment, raises if out of bounds (1)  supports 1 to n assignment, raises if out of bounds (1)  supports 1 to n assignment, raises if out of bounds (1)  supports 1 to n assignment, raises if out of bounds (1)  supports 1 to n assignment, raises if out of bounds (1)
  supports 1 to n assignment, raises if out of bounds (1)
  without strict_multi_assign
    supports 1 to n assignment
    supports 1 to n assignment
    doesn't raise if value size in 1 to n assignment doesn't match target count    doesn't raise if value size in 1 to n assignment doesn't match target count    doesn't raise if value size in 1 to n assignment doesn't match target count    doesn't raise if value size in 1 to n assignment doesn't match target count    doesn't raise if value size in 1 to n assignment doesn't match target count    doesn't raise if value size in 1 to n assignment doesn't match target count    doesn't raise if value size in 1 to n assignment doesn't match target count    doesn't raise if value size in 1 to n assignment doesn't match target count    doesn't raise if value size in 1 to n assignment doesn't match target count
    doesn't raise if value size in 1 to n assignment doesn't match target count
  supports m to n assignment, with splat on left-hand side (2)
  supports m to n assignment, with splat on left-hand side (2)
  supports 1 to n assignment, raises if out of bounds (2)  supports 1 to n assignment, raises if out of bounds (2)  supports 1 to n assignment, raises if out of bounds (2)  supports 1 to n assignment, raises if out of bounds (2)  supports 1 to n assignment, raises if out of bounds (2)  supports 1 to n assignment, raises if out of bounds (2)  supports 1 to n assignment, raises if out of bounds (2)  supports 1 to n assignment, raises if out of bounds (2)  supports 1 to n assignment, raises if out of bounds (2)
  supports 1 to n assignment, raises if out of bounds (2)
  supports 1 to n assignment, with splat on left-hand side (2)
  supports 1 to n assignment, with splat on left-hand side (2)
  strict_multi_assign
    raises if value size in 1 to n assignment doesn't match target count    raises if value size in 1 to n assignment doesn't match target count    raises if value size in 1 to n assignment doesn't match target count    raises if value size in 1 to n assignment doesn't match target count    raises if value size in 1 to n assignment doesn't match target count    raises if value size in 1 to n assignment doesn't match target count    raises if value size in 1 to n assignment doesn't match target count    raises if value size in 1 to n assignment doesn't match target count    raises if value size in 1 to n assignment doesn't match target count
    raises if value size in 1 to n assignment doesn't match target count
    supports 1 to n assignment    supports 1 to n assignment    supports 1 to n assignment    supports 1 to n assignment    supports 1 to n assignment    supports 1 to n assignment    supports 1 to n assignment    supports 1 to n assignment    supports 1 to n assignment
    supports 1 to n assignment
  supports n to n assignment
  supports n to n assignment
  supports m to n assignment, splat is empty tuple (3)
  supports m to n assignment, splat is empty tuple (3)
  supports 1 to n assignment, splat is empty (1)  supports 1 to n assignment, splat is empty (1)  supports 1 to n assignment, splat is empty (1)  supports 1 to n assignment, splat is empty (1)  supports 1 to n assignment, splat is empty (1)  supports 1 to n assignment, splat is empty (1)  supports 1 to n assignment, splat is empty (1)  supports 1 to n assignment, splat is empty (1)  supports 1 to n assignment, splat is empty (1)
  supports 1 to n assignment, splat is empty (1)
  supports 1 to n assignment, with splat on left-hand side (3)
  supports 1 to n assignment, with splat on left-hand side (3)
  supports m to n assignment, splat is empty tuple (1)
  supports m to n assignment, splat is empty tuple (1)
  supports m to n assignment, with splat on left-hand side (1)
  supports m to n assignment, with splat on left-hand side (1)
  supports 1 to n assignment, with splat on left-hand side (1)  supports 1 to n assignment, with splat on left-hand side (1)  supports 1 to n assignment, with splat on left-hand side (1)  supports 1 to n assignment, with splat on left-hand side (1)  supports 1 to n assignment, with splat on left-hand side (1)  supports 1 to n assignment, with splat on left-hand side (1)  supports 1 to n assignment, with splat on left-hand side (1)  supports 1 to n assignment, with splat on left-hand side (1)  supports 1 to n assignment, with splat on left-hand side (1)
  supports 1 to n assignment, with splat on left-hand side (1)
  supports 1 to n assignment, raises if too short  supports 1 to n assignment, raises if too short  supports 1 to n assignment, raises if too short  supports 1 to n assignment, raises if too short  supports 1 to n assignment, raises if too short  supports 1 to n assignment, raises if too short  supports 1 to n assignment, raises if too short  supports 1 to n assignment, raises if too short  supports 1 to n assignment, raises if too short
  supports 1 to n assignment, raises if too short
  supports 1 to n assignment, splat is empty (3)
  supports 1 to n assignment, splat is empty (3)
  supports m to n assignment, splat is empty tuple (2)
  supports m to n assignment, splat is empty tuple (2)
  supports m to n assignment, with splat on left-hand side (3)
  supports m to n assignment, with splat on left-hand side (3)
  supports 1 to n assignment, splat is empty (2)
  supports 1 to n assignment, splat is empty (2)
Crystal::JSONHierarchyPrinter
  works
  works
Code gen: tuple
  passes empty tuple and empty named tuple to a method (#2852)
  passes empty tuple and empty named tuple to a method (#2852)
  codegens tuple [2]?
  codegens tuple [2]?
  codegens tuple metaclass [0..0]
  codegens tuple metaclass [0..0]
  codegens tuple metaclass [3..2]?
  codegens tuple metaclass [3..2]?
  codegens tuple [0]
  codegens tuple [0]
  codegens tuple union (bug because union size was computed incorrectly)  codegens tuple union (bug because union size was computed incorrectly)  codegens tuple union (bug because union size was computed incorrectly)  codegens tuple union (bug because union size was computed incorrectly)  codegens tuple union (bug because union size was computed incorrectly)  codegens tuple union (bug because union size was computed incorrectly)  codegens tuple union (bug because union size was computed incorrectly)  codegens tuple union (bug because union size was computed incorrectly)  codegens tuple union (bug because union size was computed incorrectly)
  codegens tuple union (bug because union size was computed incorrectly)
  downcasts union to mixed union with mixed tuple types  downcasts union to mixed union with mixed tuple types  downcasts union to mixed union with mixed tuple types  downcasts union to mixed union with mixed tuple types  downcasts union to mixed union with mixed tuple types  downcasts union to mixed union with mixed tuple types  downcasts union to mixed union with mixed tuple types  downcasts union to mixed union with mixed tuple types  downcasts union to mixed union with mixed tuple types
  downcasts union to mixed union with mixed tuple types
  assigns tuple to compatible tuple
  assigns tuple to compatible tuple
  merges two tuple types of same size (1)
  merges two tuple types of same size (1)
  codegens tuple metaclass [2]?
  codegens tuple metaclass [2]?
  codegens tuple [0..1]
  codegens tuple [0..1]
  upcasts tuple inside union to union with compatible tuple
  upcasts tuple inside union to union with compatible tuple
  upcasts tuple union to compatible tuple
  upcasts tuple union to compatible tuple
  assigns tuple union to compatible tuple
  assigns tuple union to compatible tuple
  assigns two same-size tuple types to a same var (#3132)
  assigns two same-size tuple types to a same var (#3132)
  accesses T and creates instance from it
  accesses T and creates instance from it
  codegens tuple [0..2]
  codegens tuple [0..2]
  codegens tuple [0..0]?
  codegens tuple [0..0]?
  codegens tuple [0..1]?
  codegens tuple [0..1]?
  allows tuple covariance
  allows tuple covariance
  allows malloc pointer of tuple
  allows malloc pointer of tuple
  codegens tuple [1] (2)
  codegens tuple [1] (2)
  codegens tuple [2..2]?
  codegens tuple [2..2]?
  codegens tuple class
  codegens tuple class
  codegens tuple metaclass [1]
  codegens tuple metaclass [1]
  assigns tuple inside union to union with compatible tuple
  assigns tuple inside union to union with compatible tuple
  merges two tuple types of same size (2)
  merges two tuple types of same size (2)
  codegens tuple metaclass [0]
  codegens tuple metaclass [0]
  codegens tuple [1..1]
  codegens tuple [1..1]
  codegens tuple [1..0]?
  codegens tuple [1..0]?
  codegens tuple [1]
  codegens tuple [1]
  gets size at compile time
  gets size at compile time
  upcasts tuple inside compatible tuple
  upcasts tuple inside compatible tuple
  provides T as a tuple literal
  provides T as a tuple literal
  codegens tuple [0..0]
  codegens tuple [0..0]
  downcasts union inside tuple to value (#3907)
  downcasts union inside tuple to value (#3907)
  codegens splats inside tuples
  codegens splats inside tuples
  codegens tuple [0]?
  codegens tuple [0]?
  codegens tuple [3..2]?
  codegens tuple [3..2]?
  codegens tuple [1]?
  codegens tuple [1]?
  codegens tuple [1..0]
  codegens tuple [1..0]
  codegens tuple metaclass [0..1]
  codegens tuple metaclass [0..1]
  downcasts union to mixed tuple type
  downcasts union to mixed tuple type
  codegens tuple [-3..2]?
  codegens tuple [-3..2]?
  codegens tuple [0..2]?
  codegens tuple [0..2]?
  codegens tuple [1..1]?
  codegens tuple [1..1]?
  codegens tuple [2..2]
  codegens tuple [2..2]
  codegens union of tuple of float with tuple of tuple of float
  codegens union of tuple of float with tuple of tuple of float
  codegens tuple metaclass [1..0]
  codegens tuple metaclass [1..0]
  passed tuple to def
  passed tuple to def
Crystal::Repl::Interpreter
  special vars
    does special var that's a reference inside block
    does special var that's a reference inside block
    does special var that's a struct
    does special var that's a struct
    does special var that's a reference
    does special var that's a reference
    sets special var inside call inside block (#12250)
    sets special var inside call inside block (#12250)
    does special var that's a reference for multidispatch
    does special var that's a reference for multidispatch
    does special var that's a reference when there are optional arguments
    does special var that's a reference when there are optional arguments
Code gen: sizeof
  gets sizeof int
  gets sizeof int
  can use instance_sizeof of virtual type
  can use instance_sizeof of virtual type
  doesn't precompute sizeof of module (#7741)
  doesn't precompute sizeof of module (#7741)
  can use instance_sizeof in type argument
  can use instance_sizeof in type argument
  gets sizeof union
  gets sizeof union
  gets instance_sizeof a generic type with type vars
  gets instance_sizeof a generic type with type vars
  gets sizeof NoReturn
  gets sizeof NoReturn
  alignof
    gets alignof struct
    gets alignof struct
    gets alignof union
    gets alignof union
    alignof mixed union is not less than alignof its variant types
    alignof mixed union is not less than alignof its variant types
    gets alignof class
    gets alignof class
    gets alignof primitive types
    gets alignof primitive types
  instance_alignof
    gets instance_alignof a generic type with type vars
    gets instance_alignof a generic type with type vars
    gets instance_alignof class
    gets instance_alignof class
  doesn't precompute sizeof of abstract struct (#7741)
  doesn't precompute sizeof of abstract struct (#7741)
  can use sizeof in type argument (2)
  can use sizeof in type argument (2)
  can use sizeof of virtual type
  can use sizeof of virtual type
  gets sizeof Bool (#8272)
  gets sizeof Bool (#8272)
  returns correct sizeof for abstract struct (#4319)
  returns correct sizeof for abstract struct (#4319)
  gets sizeof struct
  gets sizeof struct
  gets sizeof Void
  gets sizeof Void
  gets instance_sizeof class
  gets instance_sizeof class
  gets sizeof Nil (#7644)
  gets sizeof Nil (#7644)
  can use sizeof in type argument (1)
  can use sizeof in type argument (1)
  gets sizeof class
  gets sizeof class
Crystal::Doc::Method
  doc
    gets doc from underlying method
    gets doc from underlying method
    inherits doc from ancestor (no extra comment)
    inherits doc from ancestor (no extra comment)
    inherits doc from ancestor (use :inherit:)
    inherits doc from ancestor (use :inherit:)
    trailing comment is not part of a doc comment
    trailing comment is not part of a doc comment
    inherits doc from previous def (no extra comment)
    inherits doc from previous def (no extra comment)
    inherits doc from ancestor (use :inherit: plus more content)
    inherits doc from ancestor (use :inherit: plus more content)
    trailing comment is not a doc comment
    trailing comment is not a doc comment
  args_to_s
    shows simple args
    shows simple args
    shows underscore restriction
    shows underscore restriction
    shows double splat args
    shows double splat args
    shows return type restriction
    shows return type restriction
    shows args and return type restriction
    shows args and return type restriction
    shows block args with underscore
    shows block args with underscore
    shows splat args
    shows splat args
    shows external name of arg
    shows external name of arg
    shows block args if a def has `yield`
    shows block args if a def has `yield`
    shows external name of arg with quotes and escaping
    shows external name of arg with quotes and escaping
    shows typeof restriction of arg with highlighting
    shows typeof restriction of arg with highlighting
    shows default value of arg with highlighting
    shows default value of arg with highlighting
    shows block args
    shows block args
Semantic: offsetof
  can be used with generic types
  can be used with generic types
  errors on undefined instance variable
  errors on undefined instance variable
  errors on offsetof element of uninstantiated generic type
  errors on offsetof element of uninstantiated generic type
  gives error if using offsetof on Tuples with instance variables
  gives error if using offsetof on Tuples with instance variables
  gives error if using offsetof on something that's neither a class, a struct nor a Tuple
  gives error if using offsetof on something that's neither a class, a struct nor a Tuple
  gives error if using offsetof on something that can't have instance variables
  gives error if using offsetof on something that can't have instance variables
  gives error if using offsetof on Tuples with indexes greater than tuple size
  gives error if using offsetof on Tuples with indexes greater than tuple size
  types offsetof
  types offsetof
  gives error if using offsetof on non-Tuples with an index
  gives error if using offsetof on non-Tuples with an index
  can be used with classes
  can be used with classes
  gives error if using offsetof on Tuples with negative indexes
  gives error if using offsetof on Tuples with negative indexes
  errors on typeof inside offsetof expression
  errors on typeof inside offsetof expression
Crystal::TextHierarchyPrinter
  shows correct total size of generic class if known
  shows correct total size of generic class if known
  works
  works
  shows correct size for Bool member
  shows correct size for Bool member
  shows correct size for Proc inside extern struct
  shows correct size for Proc inside extern struct
  shows correct size for members with bound types
  shows correct size for members with bound types
Code gen: method_missing
  does method_missing macro without args (with call)
  does method_missing macro without args (with call)
  works with named arguments (#3654)
  works with named arguments (#3654)
  does method_missing with assignment (bug)
  does method_missing with assignment (bug)
  does method_missing macro with top level method involved
  does method_missing macro with top level method involved
  does method_missing macro with block
  does method_missing macro with block
  does method_missing macro with virtual type (3)
  does method_missing macro with virtual type (3)
  does method_missing macro with args (with call)
  does method_missing macro with args (with call)
  does method_missing macro with virtual type (7)
  does method_missing macro with virtual type (7)
  does method_missing macro with virtual type (2)
  does method_missing macro with virtual type (2)
  does method_missing macro without args
  does method_missing macro without args
  finds method_missing with 'with ... yield'
  finds method_missing with 'with ... yield'
  does method_missing macro with block but not using it
  does method_missing macro with block but not using it
  does method_missing macro with virtual type (1)
  does method_missing macro with virtual type (1)
  works with named arguments that aren't legal variable names (#10381)
  works with named arguments that aren't legal variable names (#10381)
  does method_missing macro with included module
  does method_missing macro with included module
  does method_missing with assignment (2) (bug)
  does method_missing with assignment (2) (bug)
  does method_missing macro with virtual type (5)
  does method_missing macro with virtual type (5)
  does method_missing macro with virtual type (8)
  does method_missing macro with virtual type (8)
  does method_missing generating method
  does method_missing generating method
  does method_missing macro with virtual type (4)
  does method_missing macro with virtual type (4)
  does method_missing macro with virtual type (6)
  does method_missing macro with virtual type (6)
  forwards
  forwards
  does method_missing macro with module involved
  does method_missing macro with module involved
  does method_missing macro with args
  does method_missing macro with args
Semantic: macro overload
  doesn't overwrite last macro definition if named args differs
  doesn't overwrite last macro definition if named args differs
Semantic: not
  filters types inside if/else
  filters types inside if/else
  filters types inside if
  filters types inside if
  doesn't restrict and in while (#4243)
  doesn't restrict and in while (#4243)
  doesn't restrict and
  doesn't restrict and
  types not
  types not
  types not as NoReturn if exp is NoReturn
  types not as NoReturn if exp is NoReturn
  filters types with !is_a?
  filters types with !is_a?
Code gen: virtual type
  codegens new for virtual class with two types  codegens new for virtual class with two types  codegens new for virtual class with two types  codegens new for virtual class with two types  codegens new for virtual class with two types  codegens new for virtual class with two types  codegens new for virtual class with two types  codegens new for virtual class with two types  codegens new for virtual class with two types
  codegens new for virtual class with two types
  returns type with virtual type def type
  returns type with virtual type def type
  codegens virtual call with explicit self
  codegens virtual call with explicit self
  correctly dispatch call with block when the obj is a virtual type
  correctly dispatch call with block when the obj is a virtual type
  dispatches on virtual metaclass (1)
  dispatches on virtual metaclass (1)
  calls class method 3
  calls class method 3
  codegens virtual call with explicit self and nilable type
  codegens virtual call with explicit self and nilable type
  call base overwritten method
  call base overwritten method
  initializes ivars to nil even if object never instantiated  initializes ivars to nil even if object never instantiated  initializes ivars to nil even if object never instantiated  initializes ivars to nil even if object never instantiated  initializes ivars to nil even if object never instantiated  initializes ivars to nil even if object never instantiated  initializes ivars to nil even if object never instantiated  initializes ivars to nil even if object never instantiated  initializes ivars to nil even if object never instantiated
  initializes ivars to nil even if object never instantiated
  codegens new for virtual class with one type  codegens new for virtual class with one type  codegens new for virtual class with one type  codegens new for virtual class with one type  codegens new for virtual class with one type  codegens new for virtual class with one type  codegens new for virtual class with one type  codegens new for virtual class with one type  codegens new for virtual class with one type
  codegens new for virtual class with one type
  codegens allocate for virtual type with custom new
  codegens allocate for virtual type with custom new
  codegens virtual method of abstract metaclass
  codegens virtual method of abstract metaclass
  dispatch call with nilable virtual arg
  dispatch call with nilable virtual arg
  dispatches on virtual metaclass (3)
  dispatches on virtual metaclass (3)
  lookup instance variables in parent types
  lookup instance variables in parent types
  doesn't lookup in Value+ when virtual type is Object+
  doesn't lookup in Value+ when virtual type is Object+
  call overwritten method
  call overwritten method
  call base method
  call base method
  codegens new for new on virtual abstract class (#3835)  codegens new for new on virtual abstract class (#3835)  codegens new for new on virtual abstract class (#3835)  codegens new for new on virtual abstract class (#3835)  codegens new for new on virtual abstract class (#3835)  codegens new for new on virtual abstract class (#3835)  codegens new for new on virtual abstract class (#3835)  codegens new for new on virtual abstract class (#3835)  codegens new for new on virtual abstract class (#3835)
  codegens new for new on virtual abstract class (#3835)
  calls class method 1
  calls class method 1
  dispatches on virtual metaclass (2)
  dispatches on virtual metaclass (2)
  codegens call to Object#to_s from nilable type  codegens call to Object#to_s from nilable type  codegens call to Object#to_s from nilable type  codegens call to Object#to_s from nilable type  codegens call to Object#to_s from nilable type  codegens call to Object#to_s from nilable type  codegens call to Object#to_s from nilable type  codegens call to Object#to_s from nilable type  codegens call to Object#to_s from nilable type
  codegens call to Object#to_s from nilable type
  assign instance variable in virtual type
  assign instance variable in virtual type
  casts virtual type to union
  casts virtual type to union
  calls class method 2
  calls class method 2
  casts union to virtual
  casts union to virtual
  codegens new twice for virtual
  codegens new twice for virtual
  codegens call to Object#to_s from virtual type  codegens call to Object#to_s from virtual type  codegens call to Object#to_s from virtual type  codegens call to Object#to_s from virtual type  codegens call to Object#to_s from virtual type  codegens call to Object#to_s from virtual type  codegens call to Object#to_s from virtual type  codegens call to Object#to_s from virtual type  codegens call to Object#to_s from virtual type
  codegens call to Object#to_s from virtual type
  casts virtual type to base virtual type
  casts virtual type to base virtual type
  casts metaclass union type to virtual metaclass type (#6298)
  casts metaclass union type to virtual metaclass type (#6298)
  dispatch call with virtual type argument
  dispatch call with virtual type argument
  can belong to union
  can belong to union
  codegens new for simple type, then for virtual
  codegens new for simple type, then for virtual
  codegens non-virtual call that calls virtual call to another virtual call
  codegens non-virtual call that calls virtual call to another virtual call
Crystal::TablePrint
  rows with horizontal separators
  rows with horizontal separators
  single row with separator
  single row with separator
  single cell
  single cell
  multiple rows with separator
  multiple rows with separator
  aligns cell content
  aligns cell content
  colspan a cell that fits the available size
  colspan a cell that fits the available size
  aligns columns borders
  aligns columns borders
Code gen: case
  codegens case with one condition  codegens case with one condition  codegens case with one condition  codegens case with one condition  codegens case with one condition  codegens case with one condition  codegens case with one condition  codegens case with one condition  codegens case with one condition
  codegens case with one condition
  codegens case when cond is a call  codegens case when cond is a call  codegens case when cond is a call  codegens case when cond is a call  codegens case when cond is a call  codegens case when cond is a call  codegens case when cond is a call  codegens case when cond is a call  codegens case when cond is a call
  codegens case when cond is a call
  does case when with metaclass
  does case when with metaclass
  codegens case with two conditions  codegens case with two conditions  codegens case with two conditions  codegens case with two conditions  codegens case with two conditions  codegens case with two conditions  codegens case with two conditions  codegens case with two conditions  codegens case with two conditions
  codegens case with two conditions
  codegens case with class
  codegens case with class
  codegens case that always returns  codegens case that always returns  codegens case that always returns  codegens case that always returns  codegens case that always returns  codegens case that always returns  codegens case that always returns  codegens case that always returns  codegens case that always returns
  codegens case that always returns
  codegens case when constant bug (#1028)
  codegens case when constant bug (#1028)
  codegens value-less case
  codegens value-less case
  codegens case without whens but else  codegens case without whens but else  codegens case without whens but else  codegens case without whens but else  codegens case without whens but else  codegens case without whens but else  codegens case without whens but else  codegens case without whens but else  codegens case without whens but else
  codegens case without whens but else
  codegens case with else  codegens case with else  codegens case with else  codegens case with else  codegens case with else  codegens case with else  codegens case with else  codegens case with else  codegens case with else
  codegens case with else
Normalize: multi assign
  normalizes 1 to n, with splat on left-hand side, splat before other targets
  normalizes 1 to n, with splat on left-hand side, splat before other targets
  normalizes m to n, with splat on left-hand side, splat is non-empty
  normalizes m to n, with splat on left-hand side, splat is non-empty
  normalizes m to n, with *_ on left-hand side (3)
  normalizes m to n, with *_ on left-hand side (3)
  without strict_multi_assign
    normalizes 1 to n with []
    normalizes 1 to n with []
    normalizes 1 to n with call
    normalizes 1 to n with call
    normalizes 1 to n
    normalizes 1 to n
  normalizes n to splat on left-hand side
  normalizes n to splat on left-hand side
  normalizes n to *_ on left-hand side
  normalizes n to *_ on left-hand side
  normalizes n to n with call
  normalizes n to n with call
  strict_multi_assign
    normalizes 1 to n with call
    normalizes 1 to n with call
    normalizes 1 to n with []
    normalizes 1 to n with []
    normalizes 1 to n
    normalizes 1 to n
  normalizes n to n with []
  normalizes n to n with []
  normalizes 1 to splat on left-hand side
  normalizes 1 to splat on left-hand side
  normalizes m to n, with *_ on left-hand side (1)
  normalizes m to n, with *_ on left-hand side (1)
  normalizes 1 to n, with splat on left-hand side, splat after other targets
  normalizes 1 to n, with splat on left-hand side, splat after other targets
  normalizes n to n
  normalizes n to n
  normalizes m to n, with splat on left-hand side, splat is empty
  normalizes m to n, with splat on left-hand side, splat is empty
  normalizes 1 to n, with *_ on left-hand side (1)
  normalizes 1 to n, with *_ on left-hand side (1)
  normalizes 1 to *_ on left-hand side
  normalizes 1 to *_ on left-hand side
  normalizes 1 to n, with splat on left-hand side
  normalizes 1 to n, with splat on left-hand side
  normalizes 1 to n, with *_ on left-hand side (3)
  normalizes 1 to n, with *_ on left-hand side (3)
  normalizes 1 to n, with *_ on left-hand side (2)
  normalizes 1 to n, with *_ on left-hand side (2)
  normalizes m to n, with *_ on left-hand side (2)
  normalizes m to n, with *_ on left-hand side (2)
Semantic: yield with scope
  yields virtual type (#2171) (2)
  yields virtual type (#2171) (2)
  it invokes global method inside block of yield scope  it invokes global method inside block of yield scope  it invokes global method inside block of yield scope  it invokes global method inside block of yield scope  it invokes global method inside block of yield scope  it invokes global method inside block of yield scope  it invokes global method inside block of yield scope  it invokes global method inside block of yield scope  it invokes global method inside block of yield scope
  it invokes global method inside block of yield scope
  it uses self for instance method  it uses self for instance method  it uses self for instance method  it uses self for instance method  it uses self for instance method  it uses self for instance method  it uses self for instance method  it uses self for instance method  it uses self for instance method
  it uses self for instance method
  yields with dispatch (#2171) (1)
  yields with dispatch (#2171) (1)
  uses instance variable of enclosing scope
  uses instance variable of enclosing scope
  uses scope in global method  uses scope in global method  uses scope in global method  uses scope in global method  uses scope in global method  uses scope in global method  uses scope in global method  uses scope in global method  uses scope in global method
  uses scope in global method
  uses method of with object
  uses method of with object
  doesn't explode if specifying &block but never using it (#181)
  doesn't explode if specifying &block but never using it (#181)
  generate right code when yielding struct as scope
  generate right code when yielding struct as scope
  uses method of enclosing scope
  uses method of enclosing scope
  uses scope in instance method  uses scope in instance method  uses scope in instance method  uses scope in instance method  uses scope in instance method  uses scope in instance method  uses scope in instance method  uses scope in instance method  uses scope in instance method
  uses scope in instance method
Crystal::Repl::Interpreter
  symbol
    symbol equality
    symbol equality
    Symbol#to_i
    Symbol#to_i
    Symbol#to_s
    Symbol#to_s
Code gen: if
  doesn't crash no NoReturn var (true left cond) (#1823)
  doesn't crash no NoReturn var (true left cond) (#1823)
  codes if with two whiles
  codes if with two whiles
  codegens if without an else with false
  codegens if without an else with false
  codegens if of nilable type in else 3
  codegens if of nilable type in else 3
  codegens if with return in else preserves type filter  codegens if with return in else preserves type filter  codegens if with return in else preserves type filter  codegens if with return in else preserves type filter  codegens if with return in else preserves type filter  codegens if with return in else preserves type filter  codegens if with return in else preserves type filter  codegens if with return in else preserves type filter  codegens if with return in else preserves type filter
  codegens if with return in else preserves type filter
  codegens if inside def without an else with true
  codegens if inside def without an else with true
  codegens if with int
  codegens if with int
  doesn't crash with if !is_a? using var in then
  doesn't crash with if !is_a? using var in then
  codegens if with nil
  codegens if with nil
  considers or truthy/falsey right
  considers or truthy/falsey right
  codegen if with union type and else without type
  codegen if with union type and else without type
  codegens if without an else with true
  codegens if without an else with true
  codegens if of nilable type in then 2
  codegens if of nilable type in then 2
  codegens if with union
  codegens if with union
  codegens nested if with var (ssa bug)
  codegens nested if with var (ssa bug)
  codegens if of nilable type in then
  codegens if of nilable type in then
  codegens if with an else with true
  codegens if with an else with true
  codegens #3104
  codegens #3104
  codegens if with pointer 0x100000000 pointer
  codegens if with pointer 0x100000000 pointer
  doesn't crash no NoReturn var (non-true left cond) (#1823)
  doesn't crash no NoReturn var (non-true left cond) (#1823)
  codegens if with return in both branches
  codegens if with return in both branches
  codegen if inside if
  codegen if inside if
  codegens if with virtual
  codegens if with virtual
  codegens if with an else with false
  codegens if with an else with false
  codegen if with nested if that returns
  codegen if with nested if that returns
  codegens if value from then
  codegens if value from then
  codegen if with union type and then without type
  codegen if with union type and then without type
  codegens if with return and no else
  codegens if with return and no else
  doesn't crash with if !var using var in else
  doesn't crash with if !var using var in else
  restricts with || always falsey
  restricts with || always falsey
  codegens if of nilable type in else
  codegens if of nilable type in else
  codegens if with nested if that raises  codegens if with nested if that raises  codegens if with nested if that raises  codegens if with nested if that raises  codegens if with nested if that raises  codegens if with nested if that raises  codegens if with nested if that raises  codegens if with nested if that raises  codegens if with nested if that raises
  codegens if with nested if that raises
  codegens bug #1729
  codegens bug #1729
  doesn't generate truthy if branch if doesn't need value (bug)
  doesn't generate truthy if branch if doesn't need value (bug)
Restrictions
  errors if using typeof inside generic type
  errors if using typeof inside generic type
  works with static array that uses underscore
  works with static array that uses underscore
  works with generic class metaclass vs. generic class metaclass
  works with generic class metaclass vs. generic class metaclass
  restricts aliased typedef type (#9474)
  restricts aliased typedef type (#9474)
  doesn't error if using NamedTuple with no args
  doesn't error if using NamedTuple with no args
  sets number as unbound generic type var (#13110)
  sets number as unbound generic type var (#13110)
  works with generic class metaclass vs. generic instance class metaclass
  works with generic class metaclass vs. generic instance class metaclass
  matches number in bound free variable (#13605)
  matches number in bound free variable (#13605)
  works with static array (#637)
  works with static array (#637)
  restricts class union type to overloads with classes
  restricts class union type to overloads with classes
  errors on T::Type that's union when used from type restriction
  errors on T::Type that's union when used from type restriction
  errors if using typeof
  errors if using typeof
  errors if using typeof in block restriction
  errors if using typeof in block restriction
  restricts class union type to overloads with classes (2)
  restricts class union type to overloads with classes (2)
  does not treat single path as free variable when given number (1) (#11859)
  does not treat single path as free variable when given number (1) (#11859)
  doesn't error if using Tuple with no args
  doesn't error if using Tuple with no args
  restriction_of?
    Metaclass vs Metaclass
      keeps typed Metaclass before untyped Metaclass
      keeps typed Metaclass before untyped Metaclass
      inserts typed Metaclass before untyped Metaclass
      inserts typed Metaclass before untyped Metaclass
    Path vs NumberLiteral
      inserts number literal before constant of same value with generic arguments
      inserts number literal before constant of same value with generic arguments
      inserts constant before number literal of same value with generic arguments
      inserts constant before number literal of same value with generic arguments
    Union
      handles redefinitions (2) (#12330)
      handles redefinitions (2) (#12330)
      handles redefinitions (1) (#12330)
      handles redefinitions (1) (#12330)
      orders union before generic (#12330)
      orders union before generic (#12330)
    Generic vs Path
      keeps typed Generic before untyped Path
      keeps typed Generic before untyped Path
      inserts untyped Generic before untyped Path
      inserts untyped Generic before untyped Path
      inserts typed Generic before untyped Path
      inserts typed Generic before untyped Path
      inserts untyped Generic before untyped Path (2)
      inserts untyped Generic before untyped Path (2)
      keeps untyped Generic before untyped Path
      keeps untyped Generic before untyped Path
    Path vs Path
      inserts typed Path before untyped Path
      inserts typed Path before untyped Path
      keeps typed Path before untyped Path
      keeps typed Path before untyped Path
    GenericClassType vs GenericClassInstanceType
      inserts GenericClassInstanceType before GenericClassType
      inserts GenericClassInstanceType before GenericClassType
      works with classes in different namespaces
      works with classes in different namespaces
      doesn't mix different generic classes
      doesn't mix different generic classes
      keeps GenericClassInstanceType before GenericClassType
      keeps GenericClassInstanceType before GenericClassType
    Metaclass vs Path
      keeps metaclass before Value
      keeps metaclass before Value
      doesn't error if path is undefined and method is not called (2) (#12516)
      doesn't error if path is undefined and method is not called (2) (#12516)
      keeps metaclass before Class
      keeps metaclass before Class
      inserts metaclass before Class
      inserts metaclass before Class
      inserts metaclass before Object
      inserts metaclass before Object
      doesn't error if path is undefined and method is not called (1) (#12516)
      doesn't error if path is undefined and method is not called (1) (#12516)
      inserts metaclass before Value
      inserts metaclass before Value
      keeps metaclass before Object
      keeps metaclass before Object
    Generic vs Generic
      inserts typed Generic before untyped Generic
      inserts typed Generic before untyped Generic
      keeps typed Generic before untyped Generic
      keeps typed Generic before untyped Generic
    NamedTuple vs NamedTuple
      doesn't mix incompatible NamedTuples (#10238)
      doesn't mix incompatible NamedTuples (#10238)
      keeps more specialized NamedTuple before less specialized one
      keeps more specialized NamedTuple before less specialized one
      inserts more specialized NamedTuple before less specialized one
      inserts more specialized NamedTuple before less specialized one
    Underscore vs Path
      keeps underscore after Path (#12854)
      keeps underscore after Path (#12854)
      works with splats and modules, under -Dpreview_overload_order (#12854)
      works with splats and modules, under -Dpreview_overload_order (#12854)
      inserts Path before underscore (#12854)
      inserts Path before underscore (#12854)
    free variables
      keeps path before free variable with same name
      keeps path before free variable with same name
      keeps constant before free variable with same name
      keeps constant before free variable with same name
      inserts constant before free variable with same name
      inserts constant before free variable with same name
      inserts path before free variable with same name
      inserts path before free variable with same name
      keeps path before free variable even if free var resolves to a more specialized type
      keeps path before free variable even if free var resolves to a more specialized type
      inserts path before free variable even if free var resolves to a more specialized type
      inserts path before free variable even if free var resolves to a more specialized type
  allows passing recursive type to free var (#1076)
  allows passing recursive type to free var (#1076)
  errors if using free var without forall
  errors if using free var without forall
  makes metaclass subclass pass parent metaclass restriction (#2079)
  makes metaclass subclass pass parent metaclass restriction (#2079)
  errors if using NamedTuple with positional args
  errors if using NamedTuple with positional args
  errors if using Tuple with named args
  errors if using Tuple with named args
  errors if can't find type on lookup with nested type
  errors if can't find type on lookup with nested type
  errors if can't find type on lookup
  errors if can't find type on lookup
  restricts virtual metaclass type against metaclass (#3438)
  restricts virtual metaclass type against metaclass (#3438)
  passes #278
  passes #278
  matches alias against alias in block type
  matches alias against alias in block type
  matches virtual type against alias
  matches virtual type against alias
  self always matches instance type in return type
  self always matches instance type in return type
  errors on T::Type that's a union when used from block type restriction
  errors on T::Type that's a union when used from block type restriction
  restrict
    restricts module with another module
    restricts module with another module
    restricts type with same type
    restricts type with same type
    restricts type with superclass
    restricts type with superclass
    restricts generic module instance with class
    restricts generic module instance with class
    restricts virtual generic class against uninstantiated generic subclass (1)
    restricts virtual generic class against uninstantiated generic subclass (1)
    restricts virtual generic class against uninstantiated generic subclass (2)
    restricts virtual generic class against uninstantiated generic subclass (2)
    restricts type with another type
    restricts type with another type
    restricts generic module instance with another generic module instance
    restricts generic module instance with another generic module instance
    restricts virtual type with included module 1
    restricts virtual type with included module 1
    restricts virtual type with included module 2
    restricts virtual type with included module 2
    restricts class against uninstantiated generic base class through multiple inheritance (2) (#9660)
    restricts class against uninstantiated generic base class through multiple inheritance (2) (#9660)
    restricts module through generic include (#4287)
    restricts module through generic include (#4287)
    restricts type with included module
    restricts type with included module
    restricts class against uninstantiated generic base class through multiple inheritance (1) (#9660)
    restricts class against uninstantiated generic base class through multiple inheritance (1) (#9660)
    restricts generic module instance with another module
    restricts generic module instance with another module
  works with generic compared to fixed (primitive) type
  works with generic compared to fixed (primitive) type
  does not treat single path as free variable when given number (2) (#11859)
  does not treat single path as free variable when given number (2) (#11859)
  errors if using typeof in block restriction
  errors if using typeof in block restriction
  should not let GenericChild(Base) pass as a GenericBase(Child) (#1294)
  should not let GenericChild(Base) pass as a GenericBase(Child) (#1294)
  self always matches instance type in restriction
  self always matches instance type in restriction
  matches free variable for type variable
  matches free variable for type variable
  sets number as free variable (#2699)
  sets number as free variable (#2699)
  works with union against unions of generics
  works with union against unions of generics
Codegen: extern struct
  doesn't crash with proc with extern struct that's a closure
  doesn't crash with proc with extern struct that's a closure
  declares extern union, sets and gets instance var
  declares extern union, sets and gets instance var
  invokes proc with extern struct with sret
  invokes proc with extern struct with sret
  invokes proc with extern struct
  invokes proc with extern struct
  codegens extern proc call twice (#4982)
  codegens extern proc call twice (#4982)
  declares extern struct with no constructor, assigns var
  declares extern struct with no constructor, assigns var
  sets callback on extern struct  sets callback on extern struct  sets callback on extern struct  sets callback on extern struct  sets callback on extern struct  sets callback on extern struct  sets callback on extern struct  sets callback on extern struct  sets callback on extern struct
  sets callback on extern struct
  codegens proc that takes and returns large extern struct by value
  codegens proc that takes and returns large extern struct by value
  codegens proc that takes and returns an extern struct with C ABI  codegens proc that takes and returns an extern struct with C ABI  codegens proc that takes and returns an extern struct with C ABI  codegens proc that takes and returns an extern struct with C ABI  codegens proc that takes and returns an extern struct with C ABI  codegens proc that takes and returns an extern struct with C ABI  codegens proc that takes and returns an extern struct with C ABI  codegens proc that takes and returns an extern struct with C ABI  codegens proc that takes and returns an extern struct with C ABI
  codegens proc that takes and returns an extern struct with C ABI
  codegens proc that takes an extern struct with C ABI, callback returns nil  codegens proc that takes an extern struct with C ABI, callback returns nil  codegens proc that takes an extern struct with C ABI, callback returns nil  codegens proc that takes an extern struct with C ABI, callback returns nil  codegens proc that takes an extern struct with C ABI, callback returns nil  codegens proc that takes an extern struct with C ABI, callback returns nil  codegens proc that takes an extern struct with C ABI, callback returns nil  codegens proc that takes an extern struct with C ABI, callback returns nil  codegens proc that takes an extern struct with C ABI, callback returns nil
  codegens proc that takes an extern struct with C ABI, callback returns nil
  codegens proc that takes an extern struct with C ABI  codegens proc that takes an extern struct with C ABI  codegens proc that takes an extern struct with C ABI  codegens proc that takes an extern struct with C ABI  codegens proc that takes an extern struct with C ABI  codegens proc that takes an extern struct with C ABI  codegens proc that takes an extern struct with C ABI  codegens proc that takes an extern struct with C ABI  codegens proc that takes an extern struct with C ABI
  codegens proc that takes an extern struct with C ABI
  declares extern union with no constructor
  declares extern union with no constructor
  sets callback on extern union  sets callback on extern union  sets callback on extern union  sets callback on extern union  sets callback on extern union  sets callback on extern union  sets callback on extern union  sets callback on extern union  sets callback on extern union
  sets callback on extern union
  declares extern struct, sets and gets instance var
  declares extern struct, sets and gets instance var
  declares extern struct with no constructor
  declares extern struct with no constructor
  codegens proc that takes and returns an extern struct with sret  codegens proc that takes and returns an extern struct with sret  codegens proc that takes and returns an extern struct with sret  codegens proc that takes and returns an extern struct with sret  codegens proc that takes and returns an extern struct with sret  codegens proc that takes and returns an extern struct with sret  codegens proc that takes and returns an extern struct with sret  codegens proc that takes and returns an extern struct with sret  codegens proc that takes and returns an extern struct with sret
  codegens proc that takes and returns an extern struct with sret
  codegens proc that takes and returns an extern struct with C ABI  codegens proc that takes and returns an extern struct with C ABI  codegens proc that takes and returns an extern struct with C ABI  codegens proc that takes and returns an extern struct with C ABI  codegens proc that takes and returns an extern struct with C ABI  codegens proc that takes and returns an extern struct with C ABI  codegens proc that takes and returns an extern struct with C ABI  codegens proc that takes and returns an extern struct with C ABI  codegens proc that takes and returns an extern struct with C ABI
  codegens proc that takes and returns an extern struct with C ABI
  codegens proc that takes an extern struct with C ABI (2)  codegens proc that takes an extern struct with C ABI (2)  codegens proc that takes an extern struct with C ABI (2)  codegens proc that takes an extern struct with C ABI (2)  codegens proc that takes an extern struct with C ABI (2)  codegens proc that takes an extern struct with C ABI (2)  codegens proc that takes an extern struct with C ABI (2)  codegens proc that takes an extern struct with C ABI (2)  codegens proc that takes an extern struct with C ABI (2)
  codegens proc that takes an extern struct with C ABI (2)
Semantic: annotation
  errors if wanting to add type inside annotation (2) (#8614)
  errors if wanting to add type inside annotation (2) (#8614)
  #annotation
    finds annotation in instance var (assignment)
    finds annotation in instance var (assignment)
    errors if using invalid annotation on fun
    errors if using invalid annotation on fun
    finds annotation in generic parent (#7885)
    finds annotation in generic parent (#7885)
    finds annotation on method arg
    finds annotation on method arg
    finds annotation in enum
    finds annotation in enum
    can't find annotation in module
    can't find annotation in module
    can't find annotation in instance var, when other annotations are present
    can't find annotation in instance var, when other annotations are present
    overrides annotation value in type
    overrides annotation value in type
    overrides annotation in instance var
    overrides annotation in instance var
    finds annotation on method splat arg
    finds annotation on method splat arg
    errors if annotation doesn't exist
    errors if annotation doesn't exist
    finds annotation in module
    finds annotation in module
    finds annotation in instance var (declaration)
    finds annotation in instance var (declaration)
    doesn't carry link annotation from lib to fun
    doesn't carry link annotation from lib to fun
    errors if using annotation other than ThreadLocal for class vars
    errors if using annotation other than ThreadLocal for class vars
    finds annotation in instance var (declaration, generic)
    finds annotation in instance var (declaration, generic)
    can't find annotation on def
    can't find annotation on def
    uses annotation value, keyword
    uses annotation value, keyword
    can't find annotation in module, when other annotations are present
    can't find annotation in module, when other annotations are present
    adds annotation on def
    adds annotation on def
    finds annotation in struct
    finds annotation in struct
    finds annotation in class
    finds annotation in class
    finds annotation on method double splat arg
    finds annotation on method double splat arg
    can't find annotation in instance var
    can't find annotation in instance var
    can't find annotation on def, when other annotations are present
    can't find annotation on def, when other annotations are present
    finds annotation on an restricted method block arg
    finds annotation on an restricted method block arg
    errors if annotation doesn't point to an annotation type
    errors if annotation doesn't point to an annotation type
    finds annotation in lib
    finds annotation in lib
    uses annotation value, positional
    uses annotation value, positional
  arguments
    returns a correctly with named and positional args
    returns a correctly with named and positional args
    #named_args
      returns an empty NamedTupleLiteral if there are none defined
      returns an empty NamedTupleLiteral if there are none defined
      returns a NamedTupleLiteral if there are named arguments defined
      returns a NamedTupleLiteral if there are named arguments defined
    #args
      returns an empty TupleLiteral if there are none defined
      returns an empty TupleLiteral if there are none defined
      returns a TupleLiteral if there are positional arguments defined
      returns a TupleLiteral if there are positional arguments defined
  #annotations
    all types
      finds annotations on a enum
      finds annotations on a enum
      finds annotations on a class
      finds annotations on a class
      finds annotations on a lib
      finds annotations on a lib
      find annotations on method parameters
      find annotations on method parameters
      finds annotations on a module
      finds annotations on a module
      finds annotations on a struct
      finds annotations on a struct
      finds annotations in instance var (declaration)
      finds annotations in instance var (declaration)
      adds annotations on def
      adds annotations on def
      finds annotations in instance var (declaration, generic)
      finds annotations in instance var (declaration, generic)
      returns an empty array if there are none defined
      returns an empty array if there are none defined
      finds annotations in generic parent (#7885)
      finds annotations in generic parent (#7885)
    of a specific type
      returns an empty array if there are none defined
      returns an empty array if there are none defined
      uses annotations value, positional
      uses annotations value, positional
      finds annotations in struct
      finds annotations in struct
      adds annotations on def
      adds annotations on def
      collects annotations values in type
      collects annotations values in type
      can't find annotations on def
      can't find annotations on def
      can't find annotations in instance var
      can't find annotations in instance var
      uses annotations value, keyword
      uses annotations value, keyword
      find annotations on method parameters
      find annotations on method parameters
      finds annotations in instance var (declaration)
      finds annotations in instance var (declaration)
      can't find annotations on def, when other annotations are present
      can't find annotations on def, when other annotations are present
      finds annotations in generic parent (#7885)
      finds annotations in generic parent (#7885)
      finds annotations in class
      finds annotations in class
      finds annotations in instance var (declaration, generic)
      finds annotations in instance var (declaration, generic)
      finds annotations in lib
      finds annotations in lib
      finds annotations in enum
      finds annotations in enum
      overrides annotations value in type
      overrides annotations value in type
      finds annotations on a module
      finds annotations on a module
      can't find annotations in instance var, when other annotations are present
      can't find annotations in instance var, when other annotations are present
  errors if wanting to add type inside annotation (1) (#8614)
  errors if wanting to add type inside annotation (1) (#8614)
  declares annotation
  declares annotation
  doesn't bleed annotation from class into class variable (#8314)
  doesn't bleed annotation from class into class variable (#8314)
  errors when annotate instance variable in subclass
  errors when annotate instance variable in subclass
Codegen: responds_to?
  codegens responds_to? with union gives true
  codegens responds_to? with union gives true
  works with generic virtual superclass (2)
  works with generic virtual superclass (2)
  works with generic virtual superclass (1)
  works with generic virtual superclass (1)
  works with virtual type
  works with virtual type
  doesn't error if result is discarded (#14113)
  doesn't error if result is discarded (#14113)
  codegens responds_to? with generic class (1)
  codegens responds_to? with generic class (1)
  works with virtual class type (1) (#1926)
  works with virtual class type (1) (#1926)
  works with virtual class type (2) (#1926)
  works with virtual class type (2) (#1926)
  works with generic virtual module (2) (#8334)
  works with generic virtual module (2) (#8334)
  codegens responds_to? true for simple type
  codegens responds_to? true for simple type
  codegens responds_to? with generic class (2)
  codegens responds_to? with generic class (2)
  codegens responds_to? with nilable gives false because other type 2
  codegens responds_to? with nilable gives false because other type 2
  works with two virtual types
  works with two virtual types
  works with generic virtual module (1)
  works with generic virtual module (1)
  codegens responds_to? with nilable gives false because other type 1
  codegens responds_to? with nilable gives false because other type 1
  works with module
  works with module
  codegens responds_to? with nilable gives true
  codegens responds_to? with nilable gives true
  does for generic instance type metaclass (#4353)
  does for generic instance type metaclass (#4353)
  codegens responds_to? with union gives false
  codegens responds_to? with union gives false
  codegens responds_to? false for simple type
  codegens responds_to? false for simple type
Semantic: closure
  correctly captures type of closured block arg
  correctly captures type of closured block arg
  doesn't crash for non-existing variable (#3789)
  doesn't crash for non-existing variable (#3789)
  doesn't mark var as closured if only used in two block
  doesn't mark var as closured if only used in two block
  marks variable as closured inside block in fun
  marks variable as closured inside block in fun
  marks method as self closured if instance var is written
  marks method as self closured if instance var is written
  marks outer fun inside a block as closured
  marks outer fun inside a block as closured
  doesn't mark self var as closured, but marks method as self closured
  doesn't mark self var as closured, but marks method as self closured
  marks outer fun as closured when using self
  marks outer fun as closured when using self
  lookups return type in correct scope
  lookups return type in correct scope
  says can't send closure to C with captured block
  says can't send closure to C with captured block
  transforms block to proc literal with free var
  transforms block to proc literal with free var
  gives error when doing yield inside proc literal
  gives error when doing yield inside proc literal
  errors if giving more block args when transforming block to proc literal
  errors if giving more block args when transforming block to proc literal
  errors if sending closured proc pointer to C (3)
  errors if sending closured proc pointer to C (3)
  marks method as self closured if explicit self call is made
  marks method as self closured if explicit self call is made
  marks method as self closured if used inside a block
  marks method as self closured if used inside a block
  marks variable as closured in program on assign
  marks variable as closured in program on assign
  errors when transforming block to proc literal if type mismatch
  errors when transforming block to proc literal if type mismatch
  errors if sending closured proc pointer to C (1.2)
  errors if sending closured proc pointer to C (1.2)
  does assign all types to metavar if closured but only assigned to once in a loop through block
  does assign all types to metavar if closured but only assigned to once in a loop through block
  can use fun typedef as block type
  can use fun typedef as block type
  marks variable as closured in def
  marks variable as closured in def
  transforms block to proc literal without parameters
  transforms block to proc literal without parameters
  says can't send closure to C with new notation
  says can't send closure to C with new notation
  errors if sending closured proc pointer to C (1)
  errors if sending closured proc pointer to C (1)
  errors if sending closured proc pointer to C (2)
  errors if sending closured proc pointer to C (2)
  unifies types of closured var (1)
  unifies types of closured var (1)
  doesn't assign all types to metavar if closured but declared inside block and re-assigned inside the same context before the closure
  doesn't assign all types to metavar if closured but declared inside block and re-assigned inside the same context before the closure
  marks method as self closured if implicit self call is made
  marks method as self closured if implicit self call is made
  correctly detects previous var as closured (#5609)
  correctly detects previous var as closured (#5609)
  doesn't closure typeof instance var (#9479)
  doesn't closure typeof instance var (#9479)
  marks method as self closured if instance var is read
  marks method as self closured if instance var is read
  does assign all types to metavar if closured but only assigned to once in a loop
  does assign all types to metavar if closured but only assigned to once in a loop
  errors if forwarding block param doesn't match input type size
  errors if forwarding block param doesn't match input type size
  does assign all types to metavar if closured but only assigned to once in a loop through captured block
  does assign all types to metavar if closured but only assigned to once in a loop through captured block
  marks variable as closured in program
  marks variable as closured in program
  errors if forwarding block param doesn't match input type
  errors if forwarding block param doesn't match input type
  doesn't closure typeof local var
  doesn't closure typeof local var
  transforms block to proc literal
  transforms block to proc literal
  doesn't assign all types to metavar if closured but declared inside block and never re-assigned
  doesn't assign all types to metavar if closured but declared inside block and never re-assigned
  gives error when doing yield inside proc literal
  gives error when doing yield inside proc literal
  doesn't assign all types to metavar if closured but only assigned to once
  doesn't assign all types to metavar if closured but only assigned to once
  marks variable as closured in block
  marks variable as closured in block
  allows passing block as proc literal to new and to initialize
  allows passing block as proc literal to new and to initialize
  unifies types of closured var (2)
  unifies types of closured var (2)
  allows giving less block args when transforming block to proc literal
  allows giving less block args when transforming block to proc literal
  is considered as closure if assigned once but comes from a method arg
  is considered as closure if assigned once but comes from a method arg
  passes #227
  passes #227
  transforms block to proc literal with void type
  transforms block to proc literal with void type
  errors if sending closured proc literal to C
  errors if sending closured proc literal to C
  doesn't mark var as closured if only used in block
  doesn't mark var as closured if only used in block
  considers var as closure-readonly if it was assigned multiple times before it was closured
  considers var as closure-readonly if it was assigned multiple times before it was closured
Code gen: primitives
  codegens f32
  codegens f32
  defined method that calls primitive (bug)
  defined method that calls primitive (bug)
  va_arg
    uses llvm's va_arg instruction
    uses llvm's va_arg instruction
    works with C code    works with C code    works with C code    works with C code    works with C code    works with C code    works with C code    works with C code    works with C code
    works with C code
  codegens crystal_type_id for class
  codegens crystal_type_id for class
  codegens int128  codegens int128  codegens int128  codegens int128  codegens int128  codegens int128  codegens int128  codegens int128  codegens int128
  codegens int128
  gets crystal class instance type id
  gets crystal class instance type id
  codegens int
  codegens int
  can invoke binary on primitive typedef (#614)
  can invoke binary on primitive typedef (#614)
  codegens string
  codegens string
  allows @[Primitive] on fun declarations
  allows @[Primitive] on fun declarations
  doesn't optimize away call whose obj is not passed as self (#2226)
  doesn't optimize away call whose obj is not passed as self (#2226)
  sums two numbers out of an [] of Number
  sums two numbers out of an [] of Number
  codegens pointer of int
  codegens pointer of int
  codegens bool
  codegens bool
  codegens char
  codegens char
  allows redefining a primitive method
  allows redefining a primitive method
  codegens f64
  codegens f64
  codegens uint128  codegens uint128  codegens uint128  codegens uint128  codegens uint128  codegens uint128  codegens uint128  codegens uint128  codegens uint128
  codegens uint128
  codegens char ord
  codegens char ord
  can invoke cast on primitive typedef (#614)
  can invoke cast on primitive typedef (#614)
  codegens __LINE__
  codegens __LINE__
  codegens crystal_type_id with union type
  codegens crystal_type_id with union type
  codegens long
  codegens long
  doesn't treat `(1 == 1) == true` as `1 == 1 == true` (#328)
  doesn't treat `(1 == 1) == true` as `1 == 1 == true` (#328)
  allows @[Primitive] on method that has body
  allows @[Primitive] on method that has body
  uses built-in llvm function that returns a tuple
  uses built-in llvm function that returns a tuple
  passes issue #328
  passes issue #328
  arithmetic primitives
    codegens 1 - 2    codegens 1 - 2    codegens 1 - 2    codegens 1 - 2    codegens 1 - 2    codegens 1 - 2    codegens 1 - 2    codegens 1 - 2    codegens 1 - 2
    codegens 1 - 2
    codegens 16.unsafe_shr 2
    codegens 16.unsafe_shr 2
    codegens 1.to_i16    codegens 1.to_i16    codegens 1.to_i16    codegens 1.to_i16    codegens 1.to_i16    codegens 1.to_i16    codegens 1.to_i16    codegens 1.to_i16    codegens 1.to_i16
    codegens 1.to_i16
    codegens 1.to_f!
    codegens 1.to_f!
    codegens 1.to_f    codegens 1.to_f    codegens 1.to_f    codegens 1.to_f    codegens 1.to_f    codegens 1.to_f    codegens 1.to_f    codegens 1.to_f    codegens 1.to_f
    codegens 1.to_f
    codegens 8.unsafe_div 3
    codegens 8.unsafe_div 3
    codegens 1 &- 2
    codegens 1 &- 2
    codegens 2 &* 3
    codegens 2 &* 3
    codegens 2 * 3    codegens 2 * 3    codegens 2 * 3    codegens 2 * 3    codegens 2 * 3    codegens 2 * 3    codegens 2 * 3    codegens 2 * 3    codegens 2 * 3
    codegens 2 * 3
    codegens 16.unsafe_shl 2
    codegens 16.unsafe_shl 2
    codegens 1.to_i16!
    codegens 1.to_i16!
    codegens 8.unsafe_mod 3
    codegens 8.unsafe_mod 3
    codegens 1 + 2    codegens 1 + 2    codegens 1 + 2    codegens 1 + 2    codegens 1 + 2    codegens 1 + 2    codegens 1 + 2    codegens 1 + 2    codegens 1 + 2
    codegens 1 + 2
    skips bounds checking when to_i produces same type
    skips bounds checking when to_i produces same type
    codegens 1 &+ 2
    codegens 1 &+ 2
  atomicrmw
    codegens atomicrmw with enums
    codegens atomicrmw with enums
    codegens atomicrmw with symbols
    codegens atomicrmw with symbols
    codegens atomicrmw with enums
    codegens atomicrmw with enums
Semantic: cast
  doesn't eagerly try to check cast type (#12268)
  doesn't eagerly try to check cast type (#12268)
  casts to same type is ok
  casts to same type is ok
  doesn't crash with typeof no-type (#7441)
  doesn't crash with typeof no-type (#7441)
  doesn't cast to unbound generic type (as?) (#5927)
  doesn't cast to unbound generic type (as?) (#5927)
  casts to generic virtual type
  casts to generic virtual type
  disallows casting int to pointer
  disallows casting int to pointer
  casts from union to compatible union
  casts from union to compatible union
  can cast to metaclass (bug)
  can cast to metaclass (bug)
  casts to target type even if can't infer casted value type (obsolete)
  casts to target type even if can't infer casted value type (obsolete)
  doesn't cast to unbound generic type (as) (#5927)
  doesn't cast to unbound generic type (as) (#5927)
  casts to module
  casts to module
  disallows casting to Reference
  disallows casting to Reference
  casts pointer of one type to another type
  casts pointer of one type to another type
  can cast from Void* to virtual type (#3014)
  can cast from Void* to virtual type (#3014)
  disallows casting to Class
  disallows casting to Class
  considers else to be unreachable (#9658)
  considers else to be unreachable (#9658)
  casts from union to incompatible union gives error
  casts from union to incompatible union gives error
  errors if casting nil to Object inside typeof (#2403)
  errors if casting nil to Object inside typeof (#2403)
  can cast to metaclass (2) (#11121)
  can cast to metaclass (2) (#11121)
  casts pointer to another type
  casts pointer to another type
  doesn't cast to virtual primitive (bug)
  doesn't cast to virtual primitive (bug)
  doesn't allow upcast of generic type var (#996)
  doesn't allow upcast of generic type var (#996)
  allows casting reference union to void pointer
  allows casting reference union to void pointer
  allows casting object to void pointer
  allows casting object to void pointer
  casts to compatible type and use it
  casts to compatible type and use it
  casts to base class making it virtual (2)
  casts to base class making it virtual (2)
  errors on cast inside a call that can't be instantiated
  errors on cast inside a call that can't be instantiated
  doesn't error if casting to a generic type
  doesn't error if casting to a generic type
  disallows casting fun to pointer
  disallows casting fun to pointer
  casts from pointer to generic class gives error
  casts from pointer to generic class gives error
  disallows casting pointer to fun
  disallows casting pointer to fun
  casts to base class making it virtual (1)
  casts to base class making it virtual (1)
  allows casting NoReturn to any type (#2132)
  allows casting NoReturn to any type (#2132)
  should error if can't cast even if not instantiated
  should error if can't cast even if not instantiated
  casts uninstantiated generic class to itself (#10882)
  casts uninstantiated generic class to itself (#10882)
  disallows casting to Object (#815)
  disallows casting to Object (#815)
  casts to incompatible type gives error
  casts to incompatible type gives error
  casts to bigger union
  casts to bigger union
Crystal::Doc::ProjectInfo
  .find_git_version
  .find_git_version
  .find_source_url_pattern
  .find_source_url_pattern
  .read_shard_properties
    indented properties
    indented properties
    strip whitespace
    strip whitespace
    ignores comments
    ignores comments
    duplicate properties uses first one
    duplicate properties uses first one
    no shard.yml
    no shard.yml
    strip quotes
    strip quotes
    empty properties
    empty properties
    name and version
    name and version
    only name
    only name
    without name and version properties
    without name and version properties
  .git_remote
    no git workdir
    no git workdir
    no origin remote
    no origin remote
    origin plus other
    origin plus other
    simple origin
    simple origin
    no remote
    no remote
  #fill_with_defaults
    no shard.yml, but git tagged version
    no shard.yml, but git tagged version
    empty folder
    empty folder
    with shard.yml
      git tagged version
      git tagged version
      git with remote
      git with remote
      git but no commit
      git but no commit
      git untracked file doesn't prevent detection
      git untracked file doesn't prevent detection
      git missing
      git missing
      git non-tagged commit dirty
      git non-tagged commit dirty
      git tagged version dirty
      git tagged version dirty
      not in a git folder
      not in a git folder
      git non-tagged commit
      git non-tagged commit
  #source_url
    fails if pattern is missing
    fails if pattern is missing
    builds url
    builds url
    fails if pattern is missing
    fails if pattern is missing
    returns nil for empty pattern
    returns nil for empty pattern
    fails if refname is missing
    fails if refname is missing
    builds url
    builds url
Normalize: until
  normalizes until
  normalizes until
Semantic: restrictions augmenter
  augments Bool
  augments Bool
  augments relative public type
  augments relative public type
  augments Int32.class
  augments Int32.class
  augments Char
  augments Char
  augments Tuple(Int32, Char)
  augments Tuple(Int32, Char)
  doesn't augment if the no_restrictions_augmenter flag is present
  doesn't augment if the no_restrictions_augmenter flag is present
  augments Char | Int32 | String
  augments Char | Int32 | String
  augments virtual type
  augments virtual type
  augments Int32
  augments Int32
  augments relative private type in same namespace
  augments relative private type in same namespace
  doesn't augment if assigned inside if
  doesn't augment if assigned inside if
  augments Char | Int32 | String
  augments Char | Int32 | String
  augments Enumerable(Int32).class
  augments Enumerable(Int32).class
  augments Nil
  augments Nil
  augments Float32
  augments Float32
  augments Proc(Int32, Char)
  augments Proc(Int32, Char)
  augments for class var
  augments for class var
  augments Array(String)
  augments Array(String)
  augments virtual metaclass type
  augments virtual metaclass type
  augments for Union(*T) (#12435)
  augments for Union(*T) (#12435)
  augments typedef
  augments typedef
  augments StaticArray(Int32, 8)
  augments StaticArray(Int32, 8)
  augments NoReturn
  augments NoReturn
  augments String
  augments String
  augments recursive alias type (#12134)
  augments recursive alias type (#12134)
  doesn't augment if assigned inside while
  doesn't augment if assigned inside while
  augments Pointer(Void)
  augments Pointer(Void)
  augments generic uninstantiated type
  augments generic uninstantiated type
  augments Array(Int32).class
  augments Array(Int32).class
  augments NamedTuple(a: Int32, b: Char)
  augments NamedTuple(a: Int32, b: Char)
  doesn't crash on macro that yields and defines class (#12142)
  doesn't crash on macro that yields and defines class (#12142)
  doesn't augment if assigned inside block
  doesn't augment if assigned inside block
  augments Proc(Int32, Nil)
  augments Proc(Int32, Nil)
  augments Symbol
  augments Symbol
  augments relative private type
  augments relative private type
  augments type splat
  augments type splat
Codegen: while
  doesn't crash on #2767 (2)
  doesn't crash on #2767 (2)
  codegens while with declared var 3
  codegens while with declared var 3
  codegens while with declared var 1
  codegens while with declared var 1
  codegens while with declared var 2
  codegens while with declared var 2
  endless break with value
  endless break with value
  doesn't crash on #2767 (3)
  doesn't crash on #2767 (3)
  codegens while with false
  codegens while with false
  skip block with next
  skip block with next
  break without value
  break without value
  codegens def with while
  codegens def with while
  conditional break without value
  conditional break without value
  endless conditional break with value
  endless conditional break with value
  doesn't crash on #2767
  doesn't crash on #2767
  break with value, condition fails
  break with value, condition fails
  doesn't crash on #2767 (4)
  doesn't crash on #2767 (4)
  conditional break with value
  conditional break with value
  codegens while with non-false condition
  codegens while with non-false condition
  break with value
  break with value
  doesn't crash on a = NoReturn
  doesn't crash on a = NoReturn
  doesn't crash on while true begin break rescue (#7786)
  doesn't crash on while true begin break rescue (#7786)
  codegens endless while
  codegens endless while
Crystal::Config
  .linux_runtime_libc
  .linux_runtime_libc
  .host_target
  .host_target
Semantic: primitives
  types char ord
  types char ord
  can invoke cast on primitive typedef (#614)
  can invoke cast on primitive typedef (#614)
  Reference.pre_initialize
    types with virtual reference type
    types with virtual reference type
    types with reference type
    types with reference type
    errors on uninstantiated generic type
    errors on uninstantiated generic type
    errors on abstract type
    errors on abstract type
  types a float32
  types a float32
  types 1 + 2
  types 1 + 2
  types a float64
  types a float64
  types pointer of int
  types pointer of int
  types a char
  types a char
  types va_arg primitive
  types va_arg primitive
  errors if @[Primitive] has no args
  errors if @[Primitive] has no args
  types nop
  types nop
  types a symbol
  types a symbol
  types a bool
  types a bool
  extends from Number and doesn't find to_i method
  extends from Number and doesn't find to_i method
  types an expression
  types an expression
  Slice.literal
    with element type
      types empty literal
      types empty literal
      errors if element type is not primitive int or float
      errors if element type is not primitive int or float
      types primitive float literal
      types primitive float literal
      errors if element is out of range
      errors if element is out of range
      errors if element is not number literal
      errors if element is not number literal
      types primitive int literal
      types primitive int literal
  types nil
  types nil
  correctly types first hash from type vars (bug)
  correctly types first hash from type vars (bug)
  computes correct hash value type if it's a function literal (#320)
  computes correct hash value type if it's a function literal (#320)
  can invoke binary on primitive typedef (#614)
  can invoke binary on primitive typedef (#614)
  types a string
  types a string
  errors if using instance variable inside primitive type
  errors if using instance variable inside primitive type
  types a uint128
  types a uint128
  types an int32
  types an int32
  types @[Primitive] method
  types @[Primitive] method
  errors when comparing void (#225)
  errors when comparing void (#225)
  can invoke binary on primitive typedef (2) (#614)
  can invoke binary on primitive typedef (2) (#614)
  extends from Number and doesn't find + method
  extends from Number and doesn't find + method
  looks up return type in correct scope (#13652)
  looks up return type in correct scope (#13652)
  types a int128
  types a int128
  types a int64
  types a int64
  errors if @[Primitive] has non-symbol arg
  errors if @[Primitive] has non-symbol arg
  extends from Number and doesn't find >= method
  extends from Number and doesn't find >= method
  allows @[Primitive] on method that has body
  allows @[Primitive] on method that has body
Crystal::Repl
  can return static and runtime type information for
    VirtualType
    VirtualType
    MixedUnionType
    MixedUnionType
    Non Union
    Non Union
    UnionType
    UnionType
  can parse and evaluate snippets
  can parse and evaluate snippets
Code gen: hooks
  does added method macro
  does added method macro
  does finished
  does finished
  fixes empty types in hooks (#3946)
  fixes empty types in hooks (#3946)
  does inherited macro recursively
  does inherited macro recursively
  does inherited macro before class body  does inherited macro before class body  does inherited macro before class body  does inherited macro before class body  does inherited macro before class body  does inherited macro before class body  does inherited macro before class body  does inherited macro before class body  does inherited macro before class body
  does inherited macro before class body
  does extended macro
  does extended macro
  does included macro
  does included macro
  does inherited macro
  does inherited macro
Codegen: super
  codegens super that calls subclass method 6
  codegens super that calls subclass method 6
  codegens super without arguments and instance variable
  codegens super without arguments and instance variable
  does super in virtual type including module
  does super in virtual type including module
  build super on generic class (bug)
  build super on generic class (bug)
  codegens super that calls subclass method 4
  codegens super that calls subclass method 4
  doesn't invoke super twice in inherited generic types (#942)
  doesn't invoke super twice in inherited generic types (#942)
  codegens super that calls subclass method 3
  codegens super that calls subclass method 3
  calls super in metaclass (#1522)  calls super in metaclass (#1522)  calls super in metaclass (#1522)  calls super in metaclass (#1522)  calls super in metaclass (#1522)  calls super in metaclass (#1522)  calls super in metaclass (#1522)  calls super in metaclass (#1522)  calls super in metaclass (#1522)
  calls super in metaclass (#1522)
  codegens super inside closure forwarding args
  codegens super inside closure forwarding args
  codegens super inside closure
  codegens super inside closure
  calls super from virtual metaclass type (#2841)
  calls super from virtual metaclass type (#2841)
  codegens super without arguments
  codegens super without arguments
  codegens super that calls subclass method 5
  codegens super that calls subclass method 5
  calls super on an object (#10004)
  calls super on an object (#10004)
  calls super in generic module method
  calls super in generic module method
  codegens super that calls subclass method 2
  codegens super that calls subclass method 2
  calls super in module method (#556)
  calls super in module method (#556)
  codegens super that calls subclass method
  codegens super that calls subclass method
  codegens super without arguments but parent has arguments
  codegens super without arguments but parent has arguments
  calls super with dispatch (#2318)
  calls super with dispatch (#2318)
Semantic: new
  errors if using self call in default argument (2)
  errors if using self call in default argument (2)
  evaluates initialize default value at the instance scope (2) (#731)
  evaluates initialize default value at the instance scope (2) (#731)
  doesn't have default new for inherited class from generic type
  doesn't have default new for inherited class from generic type
  evaluates initialize default value at the instance scope (4) (#731)
  evaluates initialize default value at the instance scope (4) (#731)
  inherits initialize and new methods if doesn't define new (#3238)
  inherits initialize and new methods if doesn't define new (#3238)
  errors if using self call in default argument (1)
  errors if using self call in default argument (1)
  evaluates initialize default value at the instance scope (6) (#731)
  evaluates initialize default value at the instance scope (6) (#731)
  errors if using self call in default argument (3)
  errors if using self call in default argument (3)
  evaluates initialize default value at the instance scope (5) (#731)
  evaluates initialize default value at the instance scope (5) (#731)
  uses correct receiver for `initialize` in namespaced generic classes (#4086)
  uses correct receiver for `initialize` in namespaced generic classes (#4086)
  evaluates initialize default value at the instance scope (1) (#731)
  evaluates initialize default value at the instance scope (1) (#731)
  evaluates initialize default value at the instance scope (3) (#731)
  evaluates initialize default value at the instance scope (3) (#731)
  doesn't incorrectly redefines new for generic class
  doesn't incorrectly redefines new for generic class
Code gen: new
  finds new in superclass if no initialize is defined (1)
  finds new in superclass if no initialize is defined (1)
  evaluates initialize default value at the instance scope (3) (#731)
  evaluates initialize default value at the instance scope (3) (#731)
  codegens instance method with new
  codegens instance method with new
  evaluates initialize default value at the instance scope (4) (#731)
  evaluates initialize default value at the instance scope (4) (#731)
  evaluates initialize default value at the instance scope (2) (#731)
  evaluates initialize default value at the instance scope (2) (#731)
  finds super in deep hierarchy
  finds super in deep hierarchy
  defines new for module
  defines new for module
  can create Reference
  can create Reference
  inherits initialize for generic type
  inherits initialize for generic type
  overloads new and initialize, 2 (#2489)
  overloads new and initialize, 2 (#2489)
  finds new in superclass for Enum
  finds new in superclass for Enum
  codegens instance method with new and instance var
  codegens instance method with new and instance var
  inherits initialize
  inherits initialize
  overloads new and initialize, 3 (#2489)
  overloads new and initialize, 3 (#2489)
  can create Tuple with Tuple.new  can create Tuple with Tuple.new  can create Tuple with Tuple.new  can create Tuple with Tuple.new  can create Tuple with Tuple.new  can create Tuple with Tuple.new  can create Tuple with Tuple.new  can create Tuple with Tuple.new  can create Tuple with Tuple.new
  can create Tuple with Tuple.new
  codegens instance method with allocate
  codegens instance method with allocate
  overloads new and initialize, 1 (#2489)
  overloads new and initialize, 1 (#2489)
  evaluates initialize default value at the instance scope (1) (#731)
  evaluates initialize default value at the instance scope (1) (#731)
  finds new in superclass if no initialize is defined (2)
  finds new in superclass if no initialize is defined (2)
Semantic: multi assign
  without strict_multi_assign
    errors if assigning non-Indexable to splat (#11414)
    errors if assigning non-Indexable to splat (#11414)
    doesn't error if assigning non-Indexable (#11414)
    doesn't error if assigning non-Indexable (#11414)
    doesn't error if assigning tuple to fewer targets
    doesn't error if assigning tuple to fewer targets
  strict_multi_assign
    errors if assigning non-Indexable (#11414)
    errors if assigning non-Indexable (#11414)
    errors if assigning tuple to more targets
    errors if assigning tuple to more targets
    doesn't error if some type in union matches target count
    doesn't error if some type in union matches target count
    errors if assigning tuple to fewer targets
    errors if assigning tuple to fewer targets
    errors if assigning non-Indexable to splat (#11414)
    errors if assigning non-Indexable to splat (#11414)
    doesn't error if some type in union has no constant size
    doesn't error if some type in union has no constant size
    errors if assigning union of tuples to fewer targets
    errors if assigning union of tuples to fewer targets
  can pass splat variable at top-level to macros (#11596)
  can pass splat variable at top-level to macros (#11596)
Semantic: while
  doesn't fail on new variables inside typeof condition
  doesn't fail on new variables inside typeof condition
  uses var type inside while if endless loop
  uses var type inside while if endless loop
  doesn't type var as nilable after break inside rescue
  doesn't type var as nilable after break inside rescue
  finds while cond assign target in Not (#10345)
  finds while cond assign target in Not (#10345)
  restricts type after while (#4242)
  restricts type after while (#4242)
  types endless while with break without value
  types endless while with break without value
  doesn't use type at end of endless while if variable is reassigned (2)
  doesn't use type at end of endless while if variable is reassigned (2)
  types endless while with multiple breaks with value
  types endless while with multiple breaks with value
  doesn't restrict type after while if there's a break (#4242)
  doesn't restrict type after while if there's a break (#4242)
  rebinds condition variable after while body (#6158)
  rebinds condition variable after while body (#6158)
  types while with && (#1425)
  types while with && (#1425)
  marks variable as nil if breaking before assigning to it in an endless loop (2)
  marks variable as nil if breaking before assigning to it in an endless loop (2)
  reports break cannot be used outside a while
  reports break cannot be used outside a while
  types while with assignment
  types while with assignment
  restricts type after `while` with `not` and `and` (#4242)
  restricts type after `while` with `not` and `and` (#4242)
  types while with assignment and &&
  types while with assignment and &&
  types endless while with break with value
  types endless while with break with value
  types while (true) as NoReturn
  types while (true) as NoReturn
  doesn't fail on Expressions condition (2)
  doesn't fail on Expressions condition (2)
  types variable as nilable if raise before assign
  types variable as nilable if raise before assign
  uses type at end of endless while if variable is reassigned, but not before first break (2)
  uses type at end of endless while if variable is reassigned, but not before first break (2)
  restricts type after while with not (#4242)
  restricts type after while with not (#4242)
  types while with multiple breaks with value
  types while with multiple breaks with value
  finds all while cond assign targets in expressions (6)
  finds all while cond assign targets in expressions (6)
  doesn't use type at end of endless while if variable is reassigned
  doesn't use type at end of endless while if variable is reassigned
  types while with break with value
  types while with break with value
  finds all while cond assign targets in expressions (5)
  finds all while cond assign targets in expressions (5)
  types while with assignment and call
  types while with assignment and call
  types while with break without value
  types while with break without value
  doesn't fail on Expressions condition (1)
  doesn't fail on Expressions condition (1)
  doesn't fail on nested conditionals inside typeof condition
  doesn't fail on nested conditionals inside typeof condition
  finds all while cond assign targets in expressions (4)
  finds all while cond assign targets in expressions (4)
  uses type at end of endless while if variable is reassigned, but not before first break
  uses type at end of endless while if variable is reassigned, but not before first break
  finds all while cond assign targets in expressions (#10350)
  finds all while cond assign targets in expressions (#10350)
  doesn't modify var's type before while
  doesn't modify var's type before while
  doesn't use type at end of endless while if variable is reassigned (3)
  doesn't use type at end of endless while if variable is reassigned (3)
  types while true as NoReturn
  types while true as NoReturn
  uses var type inside while if endless loop (2)
  uses var type inside while if endless loop (2)
  types while
  types while
  reports next cannot be used outside a while
  reports next cannot be used outside a while
  finds all while cond assign targets in expressions (3)
  finds all while cond assign targets in expressions (3)
  marks variable as nil if breaking before assigning to it in an endless loop
  marks variable as nil if breaking before assigning to it in an endless loop
  types while ((true)) as NoReturn
  types while ((true)) as NoReturn
  finds all while cond assign targets in expressions (2)
  finds all while cond assign targets in expressions (2)
Codegen: thread local
  compiles with class variable referenced from initializer  compiles with class variable referenced from initializer  compiles with class variable referenced from initializer  compiles with class variable referenced from initializer  compiles with class variable referenced from initializer  compiles with class variable referenced from initializer  compiles with class variable referenced from initializer  compiles with class variable referenced from initializer  compiles with class variable referenced from initializer
  compiles with class variable referenced from initializer
  works with class variables  works with class variables  works with class variables  works with class variables  works with class variables  works with class variables  works with class variables  works with class variables  works with class variables
  works with class variables
  works with class variable in main thread  works with class variable in main thread  works with class variable in main thread  works with class variable in main thread  works with class variable in main thread  works with class variable in main thread  works with class variable in main thread  works with class variable in main thread  works with class variable in main thread
  works with class variable in main thread
Semantic: struct
  types struct getter with keyword name
  types struct getter with keyword name
  errors if includes and field already exists, the other way around
  errors if includes and field already exists, the other way around
  errors if invoking to_unsafe and got error in that call
  errors if invoking to_unsafe and got error in that call
  errors if already defined with another type (2)
  errors if already defined with another type (2)
  errors on struct setter if different type via new
  errors on struct setter if different type via new
  includes another struct
  includes another struct
  supports macro if inside struct
  supports macro if inside struct
  allows inline forward declaration
  allows inline forward declaration
  errors if already defined
  errors if already defined
  automatically converts numeric type in struct field assignment
  automatically converts numeric type in struct field assignment
  types struct
  types struct
  errors if setting closure
  errors if setting closure
  types Struct#new
  types Struct#new
  errors on struct if no field
  errors on struct if no field
  errors if using void in struct field type
  errors if using void in struct field type
  errors on struct setter if different type
  errors on struct setter if different type
  errors if already defined with another type
  errors if already defined with another type
  marks as packed
  marks as packed
  errors if includes and field already exists
  errors if includes and field already exists
  errors if using void via typedef in struct field type
  errors if using void via typedef in struct field type
  errors if includes non-cstruct type
  errors if includes non-cstruct type
  can access instance var from the outside (#1092)
  can access instance var from the outside (#1092)
  types struct getter multiple levels via new
  types struct getter multiple levels via new
  types struct getter on pointer type
  types struct getter on pointer type
  errors if invoking to_i32! and got wrong type
  errors if invoking to_i32! and got wrong type
  errors if invoking to_unsafe and got different type
  errors if invoking to_unsafe and got different type
  errors on empty c struct (#633)
  errors on empty c struct (#633)
  types struct setter
  types struct setter
  errors if includes unknown type
  errors if includes unknown type
  types struct getter to struct
  types struct getter to struct
  errors if invoking to_i32! and got error in that call
  errors if invoking to_i32! and got error in that call
  types struct getter
  types struct getter
Crystal::Repl::Interpreter
  extern
    discards primitive struct_or_union_set and get (struct)
    discards primitive struct_or_union_set and get (struct)
    discards primitive struct_or_union_set because it's a copy
    discards primitive struct_or_union_set because it's a copy
    sets struct field through pointer
    sets struct field through pointer
    interprets primitive struct_or_union_set and get (union)
    interprets primitive struct_or_union_set and get (union)
    interprets primitive struct_or_union_set and get (struct)
    interprets primitive struct_or_union_set and get (struct)
    sets extern struct proc field
    sets extern struct proc field
    does automatic C cast
    does automatic C cast
Semantic: automatic cast
  casts integer variable to larger type (Int64 to Int128) (#9565)
  casts integer variable to larger type (Int64 to Int128) (#9565)
  says ambiguous call for integer var to larger type (#9565)
  says ambiguous call for integer var to larger type (#9565)
  casts integer variable to larger type (#9565)
  casts integer variable to larger type (#9565)
  casts Int32 -> Int64 in arg restriction
  casts Int32 -> Int64 in arg restriction
  doesn't autocast number on union (#8655)
  doesn't autocast number on union (#8655)
  casts Int32 to Int64 in ivar assignment
  casts Int32 to Int64 in ivar assignment
  doesn't say 'ambiguous call' when there's an exact match for symbol (#6601)
  doesn't say 'ambiguous call' when there's an exact match for symbol (#6601)
  casts literal integer in private top-level method (#7016)
  casts literal integer in private top-level method (#7016)
  casts literal integer (Int32 -> Float32)
  casts literal integer (Int32 -> Float32)
  casts literal integer (Int32 -> no restriction)
  casts literal integer (Int32 -> no restriction)
  casts Symbol to Enum in ivar type declaration
  casts Symbol to Enum in ivar type declaration
  casts literal integer through alias with union
  casts literal integer through alias with union
  casts literal integer (Int64 -> Int32, ok)
  casts literal integer (Int64 -> Int32, ok)
  can autocast to union in default value
  can autocast to union in default value
  casts Symbol to Enum in ivar assignment
  casts Symbol to Enum in ivar assignment
  can match multiple times with the same argument type (#7578)
  can match multiple times with the same argument type (#7578)
  says ambiguous call for integer
  says ambiguous call for integer
  casts Symbol to Enum in cvar type declaration
  casts Symbol to Enum in cvar type declaration
  autocasts nested type from non-nested type (#10315)
  autocasts nested type from non-nested type (#10315)
  errors if symbol name doesn't match enum member
  errors if symbol name doesn't match enum member
  doesn't do multidispatch if an overload matches exactly (#8217)
  doesn't do multidispatch if an overload matches exactly (#8217)
  can autocast to union in default value (multiple enums)
  can autocast to union in default value (multiple enums)
  casts Int32 to Int64 in lvar assignment
  casts Int32 to Int64 in lvar assignment
  casts symbol literal to enum
  casts symbol literal to enum
  casts literal float (Float64 -> Float32)
  casts literal float (Float64 -> Float32)
  casts literal integer through alias with union
  casts literal integer through alias with union
  can use automatic cast with `with ... yield` (#7736)
  can use automatic cast with `with ... yield` (#7736)
  says ambiguous call for integer (2)
  says ambiguous call for integer (2)
  doesn't cast integer variable to larger type (not #9565)
  doesn't cast integer variable to larger type (not #9565)
  doesn't do multidispatch if an overload matches exactly (#8217)
  doesn't do multidispatch if an overload matches exactly (#8217)
  casts integer expression to larger type (#9565)
  casts integer expression to larger type (#9565)
  can autocast to union in default value (symbol and int)
  can autocast to union in default value (symbol and int)
  says ambiguous call for integer on alias (#6620)
  says ambiguous call for integer on alias (#6620)
  can't cast integer to another type when it doesn't fit (#9565)
  can't cast integer to another type when it doesn't fit (#9565)
  autocasts integer variable to float type (#9565)
  autocasts integer variable to float type (#9565)
  doesn't say 'ambiguous call' when there's an exact match for integer (#6601)
  doesn't say 'ambiguous call' when there's an exact match for integer (#6601)
  can autocast to alias in default value
  can autocast to alias in default value
  says ambiguous call for integer var to union type (#9565)
  says ambiguous call for integer var to union type (#9565)
  casts literal integer (Int64 -> Int32, too big)
  casts literal integer (Int64 -> Int32, too big)
  autocasts float32 variable to float64 type (#9565)
  autocasts float32 variable to float64 type (#9565)
  casts literal float (Float32 -> Float64)
  casts literal float (Float32 -> Float64)
  matches correct overload
  matches correct overload
  autocasts first argument and second matches without autocast
  autocasts first argument and second matches without autocast
  casts literal integer (Int32 -> Float64)
  casts literal integer (Int32 -> Float64)
  casts Int32 to Int64 in cvar type declaration
  casts Int32 to Int64 in cvar type declaration
  casts literal integer (Int32 -> Int64)
  casts literal integer (Int32 -> Int64)
  casts Int32 to Int64 in ivar type declaration
  casts Int32 to Int64 in ivar type declaration
  casts Int32 to Int64 in ivar type declaration in generic
  casts Int32 to Int64 in ivar type declaration in generic
  says ambiguous call for symbol
  says ambiguous call for symbol
  says ambiguous call on union (#8655)
  says ambiguous call on union (#8655)
  casts Int32 to Int64 in cvar assignment
  casts Int32 to Int64 in cvar assignment
  errors when autocast default value doesn't match enum member
  errors when autocast default value doesn't match enum member
Block inference
  errors if using ( -> Object) as block return type (#2358)
  errors if using ( -> Object) as block return type (#2358)
  ignores block parameter if not used
  ignores block parameter if not used
  matches block arg return type
  matches block arg return type
  infer type of block parameter
  infer type of block parameter
  errors if returns from captured block
  errors if returns from captured block
  respects block arg restriction when block has a splat parameter (#6473)
  respects block arg restriction when block has a splat parameter (#6473)
  does next from captured block
  does next from captured block
  doesn't crash on #2531
  doesn't crash on #2531
  reports error if yields a type that's not that one in the block specification
  reports error if yields a type that's not that one in the block specification
  reports error if yields a type that later changes and that's not that one in the block specification
  reports error if yields a type that later changes and that's not that one in the block specification
  infer type of empty block body
  infer type of empty block body
  reports error on method instantiate (#4543)
  reports error on method instantiate (#4543)
  allows underscore in block return type even if the return type can't be computed
  allows underscore in block return type even if the return type can't be computed
  preserves type filters in block
  preserves type filters in block
  errors if declares class inside captured block
  errors if declares class inside captured block
  uses free var in return type with tuple type
  uses free var in return type with tuple type
  reports mismatch with generic argument type in input type
  reports mismatch with generic argument type in input type
  errors if declares class inside block
  errors if declares class inside block
  infers type of block before call
  infers type of block before call
  errors if declares fun inside block
  errors if declares fun inside block
  errors on recursive yield
  errors on recursive yield
  maps block of union types to union types
  maps block of union types to union types
  checks block type with virtual type
  checks block type with virtual type
  errors when using local variable with block parameter name
  errors when using local variable with block parameter name
  reports error if block type doesn't match
  reports error if block type doesn't match
  auto-unpacks tuple, less than max
  auto-unpacks tuple, less than max
  returns from proc literal
  returns from proc literal
  errors if proc is not instantiated
  errors if proc is not instantiated
  uses splat in block parameter
  uses splat in block parameter
  infer type of yield
  infer type of yield
  error with self output type doesn't match
  error with self output type doesn't match
  binds to proc, not only to its body (#1796)
  binds to proc, not only to its body (#1796)
  unpacks block argument
  unpacks block argument
  auto-unpacks tuple, captured block with multiple statements
  auto-unpacks tuple, captured block with multiple statements
  infer type of block body
  infer type of block body
  error with self input type doesn't match
  error with self input type doesn't match
  ignores void return type (4)
  ignores void return type (4)
  auto-unpacks tuple
  auto-unpacks tuple
  errors if alias is not a fun type
  errors if alias is not a fun type
  auto-unpacks with block arg type
  auto-unpacks with block arg type
  yields splat and non splat
  yields splat and non splat
  errors if doing next in proc literal
  errors if doing next in proc literal
  errors if declares lib inside block
  errors if declares lib inside block
  reports mismatch with generic argument type in output type
  reports mismatch with generic argument type in output type
  sets captured block type to that of restriction with alias
  sets captured block type to that of restriction with alias
  yields splat
  yields splat
  errors if declares extend inside block
  errors if declares extend inside block
  errors if yields from top level
  errors if yields from top level
  reports error if block changes type
  reports error if block changes type
  errors if splat parameter becomes a union
  errors if splat parameter becomes a union
  auto-unpacks tuple, too many args, captured block
  auto-unpacks tuple, too many args, captured block
  renders expected block return type of a free variable on mismatch
  renders expected block return type of a free variable on mismatch
  doesn't mix local var with block var, using next (#2314)
  doesn't mix local var with block var, using next (#2314)
  errors if breaks from captured block
  errors if breaks from captured block
  allows initialize with yield (#224)
  allows initialize with yield (#224)
  errors if invoking new with block when no initialize is defined
  errors if invoking new with block when no initialize is defined
  passes #262
  passes #262
  passes #233: block with initialize with default args
  passes #233: block with initialize with default args
  infer type of local variable
  infer type of local variable
  doesn't auto-unpack tuple, more args
  doesn't auto-unpack tuple, more args
  errors on recursive yield with ProcNotation restriction
  errors on recursive yield with ProcNotation restriction
  types bug with yield not_nil! that is never not nil
  types bug with yield not_nil! that is never not nil
  doesn't assign block variable type to last value (#694)
  doesn't assign block variable type to last value (#694)
  infer type with union
  infer type with union
  errors if declares enum inside block
  errors if declares enum inside block
  break from block without value
  break from block without value
  can infer block type given that the method has a return type (#7160)
  can infer block type given that the method has a return type (#7160)
  passes &->f
  passes &->f
  infers type of block with generic type
  infers type of block with generic type
  recalculates call that uses block arg output as free var
  recalculates call that uses block arg output as free var
  reports error if yields a type that's not that one in the block specification
  reports error if yields a type that's not that one in the block specification
  uses splat in block parameter, many args
  uses splat in block parameter, many args
  does next from block without value
  does next from block without value
  allows yielding multiple types when a union is expected
  allows yielding multiple types when a union is expected
  respects block arg restriction when block has a splat parameter (2) (#9524)
  respects block arg restriction when block has a splat parameter (2) (#9524)
  errors on recursive yield with non ProcNotation restriction (#6896)
  errors on recursive yield with non ProcNotation restriction (#6896)
  auto-unpacks tuple, less than max, captured block
  auto-unpacks tuple, less than max, captured block
  ignores void return type (3) (#427)
  ignores void return type (3) (#427)
  ignores void return type (2) (#427)
  ignores void return type (2) (#427)
  uses free var in return type in captured block
  uses free var in return type in captured block
  types empty block
  types empty block
  errors if using Object as block return type (#2358)
  errors if using Object as block return type (#2358)
  uses splat in block parameter, but not enough yield expressions
  uses splat in block parameter, but not enough yield expressions
  uses block var with same name as local var
  uses block var with same name as local var
  doesn't mix local var with block var, using break (#2314)
  doesn't mix local var with block var, using break (#2314)
  binds block return type free variable even if there are no block parameters (#1797)
  binds block return type free variable even if there are no block parameters (#1797)
  auto-unpacks tuple, captured block
  auto-unpacks tuple, captured block
  yields in overload, matches type
  yields in overload, matches type
  doesn't fail with 'already had enclosing call' (#11200)
  doesn't fail with 'already had enclosing call' (#11200)
  errors if using Bar | Object as block return type (#2358)
  errors if using Bar | Object as block return type (#2358)
  allows invoking method on a object of a captured block with a type that was never instantiated
  allows invoking method on a object of a captured block with a type that was never instantiated
  errors if using (Object ->) as block return type (#2358)
  errors if using (Object ->) as block return type (#2358)
  correctly types unpacked tuple block arg after block (#3339)
  correctly types unpacked tuple block arg after block (#3339)
  infers type of block before call taking other args free vars into account
  infers type of block before call taking other args free vars into account
  doesn't crash on cleaning up typeof node without dependencies (#8669)
  doesn't crash on cleaning up typeof node without dependencies (#8669)
  finds type inside module in block
  finds type inside module in block
  does next from block with value
  does next from block with value
  reports error if missing arguments to yield
  reports error if missing arguments to yield
  infer type with self block arg
  infer type with self block arg
  uses block arg, too many parameters
  uses block arg, too many parameters
  allows alias as block fun type
  allows alias as block fun type
  errors if declares def inside block
  errors if declares def inside block
  break without value has nil type
  break without value has nil type
  errors if declares alias inside block
  errors if declares alias inside block
  reports error if block didn't return expected type
  reports error if block didn't return expected type
  errors if declares include inside block
  errors if declares include inside block
  errors if declares module inside block
  errors if declares module inside block
  uses block return type as return type, even if can't infer block type
  uses block return type as return type, even if can't infer block type
  does next from block with value 2
  does next from block with value 2
  matches block with generic type and free var
  matches block with generic type and free var
  sets captured block type to that of restriction
  sets captured block type to that of restriction
  ignores void return type (#427)
  ignores void return type (#427)
  auto-unpacks tuple, too many args
  auto-unpacks tuple, too many args
  yields with different types
  yields with different types
  errors if declares macro inside block
  errors if declares macro inside block
  auto-unpacks tuple, captured empty block
  auto-unpacks tuple, captured empty block
  types recursive hash assignment
  types recursive hash assignment
semantic: case
  checks exhaustiveness for tuple literal, and passes
  checks exhaustiveness for tuple literal, and passes
  checks exhaustiveness of enum via const
  checks exhaustiveness of enum via const
  checks exhaustiveness for tuple literal with bool and underscore at first position
  checks exhaustiveness for tuple literal with bool and underscore at first position
  checks exhaustiveness for tuple literal of 2 elements, first is enum
  checks exhaustiveness for tuple literal of 2 elements, first is enum
  checks exhaustiveness for tuple literal with bool and underscore at second position, with partial match
  checks exhaustiveness for tuple literal with bool and underscore at second position, with partial match
  checks exhaustiveness of enum (all cases covered)
  checks exhaustiveness of enum (all cases covered)
  checks exhaustiveness for tuple literal with bool and underscore at first position
  checks exhaustiveness for tuple literal with bool and underscore at first position
  checks exhaustiveness of single type (generic)
  checks exhaustiveness of single type (generic)
  checks exhaustiveness of enum via question method
  checks exhaustiveness of enum via question method
  checks exhaustiveness for tuple literal with bool and underscore at second position
  checks exhaustiveness for tuple literal with bool and underscore at second position
  can't prove case is exhaustive for @[Flags] enum, tuple case
  can't prove case is exhaustive for @[Flags] enum, tuple case
  checks exhaustiveness, covers in base type covers (generic type)
  checks exhaustiveness, covers in base type covers (generic type)
  checks exhaustiveness for tuple literal with bool and underscore at second position
  checks exhaustiveness for tuple literal with bool and underscore at second position
  checks exhaustiveness of enum through method (all cases covered)
  checks exhaustiveness of enum through method (all cases covered)
  can prove case is exhaustive for @[Flags] enum when matching type
  can prove case is exhaustive for @[Flags] enum when matching type
  checks exhaustiveness for tuple literal of 3 elements, all enums
  checks exhaustiveness for tuple literal of 3 elements, all enums
  checks exhaustiveness for tuple literal, with call
  checks exhaustiveness for tuple literal, with call
  checks exhaustiveness of bool type with other types
  checks exhaustiveness of bool type with other types
  checks exhaustiveness, covers in base type covers
  checks exhaustiveness, covers in base type covers
  checks exhaustiveness for tuple literal of 3 elements, and warns
  checks exhaustiveness for tuple literal of 3 elements, and warns
  checks exhaustiveness of bool type (missing true)
  checks exhaustiveness of bool type (missing true)
  checks exhaustiveness for tuple literal with types and underscore at second position
  checks exhaustiveness for tuple literal with types and underscore at second position
  checks exhaustiveness for tuple literal with types and underscore at first position
  checks exhaustiveness for tuple literal with types and underscore at first position
  checks exhaustiveness for tuple literal of 3 elements, all bool
  checks exhaustiveness for tuple literal of 3 elements, all bool
  checks exhaustiveness of union type with virtual type
  checks exhaustiveness of union type with virtual type
  checks exhaustiveness of bool type (missing false)
  checks exhaustiveness of bool type (missing false)
  checks exhaustiveness for tuple literal with bool and underscore at first position, partial match
  checks exhaustiveness for tuple literal with bool and underscore at first position, partial match
  checks exhaustiveness of nil type with nil literal
  checks exhaustiveness of nil type with nil literal
  checks exhaustiveness of nilable type with nil literal
  checks exhaustiveness of nilable type with nil literal
  can't prove case is exhaustive for @[Flags] enum
  can't prove case is exhaustive for @[Flags] enum
  checks exhaustiveness for tuple literal of 2 elements, first is bool
  checks exhaustiveness for tuple literal of 2 elements, first is bool
  checks exhaustiveness of single type (T.class)
  checks exhaustiveness of single type (T.class)
  checks exhaustiveness for tuple literal with bool and underscore at second position, partial match
  checks exhaustiveness for tuple literal with bool and underscore at second position, partial match
  checks exhaustiveness of enum combined with another type
  checks exhaustiveness of enum combined with another type
  checks exhaustiveness for tuple literal of 2 elements, and warns
  checks exhaustiveness for tuple literal of 2 elements, and warns
  checks exhaustiveness for tuple literal with bool and underscore at first position, with partial match
  checks exhaustiveness for tuple literal with bool and underscore at first position, with partial match
  errors if casing against a constant
  errors if casing against a constant
  doesn't check exhaustiveness when using 'when'
  doesn't check exhaustiveness when using 'when'
  checks exhaustiveness of single type (Foo(T).class)
  checks exhaustiveness of single type (Foo(T).class)
  checks exhaustiveness of union with bool
  checks exhaustiveness of union with bool
  checks exhaustiveness of single type
  checks exhaustiveness of single type
  covers all types
  covers all types
Normalize: array literal
  normalizes non-empty with of
  normalizes non-empty with of
  normalizes non-empty without of, with splat only
  normalizes non-empty without of, with splat only
  normalizes empty with of
  normalizes empty with of
  hoists complex element expressions
  hoists complex element expressions
  hoists complex element expressions, with splat
  hoists complex element expressions, with splat
  normalizes non-empty with of, with splat
  normalizes non-empty with of, with splat
  normalizes non-empty without of, with splat
  normalizes non-empty without of, with splat
  hoists complex element expressions, array-like generic
  hoists complex element expressions, array-like generic
  normalizes non-empty without of
  normalizes non-empty without of
  hoists complex element expressions, array-like
  hoists complex element expressions, array-like
Code gen: uninitialized
  codegens value (#3641)
  codegens value (#3641)
  doesn't break on inherited declared var (#390)
  doesn't break on inherited declared var (#390)
  codegens declare var and changes it
  codegens declare var and changes it
  works inside while/begin/rescue (bug inside #759)  works inside while/begin/rescue (bug inside #759)  works inside while/begin/rescue (bug inside #759)  works inside while/begin/rescue (bug inside #759)  works inside while/begin/rescue (bug inside #759)  works inside while/begin/rescue (bug inside #759)  works inside while/begin/rescue (bug inside #759)  works inside while/begin/rescue (bug inside #759)  works inside while/begin/rescue (bug inside #759)
  works inside while/begin/rescue (bug inside #759)
  works with uninitialized NoReturn (#3314)
  works with uninitialized NoReturn (#3314)
  codegens declare instance var with static array type
  codegens declare instance var with static array type
  codegens declare var and read it
  codegens declare var and read it
  codegens declare instance var
  codegens declare instance var
Semantic: super
  types super without arguments and instance variable
  types super without arguments and instance variable
  types super with named arguments, def has bare splat parameter (#8895)
  types super with named arguments, def has bare splat parameter (#8895)
  errors if invoking super and match isn't found in direct superclass in initialize (even though it's find in one superclass)
  errors if invoking super and match isn't found in direct superclass in initialize (even though it's find in one superclass)
  gives correct error when calling super and target is abstract method (#2675)
  gives correct error when calling super and target is abstract method (#2675)
  calls super in module method (3) (#556)
  calls super in module method (3) (#556)
  calls super in module method (2) (#556)
  calls super in module method (2) (#556)
  errors on super outside method (#4481)
  errors on super outside method (#4481)
  calls super in module method (1) (#556)
  calls super in module method (1) (#556)
  types super without arguments
  types super without arguments
  finds super initialize if not explicitly defined in superclass, 1 (#273)
  finds super initialize if not explicitly defined in superclass, 1 (#273)
  types super with named arguments, def has bare splat parameter (2) (#8895)
  types super with named arguments, def has bare splat parameter (2) (#8895)
  errors no superclass method in top-level
  errors no superclass method in top-level
  errors no superclass method in top-level def
  errors no superclass method in top-level def
  errors no superclass method
  errors no superclass method
  types super with forwarded arguments, def has bare splat parameter (#8895)
  types super with forwarded arguments, def has bare splat parameter (#8895)
  finds super initialize if not explicitly defined in superclass, 2 (#273)
  finds super initialize if not explicitly defined in superclass, 2 (#273)
  types super when container method is defined in parent class two levels up
  types super when container method is defined in parent class two levels up
  types super when inside fun and forwards args
  types super when inside fun and forwards args
  doesn't error if invoking super and match isn't found in direct superclass (even though it's find in one superclass)
  doesn't error if invoking super and match isn't found in direct superclass (even though it's find in one superclass)
  calls super in generic module method
  calls super in generic module method
  types super when container method is defined in parent class
  types super when container method is defined in parent class
  types super with forwarded arguments, different internal names (#8895)
  types super with forwarded arguments, different internal names (#8895)
  types super with forwarded arguments, parent has parameters
  types super with forwarded arguments, parent has parameters
  types super with forwarded arguments, def has double splat parameter (#8895)
  types super with forwarded arguments, def has double splat parameter (#8895)
  types super when inside fun
  types super when inside fun
  errors if calling super on module method and not found
  errors if calling super on module method and not found
  errors on super where only target would be a top level method (#5201)
  errors on super where only target would be a top level method (#5201)
  says correct error message when no overload matches in super call (#272)
  says correct error message when no overload matches in super call (#272)
  invokes super inside macro (#6636)
  invokes super inside macro (#6636)
Crystal::Repl::Interpreter
  bugs
    doesn't pass self to top-level method
    doesn't pass self to top-level method
    does leading zeros
    does leading zeros
    does multidispatch on virtual struct union nil
    does multidispatch on virtual struct union nil
    doesn't pass self to top-level method (FileNode)
    doesn't pass self to top-level method (FileNode)
    correctly puts virtual metaclass type in union
    correctly puts virtual metaclass type in union
    does multidispatch on virtual struct
    does multidispatch on virtual struct
    doesn't override local variable value with block var with the same name
    doesn't override local variable value with block var with the same name
    breaks from current block, not from outer block
    breaks from current block, not from outer block
    doesn't incorrectly consider a non-closure as closure
    doesn't incorrectly consider a non-closure as closure
Crystal::Repl::Interpreter
  exception handling
    does ensure with explicit return
    does ensure with explicit return
    executes ensure when exception is raised in rescue
    executes ensure when exception is raised in rescue
    does ensure for else when else raises
    does ensure for else when else raises
    executes ensure when breaking from a block
    executes ensure when breaking from a block
    raises and rescues specific exception type
    raises and rescues specific exception type
    does ensure without rescue/raise
    does ensure without rescue/raise
    raises and rescues anything
    raises and rescues anything
    executes ensure when returning from a block
    executes ensure when returning from a block
    executes ensure when returning a big value from a block
    executes ensure when returning a big value from a block
    does ensure for else
    does ensure for else
    executes ensure when exception is raised in body
    executes ensure when exception is raised in body
    does else
    does else
    raises and rescues anything, does ensure when an exception is rescued
    raises and rescues anything, does ensure when an exception is rescued
    executes ensure when returning from a block (2)
    executes ensure when returning from a block (2)
    captures exception in variable
    captures exception in variable
    does rescue when nothing is raised
    does rescue when nothing is raised
Crystal::Doc::Generator
  #formatted_summary
    with a Deprecated annotation, and docs
      should generate both the docs and Deprecated tag
      should generate both the docs and Deprecated tag
    with a Deprecated annotation, and no docs
      should generate just the Deprecated tag
      should generate just the Deprecated tag
    with a Experimental annotation, and no docs
      should generate just the Experimental tag
      should generate just the Experimental tag
    with no annotation, and no docs
      should generate nothing
      should generate nothing
    should generate the first sentence
    should generate the first sentence
    should exclude whitespace before the summary line
    should exclude whitespace before the summary line
    with a Experimental annotation, and docs
      should generate both the docs and Experimental tag
      should generate both the docs and Experimental tag
    should generate the first line
    should generate the first line
  generates sitemap
  generates sitemap
  #must_include_toplevel?
    returns true if program has method
    returns true if program has method
    returns false if program has macro which is defined in other place
    returns false if program has macro which is defined in other place
    returns false if program has constant which is defined in other place
    returns false if program has constant which is defined in other place
    returns true if program has macro
    returns true if program has macro
    returns false if program has method which is defined in other place
    returns false if program has method which is defined in other place
    returns false if program has nothing
    returns false if program has nothing
    returns true if program has constant
    returns true if program has constant
  #formatted_doc
    with a Deprecated annotation, and docs
      should generate both the docs and Deprecated tag
      should generate both the docs and Deprecated tag
    should generate the full document
    should generate the full document
    with a Experimental annotation, and docs
      should generate both the docs and Experimental tag
      should generate both the docs and Experimental tag
    with no annotation, and no docs
      should generate nothing
      should generate nothing
    should generate the full document
    should generate the full document
    with a Experimental annotation, and no docs
      should generate just the Experimental tag
      should generate just the Experimental tag
    with a Deprecated annotation, and no docs
      should generate just the Deprecated tag
      should generate just the Deprecated tag
  crystal repo
    inserts pseudo methods
    inserts pseudo methods
  #collect_constants
    returns empty array when constants are private
    returns empty array when constants are private
Crystal::Repl::Interpreter
  blocks
    counts with ... yield scope in block args bytesize (#12316)
    counts with ... yield scope in block args bytesize (#12316)
    caches method with captured block (#12276)
    caches method with captured block (#12276)
    interprets yield return value
    interprets yield return value
    interprets break inside block (union, through return)
    interprets break inside block (union, through return)
    interprets yield with splat (1)
    interprets yield with splat (1)
    interprets yield inside def with arguments
    interprets yield inside def with arguments
    interprets yield expressions
    interprets yield expressions
    casts yield expression to block var type (not block arg type)
    casts yield expression to block var type (not block arg type)
    interprets break inside block (union, through normal flow)
    interprets break inside block (union, through normal flow)
    interprets next inside block
    interprets next inside block
    interprets block with splat
    interprets block with splat
    interprets break inside block (union, through break)
    interprets break inside block (union, through break)
    interprets yield with splat, block with splat (#12227)
    interprets yield with splat, block with splat (#12227)
    interprets with ... yield with struct
    interprets with ... yield with struct
    interprets yield with splat, less block arguments
    interprets yield with splat, less block arguments
    captures non-closure block
    captures non-closure block
    interprets block with args that conflict with a local var
    interprets block with args that conflict with a local var
    interprets next inside block (union, through normal exit)
    interprets next inside block (union, through normal exit)
    interprets with ... yield with extra arguments (#12296)
    interprets with ... yield with extra arguments (#12296)
    interprets block with multiple yields
    interprets block with multiple yields
    interprets break inside block
    interprets break inside block
    interprets yield expression
    interprets yield expression
    yields different values to form a union
    yields different values to form a union
    interprets yield with splat (2)
    interprets yield with splat (2)
    clears block local variables when calling block (2)
    clears block local variables when calling block (2)
    considers block arg without type as having NoReturn type (2) (#12270)
    considers block arg without type as having NoReturn type (2) (#12270)
    returns from block
    returns from block
    interprets next inside block (union, through next)
    interprets next inside block (union, through next)
    interprets with ... yield
    interprets with ... yield
    considers block arg without type as having NoReturn type (#12270)
    considers block arg without type as having NoReturn type (#12270)
    interprets block with args that conflict with a local var
    interprets block with args that conflict with a local var
    interprets yield inside another block
    interprets yield inside another block
    clears block local variables when calling block
    clears block local variables when calling block
    interprets simplest block
    interprets simplest block
    discards yield expression
    discards yield expression
    interprets yield with splat, block with splat
    interprets yield with splat, block with splat
error reporting
  reports unexpected named argument
  reports unexpected named argument
  reports unexpected named argument (2)
  reports unexpected named argument (2)
  reports unexpected block
  reports unexpected block
  reports wrong number of arguments, with optional parameters
  reports wrong number of arguments, with optional parameters
  uses correct name for top-level macro methods
  uses correct name for top-level macro methods
  reports wrong number of arguments
  reports wrong number of arguments
  reports missing block
  reports missing block
read_file
  with absolute path
    reads file (doesn't exist)
    reads file (doesn't exist)
    reads file (exists)
    reads file (exists)
  with relative path
    reads file (doesn't exist)
    reads file (doesn't exist)
    reads file (exists)
    reads file (exists)
types to_s of
  nilable type with more than two elements, Nil at the end
  nilable type with more than two elements, Nil at the end
  does for type contained in generic class
  does for type contained in generic class
  non-instantiated array
  non-instantiated array
  union types
    should not have extra parens
      in pointers
      in pointers
      in arrays
      in arrays
      in tuples
      in tuples
    should have parens
      as return type
      as return type
      as arg type
      as arg type
  nilable reference type
  nilable reference type
  named tuple
  named tuple
  does for type contained in generic module
  does for type contained in generic module
  union of simple types
  union of simple types
  nilable value type
  nilable value type
  array of simple types
  array of simple types
Lexer comments
  lexes without comments enabled
  lexes without comments enabled
  lexes with comments enabled
  lexes with comments enabled
  lexes with comments enabled (2)
  lexes with comments enabled (2)
  lexes correct number of spaces
  lexes correct number of spaces
Crystal::Loader
  .parse
    parses directory paths
    parses directory paths
    parses library names
    parses library names
    prepends directory paths before default search paths
    prepends directory paths before default search paths
    parses static
    parses static
    parses file paths
    parses file paths
  .default_search_paths
    DYLD_LIBRARY_PATH
    DYLD_LIBRARY_PATH
    LD_LIBRARY_PATH
    LD_LIBRARY_PATH
  .read_ld_conf
    basic
    basic
    with include
    with include
  dynlib
    #load_library?
      library name
      library name
      does not implicitly find dependencies
      does not implicitly find dependencies
      full path
      full path
      lookup in order
      lookup in order
    does not find global symbols
    does not find global symbols
    #load_file?
      finds function symbol
      finds function symbol
    validate that lib handles are properly closed
    validate that lib handles are properly closed
Semantic: virtual metaclass
  allows passing metaclass to virtual metaclass restriction
  allows passing metaclass to virtual metaclass restriction
  merges metaclass types
  merges metaclass types
  restricts virtual metaclass to Class (#11376)
  restricts virtual metaclass to Class (#11376)
  allows passing metaclass to virtual metaclass restriction
  allows passing metaclass to virtual metaclass restriction
  types virtual metaclass method
  types virtual metaclass method
  types virtual metaclass
  types virtual metaclass
  yields virtual type in block arg if class is abstract
  yields virtual type in block arg if class is abstract
  merges metaclass types with 3 types
  merges metaclass types with 3 types
  types metaclass node
  types metaclass node
  allows allocating virtual type when base class is abstract
  allows allocating virtual type when base class is abstract
Semantic: type
  errors if original type doesn't support instance variables
  errors if original type doesn't support instance variables
  can call methods of parent type
  can call methods of parent type
  can call methods of original type
  can call methods of original type
  can access instance variables of original type
  can access instance variables of original type
implementations
  find implementation inside contained file private class' class method
  find implementation inside contained file private class' class method
  find full trace for macro expansions
  find full trace for macro expansions
  find method calls inside if
  find method calls inside if
  find const implementation
  find const implementation
  find method calls inside rescue
  find method calls inside rescue
  find alias implementation
  find alias implementation
  find implementation inside contained file private method
  find implementation inside contained file private method
  find class implementation
  find class implementation
  find implementation from macro expansions
  find implementation from macro expansions
  find implementation inside contained class' class method
  find implementation inside contained class' class method
  find open class implementation
  find open class implementation
  find enum value implementation
  find enum value implementation
  find enum implementation
  find enum implementation
  find top level method calls
  find top level method calls
  find method calls inside while cond
  find method calls inside while cond
  find implementors of different classes
  find implementors of different classes
  find method calls inside while
  find method calls inside while
  find struct implementation
  find struct implementation
  find class inside method
  find class inside method
  find implementors of classes that are only used
  find implementors of classes that are only used
  can display json output
  can display json output
  find implementation in generic class methods
  find implementation in generic class methods
  find method calls inside trailing if
  find method calls inside trailing if
  can display text output
  can display text output
  find class defined by macro
  find class defined by macro
  find implementation in generic class
  find implementation in generic class
  find implementation in class methods
  find implementation in class methods
  find module implementation
  find module implementation
  find implementation inside a module class
  find implementation inside a module class
Crystal::Repl::Interpreter
  downcasts virtual type to its only type (#12351)
  downcasts virtual type to its only type (#12351)
  inlines instance var access from virtual type with a single type (#39520)
  inlines instance var access from virtual type with a single type (#39520)
  classes
    calls implicit struct self method
    calls implicit struct self method
    discards allocate
    discards allocate
    interprets read instance var
    interprets read instance var
    does constructor
    does constructor
    does object_id
    does object_id
    calls implicit class self method
    calls implicit class self method
    does allocate, set instance var and get instance var
    does allocate, set instance var and get instance var
    calls explicit struct self method
    calls explicit struct self method
Crystal::FFI::CallInterface
  .variadic
    basic
    basic
    zero varargs
    zero varargs
    validates args size
    validates args size
  .new
    with args
    with args
    make struct
    make struct
    all primitive arg types
    all primitive arg types
    simple call
    simple call
    sum struct
    sum struct
    array
    array
Semantic: struct
  passes subtype check with generic module type on virtual type (2) (#10302)
  passes subtype check with generic module type on virtual type (2) (#10302)
  doesn't make virtual for Struct
  doesn't make virtual for Struct
  can't extend struct from non-abstract struct
  can't extend struct from non-abstract struct
  can't extend class from struct
  can't extend class from struct
  can cast to base abstract struct
  can cast to base abstract struct
  passes subtype check with generic module type on virtual type
  passes subtype check with generic module type on virtual type
  types struct declaration
  types struct declaration
  unifies type to virtual type
  unifies type to virtual type
  doesn't make virtual for Float
  doesn't make virtual for Float
  allows struct to participate in virtual
  allows struct to participate in virtual
  can't extend struct from class
  can't extend struct from class
  doesn't error if method is not found in abstract type
  doesn't error if method is not found in abstract type
  can't reopen as class
  can't reopen as class
  doesn't make virtual for Int
  doesn't make virtual for Int
  can't be nilable
  can't be nilable
  passes subtype check with generic module type on virtual type (3)
  passes subtype check with generic module type on virtual type (3)
  types generic struct declaration
  types generic struct declaration
  errors if defining finalize for struct (#3840)
  errors if defining finalize for struct (#3840)
  can't reopen as module
  can't reopen as module
  doesn't make virtual for Value
  doesn't make virtual for Value
Crystal::Macro
  def methods
    executes receiver
    executes receiver
    executes double_splat
    executes double_splat
    executes name
    executes name
    executes block_arg
    executes block_arg
    executes splat_index
    executes splat_index
    executes return_type
    executes return_type
    executes abstract?
    executes abstract?
    executes body
    executes body
    executes free_vars
    executes free_vars
    executes args
    executes args
    executes visibility
    executes visibility
    executes accepts_block?
    executes accepts_block?
  classvar methods
    executes name
    executes name
  exception handler methods
    executes ensure
    executes ensure
    executes rescue name
    executes rescue name
    executes else
    executes else
    executes else (nop)
    executes else (nop)
    executes body
    executes body
    executes rescues
    executes rescues
    executes ensure (nop)
    executes ensure (nop)
    executes rescue body
    executes rescue body
    executes rescue types
    executes rescue types
  proc notation methods
    gets single input
    gets single input
    gets empty output
    gets empty output
    executes resolve
    executes resolve
    executes resolve?
    executes resolve?
    gets single output
    gets single output
    gets multiple inputs
    gets multiple inputs
  Crystal::ArrayLiteral
    executes reject
    executes reject
    executes index out of bounds
    executes index out of bounds
    executes map with constants
    executes map with constants
    executes splat
    executes splat
    executes unshift
    executes unshift
    executes sort with ids and strings
    executes sort with ids and strings
    executes any? (true)
    executes any? (true)
    executes find (finds)
    executes find (finds)
    executes includes?
    executes includes?
    executes first
    executes first
    executes size
    executes size
    executes splat with splat
    executes splat with splat
    #map_with_index
      without the index argument
        returns the resulting array
        returns the resulting array
      without the element argument
        returns the resulting array
        returns the resulting array
      without either argument
        returns the resulting array
        returns the resulting array
      with both arguments
        returns the resulting array
        returns the resulting array
    executes [] with range
    executes [] with range
    executes map with arg
    executes map with arg
    executes [] with computed range
    executes [] with computed range
    executes of
    executes of
    creates an array literal with a var
    creates an array literal with a var
    executes sort with numbers
    executes sort with numbers
    executes type
    executes type
    executes last
    executes last
    #each
    #each
    calls block exactly once for each element in #sort_by
    calls block exactly once for each element in #sort_by
    executes of (nop)
    executes of (nop)
    #-
      with TupleLiteral argument
        removes the elements in RHS from LHS into an ArrayLiteral
        removes the elements in RHS from LHS into an ArrayLiteral
      with ArrayLiteral argument
        removes the elements in RHS from LHS into an ArrayLiteral
        removes the elements in RHS from LHS into an ArrayLiteral
    executes sort with strings
    executes sort with strings
    executes splat with symbols and strings
    executes splat with symbols and strings
    executes any? (false)
    executes any? (false)
    executes uniq
    executes uniq
    executes all? (false)
    executes all? (false)
    executes sort with ids
    executes sort with ids
    executes [] with incomplete range
    executes [] with incomplete range
    executes [] with two numbers
    executes [] with two numbers
    executes identify
    executes identify
    executes index 1
    executes index 1
    executes find (doesn't find)
    executes find (doesn't find)
    executes []=
    executes []=
    executes sort_by
    executes sort_by
    executes push
    executes push
    executes empty?
    executes empty?
    #each_with_index
      without the element argument
        builds the correct array
        builds the correct array
      with both arguments
        builds the correct array
        builds the correct array
      without either argument
        builds the correct array
        builds the correct array
      without the index argument
        builds the correct array
        builds the correct array
    executes all? (true)
    executes all? (true)
    executes is_a?
    executes is_a?
    executes join
    executes join
    executes type (nop)
    executes type (nop)
    executes select
    executes select
    executes map
    executes map
    executes join with strings
    executes join with strings
    executes reduce with no initial value
    executes reduce with no initial value
    executes reduce with initial value
    executes reduce with initial value
    #+
      with TupleLiteral argument
        concatenates the literals into an ArrayLiteral
        concatenates the literals into an ArrayLiteral
      with ArrayLiteral argument
        concatenates the literals into an ArrayLiteral
        concatenates the literals into an ArrayLiteral
    executes index 0
    executes index 0
  macro if methods
    executes cond
    executes cond
    executes else
    executes else
    executes then
    executes then
  if methods
    executes cond
    executes cond
    executes then
    executes then
    executes else (nop)
    executes else (nop)
    executes else
    executes else
  symbol methods
    executes symbol != symbol
    executes symbol != symbol
    executes symbol == symbol
    executes symbol == symbol
    forwards methods to string
    forwards methods to string
  Crystal::TypeNode
    executes instance_vars on symbol type
    executes instance_vars on symbol type
    #abstract?
      Crystal::NonGenericClassType
        class
          non-abstract
          non-abstract
          abstract
          abstract
        struct
          non-abstract
          non-abstract
          abstract
          abstract
      Crystal::NonGenericModuleType
      Crystal::NonGenericModuleType
      Crystal::GenericClassType
        struct
          non-abstract
          non-abstract
          abstract
          abstract
        class
          non-abstract
          non-abstract
          abstract
          abstract
      Crystal::GenericModuleType
      Crystal::GenericModuleType
    executes instance
    executes instance
    public?
      false
      false
      true
      true
    executes class_vars on symbol type
    executes class_vars on symbol type
    executes class vars
    executes class vars
    executes type_vars
    executes type_vars
    executes resolve?
    executes resolve?
    #module?
      Crystal::GenericModuleType
      Crystal::GenericModuleType
      Crystal::NonGenericModuleType
      Crystal::NonGenericModuleType
      Crystal::GenericClassType
        struct
        struct
        class
        class
      Crystal::NonGenericClassType
        struct
        struct
        class
        class
    visibility
      public
      public
      private
      private
    #id
      does not include trailing + for virtual type
      does not include trailing + for virtual type
    executes <=
    executes <=
    executes ==
    executes ==
    executes size of tuple metaclass
    executes size of tuple metaclass
    executes instance_vars
    executes instance_vars
    executes class_vars on metaclass
    executes class_vars on metaclass
    executes !=
    executes !=
    #includers
      returns an array of types `self` is directly included in
      returns an array of types `self` is directly included in
    #struct?
      Crystal::NonGenericClassType
        class
        class
        struct
        struct
      Crystal::GenericModuleType
      Crystal::GenericModuleType
      Crystal::NonGenericModuleType
      Crystal::NonGenericModuleType
      Crystal::GenericClassType
        struct
        struct
        class
        class
    executes ancestors (with generic)
    executes ancestors (with generic)
    executes resolve
    executes resolve
    #class?
      Crystal::GenericClassType
        class
        class
        struct
        struct
      Crystal::NonGenericModuleType
      Crystal::NonGenericModuleType
      Crystal::NonGenericClassType
        struct
        struct
        class
        class
      Crystal::GenericModuleType
      Crystal::GenericModuleType
    executes >=
    executes >=
    #name
      simple type
        returns the name of the type
        returns the name of the type
      generic instance
        prints multiple arguments for splat type var
        prints multiple arguments for splat type var
        prints empty splat type var
        prints empty splat type var
        does not print extra commas for empty splat type var (1)
        does not print extra commas for empty splat type var (1)
        does not print extra commas for empty splat type var (2)
        does not print extra commas for empty splat type var (2)
        prints generic type arguments
        prints generic type arguments
        does not print extra commas for empty splat type var (3)
        does not print extra commas for empty splat type var (3)
      generic type
        includes the generic_args of the instantiated type by default
        includes the generic_args of the instantiated type by default
        includes the generic_args of the type by default
        includes the generic_args of the type by default
      generic_args
        true
          includes the generic_args of the type
          includes the generic_args of the type
          includes the generic_args of the instantiated type
          includes the generic_args of the instantiated type
        false
          does not include the generic_args of the instantiated type
          does not include the generic_args of the instantiated type
          does not include the generic_args of the type
          does not include the generic_args of the type
        with an invalid type argument
          should raise the proper exception
          should raise the proper exception
      namespaced type
        should return the FQN of the type
        should return the FQN of the type
    #warning
      emits a warning at a specific node
      emits a warning at a specific node
    #has_inner_pointers?
      works on structs
      works on structs
      works on references
      works on references
      works on ReferenceStorage
      works on ReferenceStorage
      works on primitive values
      works on primitive values
    executes methods
    executes methods
    executes <
    executes <
    executes class vars (with inheritance)
    executes class vars (with inheritance)
    executes class methods
    executes class methods
    executes private?
      false
      false
      true
      true
    == and != devirtualize generic type arguments (#10730)
    == and != devirtualize generic type arguments (#10730)
    executes class
    executes class
    #union?
      true
      true
      false
      false
    executes superclass
    executes superclass
    executes ancestors
    executes ancestors
    executes union_types (non-union)
    executes union_types (non-union)
    executes >
    executes >
    executes size of tuple
    executes size of tuple
    executes instance_vars on metaclass
    executes instance_vars on metaclass
    #nilable?
      true
      true
      false
      false
    executes union_types (union)
    executes union_types (union)
  multi_assign methods
    executes values
    executes values
    executes targets
    executes targets
  executes assign without output
  executes assign without output
  require methods
    executes path
    executes path
  Crystal::EnumDef
    executes body
    executes body
    executes name
    executes name
    executes base_type
    executes base_type
    executes kind
    executes kind
  Crystal::External
    executes is_a?
    executes is_a?
  regex methods
    executes options
    executes options
    executes source
    executes source
  control expression methods
    executes exp
    executes exp
    executes exp (nop)
    executes exp (nop)
  Crystal::NamedTupleLiteral
    executes to_a
    executes to_a
    executes [] with invalid key type
    executes [] with invalid key type
    executes [] not found
    executes [] not found
    executes has_key?
    executes has_key?
    executes map
    executes map
    executes double splat
    executes double splat
    executes []=
    executes []=
    executes empty?
    executes empty?
    #each
      without either argument
        builds the correct array
        builds the correct array
      without the value argument
        builds the correct array
        builds the correct array
      with both arguments
        builds the correct array
        builds the correct array
      without the key argument
        builds the correct array
        builds the correct array
    executes keys
    executes keys
    executes double splat with arg
    executes double splat with arg
    executes values
    executes values
    creates a named tuple literal with a var
    creates a named tuple literal with a var
    executes is_a?
    executes is_a?
    executes size
    executes size
    executes double splat
    executes double splat
    executes []
    executes []
  is_a methods
    executes receiver
    executes receiver
    executes arg
    executes arg
  arg methods
    executes internal_name
    executes internal_name
    executes restriction
    executes restriction
    executes name
    executes name
    executes default_value
    executes default_value
  Crystal::TupleLiteral
    #-
      with TupleLiteral argument
        removes the elements in RHS from LHS into a TupleLiteral
        removes the elements in RHS from LHS into a TupleLiteral
      with ArrayLiteral argument
        removes the elements in RHS from LHS into a TupleLiteral
        removes the elements in RHS from LHS into a TupleLiteral
    executes all? (true)
    executes all? (true)
    executes unshift
    executes unshift
    #map_with_index
      without the element argument
        returns the resulting tuple
        returns the resulting tuple
      without the index argument
        returns the resulting tuple
        returns the resulting tuple
      without either argument
        returns the resulting tuple
        returns the resulting tuple
      with both arguments
        returns the resulting tuple
        returns the resulting tuple
    executes find (doesn't find)
    executes find (doesn't find)
    executes uniq
    executes uniq
    executes reject
    executes reject
    executes [] out of bounds
    executes [] out of bounds
    executes splat with symbols and strings
    executes splat with symbols and strings
    executes [] with 0
    executes [] with 0
    executes join
    executes join
    executes map with constants
    executes map with constants
    creates a tuple literal with a var
    creates a tuple literal with a var
    executes map with arg
    executes map with arg
    executes first
    executes first
    executes push
    executes push
    executes join with strings
    executes join with strings
    executes sort with strings
    executes sort with strings
    executes map
    executes map
    executes [] with incomplete range
    executes [] with incomplete range
    executes size
    executes size
    executes sort with ids
    executes sort with ids
    executes empty?
    executes empty?
    executes splat with splat
    executes splat with splat
    executes [] with computed range
    executes [] with computed range
    executes any? (false)
    executes any? (false)
    executes sort with ids and strings
    executes sort with ids and strings
    executes is_a?
    executes is_a?
    executes any? (true)
    executes any? (true)
    executes sort with numbers
    executes sort with numbers
    #each_with_index
      without the element argument
        builds the correct array
        builds the correct array
      without the index argument
        builds the correct array
        builds the correct array
      with both arguments
        builds the correct array
        builds the correct array
      without either argument
        builds the correct array
        builds the correct array
    executes includes?
    executes includes?
    executes select
    executes select
    #+
      with ArrayLiteral argument
        concatenates the literals into a TupleLiteral
        concatenates the literals into a TupleLiteral
      with TupleLiteral argument
        concatenates the literals into a TupleLiteral
        concatenates the literals into a TupleLiteral
    executes find (finds)
    executes find (finds)
    executes all? (false)
    executes all? (false)
    executes [] with 1
    executes [] with 1
    executes splat
    executes splat
    executes [] with range
    executes [] with range
    executes last
    executes last
    executes splat with arg
    executes splat with arg
    #each
    #each
  string methods
    executes camelcase with lower
    executes camelcase with lower
    executes string starts_with? string (true)
    executes string starts_with? string (true)
    executes titleize
    executes titleize
    executes string ends_with? char (false)
    executes string ends_with? char (false)
    executes split with argument
    executes split with argument
    executes underscore
    executes underscore
    executes string starts_with? char (false)
    executes string starts_with? char (false)
    executes tr
    executes tr
    executes to_i(base)
    executes to_i(base)
    executes string < string
    executes string < string
    executes string includes? string (true)
    executes string includes? string (true)
    executes string includes? string (false)
    executes string includes? string (false)
    executes string includes? char (false)
    executes string includes? char (false)
    executes string starts_with? string (false)
    executes string starts_with? string (false)
    executes split with char argument
    executes split with char argument
    executes lines
    executes lines
    executes downcase
    executes downcase
    executes string > macroid
    executes string > macroid
    executes string > string
    executes string > string
    executes string + char
    executes string + char
    executes string =~ (false)
    executes string =~ (false)
    executes chars
    executes chars
    executes string < macroid
    executes string < macroid
    executes [] with inclusive range
    executes [] with inclusive range
    executes string starts_with? char (true)
    executes string starts_with? char (true)
    executes string ends_with? char (true)
    executes string ends_with? char (true)
    executes string chomp
    executes string chomp
    executes string == string
    executes string == string
    executes [] with computed range
    executes [] with computed range
    executes string =~ (true)
    executes string =~ (true)
    executes capitalize
    executes capitalize
    executes upcase
    executes upcase
    executes empty
    executes empty
    executes camelcase with invalid lower arg type
    executes camelcase with invalid lower arg type
    executes camelcase
    executes camelcase
    executes count
    executes count
    executes string ends_with? string (false)
    executes string ends_with? string (false)
    executes string + string
    executes string + string
    executes string ends_with? string (true)
    executes string ends_with? string (true)
    executes to_i
    executes to_i
    executes string includes? char (true)
    executes string includes? char (true)
    executes to_utf16
    executes to_utf16
    executes strip
    executes strip
    executes split without arguments
    executes split without arguments
    executes size
    executes size
    executes string != string
    executes string != string
    executes gsub
    executes gsub
    executes [] with exclusive range
    executes [] with exclusive range
    executes [] with incomplete range
    executes [] with incomplete range
  Crystal::ExternalVar
    executes type
    executes type
    executes real_name
    executes real_name
    executes name
    executes name
  flag?
    has flag
    has flag
    doesn't have flag
    doesn't have flag
  env
    doesn't have key
    doesn't have key
    has key
    has key
  #parse_type
    metaclass
    metaclass
    path
    path
    generic
    generic
    union - |
    union - |
    raises on extra unparsed tokens before the type
    raises on extra unparsed tokens before the type
    exposes syntax warnings
    exposes syntax warnings
    raises on non StringLiteral arguments
    raises on non StringLiteral arguments
    proc
    proc
    union - Union
    union - Union
    raises on extra unparsed tokens after the type
    raises on extra unparsed tokens after the type
    raises on empty string
    raises on empty string
    union - in generic
    union - in generic
  assign methods
    executes target
    executes target
    executes value
    executes value
  metaclass methods
    executes resolve?
    executes resolve?
    executes resolve
    executes resolve
    executes instance
    executes instance
  block methods
    executes args
    executes args
    executes splat_index
    executes splat_index
    executes body
    executes body
  or methods
    executes right
    executes right
    executes left
    executes left
  annotation methods
    executes [] with NumberLiteral
    executes [] with NumberLiteral
    executes [] with SymbolLiteral
    executes [] with SymbolLiteral
    executes [] with MacroId
    executes [] with MacroId
    executes name
    executes name
    executes [] with other ASTNode, but raises an error
    executes [] with other ASTNode, but raises an error
    executes [] with StringLiteral
    executes [] with StringLiteral
  nilable cast methods
    executes to
    executes to
    executes obj
    executes obj
  Crystal::RangeLiteral
    executes to_a
    executes to_a
    executes excludes_end?
    executes excludes_end?
    executes map
    executes map
    #each
    #each
    executes begin
    executes begin
    executes end
    executes end
  cast methods
    executes obj
    executes obj
    executes to
    executes to
  Crystal::Select
    executes whens
    executes whens
    executes else
    executes else
  Crystal::CStructOrUnionDef
    executes kind
    executes kind
    executes name
    executes name
    executes body
    executes body
    executes union?
    executes union?
  Crystal::MacroLiteral
    executes value
    executes value
  proc literal methods
    executes body
    executes body
    executes args
    executes args
    executes return_type
    executes return_type
  expressions methods
    executes expressions
    executes expressions
  readinstancevar methods
    executes name
    executes name
    executes obj
    executes obj
  uninitialized var methods
    executes type
    executes type
    executes var
    executes var
  path methods
    executes global?
    executes global?
    executes resolve?
    executes resolve?
    executes resolve
    executes resolve
    executes types
    executes types
    executes names
    executes names
    executes global
    executes global
  Crystal::AnnotationDef
    executes body
    executes body
    executes kind
    executes kind
    executes name
    executes name
  number methods
    executes //
    executes //
    executes + and preserves type
    executes + and preserves type
    executes <= (false)
    executes <= (false)
    executes *
    executes *
    executes <=> (returns nil)
    executes <=> (returns nil)
    executes &
    executes &
    executes <=>
    executes <=>
    executes > (false)
    executes > (false)
    executes <= (true)
    executes <= (true)
    executes |
    executes |
    #to_number
    #to_number
    executes < (true)
    executes < (true)
    executes >= (true)
    executes >= (true)
    executes >>
    executes >>
    executes -
    executes -
    executes >= (false)
    executes >= (false)
    executes unary -
    executes unary -
    executes < (false)
    executes < (false)
    preserves integer size (#10713)
    preserves integer size (#10713)
    executes unary +
    executes unary +
    executes +
    executes +
    executes math operations using U/Int128
    executes math operations using U/Int128
    executes **
    executes **
    executes + with float
    executes + with float
    executes <<
    executes <<
    executes ^
    executes ^
    executes %
    executes %
    executes > (true)
    executes > (true)
    executes unary ~
    executes unary ~
    executes kind
    executes kind
  Crystal::Asm
    executes inputs
    executes inputs
    executes alignstack?
    executes alignstack?
    executes outputs
    executes outputs
    executes clobbers
    executes clobbers
    executes intel?
    executes intel?
    executes text
    executes text
    executes can_throw?
    executes can_throw?
    executes volatile?
    executes volatile?
  splat methods
    executes exp
    executes exp
  visibility modifier methods
    executes visibility
    executes visibility
    executes exp
    executes exp
  proc pointer methods
    executes obj when present
    executes obj when present
    executes args when not empty
    executes args when not empty
    executes name
    executes name
    executes args when empty
    executes args when empty
    executes global?
    executes global?
    executes obj when absent
    executes obj when absent
  Crystal::FunDef
    executes variadic?
    executes variadic?
    executes return_type
    executes return_type
    executes has_body?
    executes has_body?
    executes real_name
    executes real_name
    executes name
    executes name
    executes body
    executes body
    executes args
    executes args
  Crystal::LibDef
    executes kind
    executes kind
    executes name
    executes name
    executes body
    executes body
  union methods
    executes types
    executes types
    executes resolve
    executes resolve
    executes resolve?
    executes resolve?
  Crystal::MacroExpression
    executes output?
    executes output?
    executes exp
    executes exp
  generic methods
    executes name
    executes name
    executes resolve
    executes resolve
    executes type_vars
    executes type_vars
    executes named_args
    executes named_args
    executes types
    executes types
    executes resolve?
    executes resolve?
  instancevar methods
    executes name
    executes name
  executes assign
  executes assign
  Crystal::Alias
    executes name
    executes name
    executes type
    executes type
  Crystal::ModuleDef
    executes body
    executes body
    executes type_vars
    executes type_vars
    executes kind
    executes kind
    executes splat_index
    executes splat_index
    executes name
    executes name
  macro id methods
    forwards methods to string
    forwards methods to string
    compares with symbol
    compares with symbol
    compares with string
    compares with string
  while methods
    executes body
    executes body
    executes cond
    executes cond
  macro for methods
    executes vars
    executes vars
    executes exp
    executes exp
    executes body
    executes body
  Crystal::Extend
    executes name
    executes name
  Crystal::HashLiteral
    executes double splat
    executes double splat
    executes double splat with arg
    executes double splat with arg
    executes [] not found
    executes [] not found
    executes of_value (nop)
    executes of_value (nop)
    executes keys
    executes keys
    executes to_a
    executes to_a
    executes of_key
    executes of_key
    executes empty?
    executes empty?
    executes []=
    executes []=
    executes is_a?
    executes is_a?
    creates a hash literal with a var
    creates a hash literal with a var
    executes size
    executes size
    executes of_value
    executes of_value
    executes of_key (nop)
    executes of_key (nop)
    executes []
    executes []
    executes type
    executes type
    executes type (nop)
    executes type (nop)
    executes has_key?
    executes has_key?
    #each
      without either argument
        builds the correct array
        builds the correct array
      without the key argument
        builds the correct array
        builds the correct array
      without the value argument
        builds the correct array
        builds the correct array
      with both arguments
        builds the correct array
        builds the correct array
    executes map
    executes map
    executes double splat
    executes double splat
    executes values
    executes values
  case methods
    in
      executes exhaustive?
      executes exhaustive?
      executes whens
      executes whens
      executes when exhaustive?
      executes when exhaustive?
    when
      executes exhaustive?
      executes exhaustive?
      executes cond
      executes cond
      executes when body
      executes when body
      executes whens
      executes whens
      executes else
      executes else
      executes when conds
      executes when conds
      executes when exhaustive?
      executes when exhaustive?
  unary expression methods
    executes is_a?
    executes is_a?
    executes exp
    executes exp
  char methods
    executes ord
    executes ord
  Crystal::TypeDef
    executes type
    executes type
    executes name
    executes name
  macro methods
    executes name
    executes name
    executes body
    executes body
    executes double_splat
    executes double_splat
    executes splat_index
    executes splat_index
    executes args
    executes args
    executes block_arg
    executes block_arg
    executes visibility
    executes visibility
  type declaration methods
    executes type
    executes type
    executes value
    executes value
    executes var
    executes var
    executes var when instance var
    executes var when instance var
  #warning
    emits a top level warning
    emits a top level warning
  printing
    p!
    p!
    p
    p
    puts
    puts
    pp
    pp
    print
    print
    pp!
    pp!
  responds_to methods
    executes name
    executes name
    executes receiver
    executes receiver
  Crystal::AsmOperand
    executes exp
    executes exp
    executes constraint
    executes constraint
  global methods
    executes name
    executes name
  Crystal::ClassDef
    executes splat_index
    executes splat_index
    executes type_vars
    executes type_vars
    executes name
    executes name
    executes superclass
    executes superclass
    executes body
    executes body
    executes struct?
    executes struct?
    executes kind
    executes kind
    executes abstract?
    executes abstract?
  offsetof methods
    executes offset
    executes offset
    executes type
    executes type
  Crystal::Primitive
    executes name
    executes name
  node methods
    executes != on numbers (false)
    executes != on numbers (false)
    class_name
      executes class_name
      executes class_name
      executes class_name
      executes class_name
      executes class_name
      executes class_name
      executes class_name
      executes class_name
      executes class_name
      executes class_name
      executes class_name
      executes class_name
    #is_a?
      union argument, unimplemented types
      union argument, unimplemented types
      union argument, duplicate type
      union argument, duplicate type
      union argument, mergeable
      union argument, mergeable
      union argument, contains NoReturn
      union argument, contains NoReturn
      union argument, undefined types
      union argument, undefined types
      union argument
      union argument
    symbolize
      expands macro with symbolize call on string
      expands macro with symbolize call on string
      expands macro with symbolize call on symbol
      expands macro with symbolize call on symbol
      expands macro with symbolize call on id
      expands macro with symbolize call on id
    #nil?
      NumberLiteral
      NumberLiteral
      Nop
      Nop
      NilLiteral
      NilLiteral
    executes != on numbers (true)
    executes != on numbers (true)
    executes == on numbers (false)
    executes == on numbers (false)
    executes == on symbols (false) (#240)
    executes == on symbols (false) (#240)
    executes == on symbols (true) (#240)
    executes == on symbols (true) (#240)
    executes == on numbers (true)
    executes == on numbers (true)
    id
      expands macro with id call on global path
      expands macro with id call on global path
      expands macro with id call on char
      expands macro with id call on char
      expands macro with id call on string
      expands macro with id call on string
      expands macro with id call on path
      expands macro with id call on path
      expands macro with id call on symbol
      expands macro with id call on symbol
      expands macro with id call on number
      expands macro with id call on number
      expands macro with id call on call
      expands macro with id call on call
    #doc_comment
      returns an empty MacroId if there are no docs on the node (wants_doc = false)
      returns an empty MacroId if there are no docs on the node (wants_doc = false)
      ensures each newline has a `#` prefix
      ensures each newline has a `#` prefix
      returns the call's docs if present as a MacroId (wants_doc = true)
      returns the call's docs if present as a MacroId (wants_doc = true)
    location
      column number
      column number
      end line_number
      end line_number
      filename
      filename
      line_number
      line_number
      end column number
      end column number
    stringify
      expands macro with stringify call on number
      expands macro with stringify call on number
      expands macro with stringify call on call
      expands macro with stringify call on call
      expands macro with stringify call on symbol
      expands macro with stringify call on symbol
      expands macro with stringify call on string
      expands macro with stringify call on string
    #doc
      returns an empty string if there are no docs on the node (wants_doc = false)
      returns an empty string if there are no docs on the node (wants_doc = false)
      returns a multiline comment
      returns a multiline comment
      returns the call's docs if present (wants_doc = true)
      returns the call's docs if present (wants_doc = true)
  and methods
    executes left
    executes left
    executes right
    executes right
  Crystal::TypeOf
    executes args
    executes args
  call methods
    executes block arg (nop)
    executes block arg (nop)
    executes receiver
    executes receiver
    executes named args name
    executes named args name
    executes global?
    executes global?
    executes block
    executes block
    executes args
    executes args
    executes named args
    executes named args
    executes block arg
    executes block arg
    executes name
    executes name
    executes named args value
    executes named args value
  yield methods
    executes expressions
    executes expressions
    executes scope (nop)
    executes scope (nop)
    executes scope
    executes scope
  Crystal::Include
    executes name
    executes name
  compares versions
  compares versions
  metavar methods
    executes nothing
    executes nothing
    executes name
    executes name
    executes id
    executes id
    executes is_a?
    executes is_a?
  Crystal::MacroVar
    executes expressions
    executes expressions
    executes name
    executes name
  instancevar methods
    executes name
    executes name
Normalize: and
  normalizes and with is_a? on var
  normalizes and with is_a? on var
  normalizes and with assignment
  normalizes and with assignment
  normalizes and without variable
  normalizes and without variable
  normalizes and with ! on var
  normalizes and with ! on var
  normalizes and with variable on the left
  normalizes and with variable on the left
  normalizes and with ! on var.is_a?(...)
  normalizes and with ! on var.is_a?(...)
  normalizes and with is_a? on exp
  normalizes and with is_a? on exp
Semantic: c union
  types union getter via pointer
  types union getter via pointer
  types Union#new
  types Union#new
  types union setter via pointer
  types union setter via pointer
  errors if using void in union field type
  errors if using void in union field type
  types union getter
  types union getter
  errors if using void via typedef in union field type
  errors if using void via typedef in union field type
  types union setter
  types union setter
  errors if setting closure
  errors if setting closure
  errors on empty c union (#633)
  errors on empty c union (#633)
  types c union
  types c union
Code gen: def with default value
  resolves expanded call to current type, not to virtual type
  resolves expanded call to current type, not to virtual type
  codegens def with one default value
  codegens def with one default value
  considers first the one with more arguments
  considers first the one with more arguments
  considers first the one with a restriction
  considers first the one with a restriction
  doesn't mix types of instance vars with initialize and new
  doesn't mix types of instance vars with initialize and new
  codegens def new with one default value
  codegens def new with one default value
Normalize: op assign
  normalizes exp.value &&=
  normalizes exp.value &&=
  normalizes exp[value] +=
  normalizes exp[value] +=
  normalizes var -=
  normalizes var -=
  normalizes exp[value] &&=
  normalizes exp[value] &&=
  normalizes exp[value] ||=
  normalizes exp[value] ||=
  normalizes var &*=
  normalizes var &*=
  normalizes exp[0] +=
  normalizes exp[0] +=
  normalizes var ||=
  normalizes var ||=
  normalizes var &&=
  normalizes var &&=
  normalizes @var.value +=
  normalizes @var.value +=
  normalizes var &+=
  normalizes var &+=
  normalizes var[0] +=
  normalizes var[0] +=
  normalizes exp.value ||=
  normalizes exp.value ||=
  normalizes var.value +=
  normalizes var.value +=
  normalizes var *=
  normalizes var *=
  normalizes exp.value +=
  normalizes exp.value +=
  normalizes @var[0] +=
  normalizes @var[0] +=
  normalizes @@var.value +=
  normalizes @@var.value +=
  normalizes var +=
  normalizes var +=
  normalizes @@var[0] +=
  normalizes @@var[0] +=
  normalizes var &-=
  normalizes var &-=
Normalize: string interpolation
  normalizes heredoc
  normalizes heredoc
  normalizes string interpolation with multiple lines
  normalizes string interpolation with multiple lines
  normalizes string interpolation
  normalizes string interpolation
  replaces string constant
  replaces string constant
  replaces string constant that results from macro expansion
  replaces string constant that results from macro expansion
  replaces through multiple levels
  replaces through multiple levels
Crystal::Command::FormatCommand
  checks files format
  checks files format
  formats stdin (bug + show-backtrace)
  formats stdin (bug + show-backtrace)
  formats stdin (syntax error)
  formats stdin (syntax error)
  formats files (bug + show-stacktrace)
  formats files (bug + show-stacktrace)
  checks files format (excludes + includes)
  checks files format (excludes + includes)
  formats files (error)
  formats files (error)
  formats stdin (formatted)
  formats stdin (formatted)
  formats files
  formats files
  checks files format (excludes)
  checks files format (excludes)
  formats files (dir)
  formats files (dir)
  checks files format (ok)
  checks files format (ok)
  formats stdin (bug)
  formats stdin (bug)
  formats stdin
  formats stdin
  formats files (bug)
  formats files (bug)
  formats stdin (invalid byte sequence error)
  formats stdin (invalid byte sequence error)
Code gen: type declaration
  codegens initialize instance var of superclass
  codegens initialize instance var of superclass
  declares and initializes var
  declares and initializes var
  declares and initializes
  declares and initializes
  codegens initialize instance var
  codegens initialize instance var
  codegens initialize instance var with var declaration
  codegens initialize instance var with var declaration
Codegen: double splat
  double splats named argument into arguments (1)
  double splats named argument into arguments (1)
  double splats named argument with positional arguments
  double splats named argument with positional arguments
  matches double splat on method with named args and regular args
  matches double splat on method with named args and regular args
  double splats twice 
  double splats twice 
  double splats named argument with named args (1)
  double splats named argument with named args (1)
  double splats named argument with named args (2)
  double splats named argument with named args (2)
  matches double splat with regular splat
  matches double splat with regular splat
  removes literal types in all matches (#6239)
  removes literal types in all matches (#6239)
  double splats named argument into arguments (2)
  double splats named argument into arguments (2)
  evaluates double splat argument just once (#2677)
  evaluates double splat argument just once (#2677)
  matches double splat on method with named args
  matches double splat on method with named args
View#module_name
  hyphen followed by non-ascii letter is replaced by its character
  hyphen followed by non-ascii letter is replaced by its character
  underscore is ignored
  underscore is ignored
  namespace is divided by hyphen
  namespace is divided by hyphen
Crystal::Repl::Interpreter
  unions
    returns union type
    returns union type
    put and remove from union, together with is_a? (truthy case)
    put and remove from union, together with is_a? (truthy case)
    put and remove from union in instance var
    put and remove from union in instance var
    returns large union type (#15041)
    returns large union type (#15041)
    converts from NilableType to NonGenericClassType
    converts from NilableType to NonGenericClassType
    put and remove from union, together with is_a? (falsey case)
    put and remove from union, together with is_a? (falsey case)
    discards is_a?
    discards is_a?
    puts union inside union
    puts union inside union
    put and remove from union in local var
    put and remove from union in local var
Semantic: static array
  can match N type argument of static array (#1203)
  can match N type argument of static array (#1203)
  doesn't match other number type argument of static array (#1203)
  doesn't match other number type argument of static array (#1203)
  types static array new with size being a constant
  types static array new with size being a constant
  doesn't crash on restriction (#584)
  doesn't crash on restriction (#584)
  can match number type argument of static array (#1203)
  can match number type argument of static array (#1203)
  types static array new with size being a computed constant
  types static array new with size being a computed constant
  doesn't crash on offsetof (#8858)
  doesn't crash on offsetof (#8858)
  allows instantiating static array instance var in initialize of generic type
  allows instantiating static array instance var in initialize of generic type
  types static array new
  types static array new
  types static array with type as size
  types static array with type as size
  errors on negative static array size
  errors on negative static array size
  doesn't crash on sizeof (#8858)
  doesn't crash on sizeof (#8858)
  types static array with var declaration
  types static array with var declaration
  errors if trying to instantiate static array with N not an integer
  errors if trying to instantiate static array with N not an integer
  doesn't crash on instance_sizeof (#8858)
  doesn't crash on instance_sizeof (#8858)
  types static array new with size being a nested constant inside type declaration (#5426)
  types static array new with size being a nested constant inside type declaration (#5426)
  types static array new with size being a computed constant, and use N (bug)
  types static array new with size being a computed constant, and use N (bug)
Semantic: tuples
  accept tuple in type restriction
  accept tuple in type restriction
  errors if non-tuple is splatted inside tuple (2)
  errors if non-tuple is splatted inside tuple (2)
  doesn't unify tuple metaclasses (#5384)
  doesn't unify tuple metaclasses (#5384)
  matches tuple with splat (#2932)
  matches tuple with splat (#2932)
  errors on recursive splat expansion (#218)
  errors on recursive splat expansion (#218)
  matches tuple with splat (2) (#2932)
  matches tuple with splat (2) (#2932)
  errors on tuple too big (#3816)
  errors on tuple too big (#3816)
  errors if using two splat indices on restriction
  errors if using two splat indices on restriction
  merges two tuple types of same size
  merges two tuple types of same size
  #[](RangeLiteral)
    types, begin-less
    types, begin-less
    types, inbound begin, end-less
    types, inbound begin, end-less
    types, out of bound begin, nilable
    types, out of bound begin, nilable
    types, inbound begin
    types, inbound begin
    gives error when begin index is out of range
    gives error when begin index is out of range
    types, begin-less, end-less
    types, begin-less, end-less
    types, metaclass index
    types, metaclass index
    types, exclusive range
    types, exclusive range
    types, inbound begin, nilable
    types, inbound begin, nilable
  types tuple of three elements
  types tuple of three elements
  #[](NumberLiteral)
    types, metaclass index
    types, metaclass index
    gives error when indexing out of range on empty tuple
    gives error when indexing out of range on empty tuple
    gives error when indexing out of range
    gives error when indexing out of range
    types, inbound index
    types, inbound index
    types, inbound index, nilable
    types, inbound index, nilable
    types, out of bound, nilable
    types, out of bound, nilable
  gives error when using named args on Tuple
  gives error when using named args on Tuple
  types tuple of one element and then two elements
  types tuple of one element and then two elements
  #[](Path)
    works for tuple indexer
    works for tuple indexer
    works for named tuple indexer
    works for named tuple indexer
  errors on recursive splat expansion (2) (#361)
  errors on recursive splat expansion (2) (#361)
  doesn't trigger recursive splat expansion error (#7164)
  doesn't trigger recursive splat expansion error (#7164)
  allows tuple covariance
  allows tuple covariance
  errors if non-tuple is splatted inside tuple
  errors if non-tuple is splatted inside tuple
  types T as a tuple of metaclasses
  types T as a tuple of metaclasses
  can iterate T
  can iterate T
  errors on named tuple too big
  errors on named tuple too big
  doesn't crash on tuple in not executed block (#6718)
  doesn't crash on tuple in not executed block (#6718)
  can call [] on T
  can call [] on T
  accepts tuple covariance in array
  accepts tuple covariance in array
  types tuple with splats inside
  types tuple with splats inside
  errors on recursive splat expansion (1) (#361)
  errors on recursive splat expansion (1) (#361)
  can name a tuple type
  can name a tuple type
  types tuple of one element
  types tuple of one element
  doesn't error if Tuple has no args
  doesn't error if Tuple has no args
Code gen: nilable cast
  does nilable cast (always true)
  does nilable cast (always true)
  upcasts type to virtual (2) (#3304)
  upcasts type to virtual (2) (#3304)
  casts union type to nilable type (#9342)
  casts union type to nilable type (#9342)
  does cast to nil (1)
  does cast to nil (1)
  does cast to nil (2)
  does cast to nil (2)
  types as? with wrong type (#2775)
  types as? with wrong type (#2775)
  codegens with NoReturn
  codegens with NoReturn
  casts with block var that changes type (#3341)
  casts with block var that changes type (#3341)
  does nilable cast (false)
  does nilable cast (false)
  upcasts type to virtual (#3304)
  upcasts type to virtual (#3304)
  does upcast
  does upcast
  does nilable cast (true)
  does nilable cast (true)
Codegen: const
  inlines simple const
  inlines simple const
  define a constant in lib
  define a constant in lib
  initializes simple const
  initializes simple const
  uses correct types lookup  uses correct types lookup  uses correct types lookup  uses correct types lookup  uses correct types lookup  uses correct types lookup  uses correct types lookup  uses correct types lookup  uses correct types lookup
  uses correct types lookup
  codegens constant that is declared later because of virtual dispatch
  codegens constant that is declared later because of virtual dispatch
  finds nearest constant first
  finds nearest constant first
  codegens constant that refers to another constant that is a struct  codegens constant that refers to another constant that is a struct  codegens constant that refers to another constant that is a struct  codegens constant that refers to another constant that is a struct  codegens constant that refers to another constant that is a struct  codegens constant that refers to another constant that is a struct  codegens constant that refers to another constant that is a struct  codegens constant that refers to another constant that is a struct  codegens constant that refers to another constant that is a struct
  codegens constant that refers to another constant that is a struct
  initializes ARGC_UNSAFE
  initializes ARGC_UNSAFE
  initialize const that might raise an exception  initialize const that might raise an exception  initialize const that might raise an exception  initialize const that might raise an exception  initialize const that might raise an exception  initialize const that might raise an exception  initialize const that might raise an exception  initialize const that might raise an exception  initialize const that might raise an exception
  initialize const that might raise an exception
  supports closured vars inside initializers (#10474)
  supports closured vars inside initializers (#10474)
  allows implicit self in constant, called from another class (bug)  allows implicit self in constant, called from another class (bug)  allows implicit self in constant, called from another class (bug)  allows implicit self in constant, called from another class (bug)  allows implicit self in constant, called from another class (bug)  allows implicit self in constant, called from another class (bug)  allows implicit self in constant, called from another class (bug)  allows implicit self in constant, called from another class (bug)  allows implicit self in constant, called from another class (bug)
  allows implicit self in constant, called from another class (bug)
  inlines const with math
  inlines const with math
  constants with expression
  constants with expression
  codegens two consts with same variable name  codegens two consts with same variable name  codegens two consts with same variable name  codegens two consts with same variable name  codegens two consts with same variable name  codegens two consts with same variable name  codegens two consts with same variable name  codegens two consts with same variable name  codegens two consts with same variable name
  codegens two consts with same variable name
  finds global constant
  finds global constant
  synchronizes initialization of constants  synchronizes initialization of constants  synchronizes initialization of constants  synchronizes initialization of constants  synchronizes initialization of constants  synchronizes initialization of constants  synchronizes initialization of constants  synchronizes initialization of constants  synchronizes initialization of constants
  synchronizes initialization of constants
  doesn't crash if constant is used, but class is never instantiated (#1106)
  doesn't crash if constant is used, but class is never instantiated (#1106)
  codegens variable assignment in const  codegens variable assignment in const  codegens variable assignment in const  codegens variable assignment in const  codegens variable assignment in const  codegens variable assignment in const  codegens variable assignment in const  codegens variable assignment in const  codegens variable assignment in const
  codegens variable assignment in const
  inlines char const
  inlines char const
  runs const side effects (#8862)  runs const side effects (#8862)  runs const side effects (#8862)  runs const side effects (#8862)  runs const side effects (#8862)  runs const side effects (#8862)  runs const side effects (#8862)  runs const side effects (#8862)  runs const side effects (#8862)
  runs const side effects (#8862)
  supports storing function returning nil
  supports storing function returning nil
  inlines bool const
  inlines bool const
  initializes simple const via another const
  initializes simple const via another const
  works with variable declared inside if  works with variable declared inside if  works with variable declared inside if  works with variable declared inside if  works with variable declared inside if  works with variable declared inside if  works with variable declared inside if  works with variable declared inside if  works with variable declared inside if
  works with variable declared inside if
  uses const before declaring it in another module  uses const before declaring it in another module  uses const before declaring it in another module  uses const before declaring it in another module  uses const before declaring it in another module  uses const before declaring it in another module  uses const before declaring it in another module  uses const before declaring it in another module  uses const before declaring it in another module
  uses const before declaring it in another module
  inlines const referencing another const
  inlines const referencing another const
  gets pointerof constant inside class  gets pointerof constant inside class  gets pointerof constant inside class  gets pointerof constant inside class  gets pointerof constant inside class  gets pointerof constant inside class  gets pointerof constant inside class  gets pointerof constant inside class  gets pointerof constant inside class
  gets pointerof constant inside class
  invokes block in const  invokes block in const  invokes block in const  invokes block in const  invokes block in const  invokes block in const  invokes block in const  invokes block in const  invokes block in const
  invokes block in const
  define a constant
  define a constant
  support constant inside a def
  support constant inside a def
  inlines enum value
  inlines enum value
  support nested constant
  support nested constant
  declaring var  declaring var  declaring var  declaring var  declaring var  declaring var  declaring var  declaring var  declaring var
  declaring var
  gets pointerof complex constant  gets pointerof complex constant  gets pointerof complex constant  gets pointerof complex constant  gets pointerof complex constant  gets pointerof complex constant  gets pointerof complex constant  gets pointerof complex constant  gets pointerof complex constant
  gets pointerof complex constant
  uses const before declaring it (hoisting)  uses const before declaring it (hoisting)  uses const before declaring it (hoisting)  uses const before declaring it (hoisting)  uses const before declaring it (hoisting)  uses const before declaring it (hoisting)  uses const before declaring it (hoisting)  uses const before declaring it (hoisting)  uses const before declaring it (hoisting)
  uses const before declaring it (hoisting)
  declare constants in right order  declare constants in right order  declare constants in right order  declare constants in right order  declare constants in right order  declare constants in right order  declare constants in right order  declare constants in right order  declare constants in right order
  declare constants in right order
  gets pointerof constant  gets pointerof constant  gets pointerof constant  gets pointerof constant  gets pointerof constant  gets pointerof constant  gets pointerof constant  gets pointerof constant  gets pointerof constant
  gets pointerof constant
  allows constants with same name
  allows constants with same name
Crystal::Repl::Interpreter
  is_a?
    does is_a? from NilableType to NonGenericClassType (true)
    does is_a? from NilableType to NonGenericClassType (true)
    does is_a? from NilableType to GenericClassInstanceType (false)
    does is_a? from NilableType to GenericClassInstanceType (false)
    does is_a? from NilableType to GenericClassInstanceType (true)
    does is_a? from NilableType to GenericClassInstanceType (true)
    does is_a? from VirtualType to NonGenericClassType (false)
    does is_a? from VirtualType to NonGenericClassType (false)
    does is_a? from VirtualType to NonGenericClassType (true)
    does is_a? from VirtualType to NonGenericClassType (true)
    does is_a? from NilableReferenceUnionType to NonGenericClassType (true)
    does is_a? from NilableReferenceUnionType to NonGenericClassType (true)
    does is_a? from NilableReferenceUnionType to NonGenericClassType (false)
    does is_a? from NilableReferenceUnionType to NonGenericClassType (false)
    does is_a? from NilableType to NonGenericClassType (false)
    does is_a? from NilableType to NonGenericClassType (false)
    does is_a? from NilableProcType to non-Nil
    does is_a? from NilableProcType to non-Nil
    does is_a? from NilableProcType to Nil
    does is_a? from NilableProcType to Nil
Code gen: cast
  casts from union to single type raises TypeCastError  casts from union to single type raises TypeCastError  casts from union to single type raises TypeCastError  casts from union to single type raises TypeCastError  casts from union to single type raises TypeCastError  casts from union to single type raises TypeCastError  casts from union to single type raises TypeCastError  casts from union to single type raises TypeCastError  casts from union to single type raises TypeCastError
  casts from union to single type raises TypeCastError
  downcasts from union to union with different alignment  downcasts from union to union with different alignment  downcasts from union to union with different alignment  downcasts from union to union with different alignment  downcasts from union to union with different alignment  downcasts from union to union with different alignment  downcasts from union to union with different alignment  downcasts from union to union with different alignment  downcasts from union to union with different alignment
  downcasts from union to union with different alignment
  casts from virtual to single type raises TypeCastError  casts from virtual to single type raises TypeCastError  casts from virtual to single type raises TypeCastError  casts from virtual to single type raises TypeCastError  casts from virtual to single type raises TypeCastError  casts from virtual to single type raises TypeCastError  casts from virtual to single type raises TypeCastError  casts from virtual to single type raises TypeCastError  casts from virtual to single type raises TypeCastError
  casts from virtual to single type raises TypeCastError
  can cast from Void* to virtual type (#3014)
  can cast from Void* to virtual type (#3014)
  casts to module  casts to module  casts to module  casts to module  casts to module  casts to module  casts to module  casts to module  casts to module
  casts to module
  casts between union types, where union has a tuple type (#3377)
  casts between union types, where union has a tuple type (#3377)
  codegens class method when type id is available but not a virtual type (#3490)
  codegens class method when type id is available but not a virtual type (#3490)
  sidecasts from union to union with different alignment  sidecasts from union to union with different alignment  sidecasts from union to union with different alignment  sidecasts from union to union with different alignment  sidecasts from union to union with different alignment  sidecasts from union to union with different alignment  sidecasts from union to union with different alignment  sidecasts from union to union with different alignment  sidecasts from union to union with different alignment
  sidecasts from union to union with different alignment
  allows casting nilable type to Void* (1)
  allows casting nilable type to Void* (1)
  casts from union to another union raises TypeCastError  casts from union to another union raises TypeCastError  casts from union to another union raises TypeCastError  casts from union to another union raises TypeCastError  casts from union to another union raises TypeCastError  casts from union to another union raises TypeCastError  casts from union to another union raises TypeCastError  casts from union to another union raises TypeCastError  casts from union to another union raises TypeCastError
  casts from union to another union raises TypeCastError
  doesn't corrupt stack when downcasting union to union with different alignment (#14285)
  doesn't corrupt stack when downcasting union to union with different alignment (#14285)
  casts from nilable to nil raises TypeCastError  casts from nilable to nil raises TypeCastError  casts from nilable to nil raises TypeCastError  casts from nilable to nil raises TypeCastError  casts from nilable to nil raises TypeCastError  casts from nilable to nil raises TypeCastError  casts from nilable to nil raises TypeCastError  casts from nilable to nil raises TypeCastError  casts from nilable to nil raises TypeCastError
  casts from nilable to nil raises TypeCastError
  can cast to metaclass (#11121)
  can cast to metaclass (#11121)
  allows casting nilable type to Void* (2)
  allows casting nilable type to Void* (2)
  casts from union to another union  casts from union to another union  casts from union to another union  casts from union to another union  casts from union to another union  casts from union to another union  casts from union to another union  casts from union to another union  casts from union to another union
  casts from union to another union
  casts with block var that changes type (#3341)
  casts with block var that changes type (#3341)
  casts from int to int  casts from int to int  casts from int to int  casts from int to int  casts from int to int  casts from int to int  casts from int to int  casts from int to int  casts from int to int
  casts from int to int
  allows casting object to pointer and back
  allows casting object to pointer and back
  allows casting nilable type to Void* (3)
  allows casting nilable type to Void* (3)
  upcasts from non-generic to generic
  upcasts from non-generic to generic
  casts (bug)  casts (bug)  casts (bug)  casts (bug)  casts (bug)  casts (bug)  casts (bug)  casts (bug)  casts (bug)
  casts (bug)
  casts to bigger union
  casts to bigger union
  upcasts from union to union with different alignment  upcasts from union to union with different alignment  upcasts from union to union with different alignment  upcasts from union to union with different alignment  upcasts from union to union with different alignment  upcasts from union to union with different alignment  upcasts from union to union with different alignment  upcasts from union to union with different alignment  upcasts from union to union with different alignment
  upcasts from union to union with different alignment
  casts from nilable type to virtual type (#3512)  casts from nilable type to virtual type (#3512)  casts from nilable type to virtual type (#3512)  casts from nilable type to virtual type (#3512)  casts from nilable type to virtual type (#3512)  casts from nilable type to virtual type (#3512)  casts from nilable type to virtual type (#3512)  casts from nilable type to virtual type (#3512)  casts from nilable type to virtual type (#3512)
  casts from nilable type to virtual type (#3512)
  cast virtual metaclass type to nilable virtual instance type (#12628)
  cast virtual metaclass type to nilable virtual instance type (#12628)
  casts from nilable to nil  casts from nilable to nil  casts from nilable to nil  casts from nilable to nil  casts from nilable to nil  casts from nilable to nil  casts from nilable to nil  casts from nilable to nil  casts from nilable to nil
  casts from nilable to nil
  allows casting nil to Void*
  allows casting nil to Void*
  casts from virtual to single type  casts from virtual to single type  casts from virtual to single type  casts from virtual to single type  casts from virtual to single type  casts from virtual to single type  casts from virtual to single type  casts from virtual to single type  casts from virtual to single type
  casts from virtual to single type
  upcasts type to virtual (2) (#3304)
  upcasts type to virtual (2) (#3304)
  upcasts type to virtual (#3304)
  upcasts type to virtual (#3304)
  casts from union to single type  casts from union to single type  casts from union to single type  casts from union to single type  casts from union to single type  casts from union to single type  casts from union to single type  casts from union to single type  casts from union to single type
  casts from union to single type
  casts to base class making it virtual
  casts to base class making it virtual
  casts from pointer to pointer  casts from pointer to pointer  casts from pointer to pointer  casts from pointer to pointer  casts from pointer to pointer  casts from pointer to pointer  casts from pointer to pointer  casts from pointer to pointer  casts from pointer to pointer
  casts from pointer to pointer
Semantic: proc
  types proc call with return type
  types proc call with return type
  types proc literal with a type that was never instantiated
  types proc literal with a type that was never instantiated
  disallows Pointer in proc return types
  disallows Pointer in proc return types
  can pass Proc(X, T) to Proc(X, Nil) in type restriction (#8964)
  can pass Proc(X, T) to Proc(X, Nil) in type restriction (#8964)
  disallows Reference in proc notation return type
  disallows Reference in proc notation return type
  passes proc pointer as block
  passes proc pointer as block
  can assign proc that returns anything to proc that returns nil, with local var (#3655)
  can assign proc that returns anything to proc that returns nil, with local var (#3655)
  disallows StaticArray in captured block
  disallows StaticArray in captured block
  disallows Tuple in proc pointer
  disallows Tuple in proc pointer
  disallows Tuple in proc notation parameter type
  disallows Tuple in proc notation parameter type
  has proc literal as restriction and errors if input is different
  has proc literal as restriction and errors if input is different
  allows implicit cast of proc to return void in generic restriction
  allows implicit cast of proc to return void in generic restriction
  disallows Object in procs
  disallows Object in procs
  disallows Object in proc return types
  disallows Object in proc return types
  doesn't cause upcast bug (#8428)
  doesn't cause upcast bug (#8428)
  disallows StaticArray in procs
  disallows StaticArray in procs
  disallows casting a proc type to one accepting same size argument but different input
  disallows casting a proc type to one accepting same size argument but different input
  disallows Object in proc pointer
  disallows Object in proc pointer
  disallows Struct in proc return types
  disallows Struct in proc return types
  disallows Object in proc notation return type
  disallows Object in proc notation return type
  types proc pointer with a type that was never instantiated
  types proc pointer with a type that was never instantiated
  types proc literal with return type (2)
  types proc literal with return type (2)
  disallows Class in procs
  disallows Class in procs
  types proc literal with return type (1)
  types proc literal with return type (1)
  disallows Value in proc notation return type
  disallows Value in proc notation return type
  doesn't let passing an non-covariant generic argument
  doesn't let passing an non-covariant generic argument
  disallows Tuple in proc notation return type
  disallows Tuple in proc notation return type
  forwards block and computes correct type (bug)
  forwards block and computes correct type (bug)
  disallows Proc in proc notation return type
  disallows Proc in proc notation return type
  unpacks tuple but doesn't override local variables, when using new (#9813)
  unpacks tuple but doesn't override local variables, when using new (#9813)
  allows new on proc type with less block params
  allows new on proc type with less block params
  types empty proc literal
  types empty proc literal
  has proc literal as restriction and works when output not specified
  has proc literal as restriction and works when output not specified
  errors if missing argument type in proc literal
  errors if missing argument type in proc literal
  allows implicit cast of proc to return void in LibC function
  allows implicit cast of proc to return void in LibC function
  can pass proc that returns T as Void with named args (#7523)
  can pass proc that returns T as Void with named args (#7523)
  disallows Int in captured block
  disallows Int in captured block
  disallows Number in proc pointer
  disallows Number in proc pointer
  allows casting a proc type to one with void argument
  allows casting a proc type to one with void argument
  declares an instance variable with splat in proc notation
  declares an instance variable with splat in proc notation
  disallows Reference in proc pointer
  disallows Reference in proc pointer
  disallows Tuple in proc return types
  disallows Tuple in proc return types
  types proc literal hard type inference (1)
  types proc literal hard type inference (1)
  merges return type
  merges return type
  disallows Int in proc notation parameter type
  disallows Int in proc notation parameter type
  disallows Float in proc notation parameter type
  disallows Float in proc notation parameter type
  allows passing proc type if it is a lib alias
  allows passing proc type if it is a lib alias
  disallows Reference in captured block
  disallows Reference in captured block
  types int -> int proc literal
  types int -> int proc literal
  disallows Tuple in procs
  disallows Tuple in procs
  allows using Proc as restriction (3)
  allows using Proc as restriction (3)
  allows passing function to LibC without specifying types, using a global method
  allows passing function to LibC without specifying types, using a global method
  types proc pointer
  types proc pointer
  casts to Proc(Nil) when specified in return type
  casts to Proc(Nil) when specified in return type
  finds method of object
  finds method of object
  disallows Reference in proc notation parameter type
  disallows Reference in proc notation parameter type
  disallows Value in proc notation parameter type
  disallows Value in proc notation parameter type
  disallows Float in proc pointer
  disallows Float in proc pointer
  disallows Struct in proc notation parameter type
  disallows Struct in proc notation parameter type
  disallows Int in proc pointer
  disallows Int in proc pointer
  sets proc type as void if explicitly told so, when using new
  sets proc type as void if explicitly told so, when using new
  doesn't crash on constant to proc pointer
  doesn't crash on constant to proc pointer
  allows writing a function type with Proc
  allows writing a function type with Proc
  disallows casting a proc type to one accepting less arguments
  disallows casting a proc type to one accepting less arguments
  types proc call
  types proc call
  disallows Class in captured block
  disallows Class in captured block
  has proc literal as restriction and errors if output is different
  has proc literal as restriction and errors if output is different
  disallows Value in procs
  disallows Value in procs
  disallows StaticArray in proc notation return type
  disallows StaticArray in proc notation return type
  allows passing proc type if it is typedef'd
  allows passing proc type if it is typedef'd
  virtualizes proc type with -> (#8730)
  virtualizes proc type with -> (#8730)
  allows passing nil as proc callback if it is a lib alias
  allows passing nil as proc callback if it is a lib alias
  disallows Float in proc notation return type
  disallows Float in proc notation return type
  doesn't capture closured var if using typeof
  doesn't capture closured var if using typeof
  disallows Number in proc notation parameter type
  disallows Number in proc notation parameter type
  allows passing union including module to proc
  allows passing union including module to proc
  allows implicit cast of proc to return void in non-generic restriction
  allows implicit cast of proc to return void in non-generic restriction
  virtualizes proc type (#6789)
  virtualizes proc type (#6789)
  errors if inferred return type doesn't match return type restriction (2)
  errors if inferred return type doesn't match return type restriction (2)
  can match *T in block argument
  can match *T in block argument
  doesn't need to deduce type of block if return is void
  doesn't need to deduce type of block if return is void
  types nil or proc type
  types nil or proc type
  disallows Pointer in captured block
  disallows Pointer in captured block
  types proc pointer with types
  types proc pointer with types
  disallows Proc in captured block
  disallows Proc in captured block
  errors when using macro as proc value (top-level) (#7465)
  errors when using macro as proc value (top-level) (#7465)
  says wrong number of arguments
  says wrong number of arguments
  *doesn't* merge Proc that returns Nil with another one that returns something else (#3655) (this was reverted)
  *doesn't* merge Proc that returns Nil with another one that returns something else (#3655) (this was reverted)
  disallows StaticArray in proc return types
  disallows StaticArray in proc return types
  allows passing NoReturn type for any return type (3)
  allows passing NoReturn type for any return type (3)
  disallows Proc in proc notation parameter type
  disallows Proc in proc notation parameter type
  can assign proc that returns anything to proc that returns nil, with class var (#3655)
  can assign proc that returns anything to proc that returns nil, with class var (#3655)
  disallows Pointer in proc notation parameter type
  disallows Pointer in proc notation parameter type
  allows using proc arg name shadowing local variable
  allows using proc arg name shadowing local variable
  allows using Proc as restriction (1)
  allows using Proc as restriction (1)
  says wrong number of block params in new on proc type
  says wrong number of block params in new on proc type
  can assign NoReturn proc to other proc (#3032)
  can assign NoReturn proc to other proc (#3032)
  disallows Object in proc notation parameter type
  disallows Object in proc notation parameter type
  disallows Number in procs
  disallows Number in procs
  allows passing NoReturn type for any return type, with Proc notation (#12126)
  allows passing NoReturn type for any return type, with Proc notation (#12126)
  types proc pointer to instance method
  types proc pointer to instance method
  disallows Struct in proc notation return type
  disallows Struct in proc notation return type
  uses array argument of proc arg (1)
  uses array argument of proc arg (1)
  disallows StaticArray in proc notation parameter type
  disallows StaticArray in proc notation parameter type
  *doesn't* merge Proc that returns NoReturn with another one that returns something else (#9971)
  *doesn't* merge Proc that returns NoReturn with another one that returns something else (#9971)
  allows metaclass in proc pointer
  allows metaclass in proc pointer
  disallows Value in captured block
  disallows Value in captured block
  disallows Reference in proc return types
  disallows Reference in proc return types
  allows metaclass in proc notation parameter type
  allows metaclass in proc notation parameter type
  has proc literal as restriction and errors if sizes are different
  has proc literal as restriction and errors if sizes are different
  uses array argument of proc arg (4)
  uses array argument of proc arg (4)
  errors when using local variable with proc argument name
  errors when using local variable with proc argument name
  gets pointer to lib fun without specifying types
  gets pointer to lib fun without specifying types
  disallows StaticArray in proc pointer
  disallows StaticArray in proc pointer
  allows metaclass in procs
  allows metaclass in procs
  allows metaclass in proc notation return type
  allows metaclass in proc notation return type
  disallows Struct in captured block
  disallows Struct in captured block
  disallows Struct in proc pointer
  disallows Struct in proc pointer
  disallows Float in procs
  disallows Float in procs
  types a proc pointer with generic types
  types a proc pointer with generic types
  disallows Reference in procs
  disallows Reference in procs
  disallows Enum in captured block
  disallows Enum in captured block
  disallows Enum in proc return types
  disallows Enum in proc return types
  can assign proc that returns anything to proc that returns nil, with instance var (#3655)
  can assign proc that returns anything to proc that returns nil, with instance var (#3655)
  allows new on proc type that is a lib alias
  allows new on proc type that is a lib alias
  disallows Int in proc return types
  disallows Int in proc return types
  says wrong return type in new on proc type
  says wrong return type in new on proc type
  gives correct error message when proc return type is incorrect (#219)
  gives correct error message when proc return type is incorrect (#219)
  errors when using macro as proc value (inside method) (#7465)
  errors when using macro as proc value (inside method) (#7465)
  disallows casting a proc type to one accepting same size argument but different output
  disallows casting a proc type to one accepting same size argument but different output
  disallows Object in captured block
  disallows Object in captured block
  errors if inferred return type doesn't match return type restriction (1)
  errors if inferred return type doesn't match return type restriction (1)
  can use @@cvar as pointer syntax receiver (#9239)
  can use @@cvar as pointer syntax receiver (#9239)
  disallows Struct in procs
  disallows Struct in procs
  disallows Proc in procs
  disallows Proc in procs
  accesses T inside variadic generic, in proc notation
  accesses T inside variadic generic, in proc notation
  allows invoking a function with a generic subtype (2)
  allows invoking a function with a generic subtype (2)
  disallows Class in proc notation parameter type
  disallows Class in proc notation parameter type
  allows passing function to LibC without specifying types, using a class method
  allows passing function to LibC without specifying types, using a class method
  disallows Proc in proc return types
  disallows Proc in proc return types
  uses array argument of proc arg (3)
  uses array argument of proc arg (3)
  disallows Value in proc pointer
  disallows Value in proc pointer
  disallows Enum in proc pointer
  disallows Enum in proc pointer
  errors when using macro as proc value (top-level with obj) (#7465)
  errors when using macro as proc value (top-level with obj) (#7465)
  disallows Number in proc notation return type
  disallows Number in proc notation return type
  disallows Class in proc notation return type
  disallows Class in proc notation return type
  disallows Pointer in proc notation return type
  disallows Pointer in proc notation return type
  disallows Enum in proc notation return type
  disallows Enum in proc notation return type
  accesses T and R
  accesses T and R
  can pass Proc(T) to Proc(Nil) in type restriction (#8964)
  can pass Proc(T) to Proc(Nil) in type restriction (#8964)
  disallows Float in proc return types
  disallows Float in proc return types
  disallows Number in captured block
  disallows Number in captured block
  types int proc literal
  types int proc literal
  passes proc pointer as block with arguments
  passes proc pointer as block with arguments
  disallows Enum in procs
  disallows Enum in procs
  types int -> int proc call
  types int -> int proc call
  disallows Class in proc return types
  disallows Class in proc return types
  disallows Pointer in procs
  disallows Pointer in procs
  disallows Tuple in captured block
  disallows Tuple in captured block
  uses array argument of proc arg (2)
  uses array argument of proc arg (2)
  allows passing virtual type including module to proc
  allows passing virtual type including module to proc
  ...
  ...
  types proc type spec
  types proc type spec
  disallows Int in procs
  disallows Int in procs
  disallows Proc in proc pointer
  disallows Proc in proc pointer
  allows passing function to LibC without specifying types
  allows passing function to LibC without specifying types
  disallows Enum in proc notation parameter type
  disallows Enum in proc notation parameter type
  allows metaclass in proc return types
  allows metaclass in proc return types
  accesses T inside variadic generic
  accesses T inside variadic generic
  allows passing NoReturn type for any return type (2)
  allows passing NoReturn type for any return type (2)
  binds proc literal to arguments and body
  binds proc literal to arguments and body
  disallows Float in captured block
  disallows Float in captured block
  disallows Number in proc return types
  disallows Number in proc return types
  disallows casting a proc type to one accepting more arguments
  disallows casting a proc type to one accepting more arguments
  disallows Value in proc return types
  disallows Value in proc return types
  allows new on proc type
  allows new on proc type
  types Proc(*T, Void) as Proc(*T, Nil)
  types Proc(*T, Void) as Proc(*T, Nil)
  allows passing NoReturn type for any return type (1)
  allows passing NoReturn type for any return type (1)
  accesses T inside variadic generic (2)
  accesses T inside variadic generic (2)
  disallows Int in proc notation return type
  disallows Int in proc notation return type
  disallows Class in proc pointer
  disallows Class in proc pointer
  has proc literal as restriction and works
  has proc literal as restriction and works
  can use @ivar as pointer syntax receiver (#9239)
  can use @ivar as pointer syntax receiver (#9239)
  allows metaclass in captured block
  allows metaclass in captured block
  allows using Proc as restriction (2)
  allows using Proc as restriction (2)
  allows invoking a function with a generic subtype (1)
  allows invoking a function with a generic subtype (1)
  disallows Pointer in proc pointer
  disallows Pointer in proc pointer
Normalize: hash literal
  hoists complex element expressions, hash-like generic
  hoists complex element expressions, hash-like generic
  normalizes empty with of
  normalizes empty with of
  hoists complex element expressions, hash-like
  hoists complex element expressions, hash-like
  normalizes non-empty without of
  normalizes non-empty without of
  normalizes non-empty with of
  normalizes non-empty with of
  hoists complex element expressions
  hoists complex element expressions
Crystal::Repl::Interpreter
  closures
    closures struct and calls method on it
    closures struct and calls method on it
    does closure without args that captures and modifies one local variable
    does closure without args that captures and modifies one local variable
    does closure inside proc, capture proc argument
    does closure inside proc, capture proc argument
    sets ivar of self closured struct (#12341)
    sets ivar of self closured struct (#12341)
    closures self in proc literal (implicit self)
    closures self in proc literal (implicit self)
    does closure inside proc
    does closure inside proc
    does nested closure inside captured blocks
    does nested closure inside captured blocks
    does nested closure inside methods and blocks
    does nested closure inside methods and blocks
    does closure with pointerof local var
    does closure with pointerof local var
    closures self in proc literal
    closures self in proc literal
    does nested closure inside proc
    does nested closure inside proc
    does closure inside block
    does closure inside block
    closures self and modifies instance var
    closures self and modifies instance var
    does closure inside const
    does closure inside const
    gets ivar of self closured struct (#12341)
    gets ivar of self closured struct (#12341)
    does closure without args that captures and modifies two local variables
    does closure without args that captures and modifies two local variables
    closures def arguments
    closures def arguments
    does next inside captured block (#12226)
    does next inside captured block (#12226)
    closures block args after 8 bytes (the closure var)
    closures block args after 8 bytes (the closure var)
    does closure inside block, capture block arg
    does closure inside block, capture block arg
    reads self closured struct (#12341)
    reads self closured struct (#12341)
    does closure with two args that captures and modifies two local variables
    does closure with two args that captures and modifies two local variables
    does closure inside def
    does closure inside def
    does closure inside class variable initializer
    does closure inside class variable initializer
    passes closured struct instance var as self
    passes closured struct instance var as self
    closures closured block arg
    closures closured block arg
    does closure and accesses it inside block
    does closure and accesses it inside block
    doesn't mix local vars with closured vars
    doesn't mix local vars with closured vars
Code gen: automatic cast
  doesn't autocast number on union (#8655)
  doesn't autocast number on union (#8655)
  casts Symbol to Enum in ivar assignment
  casts Symbol to Enum in ivar assignment
  does multidispatch with automatic casting (1) (#8217)
  does multidispatch with automatic casting (1) (#8217)
  casts literal float (Float32 -> Float64)
  casts literal float (Float32 -> Float64)
  casts Int32 -> Int64 in arg restriction
  casts Int32 -> Int64 in arg restriction
  casts literal float (Float64 -> Float32)
  casts literal float (Float64 -> Float32)
  casts literal integer (Int32 -> Int64)
  casts literal integer (Int32 -> Int64)
  casts literal integer (Int64 -> Int32, ok)
  casts literal integer (Int64 -> Int32, ok)
  casts Symbol to Enum in ivar type declaration
  casts Symbol to Enum in ivar type declaration
  casts Int32 to Int64 in ivar type declaration
  casts Int32 to Int64 in ivar type declaration
  casts Int32 to Int64 in cvar type declaration
  casts Int32 to Int64 in cvar type declaration
  casts literal integer (Int32 -> Float32)
  casts literal integer (Int32 -> Float32)
  does multidispatch with automatic casting (3)
  does multidispatch with automatic casting (3)
  casts Int32 to Int64 in lvar assignment
  casts Int32 to Int64 in lvar assignment
  casts literal integer (Int32 -> Float64)
  casts literal integer (Int32 -> Float64)
  casts Int32 to Int64 in ivar assignment
  casts Int32 to Int64 in ivar assignment
  casts Int32 to Int64 in ivar type declaration in generic
  casts Int32 to Int64 in ivar type declaration in generic
  casts integer variable to larger type (#9565)
  casts integer variable to larger type (#9565)
  casts symbol literal to enum
  casts symbol literal to enum
  does multidispatch with automatic casting (2) (#8217)
  does multidispatch with automatic casting (2) (#8217)
  casts Int32 to Int64 in cvar assignment
  casts Int32 to Int64 in cvar assignment
Codegen: special vars
  allows with primitive
  allows with primitive
  codegens in block with nested block  codegens in block with nested block  codegens in block with nested block  codegens in block with nested block  codegens in block with nested block  codegens in block with nested block  codegens in block with nested block  codegens in block with nested block  codegens in block with nested block
  codegens in block with nested block
  codegens after block 2
  codegens after block 2
  codegens with default argument
  codegens with default argument
  allows with struct
  allows with struct
  codegens $?
  codegens $?
  preserves special vars in macro expansion with call with default arguments (#824)
  preserves special vars in macro expansion with call with default arguments (#824)
  codegens $? with nilable (2)  codegens $? with nilable (2)  codegens $? with nilable (2)  codegens $? with nilable (2)  codegens $? with nilable (2)  codegens $? with nilable (2)  codegens $? with nilable (2)  codegens $? with nilable (2)  codegens $? with nilable (2)
  codegens $? with nilable (2)
  codegens in block  codegens in block  codegens in block  codegens in block  codegens in block  codegens in block  codegens in block  codegens in block  codegens in block
  codegens in block
  works lazily  works lazily  works lazily  works lazily  works lazily  works lazily  works lazily  works lazily  works lazily
  works lazily
  codegens $~ with nilable (1)  codegens $~ with nilable (1)  codegens $~ with nilable (1)  codegens $~ with nilable (1)  codegens $~ with nilable (1)  codegens $~ with nilable (1)  codegens $~ with nilable (1)  codegens $~ with nilable (1)  codegens $~ with nilable (1)
  codegens $~ with nilable (1)
  codegens $~
  codegens $~
  codegens after block  codegens after block  codegens after block  codegens after block  codegens after block  codegens after block  codegens after block  codegens after block  codegens after block
  codegens after block
  preserves special vars if initialized inside block (#2194)
  preserves special vars if initialized inside block (#2194)
  codegens $? with nilable (1)  codegens $? with nilable (1)  codegens $? with nilable (1)  codegens $? with nilable (1)  codegens $? with nilable (1)  codegens $? with nilable (1)  codegens $? with nilable (1)  codegens $? with nilable (1)  codegens $? with nilable (1)
  codegens $? with nilable (1)
  codegens $~ two levels
  codegens $~ two levels
  codegens $~ with nilable (2)  codegens $~ with nilable (2)  codegens $~ with nilable (2)  codegens $~ with nilable (2)  codegens $~ with nilable (2)  codegens $~ with nilable (2)  codegens $~ with nilable (2)  codegens $~ with nilable (2)  codegens $~ with nilable (2)
  codegens $~ with nilable (2)
Code gen: op assign
  evaluates exps once (#3398)
  evaluates exps once (#3398)
  evaluates exps once, [] (#3398)
  evaluates exps once, [] (#3398)
Semantic: union
  types union when both obj and arg are union
  types union when both obj and arg are union
  errors if instantiates union
  errors if instantiates union
  types union
  types union
  can reopen Union
  can reopen Union
  commutativity
    generic module instance v.s. extending generic module instance metaclass
    generic module instance v.s. extending generic module instance metaclass
    uninstantiated generic super-metaclass v.s. uninstantiated generic sub-metaclass
    uninstantiated generic super-metaclass v.s. uninstantiated generic sub-metaclass
    module v.s. including module
    module v.s. including module
    generic module instance v.s. including generic module instance
    generic module instance v.s. including generic module instance
    generic module instance v.s. including module
    generic module instance v.s. including module
    module v.s. including generic module instance
    module v.s. including generic module instance
    virtual metaclass v.s. generic subclass instance metaclass
    virtual metaclass v.s. generic subclass instance metaclass
    superclass v.s. uninstantiated generic subclass
    superclass v.s. uninstantiated generic subclass
    module v.s. extending generic module instance metaclass
    module v.s. extending generic module instance metaclass
  merges types in the same hierarchy with Union
  merges types in the same hierarchy with Union
  doesn't crash with union of no-types (#5805)
  doesn't crash with union of no-types (#5805)
  doesn't run virtual lookup on unbound unions (#9173)
  doesn't run virtual lookup on unbound unions (#9173)
  looks up type in union type with free var
  looks up type in union type with free var
  can iterate T
  can iterate T
  can use Union in type restriction (#2988)
  can use Union in type restriction (#2988)
  finds method in Object
  finds method in Object
  types union when arg is union
  types union when arg is union
  doesn't virtualize union elements (#7814)
  doesn't virtualize union elements (#7814)
  treats void as nil in union
  treats void as nil in union
  supports macro if inside union
  supports macro if inside union
  types union when obj is union
  types union when obj is union
  types union of classes
  types union of classes
  assigns to union and keeps new union type in call
  assigns to union and keeps new union type in call
  can reopen Union and access T
  can reopen Union and access T
  finds method in Value
  finds method in Value
  types union of same type
  types union of same type
Codegen: until
  codegens until
  codegens until
context
  does includes self on classes
  does includes self on classes
  can get context of empty def
  can get context of empty def
  consider different instances of def
  consider different instances of def
  can get context in generic class
  can get context in generic class
  includes last call
  includes last call
  can get context inside initialize
  can get context inside initialize
  can get context in file private method
  can get context in file private method
  does includes regex special variables
  does includes regex special variables
  use type filters from if var
  use type filters from if var
  can get context of nested yielded block
  can get context of nested yielded block
  includes top level vars
  includes top level vars
  can get context in file private module
  can get context in file private module
  can handle union types
  can handle union types
  can get context inside class methods
  can get context inside class methods
  does not includes temp variables
  does not includes temp variables
  includes args
  includes args
  includes assignments
  includes assignments
  can get context of empty yielded block
  can get context of empty yielded block
  can get context inside a module
  can get context inside a module
  includes block args
  includes block args
  can get context in contained class' class method
  can get context in contained class' class method
  use type filters from is_a?
  use type filters from is_a?
  can get context of yielded block
  can get context of yielded block
  can display text output
  can display text output
  does includes args, instance vars, local variables and expressions on instance methods
  does includes args, instance vars, local variables and expressions on instance methods
  can't get context from uncalled method
  can't get context from uncalled method
  can display json output
  can display json output
Crystal::Codegen::Target
  normalizes triples
  normalizes triples
  parses incomplete triples
  parses incomplete triples
  parses freebsd version
  parses freebsd version
Semantic: nilable cast
  doesn't introduce type filter for nilable cast object (#12661)
  doesn't introduce type filter for nilable cast object (#12661)
  types as? with NoReturn
  types as? with NoReturn
  casts to module
  casts to module
  doesn't crash with typeof no-type (#7441)
  doesn't crash with typeof no-type (#7441)
  types as?
  types as?
  types as? with union
  types as? with union
  types as? with nil
  types as? with nil
  does upcast
  does upcast
Semantic: special vars
  infers $~
  infers $~
  infers when assigning inside block
  infers when assigning inside block
  infers $?
  infers $?
  infers in block
  infers in block
  types $~ when not defined as no return
  types $~ when not defined as no return
  infers after block
  infers after block
  types $~ when not defined as no return (2)
  types $~ when not defined as no return (2)
  infers in block with nested block
  infers in block with nested block
  errors if assigning $? at top level
  errors if assigning $? at top level
  errors if assigning $~ at top level
  errors if assigning $~ at top level
  types $? when not defined as no return
  types $? when not defined as no return
  types $? when not defined as no return (2)
  types $? when not defined as no return (2)
Crystal::CrystalPath
  finds "./test_folder/*"
  finds "./test_folder/*"
  finds "test_files"
  finds "test_files"
  doesn't finds "./crystal_path_spec.cr"
  doesn't finds "./crystal_path_spec.cr"
  finds "foo.cr"
  finds "foo.cr"
  finds "../test_folder"
  finds "../test_folder"
  finds "./test_folder/file_three.cr"
  finds "./test_folder/file_three.cr"
  doesn't finds "./crystal_path_spec"
  doesn't finds "./crystal_path_spec"
  finds "test_files/file_one"
  finds "test_files/file_one"
  doesn't finds "../crystal_path/test_files/file_one"
  doesn't finds "../crystal_path/test_files/file_one"
  includes 'lib' by default
  includes 'lib' by default
  doesn't finds "test_files/missing_file.cr"
  doesn't finds "test_files/missing_file.cr"
  doesn't finds "file_two.cr"
  doesn't finds "file_two.cr"
  .expand_paths
  .expand_paths
  finds "test_files/**"
  finds "test_files/**"
  finds "other_test_files"
  finds "other_test_files"
  finds "crystal_path_spec"
  finds "crystal_path_spec"
  finds "test_files/file_one"
  finds "test_files/file_one"
  finds "test_files/file_one.cr"
  finds "test_files/file_one.cr"
  #each_file_expansion
    foo/bar
    foo/bar
    ./foo
    ./foo
    foo.cr
    foo.cr
    foo/bar/baz
    foo/bar/baz
    ./foo/bar
    ./foo/bar
    ./foo/bar/baz
    ./foo/bar/baz
    foo.cr/bar.cr
    foo.cr/bar.cr
    foo.cr/bar
    foo.cr/bar
    foo
    foo
    ./foo.cr
    ./foo.cr
  finds "./file_two.cr"
  finds "./file_two.cr"
  finds "test_files/file_three"
  finds "test_files/file_three"
  doesn't finds "build/reproducible-path/crystal-1.14.0+dfsg/spec/compiler/crystal_path/crystal_path_spec.cr"
  doesn't finds "build/reproducible-path/crystal-1.14.0+dfsg/spec/compiler/crystal_path/crystal_path_spec.cr"
  finds "test_files/file_four"
  finds "test_files/file_four"
  finds "test_files/yet_another"
  finds "test_files/yet_another"
  overrides path with environment variable
  overrides path with environment variable
  doesn't finds "test_folder/*"
  doesn't finds "test_folder/*"
  doesn't finds "test_folder/file_three.cr"
  doesn't finds "test_folder/file_three.cr"
  finds "test_files/*"
  finds "test_files/*"
  doesn't finds "../../src/file_three"
  doesn't finds "../../src/file_three"
  finds "../**"
  finds "../**"
  finds "test_files/another"
  finds "test_files/another"
Semantic: did you mean
  doesn't suggest for operator
  doesn't suggest for operator
  suggests a better alternative to logical operators (#2715)
  suggests a better alternative to logical operators (#2715)
  suggests for class variable
  suggests for class variable
  suggest that there might be a typo for an initialize method with overload
  suggest that there might be a typo for an initialize method with overload
  says did you mean for instance var in subclass
  says did you mean for instance var in subclass
  says did you mean for one mistake in short word in instance method
  says did you mean for one mistake in short word in instance method
  says did you mean for nested class
  says did you mean for nested class
  says did you mean for variable
  says did you mean for variable
  says did you mean for class
  says did you mean for class
  suggest that there might be a typo for an initialize method
  suggest that there might be a typo for an initialize method
  says did you mean for global method without parenthesis
  says did you mean for global method without parenthesis
  says did you mean for two mistakes in long word in instance method
  says did you mean for two mistakes in long word in instance method
  says did you mean for named argument
  says did you mean for named argument
  says did you mean finds most similar in type
  says did you mean finds most similar in type
  says did you mean for instance var
  says did you mean for instance var
  doesn't suggest when declaring var inside macro (#466)
  doesn't suggest when declaring var inside macro (#466)
  doesn't suggest when declaring var with suffix if and using it (#946)
  doesn't suggest when declaring var with suffix if and using it (#946)
  says did you mean for global method with parenthesis
  says did you mean for global method with parenthesis
  says did you mean finds most similar in def
  says did you mean finds most similar in def
  suggest that there might be a typo for an initialize method in inherited class
  suggest that there might be a typo for an initialize method in inherited class
  says did you mean in instance var declaration
  says did you mean in instance var declaration
Semantic: instance var
  doesn't consider var as nilable if conditionally assigned inside initialize, but has initializer (#3669)
  doesn't consider var as nilable if conditionally assigned inside initialize, but has initializer (#3669)
  infers type from custom generic hash literal
  infers type from custom generic hash literal
  transfers initializer from generic module to class
  transfers initializer from generic module to class
  infers type from char literal
  infers type from char literal
  is more permissive with macro def initialize, other initialize
  is more permissive with macro def initialize, other initialize
  infers from class method that has type annotation, with multiple overloads matching, all with the same type
  infers from class method that has type annotation, with multiple overloads matching, all with the same type
  declares instance var of generic type
  declares instance var of generic type
  doesn't infer type to be nilable if using self.class in call in assign
  doesn't infer type to be nilable if using self.class in call in assign
  declares instance var of generic module (2)
  declares instance var of generic module (2)
  doesn't complain in second part of #2575
  doesn't complain in second part of #2575
  obeys super module initialize (#456)
  obeys super module initialize (#456)
  errors if not initializing super variables
  errors if not initializing super variables
  infers type from tuple literal
  infers type from tuple literal
  infers type to be nilable if self is used before assigning to a variable
  infers type to be nilable if self is used before assigning to a variable
  infers type from two literals
  infers type from two literals
  declares instance var with initial value
  declares instance var with initial value
  infers from class method that refers to constant
  infers from class method that refers to constant
  infers type from block argument without restriction
  infers type from block argument without restriction
  infers type from responds_to?
  infers type from responds_to?
  errors if declaring instance var and turns out to be nilable, in generic module type in generic type
  errors if declaring instance var and turns out to be nilable, in generic module type in generic type
  doesn't infer unbound generic type on non-generic call (#6390)
  doesn't infer unbound generic type on non-generic call (#6390)
  doesn't consider instance var as nilable if assigned before self access (#4981)
  doesn't consider instance var as nilable if assigned before self access (#4981)
  errors if declaring instance variable in module included in Object
  errors if declaring instance variable in module included in Object
  inferrs Proc(Void) to Proc(Nil)
  inferrs Proc(Void) to Proc(Nil)
  declares as named tuple
  declares as named tuple
  cannot guess the type from double-splat argument with not double-splatted type
  cannot guess the type from double-splat argument with not double-splatted type
  doesn't complain if declared type is recursive alias that's nilable
  doesn't complain if declared type is recursive alias that's nilable
  errors if declaring var in Int32
  errors if declaring var in Int32
  infers from new with return type
  infers from new with return type
  doesn't infer type to be nilable if using self.class
  doesn't infer type to be nilable if using self.class
  infers type for non-generic class, with assign
  infers type for non-generic class, with assign
  errors if declaring instance var and turns out to be nilable, in generic module type
  errors if declaring instance var and turns out to be nilable, in generic module type
  doesn't crash on recursive method call
  doesn't crash on recursive method call
  infers from another instance var with type declaration
  infers from another instance var with type declaration
  doesn't check call of non-self instance (#4830)
  doesn't check call of non-self instance (#4830)
  infers type for generic class, with assign (1)
  infers type for generic class, with assign (1)
  infers type from hash literal from elements
  infers type from hash literal from elements
  infers type for generic module
  infers type for generic module
  doesn't error when using generic because guessed elsewhere
  doesn't error when using generic because guessed elsewhere
  infers type from regex literal with interpolation
  infers type from regex literal with interpolation
  guesses inside macro expression
  guesses inside macro expression
  infer from class method where new is redefined
  infer from class method where new is redefined
  declares instance var with initial value, with subclass
  declares instance var with initial value, with subclass
  infers type for generic class, with if
  infers type for generic class, with if
  infers type from !
  infers type from !
  infers from class method that has number literal
  infers from class method that has number literal
  can't infer type from initializer in generic module type
  can't infer type from initializer in generic module type
  says can't infer (#2536)
  says can't infer (#2536)
  errors if declaring var in Float
  errors if declaring var in Float
  infers type from array literal with literals in generic type
  infers type from array literal with literals in generic type
  declares instance var of generic module from non-generic module
  declares instance var of generic module from non-generic module
  declares instance var of generic class after reopen
  declares instance var of generic class after reopen
  infers type from lib variable
  infers type from lib variable
  errors when using Class in generic type
  errors when using Class in generic type
  errors if declaring var in Reference
  errors if declaring var in Reference
  is more permissive with macro def initialize, bug with named args
  is more permissive with macro def initialize, bug with named args
  guesses from array literal with of, with subclass
  guesses from array literal with of, with subclass
  uses virtual types in fun
  uses virtual types in fun
  infers type from ||=
  infers type from ||=
  infers type from custom generic array literal
  infers type from custom generic array literal
  infers type from regex literal
  infers type from regex literal
  doesn't error if not initializing variables but calling previous_def (2) (#3210)
  doesn't error if not initializing variables but calling previous_def (2) (#3210)
  infers from Pointer.malloc
  infers from Pointer.malloc
  doesn't crash when inferring from new without matches (#2538)
  doesn't crash when inferring from new without matches (#2538)
  infers type from assign (2)
  infers type from assign (2)
  infers type from symbol literal
  infers type from symbol literal
  infers type from hash literal with of
  infers type from hash literal with of
  infers type from custom array literal
  infers type from custom array literal
  infers type from bool literal
  infers type from bool literal
  infers type from lib out (1)
  infers type from lib out (1)
  infers type in multi assign
  infers type in multi assign
  errors if declaring generic type without type vars
  errors if declaring generic type without type vars
  doesn't error when redeclaring subclass variable with the same type
  doesn't error when redeclaring subclass variable with the same type
  infers from another instance var
  infers from another instance var
  doesn't solve instance var initializer in instance context (2) (#5876)
  doesn't solve instance var initializer in instance context (2) (#5876)
  can type ivar from class inherited by generic class (#5281)
  can type ivar from class inherited by generic class (#5281)
  errors if declaring var in Value
  errors if declaring var in Value
  guesses from splat (2) (#3149)
  guesses from splat (2) (#3149)
  can't infer type from initializer in non-generic module
  can't infer type from initializer in non-generic module
  errors if not initializing super variables (2)
  errors if not initializing super variables (2)
  infers from class method that has type annotation, with overload
  infers from class method that has type annotation, with overload
  infers type from as?
  infers type from as?
  infers type from block argument
  infers type from block argument
  infers type for generic class, with case
  infers type for generic class, with case
  errors when overriding inherited instance variable with incompatible type
  errors when overriding inherited instance variable with incompatible type
  infers type from redefined method if calls previous_def
  infers type from redefined method if calls previous_def
  declares instance var of generic type, with splat inside Tuple
  declares instance var of generic type, with splat inside Tuple
  infers type from &&
  infers type from &&
  guesses virtual array type (3) (#5342)
  guesses virtual array type (3) (#5342)
  infers type from array literal from its literals
  infers type from array literal from its literals
  doesn't infer from class method with multiple statements and return, on non-easy return (2)
  doesn't infer from class method with multiple statements and return, on non-easy return (2)
  infers from restriction using virtual type
  infers from restriction using virtual type
  infers type for generic class, with T.new
  infers type for generic class, with T.new
  infers type from begin
  infers type from begin
  errors if declaring var in Int
  errors if declaring var in Int
  can type ivar from module included by generic class (#5281)
  can type ivar from module included by generic class (#5281)
  infers type from self (#2575)
  infers type from self (#2575)
  doesn't error if uses typeof(@var)
  doesn't error if uses typeof(@var)
  declares instance var in module, inherits to type recursively
  declares instance var in module, inherits to type recursively
  guesses virtual array type (3) (#5342)
  guesses virtual array type (3) (#5342)
  infers from new with return type returning generic
  infers from new with return type returning generic
  errors if not initializing super variables (3)
  errors if not initializing super variables (3)
  errors if finally not initialized in macro def
  errors if finally not initialized in macro def
  is more permissive with macro def initialize, multiple
  is more permissive with macro def initialize, multiple
  errors if declaring var in Class
  errors if declaring var in Class
  doesn't error when using generic in generic type because guessed elsewhere
  doesn't error when using generic in generic type because guessed elsewhere
  errors if declaring var in Number
  errors if declaring var in Number
  doesn't infer unbound generic type on generic method called from generic's subclass, metaclass context
  doesn't infer unbound generic type on generic method called from generic's subclass, metaclass context
  declares instance var of generic module
  declares instance var of generic module
  doesn't combine union of Number and Number subclass (#5073)
  doesn't combine union of Number and Number subclass (#5073)
  declares instance var of generic type, with union
  declares instance var of generic type, with union
  doesn't complain if not initialized in one initialize, but has initializer (#2465)
  doesn't complain if not initialized in one initialize, but has initializer (#2465)
  cannot guess the type from splat argument with not splatted type
  cannot guess the type from splat argument with not splatted type
  errors if unknown ivar through macro (#4050)
  errors if unknown ivar through macro (#4050)
  infers type from argument default value
  infers type from argument default value
  guesses virtual hash type (1) (#5342)
  guesses virtual hash type (1) (#5342)
  errors on undefined instance var and subclass calling super
  errors on undefined instance var and subclass calling super
  errors if declaring instance var and turns out to be nilable, in generic type
  errors if declaring instance var and turns out to be nilable, in generic type
  errors if declaring var in NamedTuple(T)
  errors if declaring var in NamedTuple(T)
  looks up return type restriction in defining type, not instantiated type (#11961)
  looks up return type restriction in defining type, not instantiated type (#11961)
  guesses from new on abstract class
  guesses from new on abstract class
  declares with `self`
  declares with `self`
  infers type for generic class, with &&
  infers type for generic class, with &&
  declares instance var with self, on generic
  declares instance var with self, on generic
  instance variables initializers are used in class variables initialized objects (#3988)
  instance variables initializers are used in class variables initialized objects (#3988)
  infers type from hash literal with literals in generic type
  infers type from hash literal with literals in generic type
  infers type from literal outside def
  infers type from literal outside def
  doesn't infer for subclass if assigns another type (1)
  doesn't infer for subclass if assigns another type (1)
  doesn't error if not initializing variables but calling super in parent parent
  doesn't error if not initializing variables but calling super in parent parent
  doesn't error when using Class but specifying type
  doesn't error when using Class but specifying type
  doesn't error if not initializing variables but calling super
  doesn't error if not initializing variables but calling super
  doesn't error if not calling super but initializing all variables
  doesn't error if not calling super but initializing all variables
  infers from Pointer.malloc with two arguments
  infers from Pointer.malloc with two arguments
  infers type by removing nil from || left side
  infers type by removing nil from || left side
  declares instance var of generic class
  declares instance var of generic class
  errors with macro def but another def doesn't initialize all
  errors with macro def but another def doesn't initialize all
  infers from generic class method that has type annotation
  infers from generic class method that has type annotation
  doesn't consider self.initialize as initializer (#3239)
  doesn't consider self.initialize as initializer (#3239)
  gives correct error when trying to use Int as an instance variable type
  gives correct error when trying to use Int as an instance variable type
  can't infer type from initializer
  can't infer type from initializer
  errors if declaring var in Proc(*T, R)
  errors if declaring var in Proc(*T, R)
  infers type from unless
  infers type from unless
  infers type for generic class, with assign (2)
  infers type for generic class, with assign (2)
  errors if declaring var in StaticArray(T, N)
  errors if declaring var in StaticArray(T, N)
  infers type from lib out (3)
  infers type from lib out (3)
  declares instance var in module, inherits to type
  declares instance var in module, inherits to type
  infers type to be nilable if self is used in same assign
  infers type to be nilable if self is used in same assign
  declares instance var which appears in initialize
  declares instance var which appears in initialize
  guesses from hash literal with of, with subclass
  guesses from hash literal with of, with subclass
  declares instance var
  declares instance var
  infers from class method that has type annotation
  infers from class method that has type annotation
  infers type for generic class, with T.new and literal
  infers type for generic class, with T.new and literal
  solves instance var initializer in metaclass context (#5876)
  solves instance var initializer in metaclass context (#5876)
  doesn't error if calling initialize from another initialize (2)
  doesn't error if calling initialize from another initialize (2)
  infers type from ||
  infers type from ||
  doesn't solve instance var initializer in instance context (3) (#5876)
  doesn't solve instance var initializer in instance context (3) (#5876)
  can guess the type from splat argument with splatted type variable
  can guess the type from splat argument with splatted type variable
  doesn't duplicate instance var in subclass
  doesn't duplicate instance var in subclass
  infers type from array literal in generic type
  infers type from array literal in generic type
  infers type from included module, outside def
  infers type from included module, outside def
  infers type from sizeof
  infers type from sizeof
  infer from class method with multiple statements and return
  infer from class method with multiple statements and return
  infers type from path that is a type
  infers type from path that is a type
  guesses virtual array type (1) (#5342)
  guesses virtual array type (1) (#5342)
  doesn't error if not initializing nilable var in subclass
  doesn't error if not initializing nilable var in subclass
  infers type from offsetof
  infers type from offsetof
  allows nil instance var because it's a generic type
  allows nil instance var because it's a generic type
  can guess the type from double-splat argument with double-splatted type
  can guess the type from double-splat argument with double-splatted type
  errors if adds instance variable to Object via guess via included module
  errors if adds instance variable to Object via guess via included module
  infers nilable instance var of generic module
  infers nilable instance var of generic module
  errors if declaring var in Enum
  errors if declaring var in Enum
  guesses inside macro if
  guesses inside macro if
  infers type from custom hash literal
  infers type from custom hash literal
  infers type for generic class, with literal
  infers type for generic class, with literal
  errors if declaring var in Pointer(T)
  errors if declaring var in Pointer(T)
  doesn't infer for subclass if assigns another type (2)
  doesn't infer for subclass if assigns another type (2)
  infers type for generic class, with lib call
  infers type for generic class, with lib call
  errors if declaring instance var and turns out to be nilable
  errors if declaring instance var and turns out to be nilable
  infers type from custom hash literal in generic
  infers type from custom hash literal in generic
  doesn't solve instance var initializer in instance context (1) (#5876)
  doesn't solve instance var initializer in instance context (1) (#5876)
  doesn't error if not initializing variables but calling super for module
  doesn't error if not initializing variables but calling super for module
  infers type from hash literal in generic type
  infers type from hash literal in generic type
  infers type from argument restriction
  infers type from argument restriction
  doesn't infer unbound generic type on generic method called from generic's subclass
  doesn't infer unbound generic type on generic method called from generic's subclass
  infers from method in generic type, with type annotation
  infers from method in generic type, with type annotation
  declares instance var of generic type, with tuple
  declares instance var of generic type, with tuple
  infers from Pointer.malloc in generic type
  infers from Pointer.malloc in generic type
  infers type from path that is a constant
  infers type from path that is a constant
  infers from generic class method that has type annotation, without instantiating
  infers from generic class method that has type annotation, without instantiating
  declares instance var multiple times, last one wins
  declares instance var multiple times, last one wins
  declares instance var of generic type, with virtual metaclass
  declares instance var of generic type, with virtual metaclass
  infers type from is_a?
  infers type from is_a?
  infers from class method that invokes new
  infers from class method that invokes new
  infers type from string literal
  infers type from string literal
  doesn't crash on missing var on subclass, with superclass not specifying a type
  doesn't crash on missing var on subclass, with superclass not specifying a type
  errors if not initialized in all initialize
  errors if not initialized in all initialize
  declares instance var of generic type, with no type parameter
  declares instance var of generic type, with no type parameter
  says can't infer type if only nil was assigned
  says can't infer type if only nil was assigned
  errors if declaring variable with number
  errors if declaring variable with number
  infers type from string interpolation
  infers type from string interpolation
  doesn't infer from class method with multiple statements and return, on non-easy return
  doesn't infer from class method with multiple statements and return, on non-easy return
  ignores super module initialize (#456)
  ignores super module initialize (#456)
  infers type from assign (1)
  infers type from assign (1)
  doesn't error if calling initialize from another initialize (1)
  doesn't error if calling initialize from another initialize (1)
  declares instance var of generic type, with static array
  declares instance var of generic type, with static array
  infers type from self as virtual type (#2575)
  infers type from self as virtual type (#2575)
  errors when assigning instance variable at top level block
  errors when assigning instance variable at top level block
  infers nilable instance var of generic type
  infers nilable instance var of generic type
  declares instance var of generic type, with splat
  declares instance var of generic type, with splat
  declares instance var of generic type, with splat inside Proc
  declares instance var of generic type, with splat inside Proc
  can guess the type from double-splat argument with double-splatted type variable
  can guess the type from double-splat argument with double-splatted type variable
  declares instance var of generic type subclass
  declares instance var of generic type subclass
  doesn't error if not initializing variables but calling previous_def (#3210)
  doesn't error if not initializing variables but calling previous_def (#3210)
  infers type from lib fun call
  infers type from lib fun call
  infers type from enum member
  infers type from enum member
  says undefined instance variable on read
  says undefined instance variable on read
  infers type from ||= inside another assignment
  infers type from ||= inside another assignment
  declares instance var of generic type, with generic type
  declares instance var of generic type, with generic type
  infers type from new expression
  infers type from new expression
  infers type to be non-nilable if initialized in all initialize
  infers type to be non-nilable if initialized in all initialize
  errors when redeclaring subclass variable with a different type
  errors when redeclaring subclass variable with a different type
  is more permissive with macro def initialize
  is more permissive with macro def initialize
  uses virtual types in union
  uses virtual types in union
  uses virtual types in self
  uses virtual types in self
  doesn't error if not initializes in all initialize because declared as nilable
  doesn't error if not initializes in all initialize because declared as nilable
  can't infer type of generic method that returns self (#5383)
  can't infer type of generic method that returns self (#5383)
  infers type from range literal
  infers type from range literal
  errors if declaring var in Union(*T)
  errors if declaring var in Union(*T)
  infers type from all call matches
  infers type from all call matches
  doesn't error if not initializing variables but calling super for generic module
  doesn't error if not initializing variables but calling super for generic module
  accepts overriding inherited instance variable with compatible type
  accepts overriding inherited instance variable with compatible type
  errors if declaring var in Object
  errors if declaring var in Object
  doesn't error if initializing var in superclass, and then empty initialize
  doesn't error if initializing var in superclass, and then empty initialize
  errors if declaring var in Tuple(*T)
  errors if declaring var in Tuple(*T)
  infers from Pointer.null
  infers from Pointer.null
  errors if can't find lib call, before erroring on instance var (#2579)
  errors if can't find lib call, before erroring on instance var (#2579)
  allow usage of instance variable initializer from instance variable initializer
  allow usage of instance variable initializer from instance variable initializer
  can't infer type when using operation on const (#4054)
  can't infer type when using operation on const (#4054)
  infers type from if
  infers type from if
  infers type from argument with restriction, in generic
  infers type from argument with restriction, in generic
  infers type from proc literal with return type
  infers type from proc literal with return type
  infers from another instance var in generic type
  infers from another instance var in generic type
  cannot guess type from argument assigned in body
  cannot guess type from argument assigned in body
  errors on undefined constant
  errors on undefined constant
  doesn't error if not initialized in macro def but outside it
  doesn't error if not initialized in macro def but outside it
  can guess the type from splat argument with splatted type
  can guess the type from splat argument with splatted type
  infers type from literal outside def with initialize and type restriction
  infers type from literal outside def with initialize and type restriction
  infers from new with return type in generic type
  infers from new with return type in generic type
  infers from Pointer.malloc with two arguments in generic type
  infers from Pointer.malloc with two arguments in generic type
  doesn't error if declaring instance var and doesn't out to be nilable, in generic module type
  doesn't error if declaring instance var and doesn't out to be nilable, in generic module type
  can declare type even if included module has a guessed var
  can declare type even if included module has a guessed var
  infers from class method that has type annotation, in generic class
  infers from class method that has type annotation, in generic class
  infers type to be nilable if not initialized
  infers type to be nilable if not initialized
  guesses from as.(typeof(...)) in generic type
  guesses from as.(typeof(...)) in generic type
  looks up self restriction in instantiated type, not defined type
  looks up self restriction in instantiated type, not defined type
  infers type from case
  infers type from case
  guesses from splat (#3149)
  guesses from splat (#3149)
  infers from method on integer literal, with type annotation
  infers from method on integer literal, with type annotation
  doesn't error if inheriting generic instance (#3635)
  doesn't error if inheriting generic instance (#3635)
  infers type from uninitialized
  infers type from uninitialized
  says undefined instance variable on assign
  says undefined instance variable on assign
  errors when assigning instance variable at top level control block
  errors when assigning instance variable at top level control block
  doesn't find T in generic type that's not the current type (#4460)
  doesn't find T in generic type that's not the current type (#4460)
  doesn't infer type from redefined method
  doesn't infer type from redefined method
  instance variable inherited from multiple parents
    with incompatible type
      module and class, with definitions
      module and class, with definitions
      errors module and module, with definitions
      errors module and module, with definitions
      errors module and module, with declarations
      errors module and module, with declarations
      module and class, with declarations
      module and class, with declarations
    with compatible type
      module and class, with definitions
      module and class, with definitions
      accepts module and module, with declarations
      accepts module and module, with declarations
      module and class, with declarations (3)
      module and class, with declarations (3)
      module and class, with declarations (2)
      module and class, with declarations (2)
      accepts module and module, with definitions
      accepts module and module, with definitions
      module and class, with declarations
      module and class, with declarations
  doesn't error if not initializing variables but calling super and previous_def
  doesn't error if not initializing variables but calling super and previous_def
  can't infer type from initializer in generic class type
  can't infer type from initializer in generic class type
  infers type from custom array literal in generic
  infers type from custom array literal in generic
  ignores redefined initialize (#456)
  ignores redefined initialize (#456)
  infers type from instance_sizeof
  infers type from instance_sizeof
  infers from another instance var in generic type with type declaration
  infers from another instance var in generic type with type declaration
  infers type from array literal with of metaclass
  infers type from array literal with of metaclass
  infers type from array literal with of
  infers type from array literal with of
  infers from assign to local var (#2467)
  infers from assign to local var (#2467)
  infers in multiple assign for tuple type (1)
  infers in multiple assign for tuple type (1)
  declares instance var of generic type, with proc
  declares instance var of generic type, with proc
  considers var as assigned in multi-assign
  considers var as assigned in multi-assign
  shouldn't error when accessing instance var in initialized that's always initialized (#2953)
  shouldn't error when accessing instance var in initialized that's always initialized (#2953)
  infers from Pointer.null in generic type
  infers from Pointer.null in generic type
  infers type from included module
  infers type from included module
  transfers initializer from module to generic class
  transfers initializer from module to generic class
  declares instance var of generic type, with metaclass
  declares instance var of generic type, with metaclass
  declares instance var with union type with a virtual member
  declares instance var with union type with a virtual member
  guesses virtual hash type (2) (#5342)
  guesses virtual hash type (2) (#5342)
  infers from assign to local var in generic type (#2467)
  infers from assign to local var in generic type (#2467)
  doesn't if declaring nilable instance var and turns out to be nilable
  doesn't if declaring nilable instance var and turns out to be nilable
  infers type from lib out (2)
  infers type from lib out (2)
  declares instance var of generic type through module
  declares instance var of generic type through module
  guesses virtual array type (2) (#5342)
  guesses virtual array type (2) (#5342)
  guesses from as.(typeof(...))
  guesses from as.(typeof(...))
  infers type from included module recursively
  infers type from included module recursively
  uses T.new (#4291)
  uses T.new (#4291)
  doesn't infer generic type without type argument inside generic
  doesn't infer generic type without type argument inside generic
  errors when typing an instance variable inside a method
  errors when typing an instance variable inside a method
  errors if adds instance variable to Object via guess
  errors if adds instance variable to Object via guess
  infers type from as
  infers type from as
  infers type from number literal
  infers type from number literal
  infers type for generic class, with begin
  infers type for generic class, with begin
  says can't infer type if only nil was assigned, in generic type
  says can't infer type if only nil was assigned, in generic type
  infers type from named tuple literal
  infers type from named tuple literal
  errors when using Class (#2605)
  errors when using Class (#2605)
  types generic instance as virtual type if generic type has subclasses (#3805)
  types generic instance as virtual type if generic type has subclasses (#3805)
  errors if not initializing super variable in generic
  errors if not initializing super variable in generic
  doesn't crash on #3580
  doesn't crash on #3580
  doesn't error if initializes via super in macro def
  doesn't error if initializes via super in macro def
  errors when assigning instance variable inside nested expression
  errors when assigning instance variable inside nested expression
  guesses inside macro for
  guesses inside macro for
immutability of returned container literals (#10818)
  Annotation#args
  Annotation#args
  When#conds
  When#conds
  Generic#type_vars
  Generic#type_vars
  ProcPointer#args
  ProcPointer#args
  MultiAssign#targets
  MultiAssign#targets
  ProcNotation#inputs
  ProcNotation#inputs
  MultiAssign#values
  MultiAssign#values
  StringInterpolation#expressions
  StringInterpolation#expressions
  Union#types
  Union#types
Crystal::Playground::Session
  assert
  assert
Crystal::Repl::Interpreter
  enum
    does enum value
    does enum value
    does enum new
    does enum new
Normalize: return next break
  doesn't remove after return when there's an unless
  doesn't remove after return when there's an unless
  removes nodes after if that returns in both branches
  removes nodes after if that returns in both branches
  removes nodes after break
  removes nodes after break
  removes nodes after next
  removes nodes after next
  doesn't remove nodes after if that returns in one branch
  doesn't remove nodes after if that returns in one branch
  removes nodes after return
  removes nodes after return
Crystal::Repl::Interpreter
  procs
    interprets call inside Proc type
    interprets call inside Proc type
    interprets proc literal with args
    interprets proc literal with args
    can downcast Proc(T) to Proc(Nil)
    can downcast Proc(T) to Proc(Nil)
    discards proc call
    discards proc call
    interprets no args proc literal
    interprets no args proc literal
    casts from nilable proc type to proc type
    casts from nilable proc type to proc type
  does call without receiver inside closure
  does call without receiver inside closure
  casts proc call arguments to proc arg types (#12350)
  casts proc call arguments to proc arg types (#12350)
  calls proc primitive on union of module that has no subtypes (#12954)
  calls proc primitive on union of module that has no subtypes (#12954)
Normalize: chained comparisons
  normalizes two comparisons with calls
  normalizes two comparisons with calls
  normalizes one comparison with call
  normalizes one comparison with call
  normalizes two comparisons with literal
  normalizes two comparisons with literal
  normalizes one comparison with var
  normalizes one comparison with var
  normalizes one comparison with literal
  normalizes one comparison with literal
Crystal::Repl::Interpreter
  integration
    does Float64#to_s (simple)
    does Float64#to_s (simple)
    does caller
    does caller
    does String#includes?
    does String#includes?
    does CSV
    does CSV
    does YAML::Serializable
    does YAML::Serializable
    does Int32#to_s
    does Int32#to_s
    does JSON
    does JSON
    does IO.pipe (checks that StaticArray is passed correctly to C calls)
    does IO.pipe (checks that StaticArray is passed correctly to C calls)
    does Float64#to_s (complex)
    does Float64#to_s (complex)
    does XML
    does XML
    does some Hash methods
    does some Hash methods
    does YAML
    does YAML
    does Range#to_a, Array#to_s
    does Range#to_a, Array#to_s
    does JSON::Serializable
    does JSON::Serializable
Code gen: no return
  codegens no return variable declaration (#1508)
  codegens no return variable declaration (#1508)
  codegens if with no return and variable used afterwards
  codegens if with no return and variable used afterwards
  codegens if with NoReturn on then and union on else
  codegens if with NoReturn on then and union on else
  codegens untyped typeof (#5105)
  codegens untyped typeof (#5105)
  codegens call with no return because of falsey if (#3661)
  codegens call with no return because of falsey if (#3661)
  codegen types exception handler as NoReturn if ensure is NoReturn
  codegen types exception handler as NoReturn if ensure is NoReturn
  codegens no return instance variable declaration (#1508)
  codegens no return instance variable declaration (#1508)
  codegens Pointer(NoReturn).malloc
  codegens Pointer(NoReturn).malloc
Code gen: and
  codegens and with primitive type other than bool with union
  codegens and with primitive type other than bool with union
  codegens and with bool union as left node 3
  codegens and with bool union as left node 3
  codegens and with non-false union as left node
  codegens and with non-false union as left node
  codegens assign in right node, inside if must not be nil
  codegens assign in right node, inside if must not be nil
  codegens and with bool union as left node 1
  codegens and with bool union as left node 1
  codegens and with bool and int 1
  codegens and with bool and int 1
  codegens assign in right node, after if must be nilable
  codegens assign in right node, after if must be nilable
  codegens and with primitive type other than bool
  codegens and with primitive type other than bool
  codegens and with bool true and false
  codegens and with bool true and false
  codegens and with bool union as left node 1
  codegens and with bool union as left node 1
  codegens and with bool union as left node 4
  codegens and with bool union as left node 4
  codegens and with bool union as left node 3
  codegens and with bool union as left node 3
  codegens and with nil union as left node 1
  codegens and with nil union as left node 1
  codegens and with nil union as left node 2
  codegens and with nil union as left node 2
  codegens and with bool and int 2
  codegens and with bool and int 2
  codegens and with bool union as left node 2
  codegens and with bool union as left node 2
  codegens and with nilable as left node 1
  codegens and with nilable as left node 1
  codegens and with bool true and true
  codegens and with bool true and true
  codegens and with bool false and false
  codegens and with bool false and false
  codegens and with primitive type other than bool
  codegens and with primitive type other than bool
  codegens and with bool union as left node 2
  codegens and with bool union as left node 2
  codegens and with nilable as left node 2
  codegens and with nilable as left node 2
  codegens assign in right node, after must be nilable
  codegens assign in right node, after must be nilable
  codegens and with bool false and true
  codegens and with bool false and true
Normalize: or
  normalizes or with is_a? on var
  normalizes or with is_a? on var
  normalizes or with ! on var.is_a?(...)
  normalizes or with ! on var.is_a?(...)
  normalizes or with variable on the left
  normalizes or with variable on the left
  normalizes or with ! on var
  normalizes or with ! on var
  normalizes or without variable
  normalizes or without variable
  normalizes or with assignment on the left
  normalizes or with assignment on the left
Semantic: nil
  can call a fun with nil for typedef pointer
  can call a fun with nil for typedef pointer
  marks instance variables as nil but doesn't explode on macros
  marks instance variables as nil but doesn't explode on macros
  marks instance variables as nil when not in initialize 2
  marks instance variables as nil when not in initialize 2
  restricts type of 'while foo'
  restricts type of 'while foo'
  restricts type of 'while foo' on assign
  restricts type of 'while foo' on assign
  types nil
  types nil
  types empty
  types empty
  marks instance variables as nil when not in initialize
  marks instance variables as nil when not in initialize
  restricts type of 'if foo'
  restricts type of 'if foo'
  can call a fun with nil for pointer
  can call a fun with nil for pointer
  restricts type of 'if foo' on assign
  restricts type of 'if foo' on assign
  doesn't check return type for nil
  doesn't check return type for nil
  doesn't check return type for void
  doesn't check return type for void
Crystal::Repl::Interpreter
  responds_to?
    does responds_to?
    does responds_to?
    doesn't crash if def body ends up with no type (#12219)
    doesn't crash if def body ends up with no type (#12219)
Crystal
  normalize_path
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
Semantic: enum
  errors if defining initialize in Enum (#7238)
  errors if defining initialize in Enum (#7238)
  errors on enum without members (#3447)
  errors on enum without members (#3447)
  creates enum from value
  creates enum from value
  errors if declaring type inside enum (#3127)
  errors if declaring type inside enum (#3127)
  marks as flags with base type (#2185)
  marks as flags with base type (#2185)
  gives error on signed flags enum overflow after a member with value
  gives error on signed flags enum overflow after a member with value
  attaches annotation to enum method (#6690)
  attaches annotation to enum method (#6690)
  gives error on enum overflow after a member with value
  gives error on enum overflow after a member with value
  has All value when defined as @[Flags]
  has All value when defined as @[Flags]
  reopens enum with same base type (1)
  reopens enum with same base type (1)
  reopens enum without base type (1)
  reopens enum without base type (1)
  doesn't error when defining a flags enum in a lib with None or All
  doesn't error when defining a flags enum in a lib with None or All
  allows redefining None to 0 for @[Flags] enum
  allows redefining None to 0 for @[Flags] enum
  can redefine Enum.new
  can redefine Enum.new
  can use macro for inside enum
  can use macro for inside enum
  types enum
  types enum
  doesn't error when defining a method for an enum with flags
  doesn't error when defining a method for an enum with flags
  gives error on flags enum overflow
  gives error on flags enum overflow
  errors if reopen and tries to define constant
  errors if reopen and tries to define constant
  errors if invoking private enum method
  errors if invoking private enum method
  errors if using a name twice
  errors if using a name twice
  defines method on enum
  defines method on enum
  disallows implicit conversion of int to enum
  disallows implicit conversion of int to enum
  reopens enum without base type (2)
  reopens enum without base type (2)
  errors if reopen but not enum
  errors if reopen but not enum
  doesn't break assigned values in enum flags when a member has value 0 (#5767)
  doesn't break assigned values in enum flags when a member has value 0 (#5767)
  reopens an enum
  reopens an enum
  doesn't overflow on flags member (#7877)
  doesn't overflow on flags member (#7877)
  errors if inheriting Enum (#3592)
  errors if inheriting Enum (#3592)
  errors if enum value is too big for type (#678)
  errors if enum value is too big for type (#678)
  doesn't overflow when going from negative to zero (#7874)
  doesn't overflow when going from negative to zero (#7874)
  errors if declaring type inside enum, nested (#3127)
  errors if declaring type inside enum, nested (#3127)
  doesn't visit enum members generated by macros twice (#10104)
  doesn't visit enum members generated by macros twice (#10104)
  can use macro expression inside enum
  can use macro expression inside enum
  defines class method on enum
  defines class method on enum
  errors if using instance var inside enum (#991)
  errors if using instance var inside enum (#991)
  finds method in enum type
  finds method in enum type
  errors if reopening enum with different base type (2)
  errors if reopening enum with different base type (2)
  gives error on enum overflow
  gives error on enum overflow
  gives error on unsigned flags enum overflow after a member with value
  gives error on unsigned flags enum overflow after a member with value
  finds class method in enum type
  finds class method in enum type
  disallows All value for @[Flags] enum
  disallows All value for @[Flags] enum
  types enum value
  types enum value
  has None value when defined as @[Flags]
  has None value when defined as @[Flags]
  reopens enum with same base type (2)
  reopens enum with same base type (2)
  doesn't error when defining a non-flags enum with None or All
  doesn't error when defining a non-flags enum with None or All
  allows class vars in enum
  allows class vars in enum
  disallows redefining None to non-0 for @[Flags] enum
  disallows redefining None to non-0 for @[Flags] enum
  errors if reopening enum with different base type (1)
  errors if reopening enum with different base type (1)
Semantic: var
  declares local variable and assigns wrong type
  declares local variable and assigns wrong type
  declares local variable but doesn't assign it in all branches
  declares local variable but doesn't assign it in all branches
  errors if declaring var that is already declared
  errors if declaring var that is already declared
  types a variable
  types a variable
  declares local variable with value
  declares local variable with value
  reports undefined local variable or method
  reports undefined local variable or method
  reports variable always nil
  reports variable always nil
  parse local variable as method call even if local variable is declared in call arguments
  parse local variable as method call even if local variable is declared in call arguments
  types an assign
  types an assign
  lets type on else side of if with a Bool | Nil union
  lets type on else side of if with a Bool | Nil union
  declares local variable and assigns it with if
  declares local variable and assigns it with if
  types an assign with type declaration
  types an assign with type declaration
  declares local variable and immediately reads it
  declares local variable and immediately reads it
  reports there's no self
  reports there's no self
  errors if reads from underscore
  errors if reads from underscore
  errors if declaring generic type without type vars (with local var)
  errors if declaring generic type without type vars (with local var)
  declares local variable and then assigns it
  declares local variable and then assigns it
  errors if variable already exists
  errors if variable already exists
Semantic: nilable instance var
  says instance var was not initialized in all of the initialize methods, with var declaration
  says instance var was not initialized in all of the initialize methods, with var declaration
  says instance var was used before initialized
  says instance var was used before initialized
  says self was used before instance var was initialized (3)
  says self was used before instance var was initialized (3)
  says self was used before instance var was initialized (2)
  says self was used before instance var was initialized (2)
  says instance var was used before initialized (2)
  says instance var was used before initialized (2)
  says instance var was not initialized in all of the initialize methods
  says instance var was not initialized in all of the initialize methods
  finds type that doesn't initialize instance var (#1222)
  finds type that doesn't initialize instance var (#1222)
  says self was used before instance var was initialized
  says self was used before instance var was initialized
  marks instance var as nilable if assigned inside proc literal
  marks instance var as nilable if assigned inside proc literal
  doesn't consider as nil if initialized with catch-all
  doesn't consider as nil if initialized with catch-all
  marks instance var as nilable if assigned inside captured block (#1696)
  marks instance var as nilable if assigned inside captured block (#1696)
  says instance var was not initialized in all of the initialize methods (2)
  says instance var was not initialized in all of the initialize methods (2)
Code gen: c union
  codegens union property default value 2
  codegens union property default value 2
  aligns to the member with biggest align requirements
  aligns to the member with biggest align requirements
  codegens union property setter 1
  codegens union property setter 1
  automatically converts numeric union type in field assignment
  automatically converts numeric union type in field assignment
  automatically converts by invoking to_unsafe
  automatically converts by invoking to_unsafe
  codegens union property setter 2
  codegens union property setter 2
  codegens union property default value
  codegens union property default value
  builds union setter with fun type
  builds union setter with fun type
  codegens union property setter 2 via pointer
  codegens union property setter 2 via pointer
  codegens struct inside union
  codegens struct inside union
  moves unions around correctly (#12550)  moves unions around correctly (#12550)  moves unions around correctly (#12550)  moves unions around correctly (#12550)  moves unions around correctly (#12550)  moves unions around correctly (#12550)  moves unions around correctly (#12550)  moves unions around correctly (#12550)  moves unions around correctly (#12550)
  moves unions around correctly (#12550)
  automatically converts numeric type in field assignment
  automatically converts numeric type in field assignment
  codegens assign c union to union
  codegens assign c union to union
  reads union instance var
  reads union instance var
  does to_s  does to_s  does to_s  does to_s  does to_s  does to_s  does to_s  does to_s  does to_s
  does to_s
  codegens union property setter 1 via pointer
  codegens union property setter 1 via pointer
  fills union type to the max size
  fills union type to the max size
Code gen: named tuple
  codegens tuple nilable index (1)
  codegens tuple nilable index (1)
  upcasts named tuple inside compatible named tuple
  upcasts named tuple inside compatible named tuple
  upcasts named tuple inside union to union with compatible named tuple
  upcasts named tuple inside union to union with compatible named tuple
  passes named tuple to def
  passes named tuple to def
  downcasts union inside tuple to value (#3907)
  downcasts union inside tuple to value (#3907)
  codegens tuple nilable index (3)
  codegens tuple nilable index (3)
  upcasts named tuple union to compatible named tuple
  upcasts named tuple union to compatible named tuple
  does to_s for NamedTuple class  does to_s for NamedTuple class  does to_s for NamedTuple class  does to_s for NamedTuple class  does to_s for NamedTuple class  does to_s for NamedTuple class  does to_s for NamedTuple class  does to_s for NamedTuple class  does to_s for NamedTuple class
  does to_s for NamedTuple class
  assigns two same-size named tuple types to a same var (#3132)
  assigns two same-size named tuple types to a same var (#3132)
  allows named tuple covariance
  allows named tuple covariance
  merges two named tuple types with same keys but different types (1)
  merges two named tuple types with same keys but different types (1)
  provides T as a named tuple literal
  provides T as a named tuple literal
  assigns named tuple inside union to union with compatible named tuple
  assigns named tuple inside union to union with compatible named tuple
  codegens tuple nilable index (2)
  codegens tuple nilable index (2)
  assigns named tuple to compatible named tuple
  assigns named tuple to compatible named tuple
  gets keys at compile time (1)
  gets keys at compile time (1)
  doesn't crash when overload doesn't match
  doesn't crash when overload doesn't match
  gets keys at compile time (2)
  gets keys at compile time (2)
  codegens union of tuple of float with tuple of tuple of float
  codegens union of tuple of float with tuple of tuple of float
  assigns named tuple union to compatible named tuple
  assigns named tuple union to compatible named tuple
  accesses T and creates instance from it
  accesses T and creates instance from it
  codegens tuple index another order
  codegens tuple index another order
  doesn't error if NamedTuple includes a non-generic module (#10380)
  doesn't error if NamedTuple includes a non-generic module (#10380)
  gets size at compile time
  gets size at compile time
  merges two named tuple types with same keys but different types (2)
  merges two named tuple types with same keys but different types (2)
  codegens tuple index
  codegens tuple index
Crystal::Repl::Interpreter
  tuple
    interprets tuple metaclass range indexer
    interprets tuple metaclass range indexer
    interprets tuple literal of different types (1)
    interprets tuple literal of different types (1)
    discards tuple access
    discards tuple access
    does tuple indexer on union
    does tuple indexer on union
    unpacks tuple in block arguments
    unpacks tuple in block arguments
    interprets tuple range indexer
    interprets tuple range indexer
    discards tuple (#12383)
    discards tuple (#12383)
    interprets tuple metaclass indexer
    interprets tuple metaclass indexer
    interprets tuple literal and access by known index
    interprets tuple literal and access by known index
    extends sign when doing to_i32
    extends sign when doing to_i32
    interprets tuple literal of different types (2)
    interprets tuple literal of different types (2)
    interprets tuple range indexer (2)
    interprets tuple range indexer (2)
    interprets tuple self
    interprets tuple self
Crystal::Repl::Interpreter
  class vars
    interprets class var without initializer
    interprets class var without initializer
    finds self in class var initializer (#12439)
    finds self in class var initializer (#12439)
    interprets class var for virtual type
    interprets class var for virtual type
    interprets class var with initializer
    interprets class var with initializer
    reads class var initializer with union (#12633)
    reads class var initializer with union (#12633)
    does class var initializer with union (#12633)
    does class var initializer with union (#12633)
    interprets class var for virtual metaclass type
    interprets class var for virtual metaclass type
Compiler
  runs subcommand in preference to a filename   runs subcommand in preference to a filename   runs subcommand in preference to a filename   runs subcommand in preference to a filename   runs subcommand in preference to a filename   runs subcommand in preference to a filename   runs subcommand in preference to a filename   runs subcommand in preference to a filename   runs subcommand in preference to a filename 
  runs subcommand in preference to a filename 
  compiles a file  compiles a file  compiles a file  compiles a file  compiles a file  compiles a file  compiles a file  compiles a file  compiles a file
  compiles a file
  treats all arguments post-filename as program arguments
  treats all arguments post-filename as program arguments
  has a valid version
  has a valid version
Parser warnings
  warns on missing space before colon
    in anonymous block param type restriction
    in anonymous block param type restriction
    in type declaration
    in type declaration
    in return type restriction
    in return type restriction
    in block param type restriction
    in block param type restriction
  warns on suffix-less UInt64 literals > Int64::MAX
  warns on suffix-less UInt64 literals > Int64::MAX
Semantic: recursive struct check
  errors on recursive struct inside module
  errors on recursive struct inside module
  errors on recursive abstract struct through module (#11384)
  errors on recursive abstract struct through module (#11384)
  errors on private recursive type
  errors on private recursive type
  detects recursive generic struct through module (#4720)
  detects recursive generic struct through module (#4720)
  detects recursive struct through module
  detects recursive struct through module
  errors on mutually recursive struct
  errors on mutually recursive struct
  errors on recursive struct through named tuple
  errors on recursive struct through named tuple
  errors on recursive generic struct inside module
  errors on recursive generic struct inside module
  errors on recursive struct through recursive alias (#4454) (#4455)
  errors on recursive struct through recursive alias (#4454) (#4455)
  errors on recursive struct through tuple
  errors on recursive struct through tuple
  detects recursive struct through inheritance (#3071)
  detects recursive struct through inheritance (#3071)
  detects recursive generic struct through generic module (#4720)
  detects recursive generic struct through generic module (#4720)
  errors on recursive struct
  errors on recursive struct
Semantic: virtual
  restricts with union and doesn't merge to super type
  restricts with union and doesn't merge to super type
  doesn't check methods on abstract classes
  doesn't check methods on abstract classes
  checks cover in every concrete subclass
  checks cover in every concrete subclass
  types class and two subclasses
  types class and two subclasses
  types method call of virtual type
  types method call of virtual type
  reports missing cover for subclass of abstract class
  reports missing cover for subclass of abstract class
  works with restriction alpha
  works with restriction alpha
  reports undefined method in subclass of abstract class
  reports undefined method in subclass of abstract class
  types two subclasses
  types two subclasses
  doesn't check cover for abstract classes
  doesn't check cover for abstract classes
  removes instance var from subclasses
  removes instance var from subclasses
  automatically does virtual for generic type if there are subclasses
  automatically does virtual for generic type if there are subclasses
  uses virtual type as generic type if class is abstract even in union
  uses virtual type as generic type if class is abstract even in union
  checks cover in every concrete subclass 3
  checks cover in every concrete subclass 3
  dispatches virtual method
  dispatches virtual method
  types two classes without a shared virtual
  types two classes without a shared virtual
  types class and subclass as one type
  types class and subclass as one type
  reports no matches for virtual type
  reports no matches for virtual type
  dispatches virtual method with overload
  dispatches virtual method with overload
  types inspect
  types inspect
  finds overloads of union of virtual, class and nil
  finds overloads of union of virtual, class and nil
  uses virtual type as generic type if class is abstract
  uses virtual type as generic type if class is abstract
  types instance var as virtual when using type declaration and has subclasses
  types instance var as virtual when using type declaration and has subclasses
  types method call of virtual type with override
  types method call of virtual type with override
  doesn't check methods on abstract classes 2
  doesn't check methods on abstract classes 2
  doesn't check cover for subclasses
  doesn't check cover for subclasses
  checks cover in every concrete subclass 2
  checks cover in every concrete subclass 2
  checks method in every concrete subclass but method in Object
  checks method in every concrete subclass but method in Object
  finds overloads of union of virtual, class and nil with abstract class
  finds overloads of union of virtual, class and nil with abstract class
Semantic: def
  reports no overload matches 2
  reports no overload matches 2
  errors if return type doesn't match on class method
  errors if return type doesn't match on class method
  errors when default value is incompatible with non-type restriction
  errors when default value is incompatible with non-type restriction
  types a call with an argument uses a new scope
  types a call with an argument uses a new scope
  is ok if returns Int32? with explicit return
  is ok if returns Int32? with explicit return
  types a call with a float
  types a call with a float
  types empty body def
  types empty body def
  allows recursion
  allows recursion
  types getchar with Char
  types getchar with Char
  defines class method
  defines class method
  uses free variable and doesn't conflict with top-level type
  uses free variable and doesn't conflict with top-level type
  lookups methods in super modules
  lookups methods in super modules
  errors if declares def inside if
  errors if declares def inside if
  clones regex literal value (#2384)
  clones regex literal value (#2384)
  says can only defined def on types and self
  says can only defined def on types and self
  types call with union argument
  types call with union argument
  errors if return type doesn't match
  errors if return type doesn't match
  gives correct error for wrong number of arguments for program call inside type (2) (#1024)
  gives correct error for wrong number of arguments for program call inside type (2) (#1024)
  assigns def owner
  assigns def owner
  uses free variable as block return type
  uses free variable as block return type
  types call with global scope
  types call with global scope
  types simple recursion
  types simple recursion
  defines class method with self
  defines class method with self
  allows recursion with arg
  allows recursion with arg
  gives correct error for methods in Class
  gives correct error for methods in Class
  types a call with a double
  types a call with a double
  uses free variable with metaclass and default value
  uses free variable with metaclass and default value
  errors when default value is incompatible with type restriction
  errors when default value is incompatible with type restriction
  uses free variable with metaclass
  uses free variable with metaclass
  types a call with an argument
  types a call with an argument
  calls with default argument
  calls with default argument
  points error at name (#6937)
  points error at name (#6937)
  gives correct error for methods in Class (2)
  gives correct error for methods in Class (2)
  types a call with an int
  types a call with an int
  fixes bug #165
  fixes bug #165
  says compile-time type on error
  says compile-time type on error
  errors if trying to declare method on generic class instance
  errors if trying to declare method on generic class instance
  errors when calling two functions with nil type
  errors when calling two functions with nil type
  types putchar with Char
  types putchar with Char
  can't use self in toplevel method
  can't use self in toplevel method
  shows free variables if no overload matches
  shows free variables if no overload matches
  accesses free var of default argument (#1101)
  accesses free var of default argument (#1101)
  reports no block given
  reports no block given
  types mutual recursion
  types mutual recursion
  reports block given
  reports block given
  reports undefined method
  reports undefined method
  types simple recursion 2
  types simple recursion 2
  uses free variable
  uses free variable
  types a call with an argument
  types a call with an argument
  reports no overload matches
  reports no overload matches
  doesn't find type in namespace through free var
  doesn't find type in namespace through free var
  types mutual infinite recursion
  types mutual infinite recursion
  gives correct error for wrong number of arguments for program call inside type (#1024)
  gives correct error for wrong number of arguments for program call inside type (#1024)
  errors if return type doesn't match on instance method
  errors if return type doesn't match on instance method
  do not use body for the def type
  do not use body for the def type
Code gen: not
  doesn't crash
  doesn't crash
  codegens not nil
  codegens not nil
  codegens not nilable type (false)
  codegens not nilable type (false)
  codegens not with inlinable value (#6451)
  codegens not with inlinable value (#6451)
  codegens not nilable type (true)
  codegens not nilable type (true)
  codegens not false
  codegens not false
  codegens not true
  codegens not true
  codegens not pointer (true)
  codegens not pointer (true)
  codegens not number
  codegens not number
  codegens not pointer (false)
  codegens not pointer (false)
Crystal::Playground::AgentInstrumentorTransformer
  instrument blocks and single yields
  instrument blocks and single yields
  instrument case statement
  instrument case statement
  instrument if statement
  instrument if statement
  instrument instance variable and class variables reads and writes
  instrument instance variable and class variables reads and writes
  instrument puts with args
  instrument puts with args
  instrument ivar with obj
  instrument ivar with obj
  instrument literals with expression names
  instrument literals with expression names
  instrument assignments in the rhs
  instrument assignments in the rhs
  instrument nested class defs
  instrument nested class defs
  instrument single variables expressions
  instrument single variables expressions
  instrument chained comparisons (#4663)
  instrument chained comparisons (#4663)
  instrument string interpolations
  instrument string interpolations
  instrument multi assignments in the rhs
  instrument multi assignments in the rhs
  instrument exceptions
  instrument exceptions
  instrument single statement var def
  instrument single statement var def
  instrument is_a? expressions
  instrument is_a? expressions
  instrument literals
  instrument literals
  do not instrument class/module declared macro
  do not instrument class/module declared macro
  instrument unless statement
  instrument unless statement
  instrument binary expressions
  instrument binary expressions
  do not instrument macro calls in class
  do not instrument macro calls in class
  instrument while statement
  instrument while statement
  instrument blocks and but non multi yields
  instrument blocks and but non multi yields
  do not instrument records class
  do not instrument records class
  instrument class defs
  instrument class defs
  instrument inside modules
  instrument inside modules
  do not instrument class initializing arguments
  do not instrument class initializing arguments
  do not instrument constants assignments
  do not instrument constants assignments
  do not instrument top level macro calls
  do not instrument top level macro calls
  instrument returns inside def
  instrument returns inside def
  instrument print with args
  instrument print with args
  instrument unary expressions
  instrument unary expressions
  instrument single statement def
  instrument single statement def
  instrument not expressions
  instrument not expressions
  instrument typeof
  instrument typeof
  instrument nested blocks unless in same line
  instrument nested blocks unless in same line
  allow visibility modifiers
  allow visibility modifiers
  instrument multi statement def
  instrument multi statement def
Semantic: extern struct
  declares extern union with no constructor
  declares extern union with no constructor
  overrides getter
  overrides getter
  can be passed to C fun
  can be passed to C fun
  declares extern struct with no constructor
  declares extern struct with no constructor
  can use extern struct in lib
  can use extern struct in lib
  declares with constructor
  declares with constructor
  errors if using non-primitive for field type via module
  errors if using non-primitive for field type via module
  errors if using non-primitive for field type
  errors if using non-primitive for field type
  can new with named args
  can new with named args
  can include module
  can include module
  errors if using non-primitive type in constructor
  errors if using non-primitive type in constructor
cleanup
  strip tuple elements after unreachable element
  strip tuple elements after unreachable element
  errors if assigning var to itself
  errors if assigning var to itself
  strip named-tuple elements after unreachable element
  strip named-tuple elements after unreachable element
  errors if assigning instance var to itself
  errors if assigning instance var to itself
file_exists?
  with relative path
    reads file (doesn't exist)
    reads file (doesn't exist)
    reads file (exists)
    reads file (exists)
  with absolute path
    returns false if file doesn't exist
    returns false if file doesn't exist
    returns true if file exists
    returns true if file exists
Code gen: union type
  assigns union to union  assigns union to union  assigns union to union  assigns union to union  assigns union to union  assigns union to union  assigns union to union  assigns union to union  assigns union to union
  assigns union to union
  codegens union type as return value
  codegens union type as return value
  codegens union type for instance var
  codegens union type for instance var
  codegens union type when no obj
  codegens union type when no obj
  assigns union to larger union when source is nilable 2  assigns union to larger union when source is nilable 2  assigns union to larger union when source is nilable 2  assigns union to larger union when source is nilable 2  assigns union to larger union when source is nilable 2  assigns union to larger union when source is nilable 2  assigns union to larger union when source is nilable 2  assigns union to larger union when source is nilable 2  assigns union to larger union when source is nilable 2
  assigns union to larger union when source is nilable 2
  codegens union to_s  codegens union to_s  codegens union to_s  codegens union to_s  codegens union to_s  codegens union to_s  codegens union to_s  codegens union to_s  codegens union to_s
  codegens union to_s
  assigns union to larger union when source is nilable 1  assigns union to larger union when source is nilable 1  assigns union to larger union when source is nilable 1  assigns union to larger union when source is nilable 1  assigns union to larger union when source is nilable 1  assigns union to larger union when source is nilable 1  assigns union to larger union when source is nilable 1  assigns union to larger union when source is nilable 1  assigns union to larger union when source is nilable 1
  assigns union to larger union when source is nilable 1
  codegens union type when obj is not union but arg is
  codegens union type when obj is not union but arg is
  dispatch call to object method on nilable  dispatch call to object method on nilable  dispatch call to object method on nilable  dispatch call to object method on nilable  dispatch call to object method on nilable  dispatch call to object method on nilable  dispatch call to object method on nilable  dispatch call to object method on nilable  dispatch call to object method on nilable
  dispatch call to object method on nilable
  assigns union to larger union  assigns union to larger union  assigns union to larger union  assigns union to larger union  assigns union to larger union  assigns union to larger union  assigns union to larger union  assigns union to larger union  assigns union to larger union
  assigns union to larger union
  respects union payload alignment when upcasting Bool (#14898)
  respects union payload alignment when upcasting Bool (#14898)
  codegens if with same nested union
  codegens if with same nested union
  codegens union type when obj is union and no args
  codegens union type when obj is union and no args
  codegens union type when no obj and restrictions
  codegens union type when no obj and restrictions
  sorts restrictions when there are unions
  sorts restrictions when there are unions
  codegens union type when obj is union and arg is union
  codegens union type when obj is union and arg is union
  provides T as a tuple literal
  provides T as a tuple literal
  codegens union type when obj union but arg is not
  codegens union type when obj union but arg is not
Semantic: uninitialized
  disallows declaring var of type Number
  disallows declaring var of type Number
  declares as uninitialized
  declares as uninitialized
  can uninitialize variable outside initialize, generic (#2828)
  can uninitialize variable outside initialize, generic (#2828)
  errors if declares var and then assigns other type
  errors if declares var and then assigns other type
  disallows declaring var of type Class
  disallows declaring var of type Class
  disallows declaring var of type Float
  disallows declaring var of type Float
  disallows declaring var of type Enum
  disallows declaring var of type Enum
  disallows declaring var of type Reference
  disallows declaring var of type Reference
  disallows declaring var of type Struct
  disallows declaring var of type Struct
  errors if declaring variable multiple times with different types (#917)
  errors if declaring variable multiple times with different types (#917)
  errors if declaring generic type without type vars (with class var)
  errors if declaring generic type without type vars (with class var)
  can use uninitialized with class type (#2940)
  can use uninitialized with class type (#2940)
  disallows declaring var of type Int
  disallows declaring var of type Int
  works with uninitialized NoReturn (#3314)
  works with uninitialized NoReturn (#3314)
  uses virtual type for uninitialized (#8216)
  uses virtual type for uninitialized (#8216)
  declares an instance variable in initialize as uninitialized
  declares an instance variable in initialize as uninitialized
  declares as uninitialized and reads it
  declares as uninitialized and reads it
  has type (#3641)
  has type (#3641)
  can uninitialize variable outside initialize (#2828)
  can uninitialize variable outside initialize (#2828)
  disallows declaring var of type Object
  disallows declaring var of type Object
  disallows declaring var of type Value
  disallows declaring var of type Value
  errors if declaring generic type without type vars (with instance var)
  errors if declaring generic type without type vars (with instance var)
Crystal::Repl::Interpreter
  autocast
    autocasts float32 var to float64 (#12560)
    autocasts float32 var to float64 (#12560)
    autocasts symbol to enum in ivar initializer (#12216)
    autocasts symbol to enum in ivar initializer (#12216)
    autocasts integer var to float (#12560)
    autocasts integer var to float (#12560)
    autocasts int in multidispatch
    autocasts int in multidispatch
    autocasts number literal to integer
    autocasts number literal to integer
    autocasts symbol to enum in multidispatch (#11782)
    autocasts symbol to enum in multidispatch (#11782)
    autocasts symbol to enum
    autocasts symbol to enum
    autocasts number literal to float
    autocasts number literal to float
    autocasts integer var to integer (#12560)
    autocasts integer var to integer (#12560)
Semantic: ssa
  types if with return in else with assign
  types if with return in else with assign
  types if with return in then with assign
  types if with return in then with assign
  types a var inside an if without previous definition
  types a var inside an if without previous definition
  types if with break in then
  types if with break in then
  types block with break
  types block with break
  types a var inside an if with previous definition
  types a var inside an if with previous definition
  types while with break
  types while with break
  types if with return in then
  types if with return in then
  types a var that is declared in a while condition
  types a var that is declared in a while condition
  types block with break doesn't infect initial vars
  types block with break doesn't infect initial vars
  types a var with an if with nested if
  types a var with an if with nested if
  doesn't change type to nilable inside if
  doesn't change type to nilable inside if
  doesn't error if same variable is declared in multiple typeofs
  doesn't error if same variable is declared in multiple typeofs
  types a var after begin ensure as having last type
  types a var after begin ensure as having last type
  types a var inside an if without definition in else
  types a var inside an if without definition in else
  types a var that is re-assigned in a while condition
  types a var that is re-assigned in a while condition
  types re-assign inside while (bug)
  types re-assign inside while (bug)
  doesn't error if same variable is used in multiple arguments of same typeof
  doesn't error if same variable is used in multiple arguments of same typeof
  types if with unreachable in then
  types if with unreachable in then
  types if with restricted type in then
  types if with restricted type in then
  types a var that is re-assigned in a while and used in condition
  types a var that is re-assigned in a while and used in condition
  types block with next
  types block with next
  types a var inside an if without change in else
  types a var inside an if without change in else
  types a var that is declared in a while with out
  types a var that is declared in a while with out
  types if with return in both branches
  types if with return in both branches
  types a var that is declared in a while condition with break after re-assignment
  types a var that is declared in a while condition with break after re-assignment
  types a var after begin ensure as having last type (2)
  types a var after begin ensure as having last type (2)
  types a var with an if but without change
  types a var with an if but without change
  types while with next
  types while with next
  types if with return in else
  types if with return in else
  preserves type filters after block (bug)
  preserves type filters after block (bug)
  types a var inside an if without change in then
  types a var inside an if without change in then
  types if with next in then
  types if with next in then
  types while with break with new var
  types while with break with new var
  types a var that is re-assigned in a while in next and used in condition
  types a var that is re-assigned in a while in next and used in condition
  types if with restricted type in else
  types if with restricted type in else
  types a var that is re-assigned in a while
  types a var that is re-assigned in a while
  types a var that is re-assigned in a block
  types a var that is re-assigned in a block
  types re-assign inside if (bug)
  types re-assign inside if (bug)
  types a var inside an if without definition in then
  types a var inside an if without definition in then
  types while with break doesn't infect initial vars
  types while with break doesn't infect initial vars
  types a var that is declared in a while condition with break before re-assignment
  types a var that is declared in a while condition with break before re-assignment
  types if/else with var (bug)
  types if/else with var (bug)
  types a var that is declared in a while
  types a var that is declared in a while
  types a redefined variable
  types a redefined variable
  errors if accessing variable declared inside typeof
  errors if accessing variable declared inside typeof
Normalize: def
  expands with splat and zero
  expands with splat and zero
  expands a def with splat and double splat
  expands a def with splat and double splat
  expands with named argument and yield
  expands with named argument and yield
  expands a def on request with default arguments that yields (external names)
  expands a def on request with default arguments that yields (external names)
  expands arg with default value after splat
  expands arg with default value after splat
  gives correct body location with
    default arg with restriction, without body
    default arg with restriction, without body
    default arg, with body
    default arg, with body
    block instance var arg, with body
    block instance var arg, with body
    block instance var arg, without body
    block instance var arg, without body
    default arg, without body
    default arg, without body
    default arg with restriction, with body
    default arg with restriction, with body
    splat arg, without body
    splat arg, without body
    splat arg, with body
    splat arg, with body
  expands a def with external names (2)
  expands a def with external names (2)
  expands a def with double splat and two named args
  expands a def with double splat and two named args
  expands a def on request with default arguments
  expands a def on request with default arguments
  expands with more named arg which come in the correct order
  expands with more named arg which come in the correct order
  expands a new def with double splat and two named args and regular args
  expands a new def with double splat and two named args and regular args
  expands with splat and default argument
  expands with splat and default argument
  expands with magic constant specifying one when all are magic
  expands with magic constant specifying one when all are magic
  expands a def on request with default arguments (external names)
  expands a def on request with default arguments (external names)
  expands with two named argument and one not
  expands with two named argument and one not
  expands a def on request with default arguments and type restrictions
  expands a def on request with default arguments and type restrictions
  expands a def with double splat and no args
  expands a def with double splat and no args
  expands with one named arg that is the only one (1)
  expands with one named arg that is the only one (1)
  expands def with reserved external name (#6559)
  expands def with reserved external name (#6559)
  expands with splat with one arg before
  expands with splat with one arg before
  expands with magic constant with named arg
  expands with magic constant with named arg
  expands with magic constant
  expands with magic constant
  expands with one named arg that is the only one (2)
  expands with one named arg that is the only one (2)
  expands with two named argument
  expands with two named argument
  expands with magic constant specifying one when not all are magic
  expands with magic constant specifying one when not all are magic
  expands default value after splat index
  expands default value after splat index
  expands with named argument
  expands with named argument
  expands a def on request with default arguments and type restrictions (2)
  expands a def on request with default arguments and type restrictions (2)
  expands a def with external names (1)
  expands a def with external names (1)
  expands a def with double splat and two named args and regular args
  expands a def with double splat and two named args and regular args
  expands a def on request with default arguments that yields
  expands a def on request with default arguments that yields
  uses bare *
  uses bare *
  expands a def on request with default arguments (2)
  expands a def on request with default arguments (2)
  expands with splat
  expands with splat
  expands with magic constant with named arg with yield
  expands with magic constant with named arg with yield
  expands a def on request with default arguments that yields (2)
  expands a def on request with default arguments that yields (2)
Codegen: is_a?
  codegens is_a? casts union to nilable
  codegens is_a? casts union to nilable
  codegens is_a? on right side of and
  codegens is_a? on right side of and
  doesn't consider generic type to be a generic type of a recursive alias (#3524)
  doesn't consider generic type to be a generic type of a recursive alias (#3524)
  doesn't error if result is discarded (#14113)
  doesn't error if result is discarded (#14113)
  restricts metaclass against virtual metaclass type
  restricts metaclass against virtual metaclass type
  evaluates method on filtered union type 2
  evaluates method on filtered union type 2
  restricts type in else but lazily
  restricts type in else but lazily
  codegens is_a? with nilable gives false because other type 1
  codegens is_a? with nilable gives false because other type 1
  works with inherited generic class against an instantiation
  works with inherited generic class against an instantiation
  evaluate method on filtered type
  evaluate method on filtered type
  codegens is_a? with virtual and module
  codegens is_a? with virtual and module
  does is_a? with generic class metaclass
  does is_a? with generic class metaclass
  doesn't work with inherited generic class against an instantiation (2)
  doesn't work with inherited generic class against an instantiation (2)
  does is_a?(generic type) for nested generic inheritance, through upcast (1)
  does is_a?(generic type) for nested generic inheritance, through upcast (1)
  codegens is_a? from nilable reference union type to nil
  codegens is_a? from nilable reference union type to nil
  restricts virtual metaclass against virtual metaclass type
  restricts virtual metaclass against virtual metaclass type
  evaluates method on filtered union type
  evaluates method on filtered union type
  codegens is_a? false for simple type
  codegens is_a? false for simple type
  doesn't skip assignment when used in combination with .is_a? and && (#1121)
  doesn't skip assignment when used in combination with .is_a? and && (#1121)
  doesn't type merge (1) (#548)
  doesn't type merge (1) (#548)
  transforms else if condition is always falsey
  transforms else if condition is always falsey
  does is_a? with more strict virtual type
  does is_a? with more strict virtual type
  does is_a? with union type as Union(X, Y), don't resolve to virtual type (#10244)
  does is_a? with union type as Union(X, Y), don't resolve to virtual type (#10244)
  codegens when is_a? is always false but properties are used  codegens when is_a? is always false but properties are used  codegens when is_a? is always false but properties are used  codegens when is_a? is always false but properties are used  codegens when is_a? is always false but properties are used  codegens when is_a? is always false but properties are used  codegens when is_a? is always false but properties are used  codegens when is_a? is always false but properties are used  codegens when is_a? is always false but properties are used
  codegens when is_a? is always false but properties are used
  codegens is_a? with union gives true
  codegens is_a? with union gives true
  passes is_a? with generic module type on virtual type (#10302)
  passes is_a? with generic module type on virtual type (#10302)
  codegens is_a? true for simple type
  codegens is_a? true for simple type
  does is_a? for virtual generic instance type against generic
  does is_a? for virtual generic instance type against generic
  restricts union with union
  restricts union with union
  codegens is_a? with a Const does comparison and gives true  codegens is_a? with a Const does comparison and gives true  codegens is_a? with a Const does comparison and gives true  codegens is_a? with a Const does comparison and gives true  codegens is_a? with a Const does comparison and gives true  codegens is_a? with a Const does comparison and gives true  codegens is_a? with a Const does comparison and gives true  codegens is_a? with a Const does comparison and gives true  codegens is_a? with a Const does comparison and gives true
  codegens is_a? with a Const does comparison and gives true
  says true for Class.is_a?(Class.class) (#4374)
  says true for Class.is_a?(Class.class) (#4374)
  doesn't type merge (2) (#548)
  doesn't type merge (2) (#548)
  visits 1.to_s twice, may trigger enclosing_call (#4364)  visits 1.to_s twice, may trigger enclosing_call (#4364)  visits 1.to_s twice, may trigger enclosing_call (#4364)  visits 1.to_s twice, may trigger enclosing_call (#4364)  visits 1.to_s twice, may trigger enclosing_call (#4364)  visits 1.to_s twice, may trigger enclosing_call (#4364)  visits 1.to_s twice, may trigger enclosing_call (#4364)  visits 1.to_s twice, may trigger enclosing_call (#4364)  visits 1.to_s twice, may trigger enclosing_call (#4364)
  visits 1.to_s twice, may trigger enclosing_call (#4364)
  does is_a? with && and true condition
  does is_a? with && and true condition
  restricts union metaclass to metaclass (#12295)
  restricts union metaclass to metaclass (#12295)
  codegens untyped var (#4009)
  codegens untyped var (#4009)
  doesn't skip assignment when used in combination with .is_a? (false case) (#1121)
  doesn't skip assignment when used in combination with .is_a? (false case) (#1121)
  doesn't skip assignment when used in combination with .is_a? (true case, else) (#1121)
  doesn't skip assignment when used in combination with .is_a? (true case, else) (#1121)
  works with inherited generic class against an instantiation (3)
  works with inherited generic class against an instantiation (3)
  does is_a? for generic type against generic class instance type (#12304)  does is_a? for generic type against generic class instance type (#12304)  does is_a? for generic type against generic class instance type (#12304)  does is_a? for generic type against generic class instance type (#12304)  does is_a? for generic type against generic class instance type (#12304)  does is_a? for generic type against generic class instance type (#12304)  does is_a? for generic type against generic class instance type (#12304)  does is_a? for generic type against generic class instance type (#12304)  does is_a? for generic type against generic class instance type (#12304)
  does is_a? for generic type against generic class instance type (#12304)
  codegens is_a? with nilable gives false because no type
  codegens is_a? with nilable gives false because no type
  evaluate method on filtered type nilable type not-nil
  evaluate method on filtered type nilable type not-nil
  codegens is_a? with nilable gives false because no type
  codegens is_a? with nilable gives false because no type
  codegens is_a? with virtual
  codegens is_a? with virtual
  restricts simple type with union
  restricts simple type with union
  does is_a?(generic type) for nested generic inheritance, through upcast (2)
  does is_a?(generic type) for nested generic inheritance, through upcast (2)
  codegens is_a? with union gives false
  codegens is_a? with union gives false
  virtual metaclass type is not virtual instance type (#12628)
  virtual metaclass type is not virtual instance type (#12628)
  codegens is_a? with union gives true
  codegens is_a? with union gives true
  does is_a? with union type, don't resolve to virtual type (#10244)
  does is_a? with union type, don't resolve to virtual type (#10244)
  codegens is_a? with nilable gives false because other type 2
  codegens is_a? with nilable gives false because other type 2
  codegens is_a? casts union to nilable in method
  codegens is_a? casts union to nilable in method
  doesn't skip assignment when used in combination with .is_a? (true case, then) (#1121)
  doesn't skip assignment when used in combination with .is_a? (true case, then) (#1121)
  says false for value.is_a?(Class)
  says false for value.is_a?(Class)
  evaluate method on filtered type nilable type nil
  evaluate method on filtered type nilable type nil
  evaluates method on filtered union type 3  evaluates method on filtered union type 3  evaluates method on filtered union type 3  evaluates method on filtered union type 3  evaluates method on filtered union type 3  evaluates method on filtered union type 3  evaluates method on filtered union type 3  evaluates method on filtered union type 3  evaluates method on filtered union type 3
  evaluates method on filtered union type 3
  does is_a?(generic type) for nested generic inheritance (2)
  does is_a?(generic type) for nested generic inheritance (2)
  codegens is_a? with nilable gives true
  codegens is_a? with nilable gives true
  codegens is_a? from virtual type to module
  codegens is_a? from virtual type to module
  does is_a?/responds_to? twice (#1451)
  does is_a?/responds_to? twice (#1451)
  codegens is_a? from nilable reference union type to type
  codegens is_a? from nilable reference union type to type
  says false for GenericChild(Base).is_a?(GenericBase(Child)) (#1294)
  says false for GenericChild(Base).is_a?(GenericBase(Child)) (#1294)
  does is_a? for union of module and type
  does is_a? for union of module and type
  codegens is_a? with virtual and nil
  codegens is_a? with virtual and nil
  codegens is_a? with union gives false
  codegens is_a? with union gives false
  gives false if generic type doesn't match exactly
  gives false if generic type doesn't match exactly
  does is_a?(generic type) for nested generic inheritance (1) (#9660)
  does is_a?(generic type) for nested generic inheritance (1) (#9660)
  codegens is_a? with a Const does comparison and gives false  codegens is_a? with a Const does comparison and gives false  codegens is_a? with a Const does comparison and gives false  codegens is_a? with a Const does comparison and gives false  codegens is_a? with a Const does comparison and gives false  codegens is_a? with a Const does comparison and gives false  codegens is_a? with a Const does comparison and gives false  codegens is_a? with a Const does comparison and gives false  codegens is_a? with a Const does comparison and gives false
  codegens is_a? with a Const does comparison and gives false
  transforms then if condition is always truthy
  transforms then if condition is always truthy
  resets truthy state after visiting nodes (bug)
  resets truthy state after visiting nodes (bug)
  says true for Class.is_a?(Class.class.class) (#4374)
  says true for Class.is_a?(Class.class.class) (#4374)
Crystal::Repl::Interpreter
  calls
    does ReadInstanceVar with wants_struct_pointer
    does ReadInstanceVar with wants_struct_pointer
    does call with struct as obj (2)
    does call with struct as obj (2)
    mutates through inlined instance var with receiver
    mutates through inlined instance var with receiver
    inlines call that returns self
    inlines call that returns self
    puts struct pointer after tuple indexer
    puts struct pointer after tuple indexer
    inlines method that just reads an instance var, but produces side effects of args
    inlines method that just reads an instance var, but produces side effects of args
    inlines method that just reads an instance var
    inlines method that just reads an instance var
    does call on instance var that's a struct, from a class
    does call on instance var that's a struct, from a class
    inlines call that returns self (2)
    inlines call that returns self (2)
    mutates through pointer (3)
    mutates through pointer (3)
    mutates through inlined instance var without receiver
    mutates through inlined instance var without receiver
    mutates through pointer (1)
    mutates through pointer (1)
    calls a top-level method without arguments and no local vars
    calls a top-level method without arguments and no local vars
    interprets call with default values
    interprets call with default values
    discards call with struct as obj
    discards call with struct as obj
    does Assign instance var with wants_struct_pointer
    does Assign instance var with wants_struct_pointer
    does Assign var with wants_struct_pointer
    does Assign var with wants_struct_pointer
    does call with struct as obj
    does call with struct as obj
    mutates call argument
    mutates call argument
    interprets implicit self call for pointer
    interprets implicit self call for pointer
    calls a top-level method with two arguments
    calls a top-level method with two arguments
    does call on ivar that's a struct, takes a pointer to instance var, inside if
    does call on ivar that's a struct, takes a pointer to instance var, inside if
    does call on read instance var that's a struct, takes a pointer to instance var
    does call on read instance var that's a struct, takes a pointer to instance var
    mutates through read instance var
    mutates through read instance var
    calls a top-level method without arguments but with local vars
    calls a top-level method without arguments but with local vars
    interprets call with named arguments
    interprets call with named arguments
    interprets call with if
    interprets call with if
    does call on self that's a struct, takes a pointer to instance var, inside if
    does call on self that's a struct, takes a pointer to instance var, inside if
    does call on instance var that's a struct, from a struct
    does call on instance var that's a struct, from a struct
    does call on constant that's a struct, takes a pointer to instance var, inside if
    does call on constant that's a struct, takes a pointer to instance var, inside if
    does Assign class var with wants_struct_pointer
    does Assign class var with wants_struct_pointer
    mutates through pointer (2)
    mutates through pointer (2)
    does call on var that's a struct, takes a pointer to instance var, inside if
    does call on var that's a struct, takes a pointer to instance var, inside if
    does call on constant that's a struct, takes a pointer to instance var
    does call on constant that's a struct, takes a pointer to instance var
    inlines method that just reads an instance var (2)
    inlines method that just reads an instance var (2)
    does call on Pointer#value that's a struct, takes a pointer to instance var
    does call on Pointer#value that's a struct, takes a pointer to instance var
    interprets self for primitive types
    interprets self for primitive types
    interprets explicit self call for primitive types
    interprets explicit self call for primitive types
Code gen: lib
  uses static array in lib extern (#5688)
  uses static array in lib extern (#5688)
  passes nil to varargs (#1570)
  passes nil to varargs (#1570)
  call to void function
  call to void function
  refers to lib type (#960)
  refers to lib type (#960)
  casts C fun to Crystal proc when accessing instance var (#2515)
  casts C fun to Crystal proc when accessing instance var (#2515)
  doesn't crash with nil and varargs (#4414)
  doesn't crash with nil and varargs (#4414)
  can use enum as fun return
  can use enum as fun return
  can use enum as fun argument
  can use enum as fun argument
  doesn't crash when casting -1 to UInt32 (#3594)
  doesn't crash when casting -1 to UInt32 (#3594)
  allows setting/getting external variable as function pointer
  allows setting/getting external variable as function pointer
  allows passing type to LibC if it has a converter with to_unsafe (bug)
  allows passing type to LibC if it has a converter with to_unsafe (bug)
  get fun field from union (#672)  get fun field from union (#672)  get fun field from union (#672)  get fun field from union (#672)  get fun field from union (#672)  get fun field from union (#672)  get fun field from union (#672)  get fun field from union (#672)  get fun field from union (#672)
  get fun field from union (#672)
  allows invoking out with underscore 
  allows invoking out with underscore 
  get fun field from struct (#672)  get fun field from struct (#672)  get fun field from struct (#672)  get fun field from struct (#672)  get fun field from struct (#672)  get fun field from struct (#672)  get fun field from struct (#672)  get fun field from struct (#672)  get fun field from struct (#672)
  get fun field from struct (#672)
  allows passing type to LibC if it has a converter with to_unsafe
  allows passing type to LibC if it has a converter with to_unsafe
  can use tuple as fun return  can use tuple as fun return  can use tuple as fun return  can use tuple as fun return  can use tuple as fun return  can use tuple as fun return  can use tuple as fun return  can use tuple as fun return  can use tuple as fun return
  can use tuple as fun return
  codegens lib var set and get
  codegens lib var set and get
  passes int as another float type in literal
  passes int as another float type in literal
ASTNode#to_s
  does to_s of "lib Foo\n  struct Foo\n    a : Void\n    b : Void\n  end\nend"
  does to_s of "lib Foo\n  struct Foo\n    a : Void\n    b : Void\n  end\nend"
  does to_s of "offsetof(Foo, @bar)"
  does to_s of "offsetof(Foo, @bar)"
  does to_s of "foo { |i| i.bar { i } }"
  does to_s of "foo { |i| i.bar { i } }"
  does to_s of "lib Foo\n  A = Pointer(Void).new(0)\n  struct B\n    x : Void*\n    y : Int[1]\n  end\n  fun c(Void*) : Char[2]*\nend"
  does to_s of "lib Foo\n  A = Pointer(Void).new(0)\n  struct B\n    x : Void*\n    y : Int[1]\n  end\n  fun c(Void*) : Char[2]*\nend"
  does to_s of "lib Foo\n  FOO = 0\nend"
  does to_s of "lib Foo\n  FOO = 0\nend"
  does to_s of "def foo(& : ->)\nend"
  does to_s of "def foo(& : ->)\nend"
  does to_s of "asm(\"bl trap\" :::: \"unwind\")"
  does to_s of "asm(\"bl trap\" :::: \"unwind\")"
  does to_s of "# doc\ndef foo\nend"
  does to_s of "# doc\ndef foo\nend"
  does to_s of "macro foo(x, @[Foo] *y)\nend"
  does to_s of "macro foo(x, @[Foo] *y)\nend"
  does to_s of "\"\\e\\0\\\"\""
  does to_s of "\"\\e\\0\\\"\""
  does to_s of "(1 + 2).as(Int32)"
  does to_s of "(1 + 2).as(Int32)"
  does to_s of "foo do |k, v|\n  k.bar(1, 2, 3)\nend"
  does to_s of "foo do |k, v|\n  k.bar(1, 2, 3)\nend"
  does to_s of "fun foo\nend"
  does to_s of "fun foo\nend"
  does to_s of "\"\#{1}\\0\""
  does to_s of "\"\#{1}\\0\""
  does to_s of "enum Foo\n  A = 0\n  B\nend"
  does to_s of "enum Foo\n  A = 0\n  B\nend"
  does to_s of "&-1"
  does to_s of "&-1"
  does to_s of "([] of T).foo"
  does to_s of "([] of T).foo"
  does to_s of "@[Foo(1, 2, a: 1, b: 2)]"
  does to_s of "@[Foo(1, 2, a: 1, b: 2)]"
  does to_s of "1 && (a = 2)"
  does to_s of "1 && (a = 2)"
  does to_s of "foo(x : Foo((T -> U)))"
  does to_s of "foo(x : Foo((T -> U)))"
  does to_s of "fun foo(a : Void, b : Void, ...) : Void\nend"
  does to_s of "fun foo(a : Void, b : Void, ...) : Void\nend"
  does to_s of "/ /"
  does to_s of "/ /"
  does to_s of "lib Foo\nend"
  does to_s of "lib Foo\nend"
  does to_s of "def foo(x : (T -> U) | V)\nend"
  does to_s of "def foo(x : (T -> U) | V)\nend"
  does to_s of "`\#{1}\\n\\0`"
  does to_s of "`\#{1}\\n\\0`"
  does to_s of "enum A : B\nend"
  does to_s of "enum A : B\nend"
  does to_s of "if (1 + 2\n3)\n  4\nend"
  does to_s of "if (1 + 2\n3)\n  4\nend"
  does to_s of "{ {1, 2, 3} }"
  does to_s of "{ {1, 2, 3} }"
  does to_s of "def foo(x, @[Foo] **args)\nend"
  does to_s of "def foo(x, @[Foo] **args)\nend"
  does to_s of "あ.い, う.え.お = 1, 2"
  does to_s of "あ.い, う.え.お = 1, 2"
  does to_s of "{% foo %}"
  does to_s of "{% foo %}"
  does to_s of "select\nwhen foo\n  select\n  when bar\n    1\n  else\n    2\n  end\nelse\n  select\n  when baz\n    3\n  else\n    4\n  end\nend"
  does to_s of "select\nwhen foo\n  select\n  when bar\n    1\n  else\n    2\n  end\nelse\n  select\n  when baz\n    3\n  else\n    4\n  end\nend"
  does to_s of "case 1\nwhen .[](2)\n  3\nwhen .[]=(4)\n  5\nend"
  does to_s of "case 1\nwhen .[](2)\n  3\nwhen .[]=(4)\n  5\nend"
  does to_s of "macro foo\n{% @type %}\nend"
  does to_s of "macro foo\n{% @type %}\nend"
  does to_s of "macro foo\n\\{%@type %}\nend"
  does to_s of "macro foo\n\\{%@type %}\nend"
  does to_s of "(1 <= 2) <= 3"
  does to_s of "(1 <= 2) <= 3"
  does to_s of "foo.*"
  does to_s of "foo.*"
  does to_s of "macro foo(x)\n  yield\nend"
  does to_s of "macro foo(x)\n  yield\nend"
  does to_s of "1_f64"
  does to_s of "1_f64"
  does to_s of "def foo(x : (T -> U) -> V, *args : (T -> U) -> V, y : (T -> U) -> V, **opts : (T -> U) -> V, & : (T -> U) -> V) : ((T -> U) -> V)\nend"
  does to_s of "def foo(x : (T -> U) -> V, *args : (T -> U) -> V, y : (T -> U) -> V, **opts : (T -> U) -> V, & : (T -> U) -> V) : ((T -> U) -> V)\nend"
  does to_s of "begin\n  ()\nend"
  does to_s of "begin\n  ()\nend"
  does to_s of "%r()imx"
  does to_s of "%r()imx"
  does to_s of "foo { |(x, y)| x }"
  does to_s of "foo { |(x, y)| x }"
  does to_s of "%r{\\/\\0}"
  does to_s of "%r{\\/\\0}"
  does to_s of "->(x : Int32, y : Bool) : Char do\n  'a'\nend"
  does to_s of "->(x : Int32, y : Bool) : Char do\n  'a'\nend"
  does to_s of "1[2, x: 3, &.foo]"
  does to_s of "1[2, x: 3, &.foo]"
  does to_s of "yield(1)"
  does to_s of "yield(1)"
  does to_s of "{% if foo %}\n  foo_then\n{% else %}\n  foo_else\n{% end %}"
  does to_s of "{% if foo %}\n  foo_then\n{% else %}\n  foo_else\n{% end %}"
  does to_s of "1.~(2)"
  does to_s of "1.~(2)"
  does to_s of "type(Foo = Void)"
  does to_s of "type(Foo = Void)"
  does to_s of "{% for foo in bar %}\n  {{ foo }}\n{% end %}"
  does to_s of "{% for foo in bar %}\n  {{ foo }}\n{% end %}"
  does to_s of "foo &.bar(1, 2, 3)"
  does to_s of "foo &.bar(1, 2, 3)"
  does to_s of "1.0"
  does to_s of "1.0"
  does to_s of "1.+(&block)"
  does to_s of "1.+(&block)"
  does to_s of "foo(bar)"
  does to_s of "foo(bar)"
  does to_s of "lib Foo::Bar\nend"
  does to_s of "lib Foo::Bar\nend"
  does to_s of "foo[x, y, a: 1, b: 2] = z"
  does to_s of "foo[x, y, a: 1, b: 2] = z"
  does to_s of "begin\n  (@x = x).is_a?(Foo)\nend"
  does to_s of "begin\n  (@x = x).is_a?(Foo)\nend"
  does to_s of "(~1).foo"
  does to_s of "(~1).foo"
  does to_s of "@foo.bar"
  does to_s of "@foo.bar"
  does to_s of "!(1 < 2)"
  does to_s of "!(1 < 2)"
  does to_s of "foo(\"bar baz\": 2)"
  does to_s of "foo(\"bar baz\": 2)"
  does to_s of "class Foo\n  private def bar\n  end\nend"
  does to_s of "class Foo\n  private def bar\n  end\nend"
  does to_s of "begin\n  (1)\n  2\nrescue\nend"
  does to_s of "begin\n  (1)\n  2\nrescue\nend"
  does to_s of "macro foo\n  %bar{1, x} = 1\nend"
  does to_s of "macro foo\n  %bar{1, x} = 1\nend"
  does to_s of "%r( )"
  does to_s of "%r( )"
  does to_s of "Foo()"
  does to_s of "Foo()"
  does to_s of "asm(\"nop\" ::: \"e\" : \"volatile\")"
  does to_s of "asm(\"nop\" ::: \"e\" : \"volatile\")"
  does to_s of "macro foo(*, var)\nend"
  does to_s of "macro foo(*, var)\nend"
  does to_s of "1.+(a: 2)"
  does to_s of "1.+(a: 2)"
  does to_s of "他.说 = \"你好\""
  does to_s of "他.说 = \"你好\""
  does to_s of "1[2, x: 3, &.foo]?"
  does to_s of "1[2, x: 3, &.foo]?"
  does to_s of "-> : Int32 do\nend"
  does to_s of "-> : Int32 do\nend"
  does to_s of "1.as(Int32)"
  does to_s of "1.as(Int32)"
  does to_s of "if 1\n  begin\n    2\n  end\nelse\n  begin\n    3\n  end\nend"
  does to_s of "if 1\n  begin\n    2\n  end\nelse\n  begin\n    3\n  end\nend"
  does to_s of "1[2, x: 3, &.foo] = 4"
  does to_s of "1[2, x: 3, &.foo] = 4"
  does to_s of "%r()"
  does to_s of "%r()"
  does to_s of "/\\(group\\)/"
  does to_s of "/\\(group\\)/"
  does to_s of "!a"
  does to_s of "!a"
  does to_s of "{foo: (1 + 2)}"
  does to_s of "{foo: (1 + 2)}"
  does to_s of "foo(x : (T -> U) -> V, W)"
  does to_s of "foo(x : (T -> U) -> V, W)"
  does to_s of "1[&.foo]"
  does to_s of "1[&.foo]"
  does to_s of "begin\n  (1)\nend"
  does to_s of "begin\n  (1)\nend"
  does to_s of "foo do\n  begin\n    bar\n  end\nend"
  does to_s of "foo do\n  begin\n    bar\n  end\nend"
  does to_s of "begin\n  (1)\n  2\nend"
  does to_s of "begin\n  (1)\n  2\nend"
  does to_s of "1.[](2) do\nend"
  does to_s of "1.[](2) do\nend"
  does to_s of "a.as?(Int32)"
  does to_s of "a.as?(Int32)"
  does to_s of "lib LibFoo\n  fun foo(x : Foo((T -> U)))\nend"
  does to_s of "lib LibFoo\n  fun foo(x : Foo((T -> U)))\nend"
  does to_s of "macro foo\n\\{{ @type }}\nend"
  does to_s of "macro foo\n\\{{ @type }}\nend"
  does to_s of "def foo(x : (T -> U).class)\nend"
  does to_s of "def foo(x : (T -> U).class)\nend"
  does to_s of "/a/x"
  does to_s of "/a/x"
  does to_s of "def foo(*args)\nend"
  does to_s of "def foo(*args)\nend"
  does to_s of `#{::String.interpolation(x)}`
  does to_s of `#{::String.interpolation(x)}`
  does to_s of "macro foo(**args)\nend"
  does to_s of "macro foo(**args)\nend"
  does to_s of "lib LibFoo\n  fun foo(x : (T -> U).class)\nend"
  does to_s of "lib LibFoo\n  fun foo(x : (T -> U).class)\nend"
  does to_s of "(1 || 1.1).as(Int32)"
  does to_s of "(1 || 1.1).as(Int32)"
  does to_s of "def foo\n  yield\nend"
  does to_s of "def foo\n  yield\nend"
  does to_s of "`\\n\\0`"
  does to_s of "`\\n\\0`"
  does to_s of "foo[x : (T -> U) -> V, W] = 1"
  does to_s of "foo[x : (T -> U) -> V, W] = 1"
  does to_s of "def foo(x : Foo((T -> U)))\nend"
  does to_s of "def foo(x : Foo((T -> U)))\nend"
  does to_s of "(1 & 2) & (3 | 4)"
  does to_s of "(1 & 2) & (3 | 4)"
  does to_s of "/\\//"
  does to_s of "/\\//"
  does to_s of "macro foo(@[Foo] id)\nend"
  does to_s of "macro foo(@[Foo] id)\nend"
  does to_s of "macro foo\n  %bar = 1; end"
  does to_s of "macro foo\n  %bar = 1; end"
  does to_s of "def foo(@[Foo] *args)\nend"
  does to_s of "def foo(@[Foo] *args)\nend"
  does to_s of "{% verbatim do %}\n  1{{ 2 }}\n  3{{ 4 }}\n{% end %}"
  does to_s of "{% verbatim do %}\n  1{{ 2 }}\n  3{{ 4 }}\n{% end %}"
  does to_s of "macro foo\n  {% for foo in bar %}\n    {{ foo }}\n  {% end %}\nend"
  does to_s of "macro foo\n  {% for foo in bar %}\n    {{ foo }}\n  {% end %}\nend"
  does to_s of "def foo(x, **args, &block : _ -> _)\nend"
  does to_s of "def foo(x, **args, &block : _ -> _)\nend"
  does to_s of "foo._bar(1)"
  does to_s of "foo._bar(1)"
  does to_s of "def foo(@[Foo] x y)\nend"
  does to_s of "def foo(@[Foo] x y)\nend"
  does to_s of "alias Foo = Void"
  does to_s of "alias Foo = Void"
  does to_s of "1_f32"
  does to_s of "1_f32"
  does to_s of "macro foo(@[Foo] &block)\nend"
  does to_s of "macro foo(@[Foo] &block)\nend"
  does to_s of "foo(x : (T -> U).class)"
  does to_s of "foo(x : (T -> U).class)"
  does to_s of "macro foo(x, **args)\nend"
  does to_s of "macro foo(x, **args)\nend"
  does to_s of "def foo(\"bar baz\" qux)\nend"
  does to_s of "def foo(\"bar baz\" qux)\nend"
  does to_s of "def foo(& : (->))\nend"
  does to_s of "def foo(& : (->))\nend"
  does to_s of "return begin\n  1\n  2\nend"
  does to_s of "return begin\n  1\n  2\nend"
  does to_s of "/\\s/"
  does to_s of "/\\s/"
  does to_s of "_foo.bar"
  does to_s of "_foo.bar"
  does to_s of "begin\n  (1)\nrescue\nend"
  does to_s of "begin\n  (1)\nrescue\nend"
  does to_s of "(a = 2) && 1"
  does to_s of "(a = 2) && 1"
  does to_s of x = (1
2
)
  does to_s of x = (1
2
)
  does to_s of "case 1; in .foo?; 2; end"
  does to_s of "case 1; in .foo?; 2; end"
  does to_s of "\"\#{(1 + 2)}\""
  does to_s of "\"\#{(1 + 2)}\""
  does to_s of "if true\n  (1)\n  2\nend"
  does to_s of "if true\n  (1)\n  2\nend"
  does to_s of "foo x: 1, y: 2, &.bar"
  does to_s of "foo x: 1, y: 2, &.bar"
  does to_s of "{ {foo: 2} }"
  does to_s of "{ {foo: 2} }"
  does to_s of "macro foo(&block)\nend"
  does to_s of "macro foo(&block)\nend"
  does to_s of "def foo(x, **args, &block : (_ -> _))\nend"
  does to_s of "def foo(x, **args, &block : (_ -> _))\nend"
  does to_s of "lib LibFoo\n  fun foo(x : (T -> U) -> V, W) : ((T -> U) -> V)\nend"
  does to_s of "lib LibFoo\n  fun foo(x : (T -> U) -> V, W) : ((T -> U) -> V)\nend"
  does to_s of "[(1 + 2)] of Int32"
  does to_s of "[(1 + 2)] of Int32"
  does to_s of "macro foo(&)\nend"
  does to_s of "macro foo(&)\nend"
  does to_s of "1[&.foo]?"
  does to_s of "1[&.foo]?"
  does to_s of "foo(3, &.*(2))"
  does to_s of "foo(3, &.*(2))"
  does to_s of "macro foo(@[Foo] **args)\nend"
  does to_s of "macro foo(@[Foo] **args)\nend"
  does to_s of "(1 + 2).as?(Int32)"
  does to_s of "(1 + 2).as?(Int32)"
  does to_s of "..3"
  does to_s of "..3"
  does to_s of "1[&.foo] = 2"
  does to_s of "1[&.foo] = 2"
  does to_s of "->::Foo::Bar.foo"
  does to_s of "->::Foo::Bar.foo"
  does to_s of "/\#{1 / 2}/"
  does to_s of "/\#{1 / 2}/"
  does to_s of "foo { |(x, (y, z))| x }"
  does to_s of "foo { |(x, (y, z))| x }"
  does to_s of "def foo(**args : T)\nend"
  does to_s of "def foo(**args : T)\nend"
  does to_s of ":foo"
  does to_s of ":foo"
  does to_s of "1.~(2) do\nend"
  does to_s of "1.~(2) do\nend"
  does to_s of "alias Foo::Bar = Void"
  does to_s of "alias Foo::Bar = Void"
  does to_s of "def foo(@[Foo] x, @[Bar] **args, @[Baz] &block)\nend"
  does to_s of "def foo(@[Foo] x, @[Bar] **args, @[Baz] &block)\nend"
  does to_s of "def foo(x : X, y : Y) forall X, Y\nend"
  does to_s of "def foo(x : X, y : Y) forall X, Y\nend"
  does to_s of "foo[x : (T -> U) -> V, W]"
  does to_s of "foo[x : (T -> U) -> V, W]"
  does to_s of "{\"foo bar\": 1}"
  does to_s of "{\"foo bar\": 1}"
  does to_s of "foo &.bar"
  does to_s of "foo &.bar"
  does to_s of "class Foo\n  # doc\n  def foo\n  end\nend"
  does to_s of "class Foo\n  # doc\n  def foo\n  end\nend"
  does to_s of "lib Foo\n  union Foo\n    a : Int\n    b : Int32\n  end\nend"
  does to_s of "lib Foo\n  union Foo\n    a : Int\n    b : Int32\n  end\nend"
  does to_s of "def foo(**args)\nend"
  does to_s of "def foo(**args)\nend"
  does to_s of "foo(&.==(2))"
  does to_s of "foo(&.==(2))"
  does to_s of "1e10_f64"
  does to_s of "1e10_f64"
  does to_s of "def foo(**options, &block)\nend"
  does to_s of "def foo(**options, &block)\nend"
  does to_s of "macro foo\n  123\nend"
  does to_s of "macro foo\n  123\nend"
  does to_s of "def foo(@[Foo] x : T = 1)\nend"
  does to_s of "def foo(@[Foo] x : T = 1)\nend"
  does to_s of "asm(\"nop\" :: \"c\"(3), \"d\"(4) ::)"
  does to_s of "asm(\"nop\" :: \"c\"(3), \"d\"(4) ::)"
  does to_s of "&+1"
  does to_s of "&+1"
  does to_s of "asm(\"nop\" ::::)"
  does to_s of "asm(\"nop\" ::::)"
  does to_s of "%r(/)"
  does to_s of "%r(/)"
  does to_s of "1 & 2 & (3 | 4)"
  does to_s of "1 & 2 & (3 | 4)"
  does to_s of "lib LibFoo\n  fun foo(x : (T -> U) | V)\nend"
  does to_s of "lib LibFoo\n  fun foo(x : (T -> U) | V)\nend"
  does to_s of "Foo(\"bar baz\": Int32)"
  does to_s of "Foo(\"bar baz\": Int32)"
  does to_s of "def foo(@[Foo] **args)\nend"
  does to_s of "def foo(@[Foo] **args)\nend"
  does to_s of "macro foo(*var)\nend"
  does to_s of "macro foo(*var)\nend"
  does to_s of ":\"{\""
  does to_s of ":\"{\""
  does to_s of "{(1 + 2)}"
  does to_s of "{(1 + 2)}"
  does to_s of "1.+ do\nend"
  does to_s of "1.+ do\nend"
  does to_s of "asm(\"nop\" : \"a\"(1), \"b\"(2) : \"c\"(3), \"d\"(4) : \"e\", \"f\" : \"volatile\", \"alignstack\", \"intel\")"
  does to_s of "asm(\"nop\" : \"a\"(1), \"b\"(2) : \"c\"(3), \"d\"(4) : \"e\", \"f\" : \"volatile\", \"alignstack\", \"intel\")"
  does to_s of "def foo(**x)\n  yield\nend"
  does to_s of "def foo(**x)\n  yield\nend"
  does to_s of "def foo(x)\n  yield\nend"
  does to_s of "def foo(x)\n  yield\nend"
  does to_s of "foo : (A | B).class"
  does to_s of "foo : (A | B).class"
  does to_s of "%(\"\#{foo}\")"
  does to_s of "%(\"\#{foo}\")"
  does to_s of "%x(whoami)"
  does to_s of "%x(whoami)"
  does to_s of "1.//(2, a: 3)"
  does to_s of "1.//(2, a: 3)"
  does to_s of "({} of K => V).foo"
  does to_s of "({} of K => V).foo"
  does to_s of "def foo(x : T = 1)\nend"
  does to_s of "def foo(x : T = 1)\nend"
  does to_s of "/\\?/"
  does to_s of "/\\?/"
  does to_s of "{ {1, 2, 3} => 4 }"
  does to_s of "{ {1, 2, 3} => 4 }"
  does to_s of "lib LibC\n  fun getch = \"get.char\"\nend"
  does to_s of "lib LibC\n  fun getch = \"get.char\"\nend"
  does to_s of "macro foo\n  %bar = 1\nend"
  does to_s of "macro foo\n  %bar = 1\nend"
  does to_s of "if true\n  (1)\nend"
  does to_s of "if true\n  (1)\nend"
  does to_s of "macro foo(@[Foo] &)\nend"
  does to_s of "macro foo(@[Foo] &)\nend"
  does to_s of "/hello world/"
  does to_s of "/hello world/"
  does to_s of "{% if foo %}\n  foo_then\n{% end %}"
  does to_s of "{% if foo %}\n  foo_then\n{% end %}"
  does to_s of "def foo(x, **args, &block)\nend"
  does to_s of "def foo(x, **args, &block)\nend"
  does to_s of "foo.nil?"
  does to_s of "foo.nil?"
  does to_s of "1.&**"
  does to_s of "1.&**"
  does to_s of "macro foo\n{% verbatim do %}1{% end %}\nend"
  does to_s of "macro foo\n{% verbatim do %}1{% end %}\nend"
  does to_s of "def foo(*args : _)\nend"
  does to_s of "def foo(*args : _)\nend"
  does to_s of "macro foo\n{{ @type }}\nend"
  does to_s of "macro foo\n{{ @type }}\nend"
  does to_s of "1.responds_to?(:to_s)"
  does to_s of "1.responds_to?(:to_s)"
  does to_s of "foo : A | (B -> C)"
  does to_s of "foo : A | (B -> C)"
  does to_s of "foo()"
  does to_s of "foo()"
  does to_s of "macro foo(x, @[Foo] **args)\nend"
  does to_s of "macro foo(x, @[Foo] **args)\nend"
  does to_s of "def foo(x : X, @[Foo] y : Y) forall X, Y\nend"
  does to_s of "def foo(x : X, @[Foo] y : Y) forall X, Y\nend"
  does to_s of "他.说(\"你好\")"
  does to_s of "他.说(\"你好\")"
  does to_s of "->::foo(Int32, String)"
  does to_s of "->::foo(Int32, String)"
  does to_s of "%r{\#{1}\\/\\0}"
  does to_s of "%r{\#{1}\\/\\0}"
  does to_s of "1.//(2, &block)"
  does to_s of "1.//(2, &block)"
  does to_s of "foo(a.as(Int32))"
  does to_s of "foo(a.as(Int32))"
  does to_s of "/hello world/imx"
  does to_s of "/hello world/imx"
  does to_s of "1.responds_to?(:\"&&\")"
  does to_s of "1.responds_to?(:\"&&\")"
  does to_s of "return true ? 1 : 2"
  does to_s of "return true ? 1 : 2"
  does to_s of "case 1; when .foo?; 2; end"
  does to_s of "case 1; when .foo?; 2; end"
  does to_s of "{{ foo }}"
  does to_s of "{{ foo }}"
  does to_s of "asm(\"nop\" :::: \"volatile\")"
  does to_s of "asm(\"nop\" :::: \"volatile\")"
  does to_s of "{(1 + 2) => (3 + 4)}"
  does to_s of "{(1 + 2) => (3 + 4)}"
  does to_s of "def foo(x y)\nend"
  does to_s of "def foo(x y)\nend"
  does to_s of "(1 + 2)..3"
  does to_s of "(1 + 2)..3"
  does to_s of "def foo(x, **args)\nend"
  does to_s of "def foo(x, **args)\nend"
  does to_s of "macro foo(*, __var var)\nend"
  does to_s of "macro foo(*, __var var)\nend"
  does to_s of "1 <= 2 <= 3"
  does to_s of "1 <= 2 <= 3"
  does to_s of "{ {1 => 2} }"
  does to_s of "{ {1 => 2} }"
  does to_s of "lib LibC\n  fun getchar(Int, Float)\nend"
  does to_s of "lib LibC\n  fun getchar(Int, Float)\nend"
  does to_s of "foo(x : (T -> U) | V)"
  does to_s of "foo(x : (T -> U) | V)"
  does to_s of "1 <= (2 <= 3)"
  does to_s of "1 <= (2 <= 3)"
  does to_s of "1.[]="
  does to_s of "1.[]="
  does to_s of "(1..)"
  does to_s of "(1..)"
  does to_s of "case 1; when .!; 2; when .< 0; 3; end"
  does to_s of "case 1; when .!; 2; when .< 0; 3; end"
  does to_s of "foo.%"
  does to_s of "foo.%"
  does to_s of "foo(1, (2 + 3), bar: (4 + 5))"
  does to_s of "foo(1, (2 + 3), bar: (4 + 5))"
  does to_s of "1.&*"
  does to_s of "1.&*"
  does to_s of "asm(\"nop\" :: \"a\"(1) :: \"volatile\")"
  does to_s of "asm(\"nop\" :: \"a\"(1) :: \"volatile\")"
  does to_s of "foo[x, y, a: 1, b: 2]"
  does to_s of "foo[x, y, a: 1, b: 2]"
  does to_s of "macro foo(x, *y)\nend"
  does to_s of "macro foo(x, *y)\nend"
  does to_s of "{% for foo in bar %}\n  {{ if true\n  foo\n  bar\nend }}\n{% end %}"
  does to_s of "{% for foo in bar %}\n  {{ if true\n  foo\n  bar\nend }}\n{% end %}"
  does to_s of "macro foo(@[Foo] x, @[Foo] *y)\nend"
  does to_s of "macro foo(@[Foo] x, @[Foo] *y)\nend"
  does to_s of "foo._bar"
  does to_s of "foo._bar"
.parse_args
  DIR (relative to home)
  DIR (relative to home)
  NAME DIR
  NAME DIR
  DIR
  DIR
  DIR (absolute)
  DIR (absolute)
  DIR with path
  DIR with path
  DIR = .
  DIR = .
Semantic: external/internal
  macros
    can call with external name and use with internal, after splat
    can call with external name and use with internal, after splat
    can call with external name and use with internal
    can call with external name and use with internal
    can call positionally
    can call positionally
  overloads based on external name (#2610)
  overloads based on external name (#2610)
  can call with external name and use with internal
  can call with external name and use with internal
  can call with external name and use with internal, after splat
  can call with external name and use with internal, after splat
  can call positionally
  can call positionally
Semantic: alias
  can use .class in alias (#2835)
  can use .class in alias (#2835)
  inherits class through alias
  inherits class through alias
  can pass recursive alias to proc
  can pass recursive alias to proc
  allows defining recursive aliases
  allows defining recursive aliases
  allows recursive array with alias
  allows recursive array with alias
  errors if trying to resolve type of recursive alias
  errors if trying to resolve type of recursive alias
  resolves alias type
  resolves alias type
  finds type through alias (#4645)
  finds type through alias (#4645)
  errors if alias is already defined as another type
  errors if alias is already defined as another type
  reopens module through alias within itself
  reopens module through alias within itself
  errors if trying to use typeof in alias
  errors if trying to use typeof in alias
  errors if defining infinite recursive alias in union
  errors if defining infinite recursive alias in union
  resolves type through alias (#563)
  resolves type through alias (#563)
  allows using alias type as generic type
  allows using alias type as generic type
  looks up alias for macro resolution (#3548)
  looks up alias for macro resolution (#3548)
  errors if alias already defined
  errors if alias already defined
  reopens struct through alias
  reopens struct through alias
  declares alias inside type
  declares alias inside type
  reopens struct through alias within itself
  reopens struct through alias within itself
  uses constant in alias (#3259)
  uses constant in alias (#3259)
  allows using generic type of recursive alias as restriction (#488)
  allows using generic type of recursive alias as restriction (#488)
  doesn't crash by infinite recursion against type alias and generics (#5329)
  doesn't crash by infinite recursion against type alias and generics (#5329)
  overloads union type through alias
  overloads union type through alias
  includes module through alias
  includes module through alias
  allows defining recursive fun aliases
  allows defining recursive fun aliases
  works with alias type as restriction
  works with alias type as restriction
  inherits struct through alias
  inherits struct through alias
  reopens class through alias within itself
  reopens class through alias within itself
  doesn't find type parameter in alias (#3502)
  doesn't find type parameter in alias (#3502)
  uses constant in alias with math (#3259)
  uses constant in alias with math (#3259)
  reopens module through alias
  reopens module through alias
  errors if declares alias inside if
  errors if declares alias inside if
  errors if defining infinite recursive alias
  errors if defining infinite recursive alias
  reopens class through alias
  reopens class through alias
Semantic: hooks
  types macro finished hook bug regarding initialize (#3964)
  types macro finished hook bug regarding initialize (#3964)
  does inherited macro for generic class
  does inherited macro for generic class
  does added method macro
  does added method macro
  errors if wrong finished params length
  errors if wrong finished params length
  does not invoke 'method_added' hook recursively
  does not invoke 'method_added' hook recursively
  does inherited macro through generic instance type (#9693)
  does inherited macro through generic instance type (#9693)
  does inherited macro
  does inherited macro
  does extended macro
  does extended macro
  errors if wrong extended params length
  errors if wrong extended params length
  types initializer in inherited
  types initializer in inherited
  does included macro
  does included macro
  does included macro for generic module
  does included macro for generic module
  errors if wrong included params size
  errors if wrong included params size
  includes error message in included hook (#889)
  includes error message in included hook (#889)
  errors if wrong extended params size
  errors if wrong extended params size
  errors if wrong inherited params size
  errors if wrong inherited params size
Code gen: return
  doesn't crash when method returns nil and can be inlined
  doesn't crash when method returns nil and can be inlined
  codegens return followed by another expression
  codegens return followed by another expression
  returns empty from function
  returns empty from function
  forms a tuple from multiple return values
  forms a tuple from multiple return values
  flattens splats inside multiple return values
  flattens splats inside multiple return values
  return from function with union type
  return from function with union type
  codegens assign with if with two returns
  codegens assign with if with two returns
  codegens bug with return if true
  codegens bug with return if true
  codegens return
  codegens return
  return from function with nilable type
  return from function with nilable type
  return from function with nilable type 2
  return from function with nilable type 2
  codegens return inside if
  codegens return inside if
  returns in var assignment (#3364)
  returns in var assignment (#3364)
  return union
  return union
Crystal::Doc::Type
  #instance_methods
    sorts operators first
    sorts operators first
  ASTNode has no ancestors
  ASTNode has no ancestors
  #macros
    sorts operators first
    sorts operators first
  ASTNode has no superclass
  ASTNode has no superclass
  doesn't show types for alias type
  doesn't show types for alias type
  #node_to_html
    shows tuples
    shows tuples
    shows generic path with necessary colons
    shows generic path with necessary colons
    shows relative generic
    shows relative generic
    shows relative path
    shows relative path
    shows generic path with unnecessary colons
    shows generic path with unnecessary colons
    shows named tuples
    shows named tuples
  finds construct when searching class method (#8095)
  finds construct when searching class method (#8095)
  #class_methods
    sorts operators first
    sorts operators first
Code gen: offsetof
  returns offset allowing manual access of first class field
  returns offset allowing manual access of first class field
  returns offset of extern union
  returns offset of extern union
  returns offset allowing manual access of struct field that isn't first
  returns offset allowing manual access of struct field that isn't first
  returns offset of `StaticArray#@buffer`
  returns offset of `StaticArray#@buffer`
  returns offset allowing manual access of tuple items
  returns offset allowing manual access of tuple items
  returns offset allowing manual access of first struct field
  returns offset allowing manual access of first struct field
  returns offset allowing manual access of class field that isn't first
  returns offset allowing manual access of class field that isn't first
Normalize: case
  normalizes case with call
  normalizes case with call
  normalizes case with multiple expressions with all underscores
  normalizes case with multiple expressions with all underscores
  normalizes case without value with many expressions in when
  normalizes case without value with many expressions in when
  normalizes case with multiple expressions
  normalizes case with multiple expressions
  normalizes case with multiple expressions and non-tuple
  normalizes case with multiple expressions and non-tuple
  normalizes case with multiple expressions and implicit obj
  normalizes case with multiple expressions and implicit obj
  normalizes case with Path.class to is_a? (in)
  normalizes case with Path.class to is_a? (in)
  normalizes case with Path.class to is_a?
  normalizes case with Path.class to is_a?
  normalizes case with generic to is_a?
  normalizes case with generic to is_a?
  normalizes case with implicit call
  normalizes case with implicit call
  normalizes case with Path to is_a?
  normalizes case with Path to is_a?
  normalizes case with assignment wrapped by paren
  normalizes case with assignment wrapped by paren
  normalizes case without when but else
  normalizes case without when but else
  normalizes case with assignment
  normalizes case with assignment
  normalizes case with Generic.class to is_a?
  normalizes case with Generic.class to is_a?
  normalizes case without value
  normalizes case without value
  normalizes case with implicit !
  normalizes case with implicit !
  normalizes case with multiple expressions with all underscores twice
  normalizes case with multiple expressions with all underscores twice
  normalizes case with implicit responds_to? (#3040)
  normalizes case with implicit responds_to? (#3040)
  normalizes case with implicit as? (#3040)
  normalizes case with implicit as? (#3040)
  normalizes case with multiple expressions and types
  normalizes case with multiple expressions and types
  normalizes case without cond, when but else
  normalizes case without cond, when but else
  normalizes case with var in cond
  normalizes case with var in cond
  normalizes case with implicit is_a? (#3040)
  normalizes case with implicit is_a? (#3040)
  normalizes case with multiple expressions with underscore
  normalizes case with multiple expressions with underscore
  normalizes case with implicit as (#3040)
  normalizes case with implicit as (#3040)
  normalizes case with nil to is_a?
  normalizes case with nil to is_a?
  normalizes case without when and else
  normalizes case without when and else
  normalizes case without cond, when and else
  normalizes case without cond, when and else
  normalizes case with many expressions in when
  normalizes case with many expressions in when
  normalizes case with multiple expressions and comma
  normalizes case with multiple expressions and comma
Crystal::Command::FlagsVisitor
  different flags
  different flags
  only macro
  only macro
  unique flags
  unique flags
Code gen: block
  codegens block bug with conditional next and unconditional break (2)
  codegens block bug with conditional next and unconditional break (2)
  codegens method invocation on a object of a captured block with a type that was never instantiated
  codegens method invocation on a object of a captured block with a type that was never instantiated
  dispatches with captured and non-captured block (#3969)
  dispatches with captured and non-captured block (#3969)
  clears nilable var before inlining block method (#10087)
  clears nilable var before inlining block method (#10087)
  can break without value from yielder that returns nilable (2)
  can break without value from yielder that returns nilable (2)
  codegens block with nilable type with return (2)
  codegens block with nilable type with return (2)
  codegens method invocation on a object of a captured block with a type that was never instantiated (2)
  codegens method invocation on a object of a captured block with a type that was never instantiated (2)
  codegens call with block with call with arg that yields
  codegens call with block with call with arg that yields
  
  
  codegens nested return
  codegens nested return
  codegens bug with yield not_nil! that is never not nil
  codegens bug with yield not_nil! that is never not nil
  return from block called from dispatch
  return from block called from dispatch
  uses splat in block argument
  uses splat in block argument
  break block with yielder inside while  break block with yielder inside while  break block with yielder inside while  break block with yielder inside while  break block with yielder inside while  break block with yielder inside while  break block with yielder inside while  break block with yielder inside while  break block with yielder inside while
  break block with yielder inside while
  break from block with value  break from block with value  break from block with value  break from block with value  break from block with value  break from block with value  break from block with value  break from block with value  break from block with value
  break from block with value
  codegens block with union arg (2)
  codegens block with union arg (2)
  break from block with value
  break from block with value
  codegens dispatch with block and break (2)  codegens dispatch with block and break (2)  codegens dispatch with block and break (2)  codegens dispatch with block and break (2)  codegens dispatch with block and break (2)  codegens dispatch with block and break (2)  codegens dispatch with block and break (2)  codegens dispatch with block and break (2)  codegens dispatch with block and break (2)
  codegens dispatch with block and break (2)
  uses splat in block argument, many args
  uses splat in block argument, many args
  it yields nil from another call
  it yields nil from another call
  yields splat
  yields splat
  returns from proc literal
  returns from proc literal
  codegens block with union with return
  codegens block with union with return
  codegens block call when argument type changes
  codegens block call when argument type changes
  unpacks tuple but doesn't override local variables
  unpacks tuple but doesn't override local variables
  codegens nested break
  codegens nested break
  allows initialize with yield (#224)
  allows initialize with yield (#224)
  uses block var with same name as local var
  uses block var with same name as local var
  (bug) doesn't set needs_value to true on every yield (#12442)
  (bug) doesn't set needs_value to true on every yield (#12442)
  nexts in var assignment (#3364)
  nexts in var assignment (#3364)
  auto-unpacks tuple
  auto-unpacks tuple
  call block from dispatch
  call block from dispatch
  union value of yielder function
  union value of yielder function
  uses block splat argument with union types
  uses block splat argument with union types
  does next from captured block
  does next from captured block
  executes yield expression if no arg is given for block
  executes yield expression if no arg is given for block
  block with nilable type 2
  block with nilable type 2
  codegens call with blocks of different type without args
  codegens call with blocks of different type without args
  codegens block with union arg (1)
  codegens block with union arg (1)
  allows modifying yielded value (with variable)
  allows modifying yielded value (with variable)
  allow return from function called from yielder function
  allow return from function called from yielder function
  pass self to yielder function
  pass self to yielder function
  return from yielder function (2)
  return from yielder function (2)
  break from block returns from yielder
  break from block returns from yielder
  pass self and arguments to yielder function
  pass self and arguments to yielder function
  can use self inside a block called from dispatch
  can use self inside a block called from dispatch
  breaks from while in function called from block
  breaks from while in function called from block
  can use instance methods from yielder function
  can use instance methods from yielder function
  allows using var as block arg with outer var
  allows using var as block arg with outer var
  codegens bug with block and arg and var
  codegens bug with block and arg and var
  break without value returns nil
  break without value returns nil
  doesn't crash if yield exp has no type (#12670)
  doesn't crash if yield exp has no type (#12670)
  codegens block which always breaks but never enters (#494)
  codegens block which always breaks but never enters (#494)
  yields more exps than block arg, through splat
  yields more exps than block arg, through splat
  passes yield arguments
  passes yield arguments
  codegens block with return and yield and no return
  codegens block with return and yield and no return
  generate inline
  generate inline
  codegens block bug with conditional next and unconditional break (4)
  codegens block bug with conditional next and unconditional break (4)
  allows access to local variables
  allows access to local variables
  codegens block bug with conditional next and unconditional break (3)
  codegens block bug with conditional next and unconditional break (3)
  codegens while/break inside block
  codegens while/break inside block
  uses block inside array literal (bug)  uses block inside array literal (bug)  uses block inside array literal (bug)  uses block inside array literal (bug)  uses block inside array literal (bug)  uses block inside array literal (bug)  uses block inside array literal (bug)  uses block inside array literal (bug)  uses block inside array literal (bug)
  uses block inside array literal (bug)
  codegens block bug with conditional next and unconditional break (1)
  codegens block bug with conditional next and unconditional break (1)
  codegens dispatch with block and break (1)  codegens dispatch with block and break (1)  codegens dispatch with block and break (1)  codegens dispatch with block and break (1)  codegens dispatch with block and break (1)  codegens dispatch with block and break (1)  codegens dispatch with block and break (1)  codegens dispatch with block and break (1)  codegens dispatch with block and break (1)
  codegens dispatch with block and break (1)
  breaks in var assignment (#3364)
  breaks in var assignment (#3364)
  doesn't codegen call if arg yields and always breaks
  doesn't codegen call if arg yields and always breaks
  doesn't crash on yield exp without a type (#8100)
  doesn't crash on yield exp without a type (#8100)
  returns from block with value  returns from block with value  returns from block with value  returns from block with value  returns from block with value  returns from block with value  returns from block with value  returns from block with value  returns from block with value
  returns from block with value
  can use global constant
  can use global constant
  allows yield from dispatch call
  allows yield from dispatch call
  return from block that always returns from function that conditionally yields
  return from block that always returns from function that conditionally yields
  break with value from yielder that returns a nilable
  break with value from yielder that returns a nilable
  can call methods from block when yielder is an instance method
  can call methods from block when yielder is an instance method
  codegens block with virtual type arg
  codegens block with virtual type arg
  codegens captured block that returns union, but proc only returns a single type
  codegens captured block that returns union, but proc only returns a single type
  block with nilable type
  block with nilable type
  doesn't codegen after while that always yields and breaks
  doesn't codegen after while that always yields and breaks
  can access instance vars from yielder function
  can access instance vars from yielder function
  pass arguments to yielder function
  pass arguments to yielder function
  can break without value from yielder that returns nilable (1)
  can break without value from yielder that returns nilable (1)
  codegens block with multiple underscores (#3054)
  codegens block with multiple underscores (#3054)
  can set instance vars from yielder function
  can set instance vars from yielder function
  doesn't crash on untyped array to_s  doesn't crash on untyped array to_s  doesn't crash on untyped array to_s  doesn't crash on untyped array to_s  doesn't crash on untyped array to_s  doesn't crash on untyped array to_s  doesn't crash on untyped array to_s  doesn't crash on untyped array to_s  doesn't crash on untyped array to_s
  doesn't crash on untyped array to_s
  codegens if with call with block (ssa issue)
  codegens if with call with block (ssa issue)
  yields inside yield (#682)
  yields inside yield (#682)
  call block from dispatch and use local vars  call block from dispatch and use local vars  call block from dispatch and use local vars  call block from dispatch and use local vars  call block from dispatch and use local vars  call block from dispatch and use local vars  call block from dispatch and use local vars  call block from dispatch and use local vars  call block from dispatch and use local vars
  call block from dispatch and use local vars
  return from yielder function
  return from yielder function
  returns void when called with block
  returns void when called with block
  nested yields
  nested yields
  return from block
  return from block
  codegens block with nilable type with return (1)
  codegens block with nilable type with return (1)
  allows modifying yielded value (with literal)
  allows modifying yielded value (with literal)
  return from block that always returns from function that always yields inside if block
  return from block that always returns from function that always yields inside if block
  codegens captured block with next inside yielded block (#2097)
  codegens captured block with next inside yielded block (#2097)
  assigns yield to argument
  assigns yield to argument
  codegens block with repeated underscore and different types (#4711)
  codegens block with repeated underscore and different types (#4711)
Crystal::Formatter
  formats "begin\n1\nrescue   ex\n3\nend"
  formats "begin\n1\nrescue   ex\n3\nend"
  formats "foo do\n  [foo <<-X\n  bar\n  X\n  ]\nend"
  formats "foo do\n  [foo <<-X\n  bar\n  X\n  ]\nend"
  formats "1.=== do\nend"
  formats "1.=== do\nend"
  formats "macro foo\n  {% if 1 %} 2 {% else %} 3 {% end %}\nend"
  formats "macro foo\n  {% if 1 %} 2 {% else %} 3 {% end %}\nend"
  formats "if 1\nelse\n2\nend\n3"
  formats "if 1\nelse\n2\nend\n3"
  formats "case  1 \n when 2 then \n 3 \n end"
  formats "case  1 \n when 2 then \n 3 \n end"
  formats "next  *1"
  formats "next  *1"
  formats "enum Foo\nA  \nend"
  formats "enum Foo\nA  \nend"
  formats "foo\n  .foo1(bar\n    .bar1\n    .bar2)"
  formats "foo\n  .foo1(bar\n    .bar1\n    .bar2)"
  formats "a = begin\n1\n2\nend"
  formats "a = begin\n1\n2\nend"
  formats "x  :   Int32[ 8 ]"
  formats "x  :   Int32[ 8 ]"
  formats "getter foo : Int32 # comment\n\ndef foo\nend"
  formats "getter foo : Int32 # comment\n\ndef foo\nend"
  formats ":|"
  formats ":|"
  formats "a+1"
  formats "a+1"
  formats "%i(one   two  three)"
  formats "%i(one   two  three)"
  formats "begin\n  #hola\n  1\nend\n"
  formats "begin\n  #hola\n  1\nend\n"
  formats "\"foo \#{ 1  +  2 }\""
  formats "\"foo \#{ 1  +  2 }\""
  formats "def foo(\n  a,\n  b,\n)\nend"
  formats "def foo(\n  a,\n  b,\n)\nend"
  formats "if 1\n  [\n    1,\n  ].none?\nend"
  formats "if 1\n  [\n    1,\n  ].none?\nend"
  formats "enum Foo\nend"
  formats "enum Foo\nend"
  formats "long_variable_name = [\n  {\n    :foo => 1,\n  },\n  {\n    :bar => 2,\n  },\n]"
  formats "long_variable_name = [\n  {\n    :foo => 1,\n  },\n  {\n    :bar => 2,\n  },\n]"
  formats "1.>=(2) { 3 }"
  formats "1.>=(2) { 3 }"
  formats "def foo(x)\n  {% if true %}\n    \\{% if true %}\n      x = 1\n    \\{% else %}\n      x = 2\n    \\{% end %}\n    \\{% for x in y %}\n      x = 1\n    \\{% end %}\n    \\{{x}}\n    \\{% x %}\n  {% end %}\nend"
  formats "def foo(x)\n  {% if true %}\n    \\{% if true %}\n      x = 1\n    \\{% else %}\n      x = 2\n    \\{% end %}\n    \\{% for x in y %}\n      x = 1\n    \\{% end %}\n    \\{{x}}\n    \\{% x %}\n  {% end %}\nend"
  formats " <<-EOF\n 1\nEOF"
  formats " <<-EOF\n 1\nEOF"
  formats "unless a\n    # hello\n 2\nend"
  formats "unless a\n    # hello\n 2\nend"
  formats "def foo(x)\n  case 1\n  when self // 2\n    3\n  end\nend"
  formats "def foo(x)\n  case 1\n  when self // 2\n    3\n  end\nend"
  formats "/foo/imx"
  formats "/foo/imx"
  formats "if 1\n  node.is_a?(T)\nend"
  formats "if 1\n  node.is_a?(T)\nend"
  formats "def foo : A(B)\n  nil\nend"
  formats "def foo : A(B)\n  nil\nend"
  formats "foo : (F(A)) | D"
  formats "foo : (F(A)) | D"
  formats "case 1\nwhen 1, # 1\n     2, # 2\n     3  # 3\n  1\nend"
  formats "case 1\nwhen 1, # 1\n     2, # 2\n     3  # 3\n  1\nend"
  formats "class Foo; 1; end"
  formats "class Foo; 1; end"
  formats "a = if 1\n2\nelsif 3\n4\nend"
  formats "a = if 1\n2\nelsif 3\n4\nend"
  formats "foo(\n  a: 1,\n  b: 2,\n  )\n"
  formats "foo(\n  a: 1,\n  b: 2,\n  )\n"
  formats "typeof( 1, 2, 3 )"
  formats "typeof( 1, 2, 3 )"
  formats "instance_alignof( Int32 )"
  formats "instance_alignof( Int32 )"
  formats "lib Foo\nfun foo()  :  Int32\nend"
  formats "lib Foo\nfun foo()  :  Int32\nend"
  formats "def foo\n# hello\n1\nend"
  formats "def foo\n# hello\n1\nend"
  formats "def foo(&: Int32)\nend"
  formats "def foo(&: Int32)\nend"
  formats "asm(\"nop\" : \"a\"(0), \"b\"(1) )"
  formats "asm(\"nop\" : \"a\"(0), \"b\"(1) )"
  formats "macro foo( x , y )\nend"
  formats "macro foo( x , y )\nend"
  formats "def foo(@[MyAnn] &block); end"
  formats "def foo(@[MyAnn] &block); end"
  formats "foo do\n  # bar\nend"
  formats "foo do\n  # bar\nend"
  formats "foo({\n  1 => 2,\n  3 => {\n    4 => 5,\n  },\n})"
  formats "foo({\n  1 => 2,\n  3 => {\n    4 => 5,\n  },\n})"
  formats "if 1\n2\nelsif\n3\n4\nelsif 5\n6\nend"
  formats "if 1\n2\nelsif\n3\n4\nelsif 5\n6\nend"
  formats "begin\n  query = <<-HEREDOC\n    foo\n  HEREDOC\nend"
  formats "begin\n  query = <<-HEREDOC\n    foo\n  HEREDOC\nend"
  formats "foo(  )"
  formats "foo(  )"
  formats "%[hello]"
  formats "%[hello]"
  formats "lib Bar\n  enum Foo\n    A\n  end\nend"
  formats "lib Bar\n  enum Foo\n    A\n  end\nend"
  formats "def //(x)\n  1\nend"
  formats "def //(x)\n  1\nend"
  formats "if 1\n# nothing\nend"
  formats "if 1\n# nothing\nend"
  formats "\"foo \#{ 1 } \#{ __DIR__ }\""
  formats "\"foo \#{ 1 } \#{ __DIR__ }\""
  formats "macro flags\n  {% if 1 %}\\\n  {% end %}\\\nend"
  formats "macro flags\n  {% if 1 %}\\\n  {% end %}\\\nend"
  formats "a &.b.as C"
  formats "a &.b.as C"
  formats "0x1234_u32"
  formats "0x1234_u32"
  formats "if a\nif b\n3\nelse\n4\nend\nend"
  formats "if a\nif b\n3\nelse\n4\nend\nend"
  formats "foo 1, do\n2\nend"
  formats "foo 1, do\n2\nend"
  formats "break {1, 2}, {3, 4}"
  formats "break {1, 2}, {3, 4}"
  formats "1  # foo\n2  # bar"
  formats "1  # foo\n2  # bar"
  formats "if 1\n  ->{ 1 }\nend"
  formats "if 1\n  ->{ 1 }\nend"
  formats "yield  1  , *2"
  formats "yield  1  , *2"
  formats "$1?"
  formats "$1?"
  formats "@[ Foo ]\ndef foo\nend"
  formats "@[ Foo ]\ndef foo\nend"
  formats "class Foo\n@x  : Int32\nend"
  formats "class Foo\n@x  : Int32\nend"
  formats "x  :   (A -> B)"
  formats "x  :   (A -> B)"
  formats "def foo(*y, **z)\nend"
  formats "def foo(*y, **z)\nend"
  formats "__FILE__"
  formats "__FILE__"
  formats "foo(\n  1,\n  &.foo\n)"
  formats "foo(\n  1,\n  &.foo\n)"
  formats "1 if nil?\na.b + c"
  formats "1 if nil?\na.b + c"
  formats "enum Baz\nA = 1\nFOO\n\nEX = 3\nend"
  formats "enum Baz\nA = 1\nFOO\n\nEX = 3\nend"
  formats "foo &.@bar"
  formats "foo &.@bar"
  formats "::NamedTuple()"
  formats "::NamedTuple()"
  formats "asm(\"nop\")"
  formats "asm(\"nop\")"
  formats "foo &.bar.is_a?(Baz)"
  formats "foo &.bar.is_a?(Baz)"
  formats "case 1\nwhen a; 2\nelse; ; b\nend"
  formats "case 1\nwhen a; 2\nelse; ; b\nend"
  formats "/\#{1}/imx"
  formats "/\#{1}/imx"
  formats "foo(1,\n2,\n)"
  formats "foo(1,\n2,\n)"
  formats "def foo(x)\n  {% if true %}\n    x = x + 2\n  {% end %}\nend"
  formats "def foo(x)\n  {% if true %}\n    x = x + 2\n  {% end %}\nend"
  formats "class   Foo  < \n  Bar \n\n 1  \n\nend"
  formats "class   Foo  < \n  Bar \n\n 1  \n\nend"
  formats "Foo(  )"
  formats "Foo(  )"
  formats "a[b] ||= c"
  formats "a[b] ||= c"
  formats "begin\nend\n\n# a\n"
  formats "begin\nend\n\n# a\n"
  formats "a(&.b.c.as(C))"
  formats "a(&.b.c.as(C))"
  formats "macro [](x)\nend"
  formats "macro [](x)\nend"
  formats "[\n  a(), # b\n]"
  formats "[\n  a(), # b\n]"
  formats "asm(\"a\" :: : : \"volatile\")"
  formats "asm(\"a\" :: : : \"volatile\")"
  formats "return  *1  ,2"
  formats "return  *1  ,2"
  formats "1..\n2"
  formats "1..\n2"
  formats "alignof( Int32 )"
  formats "alignof( Int32 )"
  formats "ary.size = (1).to_i"
  formats "ary.size = (1).to_i"
  formats "alias  Foo  =   Bar"
  formats "alias  Foo  =   Bar"
  formats "def a\n  b(\n    1, # x\n    # y\n  )\nend"
  formats "def a\n  b(\n    1, # x\n    # y\n  )\nend"
  formats "Foo( A , 1 )"
  formats "Foo( A , 1 )"
  formats "class Foo\n  def foo\n    # nothing\n  end\nend"
  formats "class Foo\n  def foo\n    # nothing\n  end\nend"
  formats "case  1 \n when 2 ; 3 \n when 4 ; 5\nend"
  formats "case  1 \n when 2 ; 3 \n when 4 ; 5\nend"
  formats "1 // 2"
  formats "1 // 2"
  formats "def foo(**b, # comment\n        &block)\nend"
  formats "def foo(**b, # comment\n        &block)\nend"
  formats " .. 2"
  formats " .. 2"
  formats "foo.bar\n.baz"
  formats "foo.bar\n.baz"
  formats "module Foo; 1; end"
  formats "module Foo; 1; end"
  formats "asm(\"nop\" : \"a\"(0) : \"b\"(1) )"
  formats "asm(\"nop\" : \"a\"(0) : \"b\"(1) )"
  formats "1\n2  \n  # foo"
  formats "1\n2  \n  # foo"
  formats "\n   # hello\n\n1"
  formats "\n   # hello\n\n1"
  formats "$?"
  formats "$?"
  formats "macro foo\n  {% unless 1 %} 2 {% end %}\nend"
  formats "macro foo\n  {% unless 1 %} 2 {% end %}\nend"
  formats "\"\#{\n  foo = 1}\""
  formats "\"\#{\n  foo = 1}\""
  formats "next"
  formats "next"
  formats "if 1\n  {% for x in y %} {% end %}\nend"
  formats "if 1\n  {% for x in y %} {% end %}\nend"
  formats "case 1\nend"
  formats "case 1\nend"
  formats "unless a\n2\nend"
  formats "unless a\n2\nend"
  formats "%i{one(   two(  three)}"
  formats "%i{one(   two(  three)}"
  formats "{% if flag?(:freebsd) %}\n  1 + 2\n{% end %}\n\ncase x\nwhen 1234 then 1\nelse           x\nend"
  formats "{% if flag?(:freebsd) %}\n  1 + 2\n{% end %}\n\ncase x\nwhen 1234 then 1\nelse           x\nend"
  formats "foo(\n  1, 2, &block)"
  formats "foo(\n  1, 2, &block)"
  formats "def foo(\n  @[MyAnn]\n  @[MyAnn]\n  bar,\n  @[MyAnn] baz\n); end"
  formats "def foo(\n  @[MyAnn]\n  @[MyAnn]\n  bar,\n  @[MyAnn] baz\n); end"
  formats "def foo\n  1\n  #\nrescue\nend"
  formats "def foo\n  1\n  #\nrescue\nend"
  formats "asm(\n# foo\n\"nop\"\n# bar\n)"
  formats "asm(\n# foo\n\"nop\"\n# bar\n)"
  formats "`foo \#{ bar }`"
  formats "`foo \#{ bar }`"
  formats "{% verbatim do %}{{1}} + {{2}}{% end %}"
  formats "{% verbatim do %}{{1}} + {{2}}{% end %}"
  formats "::Foo:: Bar"
  formats "::Foo:: Bar"
  formats "def %(x)\n  1\nend"
  formats "def %(x)\n  1\nend"
  formats "def a\n  {\n    1, # x\n    # y\n  }\nend"
  formats "def a\n  {\n    1, # x\n    # y\n  }\nend"
  formats "def   foo (\nx ,\n y )  \n  end"
  formats "def   foo (\nx ,\n y )  \n  end"
  formats "foo &.as?(T)"
  formats "foo &.as?(T)"
  formats "foo({% verbatim do %}{{1}} + {{2}}{% end %})"
  formats "foo({% verbatim do %}{{1}} + {{2}}{% end %})"
  adds trailing comma to def multi-line normal, splat, and double splat parameters
    formats "macro foo(\n  a,\n  *b\n)\nend"
    formats "macro foo(\n  a,\n  *b\n)\nend"
    formats "def foo(\n  a,\n  b\n)\nend"
    formats "def foo(\n  a,\n  b\n)\nend"
    formats "def foo(\n  a,\n  *b\n)\nend"
    formats "def foo(\n  a,\n  *b\n)\nend"
    formats "def foo(\n  a,\n  @[Ann] b\n)\nend"
    formats "def foo(\n  a,\n  @[Ann] b\n)\nend"
    formats "def foo(\n  a, # Foo\n  b # Bar\n)\nend"
    formats "def foo(\n  a, # Foo\n  b # Bar\n)\nend"
    formats "def foo(\n  a,\n  **b\n)\nend"
    formats "def foo(\n  a,\n  **b\n)\nend"
    formats "def foo(\n  a, b\n)\nend"
    formats "def foo(\n  a, b\n)\nend"
    formats "fun foo(\n  a : Int32,\n  ...\n)\nend"
    formats "fun foo(\n  a : Int32,\n  ...\n)\nend"
    formats "def foo(\n  a,\n  &block\n)\nend"
    formats "def foo(\n  a,\n  &block\n)\nend"
    formats "def foo(a, *args, &block)\nend"
    formats "def foo(a, *args, &block)\nend"
    formats "def foo(\n  a : Int32,\n  b : Int32\n)\nend"
    formats "def foo(\n  a : Int32,\n  b : Int32\n)\nend"
    formats "def foo(a, *args)\nend"
    formats "def foo(a, *args)\nend"
    formats "def foo(\n  a : Int32,\n  b : Int32 = 1\n)\nend"
    formats "def foo(\n  a : Int32,\n  b : Int32 = 1\n)\nend"
    formats "macro foo(\n  a,\n  b\n)\nend"
    formats "macro foo(\n  a,\n  b\n)\nend"
    formats "def foo(a, b)\nend"
    formats "def foo(a, b)\nend"
    formats "def foo(\n  a,\n)\nend"
    formats "def foo(\n  a,\n)\nend"
    formats "def foo(\n  a, b,\n  c, d\n)\nend"
    formats "def foo(\n  a, b,\n  c, d\n)\nend"
    formats "def foo(a, **kwargs, &block)\nend"
    formats "def foo(a, **kwargs, &block)\nend"
    formats "def foo(a, **kwargs)\nend"
    formats "def foo(a, **kwargs)\nend"
    formats "def foo(a)\nend"
    formats "def foo(a)\nend"
    formats "def foo(\n  a,\n  @[Ann]\n  b\n)\nend"
    formats "def foo(\n  a,\n  @[Ann]\n  b\n)\nend"
    formats "def foo(\n  a,\n  b c\n)\nend"
    formats "def foo(\n  a,\n  b c\n)\nend"
    formats "def foo(a, &block)\nend"
    formats "def foo(a, &block)\nend"
    formats "fun foo(\n  a : Int32,\n  b : Int32\n)\nend"
    formats "fun foo(\n  a : Int32,\n  b : Int32\n)\nend"
  formats "\"1\#{\"\#{\"2\"}\"}3\#{\"4\"}5\""
  formats "\"1\#{\"\#{\"2\"}\"}3\#{\"4\"}5\""
  formats "asm(\"nop\"\n: \"a\"(0) )"
  formats "asm(\"nop\"\n: \"a\"(0) )"
  formats "  <<-HTML\n   foo\n  HTML"
  formats "  <<-HTML\n   foo\n  HTML"
  formats " * a = 1 "
  formats " * a = 1 "
  formats "foo &.[]?(  1, 2  )"
  formats "foo &.[]?(  1, 2  )"
  formats "asm(\"a\" : \"b\"(c) : \"d\"(e)\n        : \"f\",\n          \"g\")"
  formats "asm(\"a\" : \"b\"(c) : \"d\"(e)\n        : \"f\",\n          \"g\")"
  formats "case\nend"
  formats "case\nend"
  formats "foo ((1) ? 2 : 3)"
  formats "foo ((1) ? 2 : 3)"
  formats "if 1\n2 && 3\nend"
  formats "if 1\n2 && 3\nend"
  formats "Foo:: Bar"
  formats "Foo:: Bar"
  formats "abstract  class Foo\nend"
  formats "abstract  class Foo\nend"
  formats "def foo\n  1 #\nrescue\nend"
  formats "def foo\n  1 #\nrescue\nend"
  formats "{% if true %}\n  <<-FOO\n    hello  \n  FOO\n{% end %}"
  formats "{% if true %}\n  <<-FOO\n    hello  \n  FOO\n{% end %}"
  formats "1.==(2) { 3 }"
  formats "1.==(2) { 3 }"
  formats "foo[bar.baz]\n  .qux"
  formats "foo[bar.baz]\n  .qux"
  formats "select   \n when  foo  ;  2 \n end"
  formats "select   \n when  foo  ;  2 \n end"
  formats "foo \\\n  1,\n  2\n\nbar \\\n  foo: 1,\n  bar: 2"
  formats "foo \\\n  1,\n  2\n\nbar \\\n  foo: 1,\n  bar: 2"
  formats "[\n  1, 2, # foo\n  3, 4,\n]"
  formats "[\n  1, 2, # foo\n  3, 4,\n]"
  formats "long_variable_name = [\n  {\n    :foo => 1,\n  }, {\n    :bar => 2,\n  },\n]"
  formats "long_variable_name = [\n  {\n    :foo => 1,\n  }, {\n    :bar => 2,\n  },\n]"
  formats "->Foo.foo="
  formats "->Foo.foo="
  formats "a = case 1\nwhen 2\n3\nelse\n4\nend"
  formats "a = case 1\nwhen 2\n3\nelse\n4\nend"
  formats "foo[ 1,  2 ]?"
  formats "foo[ 1,  2 ]?"
  formats "def foo\n  1\n  2\nrescue IO\n  1\nend"
  formats "def foo\n  1\n  2\nrescue IO\n  1\nend"
  formats "next {1, 2}, 3"
  formats "next {1, 2}, 3"
  formats "foo bar, \\\nbaz"
  formats "foo bar, \\\nbaz"
  formats "1\n\n\n2"
  formats "1\n\n\n2"
  formats "foo \"bar\": 1, \"baz qux\": 2"
  formats "foo \"bar\": 1, \"baz qux\": 2"
  formats "foo.[]"
  formats "foo.[]"
  formats "macro foo\n  %foo\nend"
  formats "macro foo\n  %foo\nend"
  formats "case  1 \n when 2 then 3 \n end"
  formats "case  1 \n when 2 then 3 \n end"
  formats "[\n  [\n    1,\n  ], [\n    2,\n  ], [\n    3,\n  ],\n]"
  formats "[\n  [\n    1,\n  ], [\n    2,\n  ], [\n    3,\n  ],\n]"
  formats "[\n  a(),\n]"
  formats "[\n  a(),\n]"
  formats "{ {1, 2, 3} => 4 }"
  formats "{ {1, 2, 3} => 4 }"
  formats "foo = 1\n->foo.bar(Int32)"
  formats "foo = 1\n->foo.bar(Int32)"
  formats "enum Foo : Int32\nA = 1\ndef foo\n1\nend\nend"
  formats "enum Foo : Int32\nA = 1\ndef foo\n1\nend\nend"
  formats "module Foo\n  1 # bar\nend\n\nmodule Foo\n  1\n  # bar\nend\n\nmodule Foo\n  1\n\n  # bar\nend\n\nmodule Foo\n  1\n  2\n  # bar\nend\n\nmodule Foo\n  1\n  2\n\n  # bar\nend\n\nif 1\n  1\n  # bar\nend\n\nif 1\n  1\n\n  # bar\nend\n\n1\n2\n# foo\n\n1\n2\n\n# foo\n"
  formats "module Foo\n  1 # bar\nend\n\nmodule Foo\n  1\n  # bar\nend\n\nmodule Foo\n  1\n\n  # bar\nend\n\nmodule Foo\n  1\n  2\n  # bar\nend\n\nmodule Foo\n  1\n  2\n\n  # bar\nend\n\nif 1\n  1\n  # bar\nend\n\nif 1\n  1\n\n  # bar\nend\n\n1\n2\n# foo\n\n1\n2\n\n# foo\n"
  formats "{ # foo\n  1 => 2,\n}"
  formats "{ # foo\n  1 => 2,\n}"
  formats "->foo!"
  formats "->foo!"
  formats "(\n  a = 1\n  a\n)"
  formats "(\n  a = 1\n  a\n)"
  formats "case\nend"
  formats "case\nend"
  formats "begin\n  / /\nend"
  formats "begin\n  / /\nend"
  formats "<<-HTML\n  \#{__FILE__}\n  HTML"
  formats "<<-HTML\n  \#{__FILE__}\n  HTML"
  formats "foo(\n  <<-HERE,\n  hello\n  HERE\n  1,\n)"
  formats "foo(\n  <<-HERE,\n  hello\n  HERE\n  1,\n)"
  formats "case  1 \n when 2 \n 3 \n else 4 \n end"
  formats "case  1 \n when 2 \n 3 \n else 4 \n end"
  formats "x, y = <<-FOO, <<-BAR\n  hello\n  FOO\n  world\n  BAR"
  formats "x, y = <<-FOO, <<-BAR\n  hello\n  FOO\n  world\n  BAR"
  formats "def x(@y = ->(z) {})\nend"
  formats "def x(@y = ->(z) {})\nend"
  formats "@[Foo( 1, 2 )]"
  formats "@[Foo( 1, 2 )]"
  formats "{\n  variables => true,\n  query     => <<-HEREDOC,\n    foo\n  HEREDOC\n  foo => true,\n}"
  formats "{\n  variables => true,\n  query     => <<-HEREDOC,\n    foo\n  HEREDOC\n  foo => true,\n}"
  formats "  {% begin %} 2 {% end %}"
  formats "  {% begin %} 2 {% end %}"
  formats "def foo\n1\nend"
  formats "def foo\n1\nend"
  formats "->do\nx\nend"
  formats "->do\nx\nend"
  formats "return  1 ,  2"
  formats "return  1 ,  2"
  formats "def foo\n  {% for x in y %}\n    foo  +  bar\n  {% end %}\nend"
  formats "def foo\n  {% for x in y %}\n    foo  +  bar\n  {% end %}\nend"
  formats "asm(\"nop\" : : )"
  formats "asm(\"nop\" : : )"
  formats "macro foo\n  {{x}}  <<-FOO\n    hello  \n  FOO\nend"
  formats "macro foo\n  {{x}}  <<-FOO\n    hello  \n  FOO\nend"
  formats "foo(\n  1,\n  a: 1,\n  b: 2,\n)"
  formats "foo(\n  1,\n  a: 1,\n  b: 2,\n)"
  formats "{\n  \"a\" => 1, \"b\" => 2,\n  \"foo\" => 3, \"bar\" => 4,\n  \"coconio\" => 5, \"lala\" => 6,\n}\n"
  formats "{\n  \"a\" => 1, \"b\" => 2,\n  \"foo\" => 3, \"bar\" => 4,\n  \"coconio\" => 5, \"lala\" => 6,\n}\n"
  formats "1 \\\nrescue 2"
  formats "1 \\\nrescue 2"
  formats "def foo(\n\n#foo\nx,\n\n#bar\nz\n)\nend"
  formats "def foo(\n\n#foo\nx,\n\n#bar\nz\n)\nend"
  formats "return( *1  , *2 )"
  formats "return( *1  , *2 )"
  formats "{ * 1 * 2,\n*\n3, 4 }"
  formats "{ * 1 * 2,\n*\n3, 4 }"
  formats "foo   &.is_a?(T)"
  formats "foo   &.is_a?(T)"
  formats "x : { {A, B}, {C, D} }"
  formats "x : { {A, B}, {C, D} }"
  formats "\"\#{\n  foo = 1\n}\""
  formats "\"\#{\n  foo = 1\n}\""
  formats "foo { |x| (x).a }"
  formats "foo { |x| (x).a }"
  formats "bar = foo(->{\n  1 + 2\n})"
  formats "bar = foo(->{\n  1 + 2\n})"
  formats "def   foo(x   :  self ?) \n  end"
  formats "def   foo(x   :  self ?) \n  end"
  formats "def foo( x , * y )\nend"
  formats "def foo( x , * y )\nend"
  formats "macro foo\n    1  +  2 \n    end"
  formats "macro foo\n    1  +  2 \n    end"
  formats "{ A: 1 }\n"
  formats "{ A: 1 }\n"
  formats "%r(foo \#{ bar })"
  formats "%r(foo \#{ bar })"
  formats "foo(\n  1, 2)"
  formats "foo(\n  1, 2)"
  formats "1   ;    2"
  formats "1   ;    2"
  formats "$? = 1"
  formats "$? = 1"
  formats "1.<= do\nend"
  formats "1.<= do\nend"
  formats "'a'"
  formats "'a'"
  formats "{ \"foo\" =>  1 }"
  formats "{ \"foo\" =>  1 }"
  formats "\"foo\" \\\n \"bar\" \\\n \"baz\""
  formats "\"foo\" \\\n \"bar\" \\\n \"baz\""
  formats ":&+"
  formats ":&+"
  formats "alias X = (A, B) ->\nbar : C"
  formats "alias X = (A, B) ->\nbar : C"
  formats "macro flags\n  {% if 1 %}{{1}}a{{2}}{% end %}\\\nend"
  formats "macro flags\n  {% if 1 %}{{1}}a{{2}}{% end %}\\\nend"
  formats "false"
  formats "false"
  formats "<<-FOO\nbarfoobar\nFOO"
  formats "<<-FOO\nbarfoobar\nFOO"
  formats "1 \\\nif 2"
  formats "1 \\\nif 2"
  formats "@[Foo::Bar]"
  formats "@[Foo::Bar]"
  formats "asm(\"a\" ::: \"a\"\n        : \"volatile\",\n          \"intel\")"
  formats "asm(\"a\" ::: \"a\"\n        : \"volatile\",\n          \"intel\")"
  formats "nil"
  formats "nil"
  formats "x  :   Int32*"
  formats "x  :   Int32*"
  formats "if 1;\n2;\nelse;\n3;\nend"
  formats "if 1;\n2;\nelse;\n3;\nend"
  formats "1\nyield\n2"
  formats "1\nyield\n2"
  formats "a(&.b.c.as C)"
  formats "a(&.b.c.as C)"
  formats "1 / 2"
  formats "1 / 2"
  formats "+ 1"
  formats "+ 1"
  formats "->@@foo.foo="
  formats "->@@foo.foo="
  formats ":&*"
  formats ":&*"
  formats "private def foo\nend\nprivate def bar\nend"
  formats "private def foo\nend\nprivate def bar\nend"
  formats "foo[&.bar] = 1"
  formats "foo[&.bar] = 1"
  formats "foo(bar(\n  1,\n  baz(\n    2,\n    3,\n  )\n))"
  formats "foo(bar(\n  1,\n  baz(\n    2,\n    3,\n  )\n))"
  formats "-> : Int32? {}"
  formats "-> : Int32? {}"
  formats "a[1] , b[2] = 1  ,  2"
  formats "a[1] , b[2] = 1  ,  2"
  formats "foo.as?(T).bar"
  formats "foo.as?(T).bar"
  formats "foo : (Array(String)?) | String"
  formats "foo : (Array(String)?) | String"
  formats "def foo(@[AnnOne]   @[AnnTwo]   &  ); end"
  formats "def foo(@[AnnOne]   @[AnnTwo]   &  ); end"
  formats "def foo(\n  foo,\n\n  @[MyAnn]\n  @[MyAnn]\n  & : Nil -> Nil\n); end"
  formats "def foo(\n  foo,\n\n  @[MyAnn]\n  @[MyAnn]\n  & : Nil -> Nil\n); end"
  formats "{ foo:  1 }"
  formats "{ foo:  1 }"
  formats "break 1, {2, 3}"
  formats "break 1, {2, 3}"
  formats "foo(&.@bar)"
  formats "foo(&.@bar)"
  formats "SomeLib.UppercasedFunCall 1, 2"
  formats "SomeLib.UppercasedFunCall 1, 2"
  formats "enum Foo\n  {% begin %}\n    A\n    B\n    C\n  {% end %}\nend"
  formats "enum Foo\n  {% begin %}\n    A\n    B\n    C\n  {% end %}\nend"
  formats "{ {1}.foo, 2 }"
  formats "{ {1}.foo, 2 }"
  formats "lib Foo\n  fun foo =\n\n\n    bar : Void\nend"
  formats "lib Foo\n  fun foo =\n\n\n    bar : Void\nend"
  formats "begin\n  array[\n    0, # Zero\n  ]\nend"
  formats "begin\n  array[\n    0, # Zero\n  ]\nend"
  formats "next( 1 )"
  formats "next( 1 )"
  formats "a &.b.as(C)"
  formats "a &.b.as(C)"
  formats "@[ Foo(foo: 1) ]\ndef foo\nend"
  formats "@[ Foo(foo: 1) ]\ndef foo\nend"
  formats "foo  1"
  formats "foo  1"
  adds `&` to yielding methods that don't have a block parameter (#8764)
    formats "def foo # bar\n  yield\nend"
    formats "def foo # bar\n  yield\nend"
    formats "def foo(\nx, y)\n  yield\nend"
    formats "def foo(\nx, y)\n  yield\nend"
    formats "def foo(x,\n)\n  yield\nend"
    formats "def foo(x,\n)\n  yield\nend"
    formats "def foo(\nx,\n)\n  yield\nend"
    formats "def foo(\nx,\n)\n  yield\nend"
    formats "def foo(x\n)\n  yield\nend"
    formats "def foo(x\n)\n  yield\nend"
    formats "def foo(x,\ny,)\n  yield\nend"
    formats "def foo(x,\ny,)\n  yield\nend"
    formats "def foo(x)\n  yield\nend"
    formats "def foo(x)\n  yield\nend"
    formats "def foo()\n  yield\nend"
    formats "def foo()\n  yield\nend"
    formats "def foo(a, **b)\n  yield\nend"
    formats "def foo(a, **b)\n  yield\nend"
    formats "macro f\n  yield\n  {{ yield }}\nend"
    formats "macro f\n  yield\n  {{ yield }}\nend"
    formats "def foo(\n)\n  yield\nend"
    formats "def foo(\n)\n  yield\nend"
    formats "def foo(\nx,\ny)\n  yield\nend"
    formats "def foo(\nx,\ny)\n  yield\nend"
    formats "def foo(x,\ny)\n  yield\nend"
    formats "def foo(x,\ny)\n  yield\nend"
    formats "def foo(\nx)\n  yield\nend"
    formats "def foo(\nx)\n  yield\nend"
    formats "def foo\n  yield\nend"
    formats "def foo\n  yield\nend"
    formats "def foo(x ,)\n  yield\nend"
    formats "def foo(x ,)\n  yield\nend"
  formats "1 ensure 2"
  formats "1 ensure 2"
  formats "x  :   {A, B}"
  formats "x  :   {A, B}"
  formats "{% if 1 %}\n  2\n{% end %}\ndef foo\nend"
  formats "{% if 1 %}\n  2\n{% end %}\ndef foo\nend"
  formats "foo.bar(1) # comment\n  .baz"
  formats "foo.bar(1) # comment\n  .baz"
  formats "foo.bar / 2\n"
  formats "foo.bar / 2\n"
  formats "foo([\n  1,\n  2,\n  3,\n])"
  formats "foo([\n  1,\n  2,\n  3,\n])"
  formats "macro foo()\n  {% if 1 %} 2 {% end %}\nend"
  formats "macro foo()\n  {% if 1 %} 2 {% end %}\nend"
  formats "@@a"
  formats "@@a"
  formats "if 1\n  {{1 + 2}}\nend"
  formats "if 1\n  {{1 + 2}}\nend"
  formats "page= <<-HTML\n  foo\nHTML"
  formats "page= <<-HTML\n  foo\nHTML"
  formats "def foo(\"bar baz\" qux)\nend"
  formats "def foo(\"bar baz\" qux)\nend"
  formats "def   foo (  x  :  Foo.class )  \n  end"
  formats "def   foo (  x  :  Foo.class )  \n  end"
  formats "[\n]   of   \n   Foo  "
  formats "[\n]   of   \n   Foo  "
  formats "def foo(\n   @[MyAnn]   bar\n); end"
  formats "def foo(\n   @[MyAnn]   bar\n); end"
  formats "def foo(a, **b : Int32)\nend"
  formats "def foo(a, **b : Int32)\nend"
  formats "->@foo.foo"
  formats "->@foo.foo"
  formats "foo.bar  &.baz( 1 , 2 )"
  formats "foo.bar  &.baz( 1 , 2 )"
  formats "if 1;\n2;\nelsif 3;\n4;\nend"
  formats "if 1;\n2;\nelsif 3;\n4;\nend"
  formats "foo(\n1,\n 2  \n)"
  formats "foo(\n1,\n 2  \n)"
  formats "{ %() }"
  formats "{ %() }"
  formats "loop do\n  1\n  loop do\n    2\n  rescue\n    3\n  end\n  4\nend"
  formats "loop do\n  1\n  loop do\n    2\n  rescue\n    3\n  end\n  4\nend"
  formats "{% foo <<-X\nbar\nX\n%}"
  formats "{% foo <<-X\nbar\nX\n%}"
  formats "\n\n1"
  formats "\n\n1"
  formats "if a\nif b\nelse\n4\nend\nend"
  formats "if a\nif b\nelse\n4\nend\nend"
  formats "def   foo (  x  :  self )  \n  end"
  formats "def   foo (  x  :  self )  \n  end"
  formats "1   +   2"
  formats "1   +   2"
  formats "def   foo (  bar  @@select)  \n  end"
  formats "def   foo (  bar  @@select)  \n  end"
  formats "if 1\n  foo(\n    bar,\n    # comment\n  )\nend"
  formats "if 1\n  foo(\n    bar,\n    # comment\n  )\nend"
  formats "[1, 2, 3] of Foo"
  formats "[1, 2, 3] of Foo"
  formats "def foo(x : A(B), y)\nend"
  formats "def foo(x : A(B), y)\nend"
  formats "10/a"
  formats "10/a"
  formats "begin\n1\nrescue   ex   :   Int32 \n3\nend"
  formats "begin\n1\nrescue   ex   :   Int32 \n3\nend"
  formats "foo   &.bar"
  formats "foo   &.bar"
  formats "1   unless   2"
  formats "1   unless   2"
  formats "-> do\nend"
  formats "-> do\nend"
  formats "macro foo( x  =   1, y  =  2,  &block)\nend"
  formats "macro foo( x  =   1, y  =  2,  &block)\nend"
  formats "class Foo\nend\nclass Bar\nend"
  formats "class Foo\nend\nclass Bar\nend"
  formats "Hash{\n  foo => <<-EOF,\n  foo\n  EOF\n  bar => <<-BAR,\n  bar\n  BAR\n}"
  formats "Hash{\n  foo => <<-EOF,\n  foo\n  EOF\n  bar => <<-BAR,\n  bar\n  BAR\n}"
  formats "  ((1) + 2)"
  formats "  ((1) + 2)"
  formats "def `(x)\n  1\nend"
  formats "def `(x)\n  1\nend"
  formats "a = foo(bar(baz3 do\nend))"
  formats "a = foo(bar(baz3 do\nend))"
  formats ":\"foo\""
  formats ":\"foo\""
  formats "foo do;\n1; end"
  formats "foo do;\n1; end"
  formats "if a\n2\n3\nelse\n4\n5\nend"
  formats "if a\n2\n3\nelse\n4\n5\nend"
  formats "[\n  # foo\n] of String"
  formats "[\n  # foo\n] of String"
  formats "private   getter   foo"
  formats "private   getter   foo"
  formats "X(typeof(begin\n  e.is_a?(Y) ? 1 : 2\nend))"
  formats "X(typeof(begin\n  e.is_a?(Y) ? 1 : 2\nend))"
  formats "foo a , *b"
  formats "foo a , *b"
  formats "def foo : (A, B) ->\n  nil\nend"
  formats "def foo : (A, B) ->\n  nil\nend"
  formats "1 # foo\n/ 1 /"
  formats "1 # foo\n/ 1 /"
  formats "def   foo (  @x)  \n  end"
  formats "def   foo (  @x)  \n  end"
  formats "\"\\a\\c\#{foo}\\b\\d\""
  formats "\"\\a\\c\#{foo}\\b\\d\""
  formats "return 1\n# end"
  formats "return 1\n# end"
  formats "return( 1 , 2 )"
  formats "return( 1 , 2 )"
  formats "break {1, 2}, 3"
  formats "break {1, 2}, 3"
  formats "if a\n2\nelse\nend"
  formats "if a\n2\nelse\nend"
  formats "->@foo.foo?"
  formats "->@foo.foo?"
  formats "break { {1, 2}, {3, 4} }, 5"
  formats "break { {1, 2}, {3, 4} }, 5"
  formats "select   \n when  foo \n 2 \n end"
  formats "select   \n when  foo \n 2 \n end"
  formats "foo.bar(&.% baz)"
  formats "foo.bar(&.% baz)"
  formats "<<-FOO\nfoo\n1\nFOO"
  formats "<<-FOO\nfoo\n1\nFOO"
  formats "lib Foo\nunion Foo\nend\nend"
  formats "lib Foo\nunion Foo\nend\nend"
  formats "select   \n when  foo \n 2 \n else \n 3 \n end"
  formats "select   \n when  foo \n 2 \n else \n 3 \n end"
  formats "macro foo\n  <<-FOO\n    hello  \n  FOO\nend"
  formats "macro foo\n  <<-FOO\n    hello  \n  FOO\nend"
  formats "foo do  | x | \n x \n end"
  formats "foo do  | x | \n x \n end"
  formats "def foo( & block )\nend"
  formats "def foo( & block )\nend"
  formats "def foo(\n  **a\n\n  # comment\n)\n  1\nend"
  formats "def foo(\n  **a\n\n  # comment\n)\n  1\nend"
  formats "select # some comment\nwhen bar\n  break\nend"
  formats "select # some comment\nwhen bar\n  break\nend"
  formats "foo {;;1}"
  formats "foo {;;1}"
  formats "macro foo(x)\n  {% if 1 %} 2 {% end %}\nend"
  formats "macro foo(x)\n  {% if 1 %} 2 {% end %}\nend"
  formats "begin; 1; end"
  formats "begin; 1; end"
  formats "bar = foo(->{\n  1 + 2\n})"
  formats "bar = foo(->{\n  1 + 2\n})"
  formats "foo &.[]?"
  formats "foo &.[]?"
  formats "if 1\n2\nelsif\n3\n4\nend"
  formats "if 1\n2\nelsif\n3\n4\nend"
  formats "begin\n1 ? 2 : 3\nend"
  formats "begin\n1 ? 2 : 3\nend"
  formats "a &.!.!"
  formats "a &.!.!"
  formats "/foo/"
  formats "/foo/"
  formats "1/2"
  formats "1/2"
  formats "def foo: Int32\nend"
  formats "def foo: Int32\nend"
  formats "def foo(x @@y)\nend"
  formats "def foo(x @@y)\nend"
  formats "1 # foo\n1234 # bar"
  formats "1 # foo\n1234 # bar"
  formats "{ {{FOO}}, nil}"
  formats "{ {{FOO}}, nil}"
  formats "x  :   Int32**"
  formats "x  :   Int32**"
  formats "_ = 1"
  formats "_ = 1"
  formats "yield( 1 , 2 )"
  formats "yield( 1 , 2 )"
  formats "private FOO = 2\nprivate A = 1"
  formats "private FOO = 2\nprivate A = 1"
  formats "[] of Int32\n1"
  formats "[] of Int32\n1"
  formats "break { {1, 2}, {3, 4} }"
  formats "break { {1, 2}, {3, 4} }"
  formats "foo([\n  1, 2,\n  3, 4,\n])"
  formats "foo([\n  1, 2,\n  3, 4,\n])"
  formats "def foo\n2  # foo\nend"
  formats "def foo\n2  # foo\nend"
  formats "1.[]=(2) { 3 }"
  formats "1.[]=(2) { 3 }"
  formats "foo.[] =1"
  formats "foo.[] =1"
  formats "@x   &&=   1"
  formats "@x   &&=   1"
  formats "foo.[ 1,  2 ]?"
  formats "foo.[ 1,  2 ]?"
  formats "macro foo\n  {% if 1 %} 2 {% end %}\nend"
  formats "macro foo\n  {% if 1 %} 2 {% end %}\nend"
  formats "a = \\\n  # foo\n  nil"
  formats "a = \\\n  # foo\n  nil"
  formats "def foo\nend\n\ndef bar\nend\n\n# foo"
  formats "def foo\nend\n\ndef bar\nend\n\n# foo"
  formats "foo x, self // 1"
  formats "foo x, self // 1"
  formats "def a\n  b(\n    1, # x\n    # y\n    a: 1, # x\n    # y\n    b: 2 # z\n  )\nend"
  formats "def a\n  b(\n    1, # x\n    # y\n    a: 1, # x\n    # y\n    b: 2 # z\n  )\nend"
  formats "class Foo\n  # ```\n  # 1\n  # ```\nend\n"
  formats "class Foo\n  # ```\n  # 1\n  # ```\nend\n"
  formats "foo.[]"
  formats "foo.[]"
  formats "<<-FOO\nfoo\nFOO"
  formats "<<-FOO\nfoo\nFOO"
  formats "0u64"
  formats "0u64"
  formats "foo bar # comment\n\n# doc\ndef baz; end"
  formats "foo bar # comment\n\n# doc\ndef baz; end"
  formats "a, b = \nif 1\n2\nend"
  formats "a, b = \nif 1\n2\nend"
  formats "case  1 \n when  .foo? \n 3 \n end"
  formats "case  1 \n when  .foo? \n 3 \n end"
  formats "next  1"
  formats "next  1"
  formats "->{1}"
  formats "->{1}"
  formats "foo 1, # comment\n  do\n  end"
  formats "foo 1, # comment\n  do\n  end"
  formats "[\n1,\n\n2]"
  formats "[\n1,\n\n2]"
  formats "def foo(a, # comment\n        *b)\nend"
  formats "def foo(a, # comment\n        *b)\nend"
  formats "a&+1"
  formats "a&+1"
  formats "foo(1 &+ \n2)"
  formats "foo(1 &+ \n2)"
  formats "alias Foo=\nBar"
  formats "alias Foo=\nBar"
  formats "1   *   2"
  formats "1   *   2"
  formats "foo &.bar.nil?()"
  formats "foo &.bar.nil?()"
  formats "{ {1, 2, 3} }"
  formats "{ {1, 2, 3} }"
  formats "def foo(x, *, z)\nend"
  formats "def foo(x, *, z)\nend"
  formats "foo {;1}"
  formats "foo {;1}"
  formats "(size - 1).downto(0) do |i|\n  yield @buffer[i]\nend"
  formats "(size - 1).downto(0) do |i|\n  yield @buffer[i]\nend"
  formats "1  #foo  \n2  #bar"
  formats "1  #foo  \n2  #bar"
  formats "1*2"
  formats "1*2"
  formats "{ {% for x in 1..2 %}3{% end %}, nil }"
  formats "{ {% for x in 1..2 %}3{% end %}, nil }"
  formats "@x[ 1 ]   +=   2"
  formats "@x[ 1 ]   +=   2"
  formats "macro foo\n  {{\n1 + 2 }}\nend"
  formats "macro foo\n  {{\n1 + 2 }}\nend"
  formats "yield 1\n2"
  formats "yield 1\n2"
  formats "case 1\nwhen a; 2\nelse; b\nend"
  formats "case 1\nwhen a; 2\nelse; b\nend"
  formats "foo(bar(\n  1,\n  baz(2,\n      3,\n     )\n))"
  formats "foo(bar(\n  1,\n  baz(2,\n      3,\n     )\n))"
  formats "def   foo (  x , y ,\n)  \n  end"
  formats "def   foo (  x , y ,\n)  \n  end"
  formats "lib Foo::Bar\nend"
  formats "lib Foo::Bar\nend"
  formats "module Ton\n  macro foo\n    class {{name.id}}\n    end\n  end\nend"
  formats "module Ton\n  macro foo\n    class {{name.id}}\n    end\n  end\nend"
  formats "A = 10\nFOO = 123\nBARBAZ = 1234\n"
  formats "A = 10\nFOO = 123\nBARBAZ = 1234\n"
  formats "next  1  , *2"
  formats "next  1  , *2"
  formats "  <<-HTML\n    hello \n    world   \n    HTML"
  formats "  <<-HTML\n    hello \n    world   \n    HTML"
  formats "def foo\n  # Comment\n\n\nend"
  formats "def foo\n  # Comment\n\n\nend"
  formats "foo &.[](1, 2)"
  formats "foo &.[](1, 2)"
  formats "def foo(\n  @[MyAnn]\n  @[MyAnn]\n  bar,\n\n  @[MyAnn] baz\n); end"
  formats "def foo(\n  @[MyAnn]\n  @[MyAnn]\n  bar,\n\n  @[MyAnn] baz\n); end"
  formats "macro foo\n  %foo{x.id+2}\nend"
  formats "macro foo\n  %foo{x.id+2}\nend"
  formats "lib LibFoo\n  {% begin %}\n    fun foo : Int32\n  {% end %}\nend"
  formats "lib LibFoo\n  {% begin %}\n    fun foo : Int32\n  {% end %}\nend"
  formats "bar do\n  foo <<-X\n  bar\n  X\nend"
  formats "bar do\n  foo <<-X\n  bar\n  X\nend"
  formats "yield( 1 )"
  formats "yield( 1 )"
  formats "lib Foo\n  {% if 1 %}\n    fun foo\n  {% end %}\nend\n\nmacro bar\n  1\nend"
  formats "lib Foo\n  {% if 1 %}\n    fun foo\n  {% end %}\nend\n\nmacro bar\n  1\nend"
  formats "foo 1, # comment\n  # bar\n  do\n  end"
  formats "foo 1, # comment\n  # bar\n  do\n  end"
  formats "1 ? 2 : 3"
  formats "1 ? 2 : 3"
  formats "class Foo;end"
  formats "class Foo;end"
  formats "->Foo.foo!"
  formats "->Foo.foo!"
  formats "if a\n2\n3\nend"
  formats "if a\n2\n3\nend"
  formats "x, y, z = <<-FOO, <<-BAR, <<-BAZ\n  hello\n  FOO\n  world\n  BAR\n  qux\nBAZ"
  formats "x, y, z = <<-FOO, <<-BAR, <<-BAZ\n  hello\n  FOO\n  world\n  BAR\n  qux\nBAZ"
  Unicode bi-directional control characters
    formats "NamedTuple(\"\u202B\": Int32)"
    formats "NamedTuple(\"\u202B\": Int32)"
    formats "NamedTuple(\"\u2068\": Int32)"
    formats "NamedTuple(\"\u2068\": Int32)"
    formats "{\"\u202C\": 1}"
    formats "{\"\u202C\": 1}"
    formats "%q(\u2069)"
    formats "%q(\u2069)"
    formats "%(\u202B)"
    formats "%(\u202B)"
    formats "/\u202A/"
    formats "/\u202A/"
    formats "<<-'EOS'\n\u2066\nEOS"
    formats "<<-'EOS'\n\u2066\nEOS"
    formats "%(\u202C)"
    formats "%(\u202C)"
    formats "<<-'EOS'\n\u202C\nEOS"
    formats "<<-'EOS'\n\u202C\nEOS"
    formats "%Q(\u202B)"
    formats "%Q(\u202B)"
    formats "{\"\u2067\": 1}"
    formats "{\"\u2067\": 1}"
    formats "/\u202E\#{1}/"
    formats "/\u202E\#{1}/"
    formats "/\u2068\#{1}/"
    formats "/\u2068\#{1}/"
    formats "%r(\u202D\#{1})"
    formats "%r(\u202D\#{1})"
    formats "foo(\"\u2069\": 1)"
    formats "foo(\"\u2069\": 1)"
    formats "foo(\"\u2067\": 1)"
    formats "foo(\"\u2067\": 1)"
    formats "\"\\c\u202C\""
    formats "\"\\c\u202C\""
    formats "<<-EOS\n\u2067\nEOS"
    formats "<<-EOS\n\u2067\nEOS"
    formats "%r(\u202B\#{1})"
    formats "%r(\u202B\#{1})"
    formats "<<-EOS\n\u2066\nEOS"
    formats "<<-EOS\n\u2066\nEOS"
    formats "foo(\"\u2068\": 1)"
    formats "foo(\"\u2068\": 1)"
    formats "/\u202B/"
    formats "/\u202B/"
    formats "/\u202D/"
    formats "/\u202D/"
    formats "def foo(\"\u2067\" x)\nend"
    formats "def foo(\"\u2067\" x)\nend"
    formats "<<-'EOS'\n\u202A\nEOS"
    formats "<<-'EOS'\n\u202A\nEOS"
    formats "%w(\u202C)"
    formats "%w(\u202C)"
    formats "NamedTuple(\"\u202A\": Int32)"
    formats "NamedTuple(\"\u202A\": Int32)"
    formats "%w(\u202A)"
    formats "%w(\u202A)"
    formats "\"\u202D\#{1}\""
    formats "\"\u202D\#{1}\""
    formats "<<-EOS\n\u2066\#{1}\nEOS"
    formats "<<-EOS\n\u2066\#{1}\nEOS"
    formats "/\u202E/"
    formats "/\u202E/"
    formats "%i(\u202E)"
    formats "%i(\u202E)"
    formats "%(\u202D)"
    formats "%(\u202D)"
    formats "def foo(\"\u202A\" x)\nend"
    formats "def foo(\"\u202A\" x)\nend"
    formats "%Q(\u2069)"
    formats "%Q(\u2069)"
    formats "<<-EOS\n\u2069\nEOS"
    formats "<<-EOS\n\u2069\nEOS"
    formats "%r(\u2067)"
    formats "%r(\u2067)"
    formats "foo(\"\u202A\": 1)"
    formats "foo(\"\u202A\": 1)"
    formats "%r(\u2069)"
    formats "%r(\u2069)"
    formats "def foo(\"\u2069\" x)\nend"
    formats "def foo(\"\u2069\" x)\nend"
    formats "%r(\u202D)"
    formats "%r(\u202D)"
    formats "%q(\u202D)"
    formats "%q(\u202D)"
    formats "\"\u202C\""
    formats "\"\u202C\""
    formats "\"\\c\u2069\""
    formats "\"\\c\u2069\""
    formats "\"\u202D\""
    formats "\"\u202D\""
    formats "%(\u2067)"
    formats "%(\u2067)"
    formats "%r(\u202B)"
    formats "%r(\u202B)"
    formats "<<-'EOS'\n\u202B\nEOS"
    formats "<<-'EOS'\n\u202B\nEOS"
    formats "def foo(\"\u2066\" x)\nend"
    formats "def foo(\"\u2066\" x)\nend"
    formats "\"\u202E\#{1}\""
    formats "\"\u202E\#{1}\""
    formats "%Q(\u2067)"
    formats "%Q(\u2067)"
    formats "def foo(\"\u202D\" x)\nend"
    formats "def foo(\"\u202D\" x)\nend"
    formats "%(\u202A)"
    formats "%(\u202A)"
    formats "<<-EOS\n\u202D\nEOS"
    formats "<<-EOS\n\u202D\nEOS"
    formats "{\"\u202A\": 1}"
    formats "{\"\u202A\": 1}"
    formats "\"\\c\u202A\""
    formats "\"\\c\u202A\""
    formats "NamedTuple(\"\u202E\": Int32)"
    formats "NamedTuple(\"\u202E\": Int32)"
    formats "/\u202C/"
    formats "/\u202C/"
    formats "%Q(\u2068)"
    formats "%Q(\u2068)"
    formats "%i(\u2068)"
    formats "%i(\u2068)"
    formats "%w(\u202D)"
    formats "%w(\u202D)"
    formats "def foo(\"\u202C\" x)\nend"
    formats "def foo(\"\u202C\" x)\nend"
    formats "\"\\c\u2068\""
    formats "\"\\c\u2068\""
    formats "%q(\u2067)"
    formats "%q(\u2067)"
    formats "foo(\"\u202D\": 1)"
    formats "foo(\"\u202D\": 1)"
    formats "%Q(\u202C)"
    formats "%Q(\u202C)"
    formats "\"\\c\u202E\#{1}\""
    formats "\"\\c\u202E\#{1}\""
    formats "%Q(\u202C\#{1})"
    formats "%Q(\u202C\#{1})"
    formats "def foo(\"\u2068\" x)\nend"
    formats "def foo(\"\u2068\" x)\nend"
    formats "<<-EOS\n\u2069\#{1}\nEOS"
    formats "<<-EOS\n\u2069\#{1}\nEOS"
    formats "{\"\u202D\": 1}"
    formats "{\"\u202D\": 1}"
    formats "<<-EOS\n\u202C\nEOS"
    formats "<<-EOS\n\u202C\nEOS"
    formats "/\u202D\#{1}/"
    formats "/\u202D\#{1}/"
    formats "NamedTuple(\"\u2066\": Int32)"
    formats "NamedTuple(\"\u2066\": Int32)"
    formats "%q(\u2066)"
    formats "%q(\u2066)"
    formats "<<-EOS\n\u202C\#{1}\nEOS"
    formats "<<-EOS\n\u202C\#{1}\nEOS"
    formats "%w(\u202E)"
    formats "%w(\u202E)"
    formats "%i(\u202A)"
    formats "%i(\u202A)"
    formats "{\"\u2068\": 1}"
    formats "{\"\u2068\": 1}"
    formats "NamedTuple(\"\u202C\": Int32)"
    formats "NamedTuple(\"\u202C\": Int32)"
    formats "\"\\c\u202D\#{1}\""
    formats "\"\\c\u202D\#{1}\""
    formats "%i(\u2066)"
    formats "%i(\u2066)"
    formats "<<-'EOS'\n\u2067\nEOS"
    formats "<<-'EOS'\n\u2067\nEOS"
    formats "{\"\u202B\": 1}"
    formats "{\"\u202B\": 1}"
    formats "%r(\u202E)"
    formats "%r(\u202E)"
    formats "\"\u2069\#{1}\""
    formats "\"\u2069\#{1}\""
    formats "%r(\u2069\#{1})"
    formats "%r(\u2069\#{1})"
    formats "%q(\u2068)"
    formats "%q(\u2068)"
    formats "foo(\"\u202C\": 1)"
    formats "foo(\"\u202C\": 1)"
    formats "%r(\u2067\#{1})"
    formats "%r(\u2067\#{1})"
    formats "%r(\u202C)"
    formats "%r(\u202C)"
    formats "{\"\u2069\": 1}"
    formats "{\"\u2069\": 1}"
    formats "\"\u2069\""
    formats "\"\u2069\""
    formats "%q(\u202E)"
    formats "%q(\u202E)"
    formats "%r(\u202C\#{1})"
    formats "%r(\u202C\#{1})"
    formats "/\u202B\#{1}/"
    formats "/\u202B\#{1}/"
    formats "NamedTuple(\"\u2069\": Int32)"
    formats "NamedTuple(\"\u2069\": Int32)"
    formats "/\u2068/"
    formats "/\u2068/"
    formats "%i(\u202D)"
    formats "%i(\u202D)"
    formats "%i(\u202C)"
    formats "%i(\u202C)"
    formats "%r(\u2068\#{1})"
    formats "%r(\u2068\#{1})"
    formats "foo(\"\u202B\": 1)"
    formats "foo(\"\u202B\": 1)"
    formats "\"\\c\u2068\#{1}\""
    formats "\"\\c\u2068\#{1}\""
    formats "<<-EOS\n\u2068\#{1}\nEOS"
    formats "<<-EOS\n\u2068\#{1}\nEOS"
    formats "%q(\u202C)"
    formats "%q(\u202C)"
    formats "<<-EOS\n\u202A\#{1}\nEOS"
    formats "<<-EOS\n\u202A\#{1}\nEOS"
    formats "%(\u202E)"
    formats "%(\u202E)"
    formats "<<-EOS\n\u202D\#{1}\nEOS"
    formats "<<-EOS\n\u202D\#{1}\nEOS"
    formats "{\"\u202E\": 1}"
    formats "{\"\u202E\": 1}"
    formats "\"\u202A\#{1}\""
    formats "\"\u202A\#{1}\""
    formats "%(\u2069)"
    formats "%(\u2069)"
    formats "%w(\u202B)"
    formats "%w(\u202B)"
    formats "<<-'EOS'\n\u202E\nEOS"
    formats "<<-'EOS'\n\u202E\nEOS"
    formats "<<-'EOS'\n\u202D\nEOS"
    formats "<<-'EOS'\n\u202D\nEOS"
    formats "<<-EOS\n\u202E\#{1}\nEOS"
    formats "<<-EOS\n\u202E\#{1}\nEOS"
    formats "%r(\u2066)"
    formats "%r(\u2066)"
    formats "%Q(\u2066)"
    formats "%Q(\u2066)"
    formats "\"\u202B\""
    formats "\"\u202B\""
    formats "<<-EOS\n\u202E\nEOS"
    formats "<<-EOS\n\u202E\nEOS"
    formats "%Q(\u202A\#{1})"
    formats "%Q(\u202A\#{1})"
    formats "def foo(\"\u202B\" x)\nend"
    formats "def foo(\"\u202B\" x)\nend"
    formats "\"\\c\u2067\#{1}\""
    formats "\"\\c\u2067\#{1}\""
    formats "\"\u2068\""
    formats "\"\u2068\""
    formats "\"\u2067\""
    formats "\"\u2067\""
    formats "%Q(\u202E\#{1})"
    formats "%Q(\u202E\#{1})"
    formats "/\u2069/"
    formats "/\u2069/"
    formats "%Q(\u2067\#{1})"
    formats "%Q(\u2067\#{1})"
    formats "%Q(\u2069\#{1})"
    formats "%Q(\u2069\#{1})"
    formats "\"\u202B\#{1}\""
    formats "\"\u202B\#{1}\""
    formats "%w(\u2066)"
    formats "%w(\u2066)"
    formats "\"\u2066\#{1}\""
    formats "\"\u2066\#{1}\""
    formats "%Q(\u202D\#{1})"
    formats "%Q(\u202D\#{1})"
    formats "\"\\c\u202A\#{1}\""
    formats "\"\\c\u202A\#{1}\""
    formats "\"\u202C\#{1}\""
    formats "\"\u202C\#{1}\""
    formats "/\u2066\#{1}/"
    formats "/\u2066\#{1}/"
    formats "\"\\c\u2069\#{1}\""
    formats "\"\\c\u2069\#{1}\""
    formats "NamedTuple(\"\u2067\": Int32)"
    formats "NamedTuple(\"\u2067\": Int32)"
    formats "<<-EOS\n\u202A\nEOS"
    formats "<<-EOS\n\u202A\nEOS"
    formats "/\u202C\#{1}/"
    formats "/\u202C\#{1}/"
    formats "NamedTuple(\"\u202D\": Int32)"
    formats "NamedTuple(\"\u202D\": Int32)"
    formats "%r(\u2066\#{1})"
    formats "%r(\u2066\#{1})"
    formats "/\u2069\#{1}/"
    formats "/\u2069\#{1}/"
    formats "{\"\u2066\": 1}"
    formats "{\"\u2066\": 1}"
    formats "%i(\u2067)"
    formats "%i(\u2067)"
    formats "%(\u2066)"
    formats "%(\u2066)"
    formats "%w(\u2068)"
    formats "%w(\u2068)"
    formats "\"\\c\u202B\#{1}\""
    formats "\"\\c\u202B\#{1}\""
    formats "\"\\c\u202E\""
    formats "\"\\c\u202E\""
    formats "\"\u2068\#{1}\""
    formats "\"\u2068\#{1}\""
    formats "\"\u202A\""
    formats "\"\u202A\""
    formats "<<-'EOS'\n\u2068\nEOS"
    formats "<<-'EOS'\n\u2068\nEOS"
    formats "%r(\u202A)"
    formats "%r(\u202A)"
    formats "\"\\c\u202B\""
    formats "\"\\c\u202B\""
    formats "\"\u202E\""
    formats "\"\u202E\""
    formats "%q(\u202B)"
    formats "%q(\u202B)"
    formats "/\u2067/"
    formats "/\u2067/"
    formats "%(\u2068)"
    formats "%(\u2068)"
    formats "<<-'EOS'\n\u2069\nEOS"
    formats "<<-'EOS'\n\u2069\nEOS"
    formats "%r(\u202A\#{1})"
    formats "%r(\u202A\#{1})"
    formats "<<-EOS\n\u2068\nEOS"
    formats "<<-EOS\n\u2068\nEOS"
    formats "%r(\u202E\#{1})"
    formats "%r(\u202E\#{1})"
    formats "%Q(\u202B\#{1})"
    formats "%Q(\u202B\#{1})"
    formats "\"\\c\u202D\""
    formats "\"\\c\u202D\""
    formats "%Q(\u202E)"
    formats "%Q(\u202E)"
    formats "%i(\u202B)"
    formats "%i(\u202B)"
    formats "\"\\c\u2066\""
    formats "\"\\c\u2066\""
    formats "<<-EOS\n\u2067\#{1}\nEOS"
    formats "<<-EOS\n\u2067\#{1}\nEOS"
    formats "\"\\c\u2066\#{1}\""
    formats "\"\\c\u2066\#{1}\""
    formats "foo(\"\u202E\": 1)"
    formats "foo(\"\u202E\": 1)"
    formats "\"\\c\u202C\#{1}\""
    formats "\"\\c\u202C\#{1}\""
    formats "<<-EOS\n\u202B\nEOS"
    formats "<<-EOS\n\u202B\nEOS"
    formats "<<-EOS\n\u202B\#{1}\nEOS"
    formats "<<-EOS\n\u202B\#{1}\nEOS"
    formats "%Q(\u2066\#{1})"
    formats "%Q(\u2066\#{1})"
    formats "%w(\u2067)"
    formats "%w(\u2067)"
    formats "%Q(\u2068\#{1})"
    formats "%Q(\u2068\#{1})"
    formats "/\u2067\#{1}/"
    formats "/\u2067\#{1}/"
    formats "\"\u2066\""
    formats "\"\u2066\""
    formats "%Q(\u202A)"
    formats "%Q(\u202A)"
    formats "/\u202A\#{1}/"
    formats "/\u202A\#{1}/"
    formats "%r(\u2068)"
    formats "%r(\u2068)"
    formats "%w(\u2069)"
    formats "%w(\u2069)"
    formats "%Q(\u202D)"
    formats "%Q(\u202D)"
    formats "%i(\u2069)"
    formats "%i(\u2069)"
    formats "%q(\u202A)"
    formats "%q(\u202A)"
    formats "\"\u2067\#{1}\""
    formats "\"\u2067\#{1}\""
    formats "def foo(\"\u202E\" x)\nend"
    formats "def foo(\"\u202E\" x)\nend"
    formats "\"\\c\u2067\""
    formats "\"\\c\u2067\""
    formats "foo(\"\u2066\": 1)"
    formats "foo(\"\u2066\": 1)"
    formats "/\u2066/"
    formats "/\u2066/"
  formats "yield( *1  , *2 )"
  formats "yield( *1  , *2 )"
  formats "foo(//, //)"
  formats "foo(//, //)"
  formats "&- 1"
  formats "&- 1"
  formats "if a\n  b &c\nend"
  formats "if a\n  b &c\nend"
  formats "foo = 1\n->foo.foo?"
  formats "foo = 1\n->foo.foo?"
  formats "foo(->do\n  1 + 2\nend)"
  formats "foo(->do\n  1 + 2\nend)"
  formats "# ```text\n# 1 + 2\n# ```\n#\n# ```\n# 3 + 4\n# ```"
  formats "# ```text\n# 1 + 2\n# ```\n#\n# ```\n# 3 + 4\n# ```"
  formats "def a\n  b(\n    a: 1, # x\n    # y\n    b: 2\n  )\nend"
  formats "def a\n  b(\n    a: 1, # x\n    # y\n    b: 2\n  )\nend"
  formats "x  :   (A -> B)?"
  formats "x  :   (A -> B)?"
  formats "with foo yield bar"
  formats "with foo yield bar"
  formats "1   &+   2"
  formats "1   &+   2"
  formats "sizeof( Int32 )"
  formats "sizeof( Int32 )"
  formats "foo.bar(&.%(baz))"
  formats "foo.bar(&.%(baz))"
  formats "lib Foo\nfun foo( ... )  :  Int32\nend"
  formats "lib Foo\nfun foo( ... )  :  Int32\nend"
  formats "foo : A(B)\nbar : C"
  formats "foo : A(B)\nbar : C"
  formats "foo &.bar.responds_to?(:baz)"
  formats "foo &.bar.responds_to?(:baz)"
  formats "module   Moo \n\n 1  \n\nend"
  formats "module   Moo \n\n 1  \n\nend"
  formats "NamedTuple(\n  a: Int32,)"
  formats "NamedTuple(\n  a: Int32,)"
  formats "{ 1   =>   2 }"
  formats "{ 1   =>   2 }"
  formats "x : {A, B, }"
  formats "x : {A, B, }"
  formats "foo[&.bar]?"
  formats "foo[&.bar]?"
  formats "struct   Foo \n\n 1  \n\nend"
  formats "struct   Foo \n\n 1  \n\nend"
  formats "def foo # bar\n  # baz\nend"
  formats "def foo # bar\n  # baz\nend"
  formats "if 1\n  ((1) + 2)\nend"
  formats "if 1\n  ((1) + 2)\nend"
  formats "->do\nend"
  formats "->do\nend"
  formats "foo[x: 1, &.bar] = 1"
  formats "foo[x: 1, &.bar] = 1"
  formats "asm(\"nop\" : \"a\"(0), \"b\"(1)\n: \"c\"(2), \"d\"(3) )"
  formats "asm(\"nop\" : \"a\"(0), \"b\"(1)\n: \"c\"(2), \"d\"(3) )"
  formats "-> : Int32* {}"
  formats "-> : Int32* {}"
  gives proper line number in syntax error inside macro
  gives proper line number in syntax error inside macro
  formats "%<hello>"
  formats "%<hello>"
  formats "def   foo (  x  :  Int32 )  \n  end"
  formats "def   foo (  x  :  Int32 )  \n  end"
  formats "case  1 \n when 2 ; 3 \n end"
  formats "case  1 \n when 2 ; 3 \n end"
  formats "#!shebang\n1 + 2"
  formats "#!shebang\n1 + 2"
  formats "def foo=(x)\nend"
  formats "def foo=(x)\nend"
  formats "unless a\nelse\n2\nend"
  formats "unless a\nelse\n2\nend"
  formats "return {1, 2}, 3"
  formats "return {1, 2}, 3"
  formats "x[ y ] += 1"
  formats "x[ y ] += 1"
  formats "foo({\n  1 => 2,\n  3 => 4,\n  5 => 6,\n})"
  formats "foo({\n  1 => 2,\n  3 => 4,\n  5 => 6,\n})"
  formats "macro foo\n  {{ 1 + 2 }}\\\n 1\n end"
  formats "macro foo\n  {{ 1 + 2 }}\\\n 1\n end"
  formats "->(){}"
  formats "->(){}"
  formats ":foo"
  formats ":foo"
  formats "-> : {Int32} { String }"
  formats "-> : {Int32} { String }"
  formats "break  1  , *2"
  formats "break  1  , *2"
  formats "  <<-HTML\n  foo\nHTML"
  formats "  <<-HTML\n  foo\nHTML"
  formats "lib Foo\nstruct Foo\nx  :  Int32\nend\nend"
  formats "lib Foo\nstruct Foo\nx  :  Int32\nend\nend"
  formats "def bar\n  foo(<<-X,\n  a\n  X\n    1)\nend"
  formats "def bar\n  foo(<<-X,\n  a\n  X\n    1)\nend"
  formats "foo(&.bar)"
  formats "foo(&.bar)"
  formats "macro foo\n  1  \n  {{  \n    42  \n  }}  \n  2  \nend"
  formats "macro foo\n  1  \n  {{  \n    42  \n  }}  \n  2  \nend"
  formats "lib Foo\nalias  Foo  =  Bar -> \n$a : Int32\nend"
  formats "lib Foo\nalias  Foo  =  Bar -> \n$a : Int32\nend"
  formats "def   foo ( x )  :  Int32 \n  end"
  formats "def   foo ( x )  :  Int32 \n  end"
  formats "class Foo\n  enum Bar\n  A; B; C;\n  D; E; F\nend\nend\n"
  formats "class Foo\n  enum Bar\n  A; B; C;\n  D; E; F\nend\nend\n"
  formats "a &.!"
  formats "a &.!"
  formats "a = %w(\n  one two\n  three four\n)"
  formats "a = %w(\n  one two\n  three four\n)"
  formats "responds_to? :foo"
  formats "responds_to? :foo"
  formats "1.!=() { 3 }"
  formats "1.!=() { 3 }"
  formats "case 1 # foo\nwhen 2\nend"
  formats "case 1 # foo\nwhen 2\nend"
  formats "if a\n2\nend"
  formats "if a\n2\nend"
  formats "select\nwhen foo\n  # foo\n  # bar\nelse\n  # foo\n  # bar\nend"
  formats "select\nwhen foo\n  # foo\n  # bar\nelse\n  # foo\n  # bar\nend"
  formats "if 1\nbegin\n2\nensure\n3\nend\nend"
  formats "if 1\nbegin\n2\nensure\n3\nend\nend"
  formats "[\n  # foo\n  1,\n\n  # bar\n  2,\n]"
  formats "[\n  # foo\n  1,\n\n  # bar\n  2,\n]"
  formats "{%\n  if 1\n    2\n  end\n%}"
  formats "{%\n  if 1\n    2\n  end\n%}"
  formats "{\n  \"foo\":    1,\n  \"babraz\": 2,\n}"
  formats "{\n  \"foo\":    1,\n  \"babraz\": 2,\n}"
  formats "if 1 # foo\n2\nend"
  formats "if 1 # foo\n2\nend"
  formats "foo   &.==(2)"
  formats "foo   &.==(2)"
  formats "def foo(x)\n  case //\n  when //\n    3\n  end\nend"
  formats "def foo(x)\n  case //\n  when //\n    3\n  end\nend"
  formats "begin\n  a\nend.b { }\nc"
  formats "begin\n  a\nend.b { }\nc"
  formats "x  =   uninitialized   Int32"
  formats "x  =   uninitialized   Int32"
  formats "foo ()"
  formats "foo ()"
  formats "[/ /, / /]"
  formats "[/ /, / /]"
  formats "def foo( & )\nend"
  formats "def foo( & )\nend"
  formats "::Tuple(T)"
  formats "::Tuple(T)"
  formats "1\n.as(Int32)"
  formats "1\n.as(Int32)"
  formats "if # some comment\n 2 # another\n 3 # final \n end # end "
  formats "if # some comment\n 2 # another\n 3 # final \n end # end "
  formats "if 0\n1 &&\n2 &&\n3\nend"
  formats "if 0\n1 &&\n2 &&\n3\nend"
  formats "macro foo\n  {% for value, i in values %}\\\n    {% if true %}\\\n    {% end %}\\\n    {{ 1 }}/\n  {% end %}\\\nend\n\n{\n  1 => 2,\n  1234 => 5,\n}\n"
  formats "macro foo\n  {% for value, i in values %}\\\n    {% if true %}\\\n    {% end %}\\\n    {{ 1 }}/\n  {% end %}\\\nend\n\n{\n  1 => 2,\n  1234 => 5,\n}\n"
  formats "\"\\\\\\\"\\#\\a\\b\\n\\r\\t\#{foo}\\v\\f\\e\""
  formats "\"\\\\\\\"\\#\\a\\b\\n\\r\\t\#{foo}\\v\\f\\e\""
  formats "1   if   2"
  formats "1   if   2"
  formats "foo(\n1,\n\n 2  \n)"
  formats "foo(\n1,\n\n 2  \n)"
  formats "return { 1 ,  2 }"
  formats "return { 1 ,  2 }"
  formats "1 &&\n2"
  formats "1 &&\n2"
  formats "foo[1, &.bar] = 1"
  formats "foo[1, &.bar] = 1"
  formats "def foo(\n  foo,\n\n  @[MyAnn]\n  &block\n); end"
  formats "def foo(\n  foo,\n\n  @[MyAnn]\n  &block\n); end"
  formats "def foo(\n  a,\n  &block\n)\nend"
  formats "def foo(\n  a,\n  &block\n)\nend"
  formats "{\n  <<-KEY => 1,\n  key\n  KEY\n}"
  formats "{\n  <<-KEY => 1,\n  key\n  KEY\n}"
  formats "yield 1 , \n2"
  formats "yield 1 , \n2"
  formats "break( 1 , 2 )"
  formats "break( 1 , 2 )"
  formats "1.<=() { 3 }"
  formats "1.<=() { 3 }"
  formats "a = foo &.bar do\n  1 + 2\nend"
  formats "a = foo &.bar do\n  1 + 2\nend"
  formats "foo &.[]=(  1, 2  )"
  formats "foo &.[]=(  1, 2  )"
  formats "next {1, 2}, {3, 4}"
  formats "next {1, 2}, {3, 4}"
  formats "yield  *1  ,2"
  formats "yield  *1  ,2"
  formats "asm(\"nop\" :::: \"volatile\"  , \"alignstack\"  ,  \"intel\"   )"
  formats "asm(\"nop\" :::: \"volatile\"  , \"alignstack\"  ,  \"intel\"   )"
  formats "foo(self // 1)"
  formats "foo(self // 1)"
  formats "foo : self? | A"
  formats "foo : self? | A"
  formats "class Foo\n# nothing\nend"
  formats "class Foo\n# nothing\nend"
  formats ":<<"
  formats ":<<"
  formats "->: Int32 do\nx\nend"
  formats "->: Int32 do\nx\nend"
  formats "foo[x: 1, &.bar]"
  formats "foo[x: 1, &.bar]"
  formats "def foo(x, **z, &block)\nend"
  formats "def foo(x, **z, &block)\nend"
  formats "- 1"
  formats "- 1"
  formats "あ.い, う.え.お = 1, 2"
  formats "あ.い, う.え.お = 1, 2"
  formats "# Hello\n#\n# ```\n# puts 1+2 # bye\n# 1+2 # hello\n#\n# 1+2\n# ```\n\n# ```\n# puts 1+2\n\n# ```\n# puts 1+2\n\n# Hola\n#\n#     1+2\n#     foo do\n#     3+4\n#     end\n\n# Hey\n#\n#     1+2\n#     foo do\n#     3+4\n#     end\n#\n# ```\n# 1+2\n# ```\n#\n#     1+2\n#\n# Bye\n"
  formats "# Hello\n#\n# ```\n# puts 1+2 # bye\n# 1+2 # hello\n#\n# 1+2\n# ```\n\n# ```\n# puts 1+2\n\n# ```\n# puts 1+2\n\n# Hola\n#\n#     1+2\n#     foo do\n#     3+4\n#     end\n\n# Hey\n#\n#     1+2\n#     foo do\n#     3+4\n#     end\n#\n# ```\n# 1+2\n# ```\n#\n#     1+2\n#\n# Bye\n"
  formats "->foo?"
  formats "->foo?"
  formats "asm(\"a\" : : :: \"volatile\")"
  formats "asm(\"a\" : : :: \"volatile\")"
  formats "a = if 1\n2\nelse\n3\nend"
  formats "a = if 1\n2\nelse\n3\nend"
  formats "foo(\n# x\n1,\n\n# y\nz: 2\n)"
  formats "foo(\n# x\n1,\n\n# y\nz: 2\n)"
  formats "<<-HTML\n  hello \n  world   \n  HTML"
  formats "<<-HTML\n  hello \n  world   \n  HTML"
  formats "class   Foo \n\n 1  \n\nend"
  formats "class   Foo \n\n 1  \n\nend"
  formats "foo : (A) | D"
  formats "foo : (A) | D"
  formats "return { {1, 2}, {3, 4} }, 5"
  formats "return { {1, 2}, {3, 4} }, 5"
  formats "\"\#{\"\#{foo}\"}\""
  formats "\"\#{\"\#{foo}\"}\""
  formats "pointerof( @a )"
  formats "pointerof( @a )"
  formats "{% if true %}\n  # x\n{% end %}"
  formats "{% if true %}\n  # x\n{% end %}"
  formats "yield(1 , \n2)"
  formats "yield(1 , \n2)"
  formats "def foo(  @[MyAnn]  v  ); end"
  formats "def foo(  @[MyAnn]  v  ); end"
  formats "1  ||  2"
  formats "1  ||  2"
  formats "def foo\na = bar do\n1\nend\nend"
  formats "def foo\na = bar do\n1\nend\nend"
  formats "asm(\"nop\" : \"a\"(0)\n: \"b\"(1), \"c\"(2) )"
  formats "asm(\"nop\" : \"a\"(0)\n: \"b\"(1), \"c\"(2) )"
  formats "{1 => 2,\n  3 => 4, # lala\n}\n"
  formats "{1 => 2,\n  3 => 4, # lala\n}\n"
  formats "Hash{\n  foo => <<-EOF\n  foo\n  EOF\n}"
  formats "Hash{\n  foo => <<-EOF\n  foo\n  EOF\n}"
  formats "foo = 1\n->foo.[]=(Int32)"
  formats "foo = 1\n->foo.[]=(Int32)"
  formats "if 1\n[   1  ,    2  ,    3  ]\nend"
  formats "if 1\n[   1  ,    2  ,    3  ]\nend"
  formats "foo[&.bar]"
  formats "foo[&.bar]"
  formats "   {{\n1 + 2 }}"
  formats "   {{\n1 + 2 }}"
  formats "Foo(  * T, { * A  ,*\n  B } )"
  formats "Foo(  * T, { * A  ,*\n  B } )"
  formats "yield  *1"
  formats "yield  *1"
  formats "<<-HTML\n  \#{\"foo\"}\n  \#{\"bar\"}\n  HTML"
  formats "<<-HTML\n  \#{\"foo\"}\n  \#{\"bar\"}\n  HTML"
  formats "foo(1, ) { }"
  formats "foo(1, ) { }"
  formats "1.!=(2) { 3 }"
  formats "1.!=(2) { 3 }"
  formats "instance_sizeof( Int32 )"
  formats "instance_sizeof( Int32 )"
  formats "foo . bar"
  formats "foo . bar"
  formats "@x : A(B | C)?"
  formats "@x : A(B | C)?"
  formats "class Actor\n  macro inherited\nend\nend\n"
  formats "class Actor\n  macro inherited\nend\nend\n"
  formats "foo ( )"
  formats "foo ( )"
  formats "asm(\"a\" :: \"d\"(e)\n)"
  formats "asm(\"a\" :: \"d\"(e)\n)"
  formats "def foo : A | B(C)\n  nil\nend"
  formats "def foo : A | B(C)\n  nil\nend"
  formats "bar = foo({\n        1 => 2,\n        3 => 4,\n        5 => 6,\n      })"
  formats "bar = foo({\n        1 => 2,\n        3 => 4,\n        5 => 6,\n      })"
  formats "break  1"
  formats "break  1"
  formats "::foo(1, 2)"
  formats "::foo(1, 2)"
  formats "foo &.bar do\n  1 + 2\nend"
  formats "foo &.bar do\n  1 + 2\nend"
  formats "if a\n2\nelse\n3\nend"
  formats "if a\n2\nelse\n3\nend"
  formats "->{\n  # first comment\n  puts \"hi\"\n  # second comment\n}"
  formats "->{\n  # first comment\n  puts \"hi\"\n  # second comment\n}"
  formats "foo : (A -> B)\nbar : C"
  formats "foo : (A -> B)\nbar : C"
  formats "def foo(\nx, #foo\nz #bar\n)\nend"
  formats "def foo(\nx, #foo\nz #bar\n)\nend"
  formats "foo 1,\na: 1,\nb: 2,\nc: 3"
  formats "foo 1,\na: 1,\nb: 2,\nc: 3"
  formats "::Pointer(T)"
  formats "::Pointer(T)"
  formats "select\n# when foo\nwhen bar\n  break\nend"
  formats "select\n# when foo\nwhen bar\n  break\nend"
  formats "bar = foo(->do\n  1 + 2\nend)"
  formats "bar = foo(->do\n  1 + 2\nend)"
  formats "foo(\n  <<-HERE,\n  hello\n  HERE\n  # foo\n  foo: 1,\n)"
  formats "foo(\n  <<-HERE,\n  hello\n  HERE\n  # foo\n  foo: 1,\n)"
  formats "foo(1, / /)"
  formats "foo(1, / /)"
  formats "case 1\nelse\n  2\nend"
  formats "case 1\nelse\n  2\nend"
  formats "{ {1 => 2} }"
  formats "{ {1 => 2} }"
  formats "# ```text\n#  1  +  2\n# ```"
  formats "# ```text\n#  1  +  2\n# ```"
  formats "def   foo (  x ,\n y )  \n  end"
  formats "def   foo (  x ,\n y )  \n  end"
  formats "begin\n  # Comment\n\n\nend"
  formats "begin\n  # Comment\n\n\nend"
  formats "1 ?\n  2    :   \n 3"
  formats "1 ?\n  2    :   \n 3"
  formats "if a\n    # hello\n 2\nend"
  formats "if a\n    # hello\n 2\nend"
  formats "case 0\nwhen 0 then 1; 2\n# Comments\nend"
  formats "case 0\nwhen 0 then 1; 2\n# Comments\nend"
  formats "true"
  formats "true"
  formats "x =  <<-EOF\n 1\nEOF"
  formats "x =  <<-EOF\n 1\nEOF"
  formats "1234 # foo\n1 # bar"
  formats "1234 # foo\n1 # bar"
  formats "while 1\n2  # foo\nend"
  formats "while 1\n2  # foo\nend"
  formats "foo.as? ( Int32* )"
  formats "foo.as? ( Int32* )"
  formats "break"
  formats "break"
  formats "begin\n  ()\nend"
  formats "begin\n  ()\nend"
  formats "@[Foo(\n  foo: 1\n)]\ndef foo\nend"
  formats "@[Foo(\n  foo: 1\n)]\ndef foo\nend"
  formats "1 \\\nensure 2"
  formats "1 \\\nensure 2"
  formats "a = case 1\n    when 1, # 1\n         2, # 2\n         3  # 3\n      1\n    end"
  formats "a = case 1\n    when 1, # 1\n         2, # 2\n         3  # 3\n      1\n    end"
  formats "def foo(x)\n  {% if true %}\n    # comment\n    Foo = 1\n    B   = 2\n  {% end %}\nend"
  formats "def foo(x)\n  {% if true %}\n    # comment\n    Foo = 1\n    B   = 2\n  {% end %}\nend"
  formats "foo(\n  [\n    1,\n    2,\n  ],\n  [\n    3,\n    4,\n  ]\n)"
  formats "foo(\n  [\n    1,\n    2,\n  ],\n  [\n    3,\n    4,\n  ]\n)"
  formats "macro foo=(x)\nend"
  formats "macro foo=(x)\nend"
  formats "a = / /"
  formats "a = / /"
  formats "macro foo\n  if 1\n 1 + 2\n end\nend"
  formats "macro foo\n  if 1\n 1 + 2\n end\nend"
  formats "1\n# hello\n\n\n"
  formats "1\n# hello\n\n\n"
  formats "-> :: Foo . foo!"
  formats "-> :: Foo . foo!"
  formats "def   foo (  @select)  \n  end"
  formats "def   foo (  @select)  \n  end"
  formats "#### ###"
  formats "#### ###"
  formats "foo(a: 1 // 2)"
  formats "foo(a: 1 // 2)"
  formats "def foo(**z, &block)\nend"
  formats "def foo(**z, &block)\nend"
  formats "foo(\n  1,\n  2\n) do\n  1\nend"
  formats "foo(\n  1,\n  2\n) do\n  1\nend"
  formats "next { 1 ,  2 }"
  formats "next { 1 ,  2 }"
  formats "-> : Int32 | String { 1 }"
  formats "-> : Int32 | String { 1 }"
  formats "def foo(x : (   A  |  B   )) : (   A  |  B   )\nend"
  formats "def foo(x : (   A  |  B   )) : (   A  |  B   )\nend"
  formats "return( 1 )"
  formats "return( 1 )"
  formats "foo[1, &.bar]?"
  formats "foo[1, &.bar]?"
  formats "extend  Foo"
  formats "extend  Foo"
  formats "asm(\"a\" : \"b\"(c) : \"d\"(e)\n        : \"f\")"
  formats "asm(\"a\" : \"b\"(c) : \"d\"(e)\n        : \"f\")"
  formats "foo : Foo * * * * *"
  formats "foo : Foo * * * * *"
  formats "{1 => 2, 3 => 4}\n{5234234 => 234098234, 7 => 8}"
  formats "{1 => 2, 3 => 4}\n{5234234 => 234098234, 7 => 8}"
  formats "a.b &.[c]?\n1"
  formats "a.b &.[c]?\n1"
  formats "fun foo(x : Int32) : Int32\n  1\nend"
  formats "fun foo(x : Int32) : Int32\n  1\nend"
  formats "foo.bar do\n  baz\n    .b\nend"
  formats "foo.bar do\n  baz\n    .b\nend"
  formats "case\n# hello\nwhen 1\n  2\nend"
  formats "case\n# hello\nwhen 1\n  2\nend"
  formats "x.try &.[]= 123, 456"
  formats "x.try &.[]= 123, 456"
  formats "foo(  1  ,   2 )"
  formats "foo(  1  ,   2 )"
  formats "return 1, {2, 3}"
  formats "return 1, {2, 3}"
  formats "->( x , y )   { x }"
  formats "->( x , y )   { x }"
  formats "foo &.[]?(1, 2)"
  formats "foo &.[]?(1, 2)"
  formats "def foo(@[AnnOne]   @[AnnTwo]   &block : Int32 ->  ); end"
  formats "def foo(@[AnnOne]   @[AnnTwo]   &block : Int32 ->  ); end"
  formats "lib Foo\nfun foo(x : Int32, ... )  :  Int32\nend"
  formats "lib Foo\nfun foo(x : Int32, ... )  :  Int32\nend"
  formats "->( ){ x }"
  formats "->( ){ x }"
  formats "if 1 &&\n2 &&\n3\n4\nend"
  formats "if 1 &&\n2 &&\n3\n4\nend"
  formats "case / /\nwhen /x/, / /\n  / /\nend"
  formats "case / /\nwhen /x/, / /\n  / /\nend"
  formats "def   foo (  bar  @select)  \n  end"
  formats "def   foo (  bar  @select)  \n  end"
  formats "x = {% if flag?(:foo) %}\n      foo  +  bar\n    {% else %}\n      baz  +  qux\n    {% end %}"
  formats "x = {% if flag?(:foo) %}\n      foo  +  bar\n    {% else %}\n      baz  +  qux\n    {% end %}"
  formats "lib Foo\n  fun foo =\n    \"bar\"(Int32) : Int32\nend"
  formats "lib Foo\n  fun foo =\n    \"bar\"(Int32) : Int32\nend"
  formats "foo(\"bar\": 1, \"baz qux\": 2)"
  formats "foo(\"bar\": 1, \"baz qux\": 2)"
  formats "bar = foo([\n  1,\n  2,\n  3,\n])"
  formats "bar = foo([\n  1,\n  2,\n  3,\n])"
  formats "foo = 1\n->foo.bar=(Int32)"
  formats "foo = 1\n->foo.bar=(Int32)"
  formats "foo do  | x , y | \n x \n end"
  formats "foo do  | x , y | \n x \n end"
  formats "{1, 2, 3}"
  formats "{1, 2, 3}"
  formats "if 1\n[\n  a() # b\n]\nend"
  formats "if 1\n[\n  a() # b\n]\nend"
  formats "self.as(Int32)"
  formats "self.as(Int32)"
  formats "if 1\ncase 1\nwhen 2\n3\nend\nend"
  formats "if 1\ncase 1\nwhen 2\n3\nend\nend"
  formats "next 1, {2, 3}"
  formats "next 1, {2, 3}"
  formats "lib Foo\nstruct Foo\nx  :  Int32\ny : Float64\nend\nend"
  formats "lib Foo\nstruct Foo\nx  :  Int32\ny : Float64\nend\nend"
  formats "foo(1,\n  &.bar)"
  formats "foo(1,\n  &.bar)"
  formats "macro foo(\n  a,\n  *b,\n)\nend"
  formats "macro foo(\n  a,\n  *b,\n)\nend"
  formats "1.<= { 3 }"
  formats "1.<= { 3 }"
  formats "if a\n2; 3\nelse\n3\nend"
  formats "if a\n2; 3\nelse\n3\nend"
  formats "! 1"
  formats "! 1"
  formats "foo(\n  1,\n) {\n  2\n}"
  formats "foo(\n  1,\n) {\n  2\n}"
  formats "def foo(@[MyAnn] & : String -> Nil); end"
  formats "def foo(@[MyAnn] & : String -> Nil); end"
  formats "begin\n  select\n  when foo\n    # foo\n    # bar\n  else\n    # foo\n    # bar\n  end\nend"
  formats "begin\n  select\n  when foo\n    # foo\n    # bar\n  else\n    # foo\n    # bar\n  end\nend"
  formats "1 .. 2"
  formats "1 .. 2"
  formats "->foo"
  formats "->foo"
  formats "foo(/ /)"
  formats "foo(/ /)"
  formats "1.[]=() { 3 }"
  formats "1.[]=() { 3 }"
  formats "foo(A |\nB |\nC)"
  formats "foo(A |\nB |\nC)"
  formats "10 // a"
  formats "10 // a"
  formats "a = foo(baz1 do\nend)"
  formats "a = foo(baz1 do\nend)"
  formats "$~.bar"
  formats "$~.bar"
  formats "{%\n  if true\n    1\n  else\n    2\n  end\n%}"
  formats "{%\n  if true\n    1\n  else\n    2\n  end\n%}"
  formats "x  :   (A -> )"
  formats "x  :   (A -> )"
  formats "foo.bar = \n1"
  formats "foo.bar = \n1"
  formats "1   >   2"
  formats "1   >   2"
  formats "\"\#{\"foo\"}\""
  formats "\"\#{\"foo\"}\""
  formats "require \"foo\"\n\n@x : Int32\n\nclass Bar\nend"
  formats "require \"foo\"\n\n@x : Int32\n\nclass Bar\nend"
  formats "1   ;\n    2"
  formats "1   ;\n    2"
  formats "def foo()\n1\nend"
  formats "def foo()\n1\nend"
  formats "   {%\na = 1\n   %}"
  formats "   {%\na = 1\n   %}"
  formats "foo[] =1"
  formats "foo[] =1"
  formats "def foo(a : T, b : U) forall T, U         #\n  #\nend"
  formats "def foo(a : T, b : U) forall T, U         #\n  #\nend"
  formats "def foo(x)\n  case self // x\n  when 2\n    3\n  end\nend"
  formats "def foo(x)\n  case self // x\n  when 2\n    3\n  end\nend"
  formats "class Foo\ndef foo\n1\nensure\n2\nend\nend"
  formats "class Foo\ndef foo\n1\nensure\n2\nend\nend"
  formats "begin\n 0[1] rescue 2 end"
  formats "begin\n 0[1] rescue 2 end"
  formats "%w(one   two  three)"
  formats "%w(one   two  three)"
  formats "->( x )\n:\nInt32 { }"
  formats "->( x )\n:\nInt32 { }"
  formats "foo { | ( a, *b , c ) | a }"
  formats "foo { | ( a, *b , c ) | a }"
  formats "struct Foo\n  # bar\n  # baz\n1\nend"
  formats "struct Foo\n  # bar\n  # baz\n1\nend"
  formats "long_variable_name = [{\n  :foo => 1,\n}, {\n  :bar => 2,\n}]"
  formats "long_variable_name = [{\n  :foo => 1,\n}, {\n  :bar => 2,\n}]"
  formats "abstract def foo\nabstract def bar"
  formats "abstract def foo\nabstract def bar"
  formats "foo 1, a: 1,\nb: 2,\nc: 3,\n&block"
  formats "foo 1, a: 1,\nb: 2,\nc: 3,\n&block"
  formats "inner &.color=(@color)\n1"
  formats "inner &.color=(@color)\n1"
  formats "1.as   Int32"
  formats "1.as   Int32"
  formats "foo &.responds_to?(:foo).bar"
  formats "foo &.responds_to?(:foo).bar"
  formats "require   \"foo\""
  formats "require   \"foo\""
  formats "foo.bar. as?   Int32"
  formats "foo.bar. as?   Int32"
  formats "1 == / /"
  formats "1 == / /"
  formats "nil?"
  formats "nil?"
  formats "foo{|x| x}"
  formats "foo{|x| x}"
  formats "%(\n1\n)\n\n{\n    1 => 2,\n  234 => 5,\n}"
  formats "%(\n1\n)\n\n{\n    1 => 2,\n  234 => 5,\n}"
  formats "$0"
  formats "$0"
  formats "# Hello\n#\n# ```cr\n#   1\n# ```\n# Bye"
  formats "# Hello\n#\n# ```cr\n#   1\n# ```\n# Bye"
  formats "{%\n  unless true\n    1\n  end\n%}"
  formats "{%\n  unless true\n    1\n  end\n%}"
  formats "x.try &.[] 123"
  formats "x.try &.[] 123"
  formats "<<-FOO\n1\nFOO\n\n{\n   1 => 2,\n  10 => 3,\n}"
  formats "<<-FOO\n1\nFOO\n\n{\n   1 => 2,\n  10 => 3,\n}"
  formats "$?.bar"
  formats "$?.bar"
  formats "->(x : Int32) { }"
  formats "->(x : Int32) { }"
  formats "foo   &.responds_to?(:foo)"
  formats "foo   &.responds_to?(:foo)"
  formats "if a\nelse\n2\nend"
  formats "if a\nelse\n2\nend"
  formats "foo(\"b\#{1}\" \\\n\"baz\")"
  formats "foo(\"b\#{1}\" \\\n\"baz\")"
  formats "`foo`"
  formats "`foo`"
  formats "<<-HTML\n  \#{1}x\n  y\n  HTML"
  formats "<<-HTML\n  \#{1}x\n  y\n  HTML"
  formats ":&**"
  formats ":&**"
  formats "  <<-HTML\n  \#{1} \#{2}\n  HTML"
  formats "  <<-HTML\n  \#{1} \#{2}\n  HTML"
  formats "def foo\nend\n\n\n\ndef bar\nend"
  formats "def foo\nend\n\n\n\ndef bar\nend"
  formats "@[Foo]"
  formats "@[Foo]"
  formats "def foo(\n  **a\n  # comment\n)\n  1\nend"
  formats "def foo(\n  **a\n  # comment\n)\n  1\nend"
  formats "foo do\n  {{ foo <<-X\n  bar\n  X\n  }}\nend"
  formats "foo do\n  {{ foo <<-X\n  bar\n  X\n  }}\nend"
  formats "asm(\n\"nop\"\n)"
  formats "asm(\n\"nop\"\n)"
  formats "asm(\"a\" : :: : \"volatile\")"
  formats "asm(\"a\" : :: : \"volatile\")"
  formats "foo{}"
  formats "foo{}"
  formats "@foo : Int32 # comment\n\ndef foo\nend"
  formats "@foo : Int32 # comment\n\ndef foo\nend"
  formats "foo[a, b: 2]"
  formats "foo[a, b: 2]"
  formats "@[::Foo::Bar]"
  formats "@[::Foo::Bar]"
  formats "Foo( Bar(  ) )"
  formats "Foo( Bar(  ) )"
  formats "[\n  {\n    1 => 2,\n  }, {\n    3 => 4,\n  }, {\n    5 => 6,\n  },\n]"
  formats "[\n  {\n    1 => 2,\n  }, {\n    3 => 4,\n  }, {\n    5 => 6,\n  },\n]"
  formats "def foo\n  1\nend\n\n# Comment\n\ndef bar\n  2\nend"
  formats "def foo\n  1\nend\n\n# Comment\n\ndef bar\n  2\nend"
  formats "foo { | a, ( _ , c ) | a + c }"
  formats "foo { | a, ( _ , c ) | a + c }"
  formats "yield (1).foo"
  formats "yield (1).foo"
  formats "foo[ 1 , 2 ]"
  formats "foo[ 1 , 2 ]"
  formats "foo.[1]"
  formats "foo.[1]"
  formats "while / /\nend"
  formats "while / /\nend"
  formats "->@foo.foo="
  formats "->@foo.foo="
  formats "foo  x:  1"
  formats "foo  x:  1"
  formats "lib Foo\n  fun bar = Bar\nend"
  formats "lib Foo\n  fun bar = Bar\nend"
  formats "def   foo(x   :  (A | B)) \n  end"
  formats "def   foo(x   :  (A | B)) \n  end"
  formats "def foo\n@x  :  Int32\nend"
  formats "def foo\n@x  :  Int32\nend"
  formats "foo : self?"
  formats "foo : self?"
  formats "1\n\n2"
  formats "1\n\n2"
  formats "foo({\nbar: 1,\n})"
  formats "foo({\nbar: 1,\n})"
  formats "def foo( x , & block  :   ->)\nend"
  formats "def foo( x , & block  :   ->)\nend"
  formats "(a).b { }\nc"
  formats "(a).b { }\nc"
  formats "foo : Foo*****"
  formats "foo : Foo*****"
  formats "while 1\n2\nend"
  formats "while 1\n2\nend"
  formats "unless a\nunless b\nelse\n4\nend\nend"
  formats "unless a\nunless b\nelse\n4\nend\nend"
  formats "case  1 \n when 2 \n 3 \n when 4 \n 5 \n end"
  formats "case  1 \n when 2 \n 3 \n when 4 \n 5 \n end"
  formats "->Foo.foo?"
  formats "->Foo.foo?"
  formats "{% begin %}\n  \"\n    foo\"\n{% end %}"
  formats "{% begin %}\n  \"\n    foo\"\n{% end %}"
  formats "lib Foo\n  fun foo = bar(Int32) : Int32\nend"
  formats "lib Foo\n  fun foo = bar(Int32) : Int32\nend"
  formats "yield  *1  , *2"
  formats "yield  *1  , *2"
  formats "0_u64"
  formats "0_u64"
  formats "\"1\#{\"4\#{\"\#{\"2\"}\"}3\"}3\#{__DIR__}4\#{5}6\""
  formats "\"1\#{\"4\#{\"\#{\"2\"}\"}3\"}3\#{__DIR__}4\#{5}6\""
  formats "foo : StaticArray(Foo, 12)[34]"
  formats "foo : StaticArray(Foo, 12)[34]"
  formats "lib Foo\n  fun foo = bar(Int32) : Int32\nend"
  formats "lib Foo\n  fun foo = bar(Int32) : Int32\nend"
  formats "a = b = 1\na, b =\n  b, a"
  formats "a = b = 1\na, b =\n  b, a"
  formats "def foo\n  <<-FOO\n  foo \#{1}\n  FOO\nend"
  formats "def foo\n  <<-FOO\n  foo \#{1}\n  FOO\nend"
  formats "->{}"
  formats "->{}"
  formats "def   foo (  &@block)  \n  end"
  formats "def   foo (  &@block)  \n  end"
  formats "def foo(a, **b, # comment\n        &block)\nend"
  formats "def foo(a, **b, # comment\n        &block)\nend"
  formats "1 # foo\n/ 1 /"
  formats "1 # foo\n/ 1 /"
  formats "yield(\n1 , \n2)"
  formats "yield(\n1 , \n2)"
  formats "def foo\n1\nensure\n2\nend"
  formats "def foo\n1\nensure\n2\nend"
  formats "-> : Array(Int32) {}"
  formats "-> : Array(Int32) {}"
  formats "(())"
  formats "(())"
  formats "{ \"foo\":  1 }"
  formats "{ \"foo\":  1 }"
  formats "foo([\n  1,\n  bar do\n  end,\n  [\n    2,\n  ],\n])"
  formats "foo([\n  1,\n  bar do\n  end,\n  [\n    2,\n  ],\n])"
  formats "module Moo ( T )\nend"
  formats "module Moo ( T )\nend"
  formats "# ```\n# macro foo\n#   1\n# end\n# ```\n"
  formats "# ```\n# macro foo\n#   1\n# end\n# ```\n"
  formats "if 1\n1\n\n# foo\nend"
  formats "if 1\n1\n\n# foo\nend"
  formats "asm(\"nop\" ::: \"eax\" )"
  formats "asm(\"nop\" ::: \"eax\" )"
  formats "String?"
  formats "String?"
  formats "[] of Foo"
  formats "[] of Foo"
  formats "\"hel\nlo\""
  formats "\"hel\nlo\""
  formats "1 + \\\n2\n3"
  formats "1 + \\\n2\n3"
  formats "foo.bar # comment\n  .baz"
  formats "foo.bar # comment\n  .baz"
  formats "module Foo\n1\n\n# foo\nend"
  formats "module Foo\n1\n\n# foo\nend"
  formats "foo.as(T).bar"
  formats "foo.as(T).bar"
  formats "alias A = (B) -> C"
  formats "alias A = (B) -> C"
  formats "next  *1  ,2"
  formats "next  *1  ,2"
  formats "foo a , **b"
  formats "foo a , **b"
  formats "<<-HTML\n  \#{\"fo\#{\"o\"}\"}\n  HTML"
  formats "<<-HTML\n  \#{\"fo\#{\"o\"}\"}\n  HTML"
  formats "if 1\nif 2\n3 # foo\nend\nend"
  formats "if 1\nif 2\n3 # foo\nend\nend"
  formats "foo 1,\n2"
  formats "foo 1,\n2"
  formats "__DIR__"
  formats "__DIR__"
  formats "def foo : self | Nil\n  nil\nend"
  formats "def foo : self | Nil\n  nil\nend"
  formats "def foo\n  {{@type}}\nend"
  formats "def foo\n  {{@type}}\nend"
  formats "[1, 2,\n  3, 4]\n"
  formats "[1, 2,\n  3, 4]\n"
  formats "@[Foo(\n  1,\n)]"
  formats "@[Foo(\n  1,\n)]"
  formats "foo(\n 1, # hola\n2, # chau\n )"
  formats "foo(\n 1, # hola\n2, # chau\n )"
  formats "foo(1 + \n2)"
  formats "foo(1 + \n2)"
  formats "{\n    1 => 2, 3 => 4,\n  567 => 8910,\n}"
  formats "{\n    1 => 2, 3 => 4,\n  567 => 8910,\n}"
  formats "macro foo\n  {% if 1 %} 2 {% elsif 3 %} 4 {% else %} 5 {% end %}\nend"
  formats "macro foo\n  {% if 1 %} 2 {% elsif 3 %} 4 {% else %} 5 {% end %}\nend"
  formats "a = 1\ncase\nwhen 2\nelse\n  a /= 3\nend"
  formats "a = 1\ncase\nwhen 2\nelse\n  a /= 3\nend"
  formats "x : Int32 |\nString"
  formats "x : Int32 |\nString"
  formats "def /(x)\n  1\nend"
  formats "def /(x)\n  1\nend"
  formats "def   foo (  x , y )  \n  end"
  formats "def   foo (  x , y )  \n  end"
  formats "foo.[] = 1"
  formats "foo.[] = 1"
  formats "%x(foo \#{ bar })"
  formats "%x(foo \#{ bar })"
  formats "{% if z %}\n  class   Foo\n  end\n{% end %}"
  formats "{% if z %}\n  class   Foo\n  end\n{% end %}"
  formats "def foo(\n  a,\n  b\n)\nend"
  formats "def foo(\n  a,\n  b\n)\nend"
  formats "macro foo\n  macro bar\n    \\{% begin %}\n      \\\\{% puts %}\n    \\{% end %}\n  end\nend"
  formats "macro foo\n  macro bar\n    \\{% begin %}\n      \\\\{% puts %}\n    \\{% end %}\n  end\nend"
  formats "return  *1  , *2"
  formats "return  *1  , *2"
  formats "%w{one(   two(  three)}"
  formats "%w{one(   two(  three)}"
  formats "foo &.bar.nil?"
  formats "foo &.bar.nil?"
  formats "x  :   (A | B)"
  formats "x  :   (A | B)"
  formats "-> :: Foo . foo"
  formats "-> :: Foo . foo"
  formats "def foo\n  1\n  # Comment\n\n\nend"
  formats "def foo\n  1\n  # Comment\n\n\nend"
  formats "begin\n1\nrescue   Int32 \n3\nend"
  formats "begin\n1\nrescue   Int32 \n3\nend"
  formats "module M\n  @[MyAnn(\n    1\n\n  )]\nend"
  formats "module M\n  @[MyAnn(\n    1\n\n  )]\nend"
  formats "1 rescue 2"
  formats "1 rescue 2"
  formats "x  :   A?"
  formats "x  :   A?"
  formats "foo(1, # foo\n  &.bar)"
  formats "foo(1, # foo\n  &.bar)"
  formats "class Bar\nprotected def foo(x)\na=b(c)\nend\nend"
  formats "class Bar\nprotected def foo(x)\na=b(c)\nend\nend"
  formats "begin\n1\nrescue\n3\nensure\n2\nend"
  formats "begin\n1\nrescue\n3\nensure\n2\nend"
  formats "[\n1,\n2,\n3]"
  formats "[\n1,\n2,\n3]"
  formats "a = 1 if 1 == 2 ||\n  3 == 4\n"
  formats "a = 1 if 1 == 2 ||\n  3 == 4\n"
  formats "def foo(x)\n  self // x\nend"
  formats "def foo(x)\n  self // x\nend"
  formats "  macro foo\n  end\n\n  :+"
  formats "  macro foo\n  end\n\n  :+"
  formats "def foo( x , & block  : Int32 ->)\nend"
  formats "def foo( x , & block  : Int32 ->)\nend"
  formats ":>>"
  formats ":>>"
  formats "\"\\a\\c\\b\\d\""
  formats "\"\\a\\c\\b\\d\""
  formats "while 1 &&\n2 &&\n3\n4\nend"
  formats "while 1 &&\n2 &&\n3\n4\nend"
  formats "long_variable_name = [1, 2, 3,\n                      4, 5, 6]"
  formats "long_variable_name = [1, 2, 3,\n                      4, 5, 6]"
  formats "\"foo \#{bar}\" \\\n \"baz\""
  formats "\"foo \#{bar}\" \\\n \"baz\""
  formats "foo   &.bar( 1 , 2 )"
  formats "foo   &.bar( 1 , 2 )"
  formats "Union(Int32, String)?"
  formats "Union(Int32, String)?"
  formats "coco.lala\nfoo\n  .bar"
  formats "coco.lala\nfoo\n  .bar"
  formats "foo.as   Int32*"
  formats "foo.as   Int32*"
  formats "foo  1  ,   2"
  formats "foo  1  ,   2"
  formats "1 # foo\n1234 # bar\n\n10 # bar"
  formats "1 # foo\n1234 # bar\n\n10 # bar"
  formats "while 1;\n2; end"
  formats "while 1;\n2; end"
  formats "foo (1), 2"
  formats "foo (1), 2"
  formats "foo.bar(&.baz)"
  formats "foo.bar(&.baz)"
  formats "def foo(a : T, b : U) forall T, U\n  #\nend"
  formats "def foo(a : T, b : U) forall T, U\n  #\nend"
  formats "def foo(a,\n        *b)\nend"
  formats "def foo(a,\n        *b)\nend"
  formats "foo[1, &.bar]"
  formats "foo[1, &.bar]"
  formats "a = 1\n;\nb = 2"
  formats "a = 1\n;\nb = 2"
  formats "{1 => foo <<-X\nbar\nX\n}"
  formats "{1 => foo <<-X\nbar\nX\n}"
  formats "next( 1 , 2 )"
  formats "next( 1 , 2 )"
  formats "SomeLib.UppercasedFunCall"
  formats "SomeLib.UppercasedFunCall"
  formats "1 if 2\n# foo\n3"
  formats "1 if 2\n# foo\n3"
  formats "def foo(x) # bar\n  # baz\nend"
  formats "def foo(x) # bar\n  # baz\nend"
  formats ":+"
  formats ":+"
  formats "asm(\"a\" : \"b\"(c)\n)"
  formats "asm(\"a\" : \"b\"(c)\n)"
  formats "call(foo <<-X\nbar\nX\n)"
  formats "call(foo <<-X\nbar\nX\n)"
  formats "return {1, 2}, {3, 4}"
  formats "return {1, 2}, {3, 4}"
  formats "def foo(@[AnnOne] @[AnnTwo] v); end"
  formats "def foo(@[AnnOne] @[AnnTwo] v); end"
  formats "unless a\n2\n3\nelse\n4\n5\nend"
  formats "unless a\n2\n3\nelse\n4\n5\nend"
  formats "->( x : Int32 , y )   { x }"
  formats "->( x : Int32 , y )   { x }"
  formats "lib Foo\nend"
  formats "lib Foo\nend"
  formats "foo.bar=(2)\n1"
  formats "foo.bar=(2)\n1"
  formats "foo[]"
  formats "foo[]"
  formats "x\n# foo\n\n# bar"
  formats "x\n# foo\n\n# bar"
  formats "foo = 1\n->foo.foo!"
  formats "foo = 1\n->foo.foo!"
  formats "\n# hello\n\n1"
  formats "\n# hello\n\n1"
  formats "->\n:\nInt32\n{\n}"
  formats "->\n:\nInt32\n{\n}"
  formats "return  1"
  formats "return  1"
  formats "begin\n  1 \\\n    + 2\n  3\nend"
  formats "begin\n  1 \\\n    + 2\n  3\nend"
  formats "if 1\n  return foo(\n    1,\n    2,\n  )\nend"
  formats "if 1\n  return foo(\n    1,\n    2,\n  )\nend"
  formats "def foo(\n   @[MyAnn]\n bar\n); end"
  formats "def foo(\n   @[MyAnn]\n bar\n); end"
  formats ":-"
  formats ":-"
  formats "a = foo(1, 2, {\n  foo: 1,\n  bar: 2,\n})"
  formats "a = foo(1, 2, {\n  foo: 1,\n  bar: 2,\n})"
  formats "1_234"
  formats "1_234"
  formats "lib Foo\n  fun foo =\n    bar(Int32) : Int32\nend"
  formats "lib Foo\n  fun foo =\n    bar(Int32) : Int32\nend"
  formats "a &.b[c]?"
  formats "a &.b[c]?"
  formats "asm(\"nop\" :: )"
  formats "asm(\"nop\" :: )"
  formats "[\n# foo\n] of String"
  formats "[\n# foo\n] of String"
  formats "0i64"
  formats "0i64"
  formats "case 1\nwhen 2\n#comment\nend"
  formats "case 1\nwhen 2\n#comment\nend"
  formats "1.===(2) { 3 }"
  formats "1.===(2) { 3 }"
  formats "->{\nx\n}"
  formats "->{\nx\n}"
  formats "def foo(x, **z)\nend"
  formats "def foo(x, **z)\nend"
  formats "[ * [ * [ 1 ] ], *    \n[ 2] ]"
  formats "[ * [ * [ 1 ] ], *    \n[ 2] ]"
  formats "if 1;\n2; end"
  formats "if 1;\n2; end"
  formats "1.!= do\nend"
  formats "1.!= do\nend"
  formats "def foo(x) : Int32 # bar\n  # baz\nend"
  formats "def foo(x) : Int32 # bar\n  # baz\nend"
  formats "::NamedTuple(T)"
  formats "::NamedTuple(T)"
  formats "\"hel\\nlo\""
  formats "\"hel\\nlo\""
  formats "def foo\n\n1\n\nend"
  formats "def foo\n\n1\n\nend"
  formats "[\n  <<-EOF,\n  foo\n  EOF\n  <<-BAR,\n  bar\n  BAR\n]"
  formats "[\n  <<-EOF,\n  foo\n  EOF\n  <<-BAR,\n  bar\n  BAR\n]"
  does not add `&` without flag `method_signature_yield`
    formats "def foo(a, **b)\n  yield\nend"
    formats "def foo(a, **b)\n  yield\nend"
    formats "def foo(\nx,\n)\n  yield\nend"
    formats "def foo(\nx,\n)\n  yield\nend"
    formats "def foo(x,\n)\n  yield\nend"
    formats "def foo(x,\n)\n  yield\nend"
    formats "def foo(x,\ny,)\n  yield\nend"
    formats "def foo(x,\ny,)\n  yield\nend"
    formats "def foo # bar\n  yield\nend"
    formats "def foo # bar\n  yield\nend"
    formats "def foo\n  yield\nend"
    formats "def foo\n  yield\nend"
    formats "def foo(\nx)\n  yield\nend"
    formats "def foo(\nx)\n  yield\nend"
    formats "def foo(x)\n  yield\nend"
    formats "def foo(x)\n  yield\nend"
    formats "def foo(\n)\n  yield\nend"
    formats "def foo(\n)\n  yield\nend"
    formats "def foo(\nx, y)\n  yield\nend"
    formats "def foo(\nx, y)\n  yield\nend"
    formats "def foo()\n  yield\nend"
    formats "def foo()\n  yield\nend"
    formats "def foo(x ,)\n  yield\nend"
    formats "def foo(x ,)\n  yield\nend"
    formats "def foo(x\n)\n  yield\nend"
    formats "def foo(x\n)\n  yield\nend"
    formats "def foo(\nx,\ny)\n  yield\nend"
    formats "def foo(\nx,\ny)\n  yield\nend"
    formats "def foo(x,\n        y)\n  yield\nend"
    formats "def foo(x,\n        y)\n  yield\nend"
  formats "lib LibFoo\n  {% begin %}\n    fun x = y(Int32)\n  {% end %}\nend"
  formats "lib LibFoo\n  {% begin %}\n    fun x = y(Int32)\n  {% end %}\nend"
  formats "foo &.bar.as?(T)"
  formats "foo &.bar.as?(T)"
  formats "if 1\n  {% if 2 %} {% end %}\nend"
  formats "if 1\n  {% if 2 %} {% end %}\nend"
  formats "<<-HTML\n  \#{\"foo\"}\#{1}\n  HTML"
  formats "<<-HTML\n  \#{\"foo\"}\#{1}\n  HTML"
  formats "a=1"
  formats "a=1"
  formats "1.<=(2) { 3 }"
  formats "1.<=(2) { 3 }"
  formats "break( 1 )"
  formats "break( 1 )"
  formats "<<-HTML\n  \#{1}x\n  HTML"
  formats "<<-HTML\n  \#{1}x\n  HTML"
  formats "lib Foo\nfun foo(x   :   Int32, y   :   Float64)  :  Int32\nend"
  formats "lib Foo\nfun foo(x   :   Int32, y   :   Float64)  :  Int32\nend"
  formats "foo.bar += \n1"
  formats "foo.bar += \n1"
  formats "-> : Int32 {}"
  formats "-> : Int32 {}"
  formats "enum Foo\nA = 1\nend"
  formats "enum Foo\nA = 1\nend"
  formats "{% if true %}\n  # x\n  #\n{% end %}\n\n# ```\n# x\n# ```"
  formats "{% if true %}\n  # x\n  #\n{% end %}\n\n# ```\n# x\n# ```"
  formats "macro foo\n  \\{\nend"
  formats "macro foo\n  \\{\nend"
  formats "@x[ 1 ]   &&=   2"
  formats "@x[ 1 ]   &&=   2"
  formats "\"foo \#{ __DIR__ }\""
  formats "\"foo \#{ __DIR__ }\""
  formats "foo.bar. as   Int32"
  formats "foo.bar. as   Int32"
  formats "-> : {Int32, String} {}"
  formats "-> : {Int32, String} {}"
  formats "enum Baz\nA = 1\nFOO = 2\n\nEX = 3\nend"
  formats "enum Baz\nA = 1\nFOO = 2\n\nEX = 3\nend"
  formats "class Foo ( *T, U )\nend"
  formats "class Foo ( *T, U )\nend"
  formats "a = \"\n\"\n1    # 1\n12 # 2\n"
  formats "a = \"\n\"\n1    # 1\n12 # 2\n"
  formats "::Tuple()"
  formats "::Tuple()"
  formats "/foo \#{ bar }/"
  formats "/foo \#{ bar }/"
  formats "macro foo\n  {% for x in y %}\\ 2 {% end %}\\\nend"
  formats "macro foo\n  {% for x in y %}\\ 2 {% end %}\\\nend"
  formats "foo : (self)?"
  formats "foo : (self)?"
  formats "x = a do\n  1 ||\n    2\nend"
  formats "x = a do\n  1 ||\n    2\nend"
  formats "Foo( x:  Int32  ,  y: Float64 )"
  formats "Foo( x:  Int32  ,  y: Float64 )"
  formats "def foo(**z)\nend"
  formats "def foo(**z)\nend"
  formats "foo(\n  1,\n  # 2,\n  # 3,\n)"
  formats "foo(\n  1,\n  # 2,\n  # 3,\n)"
  formats "@x   ||=   1"
  formats "@x   ||=   1"
  formats "1 ||\n  # foo\n  2"
  formats "1 ||\n  # foo\n  2"
  formats "begin\n  1\n  # Comment\n\n\nend"
  formats "begin\n  1\n  # Comment\n\n\nend"
  formats "foo { | a, ( b , c ) | a + b + c }"
  formats "foo { | a, ( b , c ) | a + b + c }"
  formats "foo &.as?(T).bar"
  formats "foo &.as?(T).bar"
  formats "{ 1   =>   2 ,\n\n   3  =>  4 }"
  formats "{ 1   =>   2 ,\n\n   3  =>  4 }"
  formats "->{}"
  formats "->{}"
  formats "foo : Pointer(Foo)*"
  formats "foo : Pointer(Foo)*"
  formats "while 1  # foo\nend"
  formats "while 1  # foo\nend"
  formats "()"
  formats "()"
  formats "def   foo (  @@x)  \n  end"
  formats "def   foo (  @@x)  \n  end"
  formats "foo[&.bar] ||= 1"
  formats "foo[&.bar] ||= 1"
  formats "foo &.[]=(1, 2)"
  formats "foo &.[]=(1, 2)"
  formats "def foo\n@x   =  uninitialized   Int32\nend"
  formats "def foo\n@x   =  uninitialized   Int32\nend"
  formats "case nil\nelse nil; nil\n# comment\nend"
  formats "case nil\nelse nil; nil\n# comment\nend"
  formats "foo(->{\n  1 + 2\n})"
  formats "foo(->{\n  1 + 2\n})"
  formats "def foo(@x)\n\nrescue\nend"
  formats "def foo(@x)\n\nrescue\nend"
  formats "unless a\nunless b\n3\nelse\n4\nend\nend"
  formats "unless a\nunless b\n3\nelse\n4\nend\nend"
  formats "#######"
  formats "#######"
  formats "{\n  variables => true,\n  query     => <<-HEREDOC,\n    foo\n  HEREDOC\n}"
  formats "{\n  variables => true,\n  query     => <<-HEREDOC,\n    foo\n  HEREDOC\n}"
  formats "macro foo\n  {% if 1 %}\\ 2 {% else %}\\ 3 {% end %}\\\nend"
  formats "macro foo\n  {% if 1 %}\\ 2 {% else %}\\ 3 {% end %}\\\nend"
  formats "case / /\nwhen / /, /x/\n  / /\nend"
  formats "case / /\nwhen / /, /x/\n  / /\nend"
  formats "foo 1 ,  &bar"
  formats "foo 1 ,  &bar"
  formats "a = foo(bar(\n  1,\n  2,\n))"
  formats "a = foo(bar(\n  1,\n  2,\n))"
  formats "def foo\n1\nrescue\n2\nend"
  formats "def foo\n1\nrescue\n2\nend"
  formats "foo(1, 2, {\n  foo: 1,\n  bar: 2,\n})"
  formats "foo(1, 2, {\n  foo: 1,\n  bar: 2,\n})"
  formats "case 1\nwhen 8     then 1\nwhen 16    then 2\nwhen 256   then 3\nwhen 'a'   then 5\nwhen \"foo\" then 6\nelse            4\nend"
  formats "case 1\nwhen 8     then 1\nwhen 16    then 2\nwhen 256   then 3\nwhen 'a'   then 5\nwhen \"foo\" then 6\nelse            4\nend"
  formats "-> : {x: Int32, y: String} {}"
  formats "-> : {x: Int32, y: String} {}"
  formats "foo 1, a: 1,\nb: 2,\nc: 3"
  formats "foo 1, a: 1,\nb: 2,\nc: 3"
  formats ":\"foo bar\""
  formats ":\"foo bar\""
  formats "case 1\nwhen 1      then 1\nwhen 123    then 2\nwhen 1..123 then 3\nelse             4\nend"
  formats "case 1\nwhen 1      then 1\nwhen 123    then 2\nwhen 1..123 then 3\nelse             4\nend"
  formats "foo \\\nbar"
  formats "foo \\\nbar"
  formats "<<-HTML\n  hello \n  HTML"
  formats "<<-HTML\n  hello \n  HTML"
  formats "unless a\n2\nelse\n3\nend"
  formats "unless a\n2\nelse\n3\nend"
  formats "macro []=(x, y)\nend"
  formats "macro []=(x, y)\nend"
  formats "asm(\"nop\" : \"a\"(0) : \"b\"(1), \"c\"(2) )"
  formats "asm(\"nop\" : \"a\"(0) : \"b\"(1), \"c\"(2) )"
  formats "foo &.nil?"
  formats "foo &.nil?"
  formats "def +(x)\nend"
  formats "def +(x)\nend"
  formats "def foo(\n  @[MyAnn]\n  bar\n); end"
  formats "def foo(\n  @[MyAnn]\n  bar\n); end"
  formats "a &.a.!"
  formats "a &.a.!"
  formats "next { {1, 2}, {3, 4} }, 5"
  formats "next { {1, 2}, {3, 4} }, 5"
  formats "begin\n1\nrescue   ex   :   Int32  |  Float64  \n3\nend"
  formats "begin\n1\nrescue   ex   :   Int32  |  Float64  \n3\nend"
  formats "class Foo\ndef   foo (\nx ,\n y )  \n  end\nend"
  formats "class Foo\ndef   foo (\nx ,\n y )  \n  end\nend"
  formats "  (  1;  2;   3  )  "
  formats "  (  1;  2;   3  )  "
  formats "foo(1, 2,)"
  formats "foo(1, 2,)"
  formats "  [   1  ,    2  ,    3  ]  "
  formats "  [   1  ,    2  ,    3  ]  "
  formats "'\\u{0123}'"
  formats "'\\u{0123}'"
  formats "module Readline\n  @@completion_proc : (String -> Array(String)?) | (String -> Array(String)) | Nil\nend"
  formats "module Readline\n  @@completion_proc : (String -> Array(String)?) | (String -> Array(String)) | Nil\nend"
  formats "yield  1 ,  2"
  formats "yield  1 ,  2"
  formats "%(hello)"
  formats "%(hello)"
  formats "[ # foo\n  1,\n]"
  formats "[ # foo\n  1,\n]"
  formats "a = \\\n  # foo\n  bar(1)"
  formats "a = \\\n  # foo\n  bar(1)"
  formats "lib Foo\nstruct Foo\nx  ,  y  :  Int32\nend\nend"
  formats "lib Foo\nstruct Foo\nx  ,  y  :  Int32\nend\nend"
  formats "lib Foo\nfun foo  :  Int32\nend"
  formats "lib Foo\nfun foo  :  Int32\nend"
  formats "{} of A => B\n{} of Foo => Bar"
  formats "{} of A => B\n{} of Foo => Bar"
  formats "def foo(@[MyAnn] &); end"
  formats "def foo(@[MyAnn] &); end"
  formats "Set{ # foo\n  1,\n}"
  formats "Set{ # foo\n  1,\n}"
  formats "[\n  1, 2, # foo\n  3,\n]"
  formats "[\n  1, 2, # foo\n  3,\n]"
  formats "a = [\n1,\n2]"
  formats "a = [\n1,\n2]"
  formats "def foo(\n  foo,\n  @[MyAnn] &block\n); end"
  formats "def foo(\n  foo,\n  @[MyAnn] &block\n); end"
  formats "lib Foo\n  fun foo(Int32) : Int32\nend"
  formats "lib Foo\n  fun foo(Int32) : Int32\nend"
  formats "foo[1, &.bar] ||= 1"
  formats "foo[1, &.bar] ||= 1"
  formats "a  ||  b"
  formats "a  ||  b"
  formats "asm(\"nop\" : \"a\"(0)\n: \"b\"(1),\n\"c\"(2) )"
  formats "asm(\"nop\" : \"a\"(0)\n: \"b\"(1),\n\"c\"(2) )"
  formats "def foo : Int32\n  1\nend"
  formats "def foo : Int32\n  1\nend"
  formats "bar do\n  call(foo <<-X\n  bar\n  X\n  )\nend"
  formats "bar do\n  call(foo <<-X\n  bar\n  X\n  )\nend"
  formats "X(typeof(begin\n  e.is_a?(Y)\nend))"
  formats "X(typeof(begin\n  e.is_a?(Y)\nend))"
  formats "break  1 ,  2"
  formats "break  1 ,  2"
  formats "foo  x:  1,  y:  2"
  formats "foo  x:  1,  y:  2"
  formats "foo(\n# x\n1,\n\n# y\nz: 2,\n\n# a\nb: 3)"
  formats "foo(\n# x\n1,\n\n# y\nz: 2,\n\n# a\nb: 3)"
  formats "   {{ 1 + 2 }}"
  formats "   {{ 1 + 2 }}"
  formats ":*"
  formats ":*"
  formats "->@@foo.foo"
  formats "->@@foo.foo"
  formats "if 1\n2\n3\n# foo\nend"
  formats "if 1\n2\n3\n# foo\nend"
  formats "foo.@bar"
  formats "foo.@bar"
  formats "module Foo\n# nothing\nend"
  formats "module Foo\n# nothing\nend"
  formats "foo &.[](  1, 2  )"
  formats "foo &.[](  1, 2  )"
  formats "foo.% bar"
  formats "foo.% bar"
  formats "NamedTuple(a: Int32,)"
  formats "NamedTuple(a: Int32,)"
  formats "@a"
  formats "@a"
  formats "def foo(@[AnnOne]   @[AnnTwo] v); end"
  formats "def foo(@[AnnOne]   @[AnnTwo] v); end"
  formats "foo(\n  <<-HERE,\n  hello\n  HERE\n  foo: 1,\n)"
  formats "foo(\n  <<-HERE,\n  hello\n  HERE\n  foo: 1,\n)"
  formats "::StaticArray(T)"
  formats "::StaticArray(T)"
  formats "foo(1, &.bar)"
  formats "foo(1, &.bar)"
  formats "lib LibFoo\n  struct Bar\n    {% begin %}\n      x : Int32\n    {% end %}\n  end\nend"
  formats "lib LibFoo\n  struct Bar\n    {% begin %}\n      x : Int32\n    {% end %}\n  end\nend"
  formats "def foo(\n  @[MyAnn]\n  @[MyAnn]\n  bar,\n\n  @[MyAnn] @[MyAnn] baz,\n\n  @[MyAnn]\n  @[MyAnn]\n  biz\n); end"
  formats "def foo(\n  @[MyAnn]\n  @[MyAnn]\n  bar,\n\n  @[MyAnn] @[MyAnn] baz,\n\n  @[MyAnn]\n  @[MyAnn]\n  biz\n); end"
  assert
  assert
  formats "__LINE__"
  formats "__LINE__"
  formats "foo &.bar.as(T)"
  formats "foo &.bar.as(T)"
  formats "macro foo # bar\n  baz\nend"
  formats "macro foo # bar\n  baz\nend"
  formats "(1)"
  formats "(1)"
  formats "[\n  a() # b\n]"
  formats "[\n  a() # b\n]"
  formats "   {{\n1 + 2\n   }}"
  formats "   {{\n1 + 2\n   }}"
  formats "<<-FOO\nfoo\nfoo\nFOO"
  formats "<<-FOO\nfoo\nfoo\nFOO"
  formats "return  1  , *2"
  formats "return  1  , *2"
  formats "1.== do\nend"
  formats "1.== do\nend"
  formats "run(\"a\", 1)"
  formats "run(\"a\", 1)"
  formats "foo[ 1 , 2 ]   =3"
  formats "foo[ 1 , 2 ]   =3"
  formats "a = begin\n  1\nend\n\na =\nbegin\n  1\nend\n\na = if 1\n  2\nend\n\nb = 1\nb ||= begin\n  2\nend\n\nb ||= if 1\n  2\nend\n\nb += if 1\n  2\nend\n\nb +=\nif 1\n  2\nend\n\na, b = begin\n  1\nend\n\na, b =\nbegin\n  1\nend\n\nc[x] = begin\n  2\nend\n\nc[x] =\nbegin\n  2\nend\n\nc[x] = if 1\n  2\nend\n\nc[x] ||= begin 1\n  2\nend\n\nc[x] ||= if 1\n  2\nend\n\nc[x] += if 1\n  2\nend\n\nc[x] += begin 1\n  2\nend\n\nc[x] +=\nbegin\n  1\n  2\nend\n\nfoo.bar = begin\nend\n\nfoo.bar =\nbegin\nend\n\nfoo.bar = if\n  2\nend\n\nfoo.bar += begin\n  2\nend\n\nfoo.bar += if\n  2\nend\n\n"
  formats "a = begin\n  1\nend\n\na =\nbegin\n  1\nend\n\na = if 1\n  2\nend\n\nb = 1\nb ||= begin\n  2\nend\n\nb ||= if 1\n  2\nend\n\nb += if 1\n  2\nend\n\nb +=\nif 1\n  2\nend\n\na, b = begin\n  1\nend\n\na, b =\nbegin\n  1\nend\n\nc[x] = begin\n  2\nend\n\nc[x] =\nbegin\n  2\nend\n\nc[x] = if 1\n  2\nend\n\nc[x] ||= begin 1\n  2\nend\n\nc[x] ||= if 1\n  2\nend\n\nc[x] += if 1\n  2\nend\n\nc[x] += begin 1\n  2\nend\n\nc[x] +=\nbegin\n  1\n  2\nend\n\nfoo.bar = begin\nend\n\nfoo.bar =\nbegin\nend\n\nfoo.bar = if\n  2\nend\n\nfoo.bar += begin\n  2\nend\n\nfoo.bar += if\n  2\nend\n\n"
  formats "-> :: foo"
  formats "-> :: foo"
  formats "module Foo;end"
  formats "module Foo;end"
  formats "1.===() { 3 }"
  formats "1.===() { 3 }"
  formats "def foo(x y)\nend"
  formats "def foo(x y)\nend"
  formats "def foo\nselect   \n when  foo \n 2 \n else \n 3 \nend\nend"
  formats "def foo\nselect   \n when  foo \n 2 \n else \n 3 \nend\nend"
  formats "a = 1\nb, c = 2, 3\n{% begin %}\n  a |= 1\n  b |= 2\n  c |= 3\n{% end %}"
  formats "a = 1\nb, c = 2, 3\n{% begin %}\n  a |= 1\n  b |= 2\n  c |= 3\n{% end %}"
  formats "<<-HTML\n  foo\n  \#{\"foo\"}\n  HTML"
  formats "<<-HTML\n  foo\n  \#{\"foo\"}\n  HTML"
  formats "asm(\"a\" :::: \"volatile\"\n)"
  formats "asm(\"a\" :::: \"volatile\"\n)"
  formats "asm(\"nop\" : \"a\"(0),\n\"b\"(1)\n: \"c\"(2), \"d\"(3) )"
  formats "asm(\"nop\" : \"a\"(0),\n\"b\"(1)\n: \"c\"(2), \"d\"(3) )"
  formats "foo bar:baz, qux:other"
  formats "foo bar:baz, qux:other"
  formats "1 #=> 2"
  formats "1 #=> 2"
  formats "foo (1)"
  formats "foo (1)"
  formats "1 && (\n  2 || 3\n)"
  formats "1 && (\n  2 || 3\n)"
  formats "1.as?   Int32"
  formats "1.as?   Int32"
  formats "foo"
  formats "foo"
  formats "macro foo\nend"
  formats "macro foo\nend"
  formats "foo(baz1 do\nend)"
  formats "foo(baz1 do\nend)"
  formats "begin\n  1 + \\\n    2\n  3\nend"
  formats "begin\n  1 + \\\n    2\n  3\nend"
  formats "def   foo (  x  =   1 )  \n  end"
  formats "def   foo (  x  =   1 )  \n  end"
  formats "def foo(\n  foo,\n  @[MyAnn]\n  &block\n); end"
  formats "def foo(\n  foo,\n  @[MyAnn]\n  &block\n); end"
  formats "yield"
  formats "yield"
  formats "foo\n.bar\n.baz"
  formats "foo\n.bar\n.baz"
  formats "String???"
  formats "String???"
  formats "foo   &bar"
  formats "foo   &bar"
  formats "case  1 \n when 2 \n 3 \n else \n 4 \n end"
  formats "case  1 \n when 2 \n 3 \n else \n 4 \n end"
  formats "{ # foo\n  1,\n}"
  formats "{ # foo\n  1,\n}"
  formats "macro foo(x, *, z)\nend"
  formats "macro foo(x, *, z)\nend"
  formats "def   foo (  x  :   Int32  =  1 )  \n  end"
  formats "def   foo (  x  :   Int32  =  1 )  \n  end"
  formats "p = Foo[\n  1, 2, 3,\n  4, 5, 6\n]\n"
  formats "p = Foo[\n  1, 2, 3,\n  4, 5, 6\n]\n"
  formats "def foo(a, &@b)\nend"
  formats "def foo(a, &@b)\nend"
  formats "lib Foo\ntype  Foo  =   Bar\nend"
  formats "lib Foo\ntype  Foo  =   Bar\nend"
  formats "foo(\n  1,\n  # 2,\n  3,\n)"
  formats "foo(\n  1,\n  # 2,\n  3,\n)"
  formats "def foo\n1\n2\n# foo\nend"
  formats "def foo\n1\n2\n# foo\nend"
  formats "macro foo\n  {%1 + 2%}\\\nend"
  formats "macro foo\n  {%1 + 2%}\\\nend"
  formats "[\n  1, # foo\n  3,\n]"
  formats "[\n  1, # foo\n  3,\n]"
  formats "<<-HTML\n  \#{1}x\n  y\n  z\n  HTML"
  formats "<<-HTML\n  \#{1}x\n  y\n  z\n  HTML"
  formats "class Foo ( T )\nend"
  formats "class Foo ( T )\nend"
  formats "def foo(**a,)\n  1\nend"
  formats "def foo(**a,)\n  1\nend"
  formats "case 1\nwhen \"foo\"     ; 3\nwhen \"lalalala\"; 4\nelse             5\nend"
  formats "case 1\nwhen \"foo\"     ; 3\nwhen \"lalalala\"; 4\nelse             5\nend"
  formats "case nil\nelse nil; nil # comment\nend"
  formats "case nil\nelse nil; nil # comment\nend"
  formats "if 1\n2  # foo\nend"
  formats "if 1\n2  # foo\nend"
  formats "include  Foo"
  formats "include  Foo"
  formats "[] of (((Array(T))))"
  formats "[] of (((Array(T))))"
  formats "module Foo ( U, *T ); 1; end"
  formats "module Foo ( U, *T ); 1; end"
  formats "  <<-EOF\n 1\n  2\n EOF"
  formats "  <<-EOF\n 1\n  2\n EOF"
  formats "macro foo\n{% verbatim do %}1 + 2{% end %}\nend"
  formats "macro foo\n{% verbatim do %}1 + 2{% end %}\nend"
  formats "1.[]= do\nend"
  formats "1.[]= do\nend"
  formats "begin\n1\n2\n3\nend"
  formats "begin\n1\n2\n3\nend"
  formats "x  :   A  |  B"
  formats "x  :   A  |  B"
  formats "foo.foo1(\n  bar\n    .bar1\n    .bar2)"
  formats "foo.foo1(\n  bar\n    .bar1\n    .bar2)"
  formats "1+2*3"
  formats "1+2*3"
  formats "->foo="
  formats "->foo="
  formats "10 / a"
  formats "10 / a"
  formats "def foo(\n  **a # comment\n)\n  1\nend"
  formats "def foo(\n  **a # comment\n)\n  1\nend"
  formats "case 1\nwhen 2\n  3\n  # foo\nelse\n  4\n  # bar\nend"
  formats "case 1\nwhen 2\n  3\n  # foo\nelse\n  4\n  # bar\nend"
  formats "while 1\n# nothing\nend"
  formats "while 1\n# nothing\nend"
  formats "if 1\n  foo(\n    1,\n    2 # lala\n    )\nend\n"
  formats "if 1\n  foo(\n    1,\n    2 # lala\n    )\nend\n"
  formats "asm(\"a\" ::: \"f\"\n)"
  formats "asm(\"a\" ::: \"f\"\n)"
  formats "alias Foo= Bar"
  formats "alias Foo= Bar"
  formats "foo[x: 1, &.bar]?"
  formats "foo[x: 1, &.bar]?"
  formats "foo.as ( Int32* )"
  formats "foo.as ( Int32* )"
  formats "  <<-HTML\n   \#{1}\n  HTML"
  formats "  <<-HTML\n   \#{1}\n  HTML"
  formats "1\n.."
  formats "1\n.."
  formats "{ {foo: 2} }"
  formats "{ {foo: 2} }"
  formats "@[Foo]\ndef foo\nend"
  formats "@[Foo]\ndef foo\nend"
  formats "a.b &.[c]\n1"
  formats "a.b &.[c]\n1"
  formats "FOO = 2\nA = 1"
  formats "FOO = 2\nA = 1"
  formats "{x => self // 1}"
  formats "{x => self // 1}"
  formats "asm(\"a\" : \"b\"(c) : \"d\"(e) :: \"volatile\")"
  formats "asm(\"a\" : \"b\"(c) : \"d\"(e) :: \"volatile\")"
  formats "\"hello\""
  formats "\"hello\""
  formats "def foo(\n  **a\n)\n  1\nend"
  formats "def foo(\n  **a\n)\n  1\nend"
  formats "1.>=() { 3 }"
  formats "1.>=() { 3 }"
  formats "foo &.[a] = 1"
  formats "foo &.[a] = 1"
  formats "asm(\n  # the assembly template string, following the\n  # syntax for LLVM's integrated assembler\n  \"nop\" :               # output operands\n\"=r\"(foo), \"=r\"(bar) : # input operands\n\"r\"(1), \"r\"(baz) :     # names of clobbered registers\n\"eax\", \"memory\" :      # optional flags, corresponding to the LLVM IR\n  # sideeffect / alignstack / inteldialect / unwind attributes\n\"volatile\", \"alignstack\", \"intel\", \"unwind\"\n)"
  formats "asm(\n  # the assembly template string, following the\n  # syntax for LLVM's integrated assembler\n  \"nop\" :               # output operands\n\"=r\"(foo), \"=r\"(bar) : # input operands\n\"r\"(1), \"r\"(baz) :     # names of clobbered registers\n\"eax\", \"memory\" :      # optional flags, corresponding to the LLVM IR\n  # sideeffect / alignstack / inteldialect / unwind attributes\n\"volatile\", \"alignstack\", \"intel\", \"unwind\"\n)"
  formats ":^"
  formats ":^"
  formats "alias A = (B(C, (C | D)) | E)"
  formats "alias A = (B(C, (C | D)) | E)"
  formats "->Foo.foo"
  formats "->Foo.foo"
  formats "def foo\nend;def bar\nend"
  formats "def foo\nend;def bar\nend"
  formats "foo do\n  {1 => foo <<-X\n  bar\n  X\n  }\nend"
  formats "foo do\n  {1 => foo <<-X\n  bar\n  X\n  }\nend"
  formats "<<-FOO\nbarfoo\nFOO"
  formats "<<-FOO\nbarfoo\nFOO"
  formats "lib Foo\n  fun foo =\n    \"bar\"(Int32) : Int32\n  # comment\nend"
  formats "lib Foo\n  fun foo =\n    \"bar\"(Int32) : Int32\n  # comment\nend"
  formats "1 && # foo\n  2 &&\n  3"
  formats "1 && # foo\n  2 &&\n  3"
  formats "def foo : (A | B(C))\n  nil\nend"
  formats "def foo : (A | B(C))\n  nil\nend"
  formats "# Here is the doc of a method, and contains an example:\n#\n# ```\n# result = foo\n#\n# puts result\n# ```\ndef foo\n  # ...\nend\n"
  formats "# Here is the doc of a method, and contains an example:\n#\n# ```\n# result = foo\n#\n# puts result\n# ```\ndef foo\n  # ...\nend\n"
  formats "macro foo\n  1 + 2\nend"
  formats "macro foo\n  1 + 2\nend"
  formats "foo a , b ,  x:  1"
  formats "foo a , b ,  x:  1"
  formats "macro foo\n    def   bar  \n  end \n    end"
  formats "macro foo\n    def   bar  \n  end \n    end"
  formats "a = if 1\n2\n3\nend"
  formats "a = if 1\n2\n3\nend"
  formats "macro foo\n  {% 1 + 2 %}\nend"
  formats "macro foo\n  {% 1 + 2 %}\nend"
  formats "def foo(**z : Foo)\nend"
  formats "def foo(**z : Foo)\nend"
  formats "\" \" * 2"
  formats "\" \" * 2"
  formats "foo(<<-X,\na\nX\n  1)"
  formats "foo(<<-X,\na\nX\n  1)"
  formats "def foo(x : X)  forall   X ,   Y; end"
  formats "def foo(x : X)  forall   X ,   Y; end"
  formats "def foo\n  1 #\nrescue\nend"
  formats "def foo\n  1 #\nrescue\nend"
  formats "a = 1\ndef bar\nend"
  formats "a = 1\ndef bar\nend"
  formats "{\n  a:   1,\n  foo: bar,\n}"
  formats "{\n  a:   1,\n  foo: bar,\n}"
  formats "def foo(x : (self)?)\nend"
  formats "def foo(x : (self)?)\nend"
  formats "x  :   Int32"
  formats "x  :   Int32"
  formats "[c.x]\n  .foo"
  formats "[c.x]\n  .foo"
  formats "lib Foo\nstruct Foo\nx  ,  y  , z :  Int32\nend\nend"
  formats "lib Foo\nstruct Foo\nx  ,  y  , z :  Int32\nend\nend"
  formats "def run\n\nrescue\n  2\n  3\nend"
  formats "def run\n\nrescue\n  2\n  3\nend"
  formats "1 &&\n2 &&\n3"
  formats "1 &&\n2 &&\n3"
  formats "# foo\na = 1 # bar"
  formats "# foo\na = 1 # bar"
  formats "begin\n1\nrescue   ex\n3\nelse\n4\nend"
  formats "begin\n1\nrescue   ex\n3\nelse\n4\nend"
  formats "getter foo # comment\n\ndef foo\nend"
  formats "getter foo # comment\n\ndef foo\nend"
  formats "alias Foo::Bar=Baz"
  formats "alias Foo::Bar=Baz"
  formats "-> : Int32[1] {}"
  formats "-> : Int32[1] {}"
  formats "asm(\"nop\" ::: \"eax\" ,  \"ebx\" )"
  formats "asm(\"nop\" ::: \"eax\" ,  \"ebx\" )"
  formats "break  *1  ,2"
  formats "break  *1  ,2"
  formats "foo.bar   +=   2"
  formats "foo.bar   +=   2"
  formats "enum Foo : Int32\nA = 1\nend"
  formats "enum Foo : Int32\nA = 1\nend"
  formats "1 \\\n+ 2"
  formats "1 \\\n+ 2"
  formats "macro foo\n  {% for x in y %} 2 {% end %}\nend"
  formats "macro foo\n  {% for x in y %} 2 {% end %}\nend"
  formats "next  1 ,  2"
  formats "next  1 ,  2"
  formats "->{}"
  formats "->{}"
  formats "x: Int32"
  formats "x: Int32"
  formats "-> { }"
  formats "-> { }"
  formats "-> :: foo?"
  formats "-> :: foo?"
  formats "foo (1).bar"
  formats "foo (1).bar"
  formats "select   \n when  foo  then  2 \n end"
  formats "select   \n when  foo  then  2 \n end"
  formats "is_a? Foo"
  formats "is_a? Foo"
  formats "foo(\"bar\" \\\n\"baz\")"
  formats "foo(\"bar\" \\\n\"baz\")"
  formats "1 +\n  # foo\n  2"
  formats "1 +\n  # foo\n  2"
  formats "->@foo.foo!"
  formats "->@foo.foo!"
  formats "asm(\n\"nop\" : \"a\"(0), \"b\"(1) )"
  formats "asm(\n\"nop\" : \"a\"(0), \"b\"(1) )"
  formats "あ.い = 1"
  formats "あ.い = 1"
  formats "%w(\n  one two\n  three four\n)"
  formats "%w(\n  one two\n  three four\n)"
  formats "foo\n  \nbar"
  formats "foo\n  \nbar"
  formats "Union(Foo::Bar?, Baz?, Qux(T, U?))"
  formats "Union(Foo::Bar?, Baz?, Qux(T, U?))"
  formats "\n# hello\n1"
  formats "\n# hello\n1"
  formats "foo \\\n  1,\n  2"
  formats "foo \\\n  1,\n  2"
  formats "foo . is_a? Bar"
  formats "foo . is_a? Bar"
  formats "unless a\n2\nelse\nend"
  formats "unless a\n2\nelse\nend"
  formats "foo &.as(T).bar"
  formats "foo &.as(T).bar"
  formats "x  :   Int32  =   1"
  formats "x  :   Int32  =   1"
  formats "def foo(x, *, y, **z)\nend"
  formats "def foo(x, *, y, **z)\nend"
  formats "<<-FOO\nFOO"
  formats "<<-FOO\nFOO"
  formats "  case 1\n  when 2\n    3\n  else #:newline, :eof\n    1 if 2\n    return 3\n  end\n"
  formats "  case 1\n  when 2\n    3\n  else #:newline, :eof\n    1 if 2\n    return 3\n  end\n"
  formats "...\n2"
  formats "...\n2"
  formats "select   \n when  foo \n 2 \n when bar \n 3 \n end"
  formats "select   \n when  foo \n 2 \n when bar \n 3 \n end"
  formats "class Actor\n  macro inherited\n\nend\nend\n"
  formats "class Actor\n  macro inherited\n\nend\nend\n"
  formats "foo &.[]"
  formats "foo &.[]"
  formats "->() do x end"
  formats "->() do x end"
  formats "macro foo\n  {% if true %}if true{% end %}\n  {% if true %}end{% end %}\nend"
  formats "macro foo\n  {% if true %}if true{% end %}\n  {% if true %}end{% end %}\nend"
  formats "if 1 &&\n   (2 || 3)\n  1\nelse\n  2\nend"
  formats "if 1 &&\n   (2 || 3)\n  1\nelse\n  2\nend"
  formats "def foo( x , & block  : Int32->Float64)\nend"
  formats "def foo( x , & block  : Int32->Float64)\nend"
  formats "foo do\n  bar do\n    foo <<-X\n    bar\n    X\n  end\nend"
  formats "foo do\n  bar do\n    foo <<-X\n    bar\n    X\n  end\nend"
  formats "x 1, \\\n  2"
  formats "x 1, \\\n  2"
  formats "1\n..2"
  formats "1\n..2"
  formats "{\n         1 => 2,\n        10 => 30,\n        30 => 40,\n  \"foobar\" => 50,\n  \"coco\"   => 60,\n}"
  formats "{\n         1 => 2,\n        10 => 30,\n        30 => 40,\n  \"foobar\" => 50,\n  \"coco\"   => 60,\n}"
  formats "foo.[1, 2] = 3"
  formats "foo.[1, 2] = 3"
  formats "b &.[c]?.d"
  formats "b &.[c]?.d"
  formats "x : {\"foo bar\": Int32}"
  formats "x : {\"foo bar\": Int32}"
  formats " Array( {x:  Int32,   y:  String } )"
  formats " Array( {x:  Int32,   y:  String } )"
  formats "class X; annotation  FooAnnotation  ;  end ; end"
  formats "class X; annotation  FooAnnotation  ;  end ; end"
  formats "foo\n  .bar(\n    1\n  )"
  formats "foo\n  .bar(\n    1\n  )"
  formats "case foo\nwhen 1\n  # A\nelse\n# B\nend\n"
  formats "case foo\nwhen 1\n  # A\nelse\n# B\nend\n"
  formats "abstract  def   foo  \n  1"
  formats "abstract  def   foo  \n  1"
  formats "def foo(\n  &block\n)\nend"
  formats "def foo(\n  &block\n)\nend"
  formats "foo(a: //, b: //)"
  formats "foo(a: //, b: //)"
  formats "foo((1..3))"
  formats "foo((1..3))"
  formats "foo : (   A  |  B   )"
  formats "foo : (   A  |  B   )"
  formats "foo do\n  {% foo <<-X\n  bar\n  X\n  %}\nend"
  formats "foo do\n  {% foo <<-X\n  bar\n  X\n  %}\nend"
  formats "lib Foo\nfun foo ()  :  Int32\nend"
  formats "lib Foo\nfun foo ()  :  Int32\nend"
  formats "macro foo\n  {{ 1 + 2 }}\nend"
  formats "macro foo\n  {{ 1 + 2 }}\nend"
  formats "1\n..\n2"
  formats "1\n..\n2"
  formats "foo(\n  1, 2,\n&block)"
  formats "foo(\n  1, 2,\n&block)"
  formats "module Foo  # foo\nend"
  formats "module Foo  # foo\nend"
  formats "if / /\nend"
  formats "if / /\nend"
  formats "lib Foo\n  fun Foo = Bar\nend"
  formats "lib Foo\n  fun Foo = Bar\nend"
  formats "{% if true %}\n  # x\n  # y\n{% end %}"
  formats "{% if true %}\n  # x\n  # y\n{% end %}"
  formats "macro foo(\n  a,\n  **b,\n)\nend"
  formats "macro foo(\n  a,\n  **b,\n)\nend"
  formats "{ 1   =>   2 ,\n   3  =>  4 }"
  formats "{ 1   =>   2 ,\n   3  =>  4 }"
  formats "case  1 \n in Int32 \n 3 \n end"
  formats "case  1 \n in Int32 \n 3 \n end"
  formats "alias X = ((Y, Z) ->)"
  formats "alias X = ((Y, Z) ->)"
  formats "foo &.is_a?(T).bar"
  formats "foo &.is_a?(T).bar"
  formats "-> { 1 }"
  formats "-> { 1 }"
  formats "def foo(x) forall T # bar\n  # baz\nend"
  formats "def foo(x) forall T # bar\n  # baz\nend"
  formats "1   # foo"
  formats "1   # foo"
  formats "1\n.as?(Int32)"
  formats "1\n.as?(Int32)"
  formats "a = case 1\nwhen 2\n3\nend"
  formats "a = case 1\nwhen 2\n3\nend"
  formats "\"foo\" \\\n \"bar\""
  formats "\"foo\" \\\n \"bar\""
  formats "a = while 1\n2\nend"
  formats "a = while 1\n2\nend"
  formats "lib Foo\n  fun foo = \"bar\"(Int32) : Int32\nend"
  formats "lib Foo\n  fun foo = \"bar\"(Int32) : Int32\nend"
  formats "{  } of  A   =>   B"
  formats "{  } of  A   =>   B"
  formats "foo . bar( x , y )"
  formats "foo . bar( x , y )"
  formats "case 1\nend"
  formats "case 1\nend"
  formats "def func # comment\n  (1 + 2) / 3\nend"
  formats "def func # comment\n  (1 + 2) / 3\nend"
  formats "foo.[ 1 , 2 ]"
  formats "foo.[ 1 , 2 ]"
  formats "foo(\n  1,\n) do\n  2\nend"
  formats "foo(\n  1,\n) do\n  2\nend"
  formats "a-1"
  formats "a-1"
  formats "break( *1  , *2 )"
  formats "break( *1  , *2 )"
  formats "\"\#{ # foo\n  foo = 1\n}\""
  formats "\"\#{ # foo\n  foo = 1\n}\""
  formats "def foo( x , & block  : Int32 )\nend"
  formats "def foo( x , & block  : Int32 )\nend"
  formats "unless a\n2; 3\nelse\n3\nend"
  formats "unless a\n2; 3\nelse\n3\nend"
  formats "foo.\nbar"
  formats "foo.\nbar"
  formats "p = Foo[1, 2, 3,\n        4, 5, 6,\n       ]"
  formats "p = Foo[1, 2, 3,\n        4, 5, 6,\n       ]"
  formats "case  1 \n when 2 ,\n 3 \n 4 \n end"
  formats "case  1 \n when 2 ,\n 3 \n 4 \n end"
  formats "macro bar\n  1\nend\n\ncase 1\nwhen  2 then 3\nwhen 45 then 6\nend"
  formats "macro bar\n  1\nend\n\ncase 1\nwhen  2 then 3\nwhen 45 then 6\nend"
  formats "enum Foo; A = 1; end"
  formats "enum Foo; A = 1; end"
  formats "[1, 2, 3]"
  formats "[1, 2, 3]"
  formats "case\nelse\n  1\nend"
  formats "case\nelse\n  1\nend"
  formats "def foo( & \n )\nend"
  formats "def foo( & \n )\nend"
  formats "return  *1"
  formats "return  *1"
  formats ":/"
  formats ":/"
  formats "if 1\nfoo do  | x , y | \n x \n end\nend"
  formats "if 1\nfoo do  | x , y | \n x \n end\nend"
  formats "def foo(\n   @[MyAnn]\n bar\n); end"
  formats "def foo(\n   @[MyAnn]\n bar\n); end"
  formats "1\n2\n# foo"
  formats "1\n2\n# foo"
  formats "a = 1;;; b = 2"
  formats "a = 1;;; b = 2"
  formats "alias A = (   A  |  B   )"
  formats "alias A = (   A  |  B   )"
  formats "foo = 1\n->foo.[](Int32)"
  formats "foo = 1\n->foo.[](Int32)"
  formats "foo.[ 1 , 2 ]   =3"
  formats "foo.[ 1 , 2 ]   =3"
  formats "Set { 1 , 2 }"
  formats "Set { 1 , 2 }"
  formats "  {% for x in y %} 2 {% end %}"
  formats "  {% for x in y %} 2 {% end %}"
  formats "# Hello\n#\n# ```crystal\n#   1\n# ```\n# Bye"
  formats "# Hello\n#\n# ```crystal\n#   1\n# ```\n# Bye"
  formats "NamedTuple(\n  a: Int32,\n)"
  formats "NamedTuple(\n  a: Int32,\n)"
  formats "foo   &.bar"
  formats "foo   &.bar"
  formats "1 +  # foo\n2"
  formats "1 +  # foo\n2"
  formats "->{ x }"
  formats "->{ x }"
  formats "def foo( x , & : Int32 )\nend"
  formats "def foo( x , & : Int32 )\nend"
  formats "10 ** a"
  formats "10 ** a"
  formats "# foo\ndef foo\nend\n# bar\ndef bar\nend"
  formats "# foo\ndef foo\nend\n# bar\ndef bar\nend"
  formats "FOO = 2 + 3\nA = 1 - 10"
  formats "FOO = 2 + 3\nA = 1 - 10"
  formats "foo.as?   Int32*"
  formats "foo.as?   Int32*"
  formats "->(x : Int32) {}"
  formats "->(x : Int32) {}"
  formats "class Foo\n macro foo\n    1  +  2 \n    end\n end"
  formats "class Foo\n macro foo\n    1  +  2 \n    end\n end"
  formats "args.any? &.name.baz"
  formats "args.any? &.name.baz"
  formats "1.==() { 3 }"
  formats "1.==() { 3 }"
  formats "1 + \\\n2"
  formats "1 + \\\n2"
  formats "1.!= { 3 }"
  formats "1.!= { 3 }"
  formats "   1"
  formats "   1"
  formats "<<-HEREDOC\n  \#{foo}\n  H\#{bar}\n  HEREDOC"
  formats "<<-HEREDOC\n  \#{foo}\n  H\#{bar}\n  HEREDOC"
  formats "{ 1   =>   2 ,   3  =>  4 }"
  formats "{ 1   =>   2 ,   3  =>  4 }"
  formats "macro foo\n  {{ 1 + 2 }}\\\nend"
  formats "macro foo\n  {{ 1 + 2 }}\\\nend"
  formats "if 1\nelse\n2  # foo\nend"
  formats "if 1\nelse\n2  # foo\nend"
  formats "unless a\n2\n3\nend"
  formats "unless a\n2\n3\nend"
  formats "def foo\n  case x\n  # z\n  when 1\n  end\nend"
  formats "def foo\n  case x\n  # z\n  when 1\n  end\nend"
  formats "Foo::Bar?"
  formats "Foo::Bar?"
  formats "foo \\\n  foo: 1,\n  bar: 2"
  formats "foo \\\n  foo: 1,\n  bar: 2"
  formats "{\n  query     => <<-HEREDOC,\n    foo\n  HEREDOC\n}"
  formats "{\n  query     => <<-HEREDOC,\n    foo\n  HEREDOC\n}"
  formats "def foo(x =  __FILE__ )\nend"
  formats "def foo(x =  __FILE__ )\nend"
  formats "10**a"
  formats "10**a"
  formats "join io, &.inspect"
  formats "join io, &.inspect"
  formats "def   foo  \n  end"
  formats "def   foo  \n  end"
  formats "while true\n1\n\n# foo\nend"
  formats "while true\n1\n\n# foo\nend"
  formats "fun foo(\n  x : Int32,\n  ...\n) : Int32\n  1\nend"
  formats "fun foo(\n  x : Int32,\n  ...\n) : Int32\n  1\nend"
  formats "{\n1   =>   2 ,\n   3  =>  4 }"
  formats "{\n1   =>   2 ,\n   3  =>  4 }"
  formats "begin 0[1] rescue 2 end"
  formats "begin 0[1] rescue 2 end"
  formats "enum Foo\n  A;   B;   C\nend\n"
  formats "enum Foo\n  A;   B;   C\nend\n"
  formats "Foo( x:  Int32  )"
  formats "Foo( x:  Int32  )"
  formats "enum Foo;end"
  formats "enum Foo;end"
  formats "foo &.nil?()"
  formats "foo &.nil?()"
  formats "a = foo(bar([\n  1,\n]))"
  formats "a = foo(bar([\n  1,\n]))"
  formats "def foo( x , & block )\nend"
  formats "def foo( x , & block )\nend"
  formats "def foo(\n  @[MyAnn] bar\n); end"
  formats "def foo(\n  @[MyAnn] bar\n); end"
  formats "-> : Int32 { }"
  formats "-> : Int32 { }"
  formats "Foo"
  formats "Foo"
  formats "as Foo"
  formats "as Foo"
  formats "&+ 1"
  formats "&+ 1"
  formats "$~ = 1"
  formats "$~ = 1"
  formats "@[Foo()]"
  formats "@[Foo()]"
  formats "a &.b.c.as(C)"
  formats "a &.b.c.as(C)"
  formats "1 +\n  # foo\n  2"
  formats "1 +\n  # foo\n  2"
  formats "a &.b.c.as C"
  formats "a &.b.c.as C"
  formats "if 1\n2\nend\nif 3\nend"
  formats "if 1\n2\nend\nif 3\nend"
  formats "1.>= { 3 }"
  formats "1.>= { 3 }"
  formats "asm(\"nop\" ::: \"eax\" ,  \"ebx\" :   \"volatile\"  ,  \"alignstack\" )"
  formats "asm(\"nop\" ::: \"eax\" ,  \"ebx\" :   \"volatile\"  ,  \"alignstack\" )"
  formats "foo : (String -> Array(String)?) | (String -> Array(String)) | Nil"
  formats "foo : (String -> Array(String)?) | (String -> Array(String)) | Nil"
  formats "a = # foo\n  bar(1)"
  formats "a = # foo\n  bar(1)"
  formats "\n# hello\n\n\n1"
  formats "\n# hello\n\n\n1"
  formats "enum Foo\n  A      =   10\n  FOO    =  123\n  BARBAZ = 1234\nend\n"
  formats "enum Foo\n  A      =   10\n  FOO    =  123\n  BARBAZ = 1234\nend\n"
  formats "a = \nif 1\n2\nend"
  formats "a = \nif 1\n2\nend"
  formats "lib Bar\n  enum Foo\n    A = 1\n  end\nend"
  formats "lib Bar\n  enum Foo\n    A = 1\n  end\nend"
  formats "-> : Int32 {}"
  formats "-> : Int32 {}"
  formats "break  *1  , *2"
  formats "break  *1  , *2"
  formats "def   foo (  @x, @y)  \n  end"
  formats "def   foo (  @x, @y)  \n  end"
  formats "{% verbatim do %}\n  <<-FOO\n    hello  \n  FOO\n{% end %}"
  formats "{% verbatim do %}\n  <<-FOO\n    hello  \n  FOO\n{% end %}"
  formats "-> :: foo="
  formats "-> :: foo="
  formats "10//a"
  formats "10//a"
  formats "\"\" + <<-END\n  bar\n  END"
  formats "\"\" + <<-END\n  bar\n  END"
  formats "foo a: 1\nb"
  formats "foo a: 1\nb"
  formats "def foo(@[MyAnn] v); end"
  formats "def foo(@[MyAnn] v); end"
  formats "def foo(a : T) forall T\n  #\n\n\nend"
  formats "def foo(a : T) forall T\n  #\n\n\nend"
  formats "def foo   (   )   \n1\nend"
  formats "def foo   (   )   \n1\nend"
  formats "def a\n  b(\n    1, # x\n    # y\n    2\n  )\nend"
  formats "def a\n  b(\n    1, # x\n    # y\n    2\n  )\nend"
  formats "foo . bar  =  1"
  formats "foo . bar  =  1"
  formats "lib Foo\n  $foo = hello  :  Int32 \nend"
  formats "lib Foo\n  $foo = hello  :  Int32 \nend"
  formats "macro foo()\nend"
  formats "macro foo()\nend"
  formats "foo.%(bar)"
  formats "foo.%(bar)"
  formats "1.== { 3 }"
  formats "1.== { 3 }"
  formats "if 1\n  foo(\n    bar\n    # comment\n  )\nend"
  formats "if 1\n  foo(\n    bar\n    # comment\n  )\nend"
  formats "$0.bar"
  formats "$0.bar"
  formats "{%\n  unless true\n    1\n  else\n    2\n  end\n%}"
  formats "{%\n  unless true\n    1\n  else\n    2\n  end\n%}"
  formats "foo . is_a? ( Bar )"
  formats "foo . is_a? ( Bar )"
  formats "as? Foo"
  formats "as? Foo"
  formats "{\n  foo:    1,\n  b:      2,\n  barbaz: 3,\n}"
  formats "{\n  foo:    1,\n  b:      2,\n  barbaz: 3,\n}"
  formats "A = 1\nFOO = 2\n\nEX = 3"
  formats "A = 1\nFOO = 2\n\nEX = 3"
  formats "foo   &.>=(2)"
  formats "foo   &.>=(2)"
  formats "enum E\n  A # hello\n  B # hello;  C # hello\nend"
  formats "enum E\n  A # hello\n  B # hello;  C # hello\nend"
  formats "foo = [1, [2,\n           3],\n       4]"
  formats "foo = [1, [2,\n           3],\n       4]"
  formats "[] of (Array(T))"
  formats "[] of (Array(T))"
  formats "return"
  formats "return"
  formats "asm(\"nop\" :::: \"volatile\" )"
  formats "asm(\"nop\" :::: \"volatile\" )"
  formats "\"foo\#{\"bar\"} Baz \#{\"qux\"} \""
  formats "\"foo\#{\"bar\"} Baz \#{\"qux\"} \""
  formats "Tuple()"
  formats "Tuple()"
  formats "foo { | a, ( b , (c, d) ) | a + b + c }"
  formats "foo { | a, ( b , (c, d) ) | a + b + c }"
  formats "x.is_a? T\n3\n"
  formats "x.is_a? T\n3\n"
  formats "1  &&  2"
  formats "1  &&  2"
  formats "-> :: Foo . foo?"
  formats "-> :: Foo . foo?"
  formats "b &.[c].d"
  formats "b &.[c].d"
  formats "def foo(\n  @[MyAnn]\n  @[MyAnn]\n  bar,\n  @[MyAnn] @[MyAnn] baz,\n  @[MyAnn]\n  @[MyAnn]\n  biz\n); end"
  formats "def foo(\n  @[MyAnn]\n  @[MyAnn]\n  bar,\n  @[MyAnn] @[MyAnn] baz,\n  @[MyAnn]\n  @[MyAnn]\n  biz\n); end"
  formats "foo(\n # foo\n1,\n\n # bar\n2,  \n)"
  formats "foo(\n # foo\n1,\n\n # bar\n2,  \n)"
  formats "foo { | a, ( b , c, ), | a + b + c }"
  formats "foo { | a, ( b , c, ), | a + b + c }"
  formats "next  *1  , *2"
  formats "next  *1  , *2"
  formats "  <<-EOF\n   1\n EOF"
  formats "  <<-EOF\n   1\n EOF"
  formats "begin\n  array[\n    0 # Zero\n  ]\nend"
  formats "begin\n  array[\n    0 # Zero\n  ]\nend"
  formats "{/ / => / /, / / => / /}"
  formats "{/ / => / /, / / => / /}"
  formats "def foo(x @y)\nend"
  formats "def foo(x @y)\nend"
  formats "Foo:: Bar"
  formats "Foo:: Bar"
  formats "foo(baz(x, y) do\n  1 + 2\nend)"
  formats "foo(baz(x, y) do\n  1 + 2\nend)"
  formats "+ a + d"
  formats "+ a + d"
  formats "class Foo\n  NamedTuple(\n    a: Int32,\n  )\nend"
  formats "class Foo\n  NamedTuple(\n    a: Int32,\n  )\nend"
  formats "@[Foo(\n  foo: 1,\n)]\ndef foo\nend"
  formats "@[Foo(\n  foo: 1,\n)]\ndef foo\nend"
  formats "case 1\nwhen 2\n\n#comment\nend"
  formats "case 1\nwhen 2\n\n#comment\nend"
  formats "foo : (String -> String?) | (String)"
  formats "foo : (String -> String?) | (String)"
  formats "def a\n  [\n    1, # x\n    # y\n  ]\nend"
  formats "def a\n  [\n    1, # x\n    # y\n  ]\nend"
  formats "def foo\n  1\n  #\n\n\nrescue\nend"
  formats "def foo\n  1\n  #\n\n\nrescue\nend"
  formats "[\n1, # a\n2, # b\n 3 # c\n]"
  formats "[\n1, # a\n2, # b\n 3 # c\n]"
  formats "def self . foo\nend"
  formats "def self . foo\nend"
  formats "{{ foo <<-X\nbar\nX\n}}"
  formats "{{ foo <<-X\nbar\nX\n}}"
  formats "next( *1  , *2 )"
  formats "next( *1  , *2 )"
  formats "def foo\n  ((((((((((((((((0_u64\n    ) | ptr[0]) << 8\n    ) | ptr[1]) << 8\n    ) | ptr[2]) << 8\n    ) | ptr[3]) << 8\n    ) | ptr[4]) << 8\n    ) | ptr[5]) << 8\n    ) | ptr[6]) << 8\n    ) | ptr[7])\nend"
  formats "def foo\n  ((((((((((((((((0_u64\n    ) | ptr[0]) << 8\n    ) | ptr[1]) << 8\n    ) | ptr[2]) << 8\n    ) | ptr[3]) << 8\n    ) | ptr[4]) << 8\n    ) | ptr[5]) << 8\n    ) | ptr[6]) << 8\n    ) | ptr[7])\nend"
  formats "a , b  = 1  ,  2"
  formats "a , b  = 1  ,  2"
  formats "1.[]= { 3 }"
  formats "1.[]= { 3 }"
  formats "def execute\n  begin\n    1\n  ensure\n    2\n  end\n  3\nend"
  formats "def execute\n  begin\n    1\n  ensure\n    2\n  end\n  3\nend"
  formats "foo.bar.baz\n.qux"
  formats "foo.bar.baz\n.qux"
  formats "foo &.as(T)"
  formats "foo &.as(T)"
  formats "@x[ 1 ]   ||=   2"
  formats "@x[ 1 ]   ||=   2"
  formats "foo(a: //)"
  formats "foo(a: //)"
  formats "foo(1, 2,\n)"
  formats "foo(1, 2,\n)"
  formats "1 if 2\n# foo"
  formats "1 if 2\n# foo"
  formats "case 1\nwhen 2 # a\n  # b\nend"
  formats "case 1\nwhen 2 # a\n  # b\nend"
  formats "begin\n  begin\n    a\n    # b\n  end\nend"
  formats "begin\n  begin\n    a\n    # b\n  end\nend"
  formats "foo.bar\n  .baz(\n    1\n  )"
  formats "foo.bar\n  .baz(\n    1\n  )"
  formats "  {% if 1 %} 2 {% end %}"
  formats "  {% if 1 %} 2 {% end %}"
  formats "1 + \\\n2 + \\\n3"
  formats "1 + \\\n2 + \\\n3"
  formats "def foo(\n  @[MyAnn]\n  @[MyAnn]\n  bar,\n\n  @[MyAnn]  @[MyAnn]  baz,\n\n  @[MyAnn]\n\n  @[MyAnn]\n\n  biz\n); end"
  formats "def foo(\n  @[MyAnn]\n  @[MyAnn]\n  bar,\n\n  @[MyAnn]  @[MyAnn]  baz,\n\n  @[MyAnn]\n\n  @[MyAnn]\n\n  biz\n); end"
  formats "foo = 1\n->foo.foo"
  formats "foo = 1\n->foo.foo"
  formats "\"\\\\\\\"\\#\\a\\b\\n\\r\\t\\v\\f\\e\""
  formats "\"\\\\\\\"\\#\\a\\b\\n\\r\\t\\v\\f\\e\""
  formats "~ 1"
  formats "~ 1"
  formats "1#foo"
  formats "1#foo"
  formats "foo(bar(\n  1,\n  2,\n))"
  formats "foo(bar(\n  1,\n  2,\n))"
  formats "macro foo\n  %foo{x,y}\nend"
  formats "macro foo\n  %foo{x,y}\nend"
  formats "alias Foo::Bar =Baz"
  formats "alias Foo::Bar =Baz"
  formats "$1.bar"
  formats "$1.bar"
  formats "  {% if 1 %} {% if 2 %} 2 {% end %} {% end %}"
  formats "  {% if 1 %} {% if 2 %} 2 {% end %} {% end %}"
  formats "[1,\n2,\n3]"
  formats "[1,\n2,\n3]"
  formats "case 1\nwhen 1 then\n2\nwhen 3\n4\nend"
  formats "case 1\nwhen 1 then\n2\nwhen 3\n4\nend"
  formats "macro flags\n  {% if 1 %}\\\n 1 {% else %}\\\n {% end %}\\\nend"
  formats "macro flags\n  {% if 1 %}\\\n 1 {% else %}\\\n {% end %}\\\nend"
  formats "{ {% begin %}1{% end %}, nil }"
  formats "{ {% begin %}1{% end %}, nil }"
  formats "1 ... 2"
  formats "1 ... 2"
  formats "(1 .. )"
  formats "(1 .. )"
  formats "foo()"
  formats "foo()"
  formats "case 1\nwhen \"foo\"      then 3\nwhen \"lalalala\" then 4\nelse                 5\nend"
  formats "case 1\nwhen \"foo\"      then 3\nwhen \"lalalala\" then 4\nelse                 5\nend"
  formats "def foo\nend\ndef bar\nend"
  formats "def foo\nend\ndef bar\nend"
  formats "a.!"
  formats "a.!"
  formats "lib Foo\nfun foo\nend"
  formats "lib Foo\nfun foo\nend"
  formats ""
  formats ""
  formats "def   foo  :  Int32 \n  end"
  formats "def   foo  :  Int32 \n  end"
  formats "page= <<-HTML\n  \#{1}foo\nHTML"
  formats "page= <<-HTML\n  \#{1}foo\nHTML"
  formats "[1,\n2,\n3\n]"
  formats "[1,\n2,\n3\n]"
  formats "<<-FOO\nfoobar\nFOO"
  formats "<<-FOO\nfoobar\nFOO"
  formats "class Foo  # foo\nend"
  formats "class Foo  # foo\nend"
  formats "def   foo (  @@select)  \n  end"
  formats "def   foo (  @@select)  \n  end"
  formats "->@@foo.foo!"
  formats "->@@foo.foo!"
  formats "foo.responds_to? :bar\n1"
  formats "foo.responds_to? :bar\n1"
  formats "class Foo\n@x  :  Int32\nend"
  formats "class Foo\n@x  :  Int32\nend"
  formats "def foo(\n  @[MyAnn]\n  @[MyAnn]\n  bar\n); end"
  formats "def foo(\n  @[MyAnn]\n  @[MyAnn]\n  bar\n); end"
  formats "alias Foo=Bar"
  formats "alias Foo=Bar"
  formats "lib Bar\n  enum Foo\n  end\nend"
  formats "lib Bar\n  enum Foo\n  end\nend"
  formats "foo{|x|\n x}"
  formats "foo{|x|\n x}"
  formats "a&-1"
  formats "a&-1"
  formats "alias Foo::Bar= Baz"
  formats "alias Foo::Bar= Baz"
  formats "lib Foo\nfun foo(x : Int32,\ny : Float64) : Int32\nend"
  formats "lib Foo\nfun foo(x : Int32,\ny : Float64) : Int32\nend"
  formats "begin\n  call\n  # comment\nrescue\n  call\n  # comment\nelse\n  call\n  # comment\nensure\n  call\n  # comment\nend"
  formats "begin\n  call\n  # comment\nrescue\n  call\n  # comment\nelse\n  call\n  # comment\nensure\n  call\n  # comment\nend"
  formats "   {%\na = 1 %}"
  formats "   {%\na = 1 %}"
  formats "1.=== { 3 }"
  formats "1.=== { 3 }"
  formats "lib Foo\n  fun foo =\n    bar(Int32,\n    Int32) : Int32\nend"
  formats "lib Foo\n  fun foo =\n    bar(Int32,\n    Int32) : Int32\nend"
  formats "yield  1"
  formats "yield  1"
  formats "def   foo (  x )  \n  end"
  formats "def   foo (  x )  \n  end"
  formats "def foo\n  {% if flag?(:foo) %}\n    foo  +  bar\n  {% else %}\n    baz  +  qux\n  {% end %}\nend"
  formats "def foo\n  {% if flag?(:foo) %}\n    foo  +  bar\n  {% else %}\n    baz  +  qux\n  {% end %}\nend"
  formats "[foo <<-X\nbar\nX\n]"
  formats "[foo <<-X\nbar\nX\n]"
  formats "{% for a in %w() %}\n  <<-FOO\n    hello  \n  FOO\n{% end %}"
  formats "{% for a in %w() %}\n  <<-FOO\n    hello  \n  FOO\n{% end %}"
  formats "case 1\nelse # foo\n  # bar\nend"
  formats "case 1\nelse # foo\n  # bar\nend"
  formats " _ , *_ ,\na.foo  ,a.bar  =  1  ,  2,3"
  formats " _ , *_ ,\na.foo  ,a.bar  =  1  ,  2,3"
  formats "break { 1 ,  2 }"
  formats "break { 1 ,  2 }"
  formats "lib Foo\n  $foo  :  Int32 \nend"
  formats "lib Foo\n  $foo  :  Int32 \nend"
  formats "asm(\"nop\" : \"a\"(0) )"
  formats "asm(\"nop\" : \"a\"(0) )"
  formats "x = <<-FOO\n  hello\n  FOO\n\ndef bar\nend"
  formats "x = <<-FOO\n  hello\n  FOO\n\ndef bar\nend"
  formats "def foo(a,\n        &block)\nend"
  formats "def foo(a,\n        &block)\nend"
  formats "foo\n  .bar\n  .baz(\n    1\n  )"
  formats "foo\n  .bar\n  .baz(\n    1\n  )"
  formats "alias A = ((B(C | D) | E) | F)"
  formats "alias A = ((B(C | D) | E) | F)"
  formats "a = 1 +  #    foo\n2"
  formats "a = 1 +  #    foo\n2"
  formats "    [   1,   \n   2   ,   \n   3   ]   "
  formats "    [   1,   \n   2   ,   \n   3   ]   "
  formats "class Foo\n  macro foo\n    1\n  end\nend"
  formats "class Foo\n  macro foo\n    1\n  end\nend"
  formats "$1"
  formats "$1"
  formats "bla.select(&.all?{ |x| x } )"
  formats "bla.select(&.all?{ |x| x } )"
  formats ":&-"
  formats ":&-"
  formats "case  1 \n when 2 ;\n 3 \n end"
  formats "case  1 \n when 2 ;\n 3 \n end"
  formats "$~"
  formats "$~"
  formats "Foo(\"bar\": Int32, \"baz qux\": Float64)"
  formats "Foo(\"bar\": Int32, \"baz qux\": Float64)"
  formats "def   foo (  x , y , )  \n  end"
  formats "def   foo (  x , y , )  \n  end"
  formats "foo(bar(baz3 do\nend))"
  formats "foo(bar(baz3 do\nend))"
  formats "<<-HTML\n  \#{\"foo\"}\n  HTML"
  formats "<<-HTML\n  \#{\"foo\"}\n  HTML"
  formats "def foo(a,\n        **b)\nend"
  formats "def foo(a,\n        **b)\nend"
  formats "if 1\nelse\n# nothing\nend"
  formats "if 1\nelse\n# nothing\nend"
  formats "[1, 2, 3,  ]"
  formats "[1, 2, 3,  ]"
  formats "Hash{\n  foo => <<-EOF,\n  foo\n  EOF\n}"
  formats "Hash{\n  foo => <<-EOF,\n  foo\n  EOF\n}"
  formats "macro foo\n  {{1 + 2}}\nend"
  formats "macro foo\n  {{1 + 2}}\nend"
  formats "[\n  <<-EOF,\n  foo\n  EOF\n]"
  formats "[\n  <<-EOF,\n  foo\n  EOF\n]"
  formats "foo { |x, *y| }"
  formats "foo { |x, *y| }"
  formats "lib Foo\n  fun foo =\n    bar : Void\nend"
  formats "lib Foo\n  fun foo =\n    bar : Void\nend"
  formats "struct Foo(T)\n# bar\n1\nend"
  formats "struct Foo(T)\n# bar\n1\nend"
  formats "def foo\n  a = 1; # foo\n  a = 2; # bar\nend\n"
  formats "def foo\n  a = 1; # foo\n  a = 2; # bar\nend\n"
  formats "lib Foo\n  fun Bar\nend"
  formats "lib Foo\n  fun Bar\nend"
  formats "foo do # a\n  # b\n  bar\nend"
  formats "foo do # a\n  # b\n  bar\nend"
  formats "foo do  \n x \n end"
  formats "foo do  \n x \n end"
  formats "next { {1, 2}, {3, 4} }"
  formats "next { {1, 2}, {3, 4} }"
  formats "'\\n'"
  formats "'\\n'"
  formats "alias A = ({A, (B)})"
  formats "alias A = ({A, (B)})"
  formats "offsetof( String, @length )"
  formats "offsetof( String, @length )"
  formats "foo(1 ||\n    # foo\n    2)"
  formats "foo(1 ||\n    # foo\n    2)"
  formats "asm(\"nop\" :: \"r\"(0))"
  formats "asm(\"nop\" :: \"r\"(0))"
  formats "begin\n  1\nend\n\n1\n"
  formats "begin\n  1\nend\n\n1\n"
  formats "alias Foo =Bar"
  formats "alias Foo =Bar"
  formats "class X\n annotation  FooAnnotation  \n  end \n end"
  formats "class X\n annotation  FooAnnotation  \n  end \n end"
  formats "foo self // 1"
  formats "foo self // 1"
  formats "long_variable_name = [1, 2, 3, # foo\n                      4, 5, 6]"
  formats "long_variable_name = [1, 2, 3, # foo\n                      4, 5, 6]"
  formats "NamedTuple()"
  formats "NamedTuple()"
  formats "alias  Foo::Bar  =   Baz"
  formats "alias  Foo::Bar  =   Baz"
  formats "return { {1, 2}, {3, 4} }"
  formats "return { {1, 2}, {3, 4} }"
  formats "\"\#{foo = 1\n}\""
  formats "\"\#{foo = 1\n}\""
  formats "case  1 \n when 2 , 3 \n 4 \n end"
  formats "case  1 \n when 2 , 3 \n 4 \n end"
  formats "@[Foo( 1, 2, foo: 3 )]"
  formats "@[Foo( 1, 2, foo: 3 )]"
  formats "def foo(a : T) forall T \n  #\nend"
  formats "def foo(a : T) forall T \n  #\nend"
  formats ":&"
  formats ":&"
  formats "def foo(&block: Int32)\nend"
  formats "def foo(&block: Int32)\nend"
  formats "if 1\n2\nelsif\n3\n4\nelse\n6\nend"
  formats "if 1\n2\nelsif\n3\n4\nelse\n6\nend"
  formats "lib Foo\nstruct Foo\nend\nend"
  formats "lib Foo\nstruct Foo\nend\nend"
  formats "1 + \n2"
  formats "1 + \n2"
  formats "if 1  # foo\nend"
  formats "if 1  # foo\nend"
  formats "asm(\"a\" : : : : \"volatile\")"
  formats "asm(\"a\" : : : : \"volatile\")"
  formats "foo(out x)"
  formats "foo(out x)"
  formats "{% if z %}\n  1\n{% end %}\n\ndef foo\n  z =\n    123 + # foo\n      4   # bar\n\n  1\nend"
  formats "{% if z %}\n  1\n{% end %}\n\ndef foo\n  z =\n    123 + # foo\n      4   # bar\n\n  1\nend"
  formats "select\nwhen foo # foo\n  # bar\nelse # foo\n  # bar\nend"
  formats "select\nwhen foo # foo\n  # bar\nelse # foo\n  # bar\nend"
  formats "foo . bar()"
  formats "foo . bar()"
  formats "a = 1\na ||= begin\n  1\nend"
  formats "a = 1\na ||= begin\n  1\nend"
  formats "1"
  formats "1"
  formats "x = 1\nx    +=   1"
  formats "x = 1\nx    +=   1"
  formats "class Foo\n1\n\n# foo\nend"
  formats "class Foo\n1\n\n# foo\nend"
  formats "foo (1; 2)"
  formats "foo (1; 2)"
  formats "{ %w() }"
  formats "{ %w() }"
  formats "lib Foo\n  fun foo =\n\n\n    bar(Int32) : Int32\nend"
  formats "lib Foo\n  fun foo =\n\n\n    bar(Int32) : Int32\nend"
  formats "1&+2&*3"
  formats "1&+2&*3"
  formats "-> :: foo!"
  formats "-> :: foo!"
  formats "while 1 # foo\n  # bar\n  2\nend"
  formats "while 1 # foo\n  # bar\n  2\nend"
  formats "foo = 1\n->foo.foo="
  formats "foo = 1\n->foo.foo="
  formats "/ /"
  formats "/ /"
  formats "foo = {1, {2,\n           3},\n       4}"
  formats "foo = {1, {2,\n           3},\n       4}"
  formats "def foo(a : T) forall T\n  #\n\nend"
  formats "def foo(a : T) forall T\n  #\n\nend"
  formats "macro foo\n  def bar\n    {{\n      1 + 2\n    }}\n  end\nend"
  formats "macro foo\n  def bar\n    {{\n      1 + 2\n    }}\n  end\nend"
  formats "begin\n  begin\n\n  end\nend"
  formats "begin\n  begin\n\n  end\nend"
  formats "%{hello}"
  formats "%{hello}"
  formats "1 #=>2"
  formats "1 #=>2"
  formats "foo . responds_to?( :bar )"
  formats "foo . responds_to?( :bar )"
  formats "loop do\n  1\nrescue\n  2\nend"
  formats "loop do\n  1\nrescue\n  2\nend"
  formats "asm(\"a\" : \"b\"(1), \"c\"(2) : \"d\"(3) : : \"volatile\")"
  formats "asm(\"a\" : \"b\"(1), \"c\"(2) : \"d\"(3) : : \"volatile\")"
  formats "case 1        # foo\nwhen 2 then 3 # bar\nwhen 4 then 5 # baz\nelse        6 # zzz\nend"
  formats "case 1        # foo\nwhen 2 then 3 # bar\nwhen 4 then 5 # baz\nelse        6 # zzz\nend"
  formats "case  1 \n when 2 \n 3 \n end"
  formats "case  1 \n when 2 \n 3 \n end"
  formats "begin\n1\nensure\n2\nend"
  formats "begin\n1\nensure\n2\nend"
  formats "foo(1 &- 2)"
  formats "foo(1 &- 2)"
  formats "break  *1"
  formats "break  *1"
  formats "until 1\n2\nend"
  formats "until 1\n2\nend"
  formats "foo(1, ) do\nend"
  formats "foo(1, ) do\nend"
  formats "foo = 1\n->foo.bar(Int32*)"
  formats "foo = 1\n->foo.bar(Int32*)"
  formats "foo[x: 1, &.bar] ||= 1"
  formats "foo[x: 1, &.bar] ||= 1"
  formats "-> :: Foo . foo="
  formats "-> :: Foo . foo="
  formats "->@@foo.foo?"
  formats "->@@foo.foo?"
  formats "foo . responds_to? :bar"
  formats "foo . responds_to? :bar"
  formats "foo(bar([\n  1,\n]))"
  formats "foo(bar([\n  1,\n]))"
  formats "foo do   # hello\nend"
  formats "foo do   # hello\nend"
  formats "class Foo\nx = 1\nend"
  formats "class Foo\nx = 1\nend"
  formats "Foo::Bar(T, U?)?"
  formats "Foo::Bar(T, U?)?"
  formats "alias A = (B)"
  formats "alias A = (B)"
  formats "1.>= do\nend"
  formats "1.>= do\nend"
Crystal::Repl::Interpreter
  types
    does class method on virtual metaclass casted to generic metaclass (#12302)
    does class method on virtual metaclass casted to generic metaclass (#12302)
    discards .class
    discards .class
    discards Path
    discards Path
    interprets path to type
    interprets path to type
    interprets class for virtual_type type (struct)
    interprets class for virtual_type type (struct)
    discards typeof
    discards typeof
    interprets class_crystal_instance_type_id
    interprets class_crystal_instance_type_id
    discards class for virtual_type type
    discards class for virtual_type type
    discards class for non-union type
    discards class for non-union type
    discards generic
    discards generic
    discards crystal_type_id
    discards crystal_type_id
    interprets class for non-union type
    interprets class for non-union type
    interprets crystal_type_id for nil
    interprets crystal_type_id for nil
    interprets crystal_type_id for non-nil
    interprets crystal_type_id for non-nil
    interprets class for module type (#12203)
    interprets class for module type (#12203)
    interprets crystal_type_id for virtual metaclass type (#12228)
    interprets crystal_type_id for virtual metaclass type (#12228)
    interprets class for virtual_type type
    interprets class for virtual_type type
Code gen: c enum
  codegens enum with 10 // 2 
  codegens enum with 10 // 2 
  codegens enum with 3 &* 2 
  codegens enum with 3 &* 2 
  codegens enum with ~1 
  codegens enum with ~1 
  codegens enum that refers to another enum constant
  codegens enum that refers to another enum constant
  codegens enum value
  codegens enum value
  codegens enum with -1 
  codegens enum with -1 
  codegens enum that refers to another constant
  codegens enum that refers to another constant
  codegens enum with 10 ^ 3 
  codegens enum with 10 ^ 3 
  codegens enum with +1 
  codegens enum with +1 
  codegens enum value 3
  codegens enum value 3
  codegens enum with (1 + 2) * 3 
  codegens enum with (1 + 2) * 3 
  codegens enum with 3 &- 2 
  codegens enum with 3 &- 2 
  codegens enum with 100 >> 3 
  codegens enum with 100 >> 3 
  codegens enum with 10 | 3 
  codegens enum with 10 | 3 
  codegens enum value 4
  codegens enum value 4
  codegens enum with 3 - 2 
  codegens enum with 3 - 2 
  codegens enum value 2
  codegens enum value 2
  codegens enum with 3 * 2 
  codegens enum with 3 * 2 
  codegens enum with 1 + 2 
  codegens enum with 1 + 2 
  codegens enum with 1 &+ 2 
  codegens enum with 1 &+ 2 
  codegens enum with 1 << 3 
  codegens enum with 1 << 3 
  codegens enum with 10 & 3 
  codegens enum with 10 & 3 
  codegens enum with 10 % 3 
  codegens enum with 10 % 3 
Lexer macro
  lexes macro with embedded string with %[
  lexes macro with embedded string with %[
  lexes macro var
  lexes macro var
  lexes macro with nested macro
  lexes macro with nested macro
  lexes macro with nested embedded string with %(
  lexes macro with nested embedded string with %(
  lexes macro with embedded char and sharp
  lexes macro with embedded char and sharp
  lexes macro with semicolon before end
  lexes macro with semicolon before end
  lexes macro with curly escape
  lexes macro with curly escape
  lexes begin end
  lexes begin end
  lexes macro with embedded string with %< ignores begin
  lexes macro with embedded string with %< ignores begin
  lexes with for inside escaped macro (#1029)
  lexes with for inside escaped macro (#1029)
  lexes macro with embedded string
  lexes macro with embedded string
  lexes macro with string interpolation and double curly brace
  lexes macro with string interpolation and double curly brace
  lexes macro with nested annotation
  lexes macro with nested annotation
  lexes macro with nested struct
  lexes macro with nested struct
  reaches end
  reaches end
  lexes macro with comments
  lexes macro with comments
  doesn't lex macro var if escaped
  doesn't lex macro var if escaped
  lexes with if/end inside escaped macro (#1029)
  lexes with if/end inside escaped macro (#1029)
  lexes macro with embedded string with %[ ignores begin
  lexes macro with embedded string with %[ ignores begin
  lexes macro with nested def
  lexes macro with nested def
  lexes bug #654
  lexes bug #654
  lexes macro with nested class
  lexes macro with nested class
  lexes macro with nested while
  lexes macro with nested while
  lexes macro with curly escape in comment
  lexes macro with curly escape in comment
  lexes macro with embedded string and expression
  lexes macro with embedded string and expression
  lexes macro with if as suffix after return
  lexes macro with if as suffix after return
  lexes macro with nested abstract struct
  lexes macro with nested abstract struct
  lexes macro without nested if
  lexes macro without nested if
  lexes macro with embedded string and backslash
  lexes macro with embedded string and backslash
  keeps correct line number after lexes the part of keyword and newline (#4656)
  keeps correct line number after lexes the part of keyword and newline (#4656)
  lexes macro with nested abstract class
  lexes macro with nested abstract class
  lexes macro with nested begin
  lexes macro with nested begin
  skips whitespace
  skips whitespace
  lexes macro with slash not followed by curly
  lexes macro with slash not followed by curly
  lexes macro with if as suffix
  lexes macro with if as suffix
  lexes macro with expression
  lexes macro with expression
  lexes macro with nested lib
  lexes macro with nested lib
  lexes macro with nested case
  lexes macro with nested case
  lexes macro with comments and expressions
  lexes macro with comments and expressions
  lexes macro with nested abstract def
  lexes macro with nested abstract def
  lexes macro with nested union
  lexes macro with nested union
  lexes macro with embedded string with %( ignores begin
  lexes macro with embedded string with %( ignores begin
  lexes macro with nested do
  lexes macro with nested do
  lexes macro with embedded string with %<
  lexes macro with embedded string with %<
  lexes macro with embedded string with %(
  lexes macro with embedded string with %(
  lexes macro with nested module
  lexes macro with nested module
  keeps correct column and line numbers
  keeps correct column and line numbers
  lexes macro with nested select
  lexes macro with nested select
  lexes macro with if after assign
  lexes macro with if after assign
  lexes macro with nested enum
  lexes macro with nested enum
  lexes macro with nested fun
  lexes macro with nested fun
  lexes macro with control
  lexes macro with control
  lexes with unless inside escaped macro (#5664)
  lexes with unless inside escaped macro (#5664)
  lexes macro with nested if
  lexes macro with nested if
  lexes simple macro
  lexes simple macro
  lexes macro with nested until
  lexes macro with nested until
  lexes macro with nested unless
  lexes macro with nested unless
  lexes escaped quote inside string (#895)
  lexes escaped quote inside string (#895)
Parser doc
  includes doc for macro
  includes doc for macro
  disables doc parsing inside defs
  disables doc parsing inside defs
  includes doc for def
  includes doc for def
  includes doc for class
  includes doc for class
  includes doc for call without obj
  includes doc for call without obj
  includes doc for struct
  includes doc for struct
  includes doc for constant assign
  includes doc for constant assign
  includes doc for abstract class
  includes doc for abstract class
  includes doc for fun def
  includes doc for fun def
  includes doc for module
  includes doc for module
  includes doc for alias
  includes doc for alias
  includes doc for enum def
  includes doc for enum def
  includes doc for annotation
  includes doc for annotation
  includes doc for abstract def
  includes doc for abstract def
  includes doc for private def
  includes doc for private def
Semantic: splat
  overloads with type restriction and splat (7)
  overloads with type restriction and splat (7)
  uses splat restriction with concrete type
  uses splat restriction with concrete type
  matches with type var splat inside explicit Union, when one splat fails entirely
  matches with type var splat inside explicit Union, when one splat fails entirely
  matches with type var splat inside explicit Union, when all splat elements match
  matches with type var splat inside explicit Union, when all splat elements match
  overloads with splat against method with two arguments (#986) (2)
  overloads with splat against method with two arguments (#986) (2)
  matches type splat with splat in generic type (2)
  matches type splat with splat in generic type (2)
  works if matches splat with type restriction
  works if matches splat with type restriction
  overloads with type restriction and splat (3)
  overloads with type restriction and splat (3)
  splats
  splats
  gives correct error when forwarding splat (2)
  gives correct error when forwarding splat (2)
  errors with too few non-splat type arguments (2)
  errors with too few non-splat type arguments (2)
  overloads with type restriction and splat (2)
  overloads with type restriction and splat (2)
  says missing argument because positional args don't match past splat
  says missing argument because positional args don't match past splat
  errors with too few non-splat type arguments (1)
  errors with too few non-splat type arguments (1)
  Crystal::Splat
    with splat
    with splat
    without splat
    without splat
  accesses T when empty, via module
  accesses T when empty, via module
  doesn't shift a call's location
  doesn't shift a call's location
  matches with tuple splat inside explicit Union
  matches with tuple splat inside explicit Union
  calls super with implicit splat arg (#1001)
  calls super with implicit splat arg (#1001)
  matches with type var splat inside explicit Union (2)
  matches with type var splat inside explicit Union (2)
  overloads with type restriction and splat (5)
  overloads with type restriction and splat (5)
  method with splat and optional named argument matches zero args call (#2746)
  method with splat and optional named argument matches zero args call (#2746)
  errors with too many non-splat type arguments
  errors with too many non-splat type arguments
  uses splat restriction after non-splat arguments (#5037)
  uses splat restriction after non-splat arguments (#5037)
  matches type splat with splat in generic type (1)
  matches type splat with splat in generic type (1)
  forwards tuple with an extra argument
  forwards tuple with an extra argument
  overloads with type restriction and splat (4)
  overloads with type restriction and splat (4)
  uses bare *
  uses bare *
  matches with type var and splat of itself inside explicit Union
  matches with type var and splat of itself inside explicit Union
  errors if using two splat indices on restriction
  errors if using two splat indices on restriction
  splats arg and splat against splat (1) (#1042)
  splats arg and splat against splat (1) (#1042)
  matches with splat
  matches with splat
  matches with type var and splat of itself inside explicit Union (2)
  matches with type var and splat of itself inside explicit Union (2)
  uses splat restriction, matches empty
  uses splat restriction, matches empty
  says no overload matches on type restrictions past the splat arg
  says no overload matches on type restrictions past the splat arg
  uses bare *, doesn't let more args
  uses bare *, doesn't let more args
  uses splat restriction
  uses splat restriction
  errors if doesn't match splat with type restriction
  errors if doesn't match splat with type restriction
  overloads with type restriction and splat (6)
  overloads with type restriction and splat (6)
  redefines method with splat (bug #248)
  redefines method with splat (bug #248)
  gives correct error when forwarding splat
  gives correct error when forwarding splat
  matches with type var splat inside explicit Union
  matches with type var splat inside explicit Union
  errors if splatting non-tuple type in return values
  errors if splatting non-tuple type in return values
  errors on zero args with named arg and splat
  errors on zero args with named arg and splat
  allows default value after splat index
  allows default value after splat index
  forwards tuple in return statement
  forwards tuple in return statement
  matches with type var splat inside explicit Union, when non-splat vars fail
  matches with type var splat inside explicit Union, when non-splat vars fail
  doesn't match splat in generic type with unsplatted tuple (#10164)
  doesn't match splat in generic type with unsplatted tuple (#10164)
  matches with type var and splat of itself inside explicit Union (3)
  matches with type var and splat of itself inside explicit Union (3)
  overloads with type restriction and splat (1)
  overloads with type restriction and splat (1)
  matches instantiated generic with splat in generic type
  matches instantiated generic with splat in generic type
  errors if doesn't match splat with type restriction because of zero arguments
  errors if doesn't match splat with type restriction because of zero arguments
  can splat after type filter left it as a tuple (#442)
  can splat after type filter left it as a tuple (#442)
  doesn't crash on non-match (#2521)
  doesn't crash on non-match (#2521)
  splats arg and splat against splat (2) (#1042)
  splats arg and splat against splat (2) (#1042)
  errors if splatting union
  errors if splatting union
  matches partially instantiated generic with splat in generic type
  matches partially instantiated generic with splat in generic type
  doesn't match free var type splats inside explicit Union
  doesn't match free var type splats inside explicit Union
  errors if splatting non-tuple type in call arguments
  errors if splatting non-tuple type in call arguments
  overloads with splat against method with two arguments (#986) (1)
  overloads with splat against method with two arguments (#986) (1)
  method with default arguments and splat matches call with one arg (#2766)
  method with default arguments and splat matches call with one arg (#2766)
Semantic: yield with scope
  infer type of block body
  infer type of block body
  uses method of enclosing scope
  uses method of enclosing scope
  infer type of block body with yield scope and arguments
  infer type of block body with yield scope and arguments
  finds macro
  finds macro
  errors if using instance variable at top level
  errors if using instance variable at top level
  mentions with yield scope and current scope in error
  mentions with yield scope and current scope in error
  passes #229
  passes #229
  infer type of empty block body
  infer type of empty block body
  invokes nested calls
  invokes nested calls
  uses instance variable of enclosing scope
  uses instance variable of enclosing scope
  infer type of block body with yield scope
  infer type of block body with yield scope
Crystal::Playground::Agent
  should send json messages and return inspected value
  should send json messages and return inspected value
Code gen: regex literal spec
  works in a class variable (#10951)  works in a class variable (#10951)  works in a class variable (#10951)  works in a class variable (#10951)  works in a class variable (#10951)  works in a class variable (#10951)  works in a class variable (#10951)  works in a class variable (#10951)  works in a class variable (#10951)
  works in a class variable (#10951)
Semantic: double splat
  double splats named argument into arguments (1)
  double splats named argument into arguments (1)
  errors if duplicate keys on call side with double splat and named args
  errors if duplicate keys on call side with double splat and named args
  uses double splat restriction, matches empty
  uses double splat restriction, matches empty
  uses restriction on double splat, doesn't match with empty named tuple (2)
  uses restriction on double splat, doesn't match with empty named tuple (2)
  matches double splat on method with named args and regular args
  matches double splat on method with named args and regular args
  uses restriction on double splat, means all types must be that type
  uses restriction on double splat, means all types must be that type
  matches named args producing an empty double splat (#2678)
  matches named args producing an empty double splat (#2678)
  matches double splat on method (empty)
  matches double splat on method (empty)
  matches double splat with regular splat
  matches double splat with regular splat
  errors if duplicate keys on call side with two double splats
  errors if duplicate keys on call side with two double splats
  uses double splat in new
  uses double splat in new
  errors missing argument with double splat
  errors missing argument with double splat
  uses double splat restriction
  uses double splat restriction
  matches double splat on method with named args
  matches double splat on method with named args
  double splats named argument into arguments (2)
  double splats named argument into arguments (2)
  overloads based on double splat restriction
  overloads based on double splat restriction
  uses restriction on double splat, doesn't match with empty named tuple
  uses restriction on double splat, doesn't match with empty named tuple
  uses double splat restriction with concrete type
  uses double splat restriction with concrete type
Crystal::Init::InitProject
  correctly uses git config
  correctly uses git config
  has proper contents
  has proper contents
Crystal::Command
  clear_cache
    clears any cached compiler files
    clears any cached compiler files
Code gen: void
  codegens void assignment in case with local variable  codegens void assignment in case with local variable  codegens void assignment in case with local variable  codegens void assignment in case with local variable  codegens void assignment in case with local variable  codegens void assignment in case with local variable  codegens void assignment in case with local variable  codegens void assignment in case with local variable  codegens void assignment in case with local variable
  codegens void assignment in case with local variable
  codegens unreachable code
  codegens unreachable code
  allows passing void as argument to method
  allows passing void as argument to method
  codegens no return assignment
  codegens no return assignment
  codegens void assignment
  codegens void assignment
  codegens void assignment in case  codegens void assignment in case  codegens void assignment in case  codegens void assignment in case  codegens void assignment in case  codegens void assignment in case  codegens void assignment in case  codegens void assignment in case  codegens void assignment in case
  codegens void assignment in case
  returns void from nil functions, doesn't crash when passing value
  returns void from nil functions, doesn't crash when passing value
Semantic: ReferenceStorage
  errors if T is a value type
  errors if T is a value type
  errors if T is a struct type
  errors if T is a struct type
  errors if T is a nilable type
  errors if T is a nilable type
  allows a different name
  allows a different name
  errors if T is a union type
  errors if T is a union type
Crystal::Repl::Interpreter
  literals
    interprets an UInt128
    interprets an UInt128
    interprets a Float32
    interprets a Float32
    interprets a bool (false)
    interprets a bool (false)
    precomputes string literal length
    precomputes string literal length
    interprets an UInt32
    interprets an UInt32
    interprets an UInt64
    interprets an UInt64
    interprets an Int16
    interprets an Int16
    uses a string pool
    uses a string pool
    interprets a Float64
    interprets a Float64
    interprets an Int32
    interprets an Int32
    interprets an Int64
    interprets an Int64
    interprets a String literal
    interprets a String literal
    interprets an Int8
    interprets an Int8
    interprets an UInt16
    interprets an UInt16
    interprets an Int128
    interprets an Int128
    interprets an UInt8
    interprets an UInt8
    interprets a char
    interprets a char
    interprets a bool (true)
    interprets a bool (true)
    interprets nil
    interprets nil
  comparisons
    interprets Int32 != UInt64 (true)
    interprets Int32 != UInt64 (true)
    interprets UInt64 != Int32 (false)
    interprets UInt64 != Int32 (false)
    interprets UInt8 < Int32 (false, right is less than zero)
    interprets UInt8 < Int32 (false, right is less than zero)
    interprets Int32 == UInt64 (false)
    interprets Int32 == UInt64 (false)
    interprets Int32 != UInt64 (false)
    interprets Int32 != UInt64 (false)
    interprets UInt32 < Int32 (false)
    interprets UInt32 < Int32 (false)
    interprets UInt64 > UInt32 (false)
    interprets UInt64 > UInt32 (false)
    interprets Int32 != Int32 (true)
    interprets Int32 != Int32 (true)
    interprets Int32 == UInt64 (true)
    interprets Int32 == UInt64 (true)
    interprets UInt64 == Int32 (true when Int32 >= 0)
    interprets UInt64 == Int32 (true when Int32 >= 0)
    interprets Bool != Bool (true)
    interprets Bool != Bool (true)
    interprets Bool == Bool (false)
    interprets Bool == Bool (false)
    interprets UInt8 < Int32 (false, right is greater than zero)
    interprets UInt8 < Int32 (false, right is greater than zero)
    interprets UInt64 < Int32 (false, right is less than zero)
    interprets UInt64 < Int32 (false, right is less than zero)
    interprets Char == Char (false)
    interprets Char == Char (false)
    interprets Int32 == Int32 (true)
    interprets Int32 == Int32 (true)
    interprets Int128 == Int128 (false)
    interprets Int128 == Int128 (false)
    interprets UInt64.unsafe_mod(UInt64)
    interprets UInt64.unsafe_mod(UInt64)
    discards comparison
    discards comparison
    interprets Float64 < Float64
    interprets Float64 < Float64
    interprets Int128 == Int128 (true)
    interprets Int128 == Int128 (true)
    interprets UInt64 != Int32 (true)
    interprets UInt64 != Int32 (true)
    interprets Float32 / Int32
    interprets Float32 / Int32
    interprets UInt64 == Int32 (false when Int32 >= 0)
    interprets UInt64 == Int32 (false when Int32 >= 0)
    interprets Int32 < Float64
    interprets Int32 < Float64
    interprets UInt32 < Int32 (true)
    interprets UInt32 < Int32 (true)
    interprets Float64 / Float64
    interprets Float64 / Float64
    interprets Int32 < Int32
    interprets Int32 < Int32
    interprets Float32 fdiv Float64
    interprets Float32 fdiv Float64
    interprets UInt64 > UInt32 (true)
    interprets UInt64 > UInt32 (true)
    interprets Float64 < Int32
    interprets Float64 < Int32
    interprets Bool == Bool (true)
    interprets Bool == Bool (true)
    interprets Bool != Bool (false)
    interprets Bool != Bool (false)
    interprets Int32 > Float64 (true)
    interprets Int32 > Float64 (true)
    interprets UInt64 < Int32 (false, right is greater than zero)
    interprets UInt64 < Int32 (false, right is greater than zero)
    interprets Float64 fdiv Float32
    interprets Float64 fdiv Float32
    interprets Int32 == Float64 (true)
    interprets Int32 == Float64 (true)
    interprets UInt8 < Int32 (true, right is greater than zero)
    interprets UInt8 < Int32 (true, right is greater than zero)
    interprets Int32 != Int32 (false)
    interprets Int32 != Int32 (false)
    interprets UInt64 == Int32 (false when Int32 < 0)
    interprets UInt64 == Int32 (false when Int32 < 0)
    interprets UInt64 < Int32 (true, right is greater than zero)
    interprets UInt64 < Int32 (true, right is greater than zero)
    interprets Float32 / Float32
    interprets Float32 / Float32
    interprets Int32 == Float64 (false)
    interprets Int32 == Float64 (false)
    interprets Char == Char (true)
    interprets Char == Char (true)
    interprets Int32 == Int32 (false)
    interprets Int32 == Int32 (false)
    interprets Int32 > Float64 (false)
    interprets Int32 > Float64 (false)
  local variables
    interprets uninitialized
    interprets uninitialized
    interprets variable set
    interprets variable set
    doesn't declare variable with no type
    doesn't declare variable with no type
    interprets variable set and get
    interprets variable set and get
    assigns to underscore
    assigns to underscore
    interprets variable set and get, second local var
    interprets variable set and get, second local var
    interprets variable set with type restriction (#13023)
    interprets variable set with type restriction (#13023)
    interprets at the class level
    interprets at the class level
    doesn't declare variable with no type inside method
    doesn't declare variable with no type inside method
    interprets local variable declaration (#12229)
    interprets local variable declaration (#12229)
    interprets variable set and get with operations
    interprets variable set and get with operations
    doesn't discard underscore right hand side
    doesn't discard underscore right hand side
  conversion
    interprets Int8::MIN#to_f32!
    interprets Int8::MIN#to_f32!
    interprets Int8::MAX#to_f64!
    interprets Int8::MAX#to_f64!
    interprets Int64::MIN#to_f64!
    interprets Int64::MIN#to_f64!
    interprets Int64::MAX#to_i32!
    interprets Int64::MAX#to_i32!
    interprets Int64::MAX#to_u64!
    interprets Int64::MAX#to_u64!
    interprets Int32::MIN#to_i8!
    interprets Int32::MIN#to_i8!
    interprets Int16::MAX#to_i!
    interprets Int16::MAX#to_i!
    interprets Int32::MAX#to_u64!
    interprets Int32::MAX#to_u64!
    interprets Int64::MAX#to_i8!
    interprets Int64::MAX#to_i8!
    interprets Float64#to_i64! (negative)
    interprets Float64#to_i64! (negative)
    interprets UInt8::MAX#to_f32!
    interprets UInt8::MAX#to_f32!
    interprets UInt16::MAX#to_i!
    interprets UInt16::MAX#to_i!
    interprets Int16::MAX#to_u32!
    interprets Int16::MAX#to_u32!
    interprets Float64#to_i8! (negative)
    interprets Float64#to_i8! (negative)
    interprets UInt16::MAX#to_u16!
    interprets UInt16::MAX#to_u16!
    interprets UInt64::MAX#to_u64!
    interprets UInt64::MAX#to_u64!
    interprets Int8::MIN#to_i16!
    interprets Int8::MIN#to_i16!
    interprets Int64::MAX#to_u32!
    interprets Int64::MAX#to_u32!
    interprets Int16::MAX#to_i64!
    interprets Int16::MAX#to_i64!
    interprets Float64#to_i64! (positive)
    interprets Float64#to_i64! (positive)
    interprets Int64::MIN#to_i16!
    interprets Int64::MIN#to_i16!
    interprets Int64::MIN#to_u16!
    interprets Int64::MIN#to_u16!
    interprets Int16::MIN#to_u64!
    interprets Int16::MIN#to_u64!
    interprets Float32#to_f32! (negative)
    interprets Float32#to_f32! (negative)
    interprets UInt64::MAX#to_f64!
    interprets UInt64::MAX#to_f64!
    discards conversion
    discards conversion
    interprets UInt8::MAX#to_i32!
    interprets UInt8::MAX#to_i32!
    interprets UInt8::MAX#to_f64!
    interprets UInt8::MAX#to_f64!
    interprets UInt32::MAX#to_i8!
    interprets UInt32::MAX#to_i8!
    interprets Int32::MIN#to_u!
    interprets Int32::MIN#to_u!
    interprets Int8::MAX#to_u16!
    interprets Int8::MAX#to_u16!
    interprets UInt64::MAX#to_i64!
    interprets UInt64::MAX#to_i64!
    interprets Int32::MAX#to_i16!
    interprets Int32::MAX#to_i16!
    interprets Int16::MAX#to_i16!
    interprets Int16::MAX#to_i16!
    interprets Float32#to_i32! (positive)
    interprets Float32#to_i32! (positive)
    interprets Float32#to_i8! (positive)
    interprets Float32#to_i8! (positive)
    interprets Float32#to_i16! (positive)
    interprets Float32#to_i16! (positive)
    interprets Int32::MAX#to_u16!
    interprets Int32::MAX#to_u16!
    interprets Int32::MIN#to_i!
    interprets Int32::MIN#to_i!
    interprets Int16::MAX#to_i32!
    interprets Int16::MAX#to_i32!
    interprets UInt32::MAX#to_u64!
    interprets UInt32::MAX#to_u64!
    discards conversion with local var
    discards conversion with local var
    interprets Int16::MIN#to_u8!
    interprets Int16::MIN#to_u8!
    interprets UInt8::MAX#to_i8!
    interprets UInt8::MAX#to_i8!
    interprets Int64::MIN#to_f32!
    interprets Int64::MIN#to_f32!
    interprets Int64::MIN#to_u32!
    interprets Int64::MIN#to_u32!
    interprets UInt8::MAX#to_i16!
    interprets UInt8::MAX#to_i16!
    interprets Int64::MAX#to_i64!
    interprets Int64::MAX#to_i64!
    interprets Float32#to_i! (negative)
    interprets Float32#to_i! (negative)
    interprets Float32#to_u32! (positive)
    interprets Float32#to_u32! (positive)
    interprets Float64#to_f64! (negative)
    interprets Float64#to_f64! (negative)
    interprets Int32::MIN#to_u64!
    interprets Int32::MIN#to_u64!
    interprets UInt8::MAX#to_u8!
    interprets UInt8::MAX#to_u8!
    interprets Float32#to_f64! (positive)
    interprets Float32#to_f64! (positive)
    interprets Int32::MIN#to_f64!
    interprets Int32::MIN#to_f64!
    interprets Float64#to_u! (positive)
    interprets Float64#to_u! (positive)
    interprets Float64#to_f32! (negative)
    interprets Float64#to_f32! (negative)
    interprets Int64::MIN#to_u64!
    interprets Int64::MIN#to_u64!
    interprets Int64::MIN#to_u!
    interprets Int64::MIN#to_u!
    interprets Int8::MAX#to_i64!
    interprets Int8::MAX#to_i64!
    interprets Float64#to_i32! (positive)
    interprets Float64#to_i32! (positive)
    interprets UInt8::MAX#to_u64!
    interprets UInt8::MAX#to_u64!
    interprets UInt16::MAX#to_i16!
    interprets UInt16::MAX#to_i16!
    interprets Int8::MIN#to_u32!
    interprets Int8::MIN#to_u32!
    interprets UInt32::MAX#to_u!
    interprets UInt32::MAX#to_u!
    interprets Int32::MAX#to_i32!
    interprets Int32::MAX#to_i32!
    interprets UInt64::MAX#to_i32!
    interprets UInt64::MAX#to_i32!
    interprets UInt16::MAX#to_f64!
    interprets UInt16::MAX#to_f64!
    interprets Int32::MIN#to_i64!
    interprets Int32::MIN#to_i64!
    interprets UInt8::MAX#to_u16!
    interprets UInt8::MAX#to_u16!
    interprets UInt16::MAX#to_u32!
    interprets UInt16::MAX#to_u32!
    interprets UInt64::MAX#to_u8!
    interprets UInt64::MAX#to_u8!
    interprets Float32#to_i32! (negative)
    interprets Float32#to_i32! (negative)
    interprets UInt32::MAX#to_i16!
    interprets UInt32::MAX#to_i16!
    interprets Int32::MIN#to_i16!
    interprets Int32::MIN#to_i16!
    interprets Int16::MIN#to_u32!
    interprets Int16::MIN#to_u32!
    interprets UInt64::MAX#to_i!
    interprets UInt64::MAX#to_i!
    interprets UInt16::MAX#to_u64!
    interprets UInt16::MAX#to_u64!
    Int32#unsafe_chr
    Int32#unsafe_chr
    interprets UInt64::MAX#to_i8!
    interprets UInt64::MAX#to_i8!
    interprets Int16::MIN#to_i64!
    interprets Int16::MIN#to_i64!
    interprets Int64::MIN#to_u8!
    interprets Int64::MIN#to_u8!
    interprets Int32::MIN#to_u8!
    interprets Int32::MIN#to_u8!
    interprets Float32#to_i64! (negative)
    interprets Float32#to_i64! (negative)
    interprets Float32#to_i64! (positive)
    interprets Float32#to_i64! (positive)
    interprets UInt32::MAX#to_i!
    interprets UInt32::MAX#to_i!
    interprets Int64::MAX#to_i!
    interprets Int64::MAX#to_i!
    interprets Int64::MIN#to_i32!
    interprets Int64::MIN#to_i32!
    interprets Int16::MAX#to_f32!
    interprets Int16::MAX#to_f32!
    interprets Int64::MAX#to_u16!
    interprets Int64::MAX#to_u16!
    interprets Int8::MAX#to_i32!
    interprets Int8::MAX#to_i32!
    interprets Float32#to_i! (positive)
    interprets Float32#to_i! (positive)
    interprets UInt32::MAX#to_u8!
    interprets UInt32::MAX#to_u8!
    interprets Int32::MIN#to_i32!
    interprets Int32::MIN#to_i32!
    interprets Int64::MAX#to_u!
    interprets Int64::MAX#to_u!
    interprets Float64#to_f64! (positive)
    interprets Float64#to_f64! (positive)
    interprets Int8::MIN#to_u8!
    interprets Int8::MIN#to_u8!
    interprets UInt64::MAX#to_u32!
    interprets UInt64::MAX#to_u32!
    interprets Float64#to_u64! (positive)
    interprets Float64#to_u64! (positive)
    interprets Int16::MAX#to_i8!
    interprets Int16::MAX#to_i8!
    interprets Int32::MIN#to_f32!
    interprets Int32::MIN#to_f32!
    interprets Float32#to_f32! (positive)
    interprets Float32#to_f32! (positive)
    interprets Int64::MIN#to_i!
    interprets Int64::MIN#to_i!
    interprets Float64#to_u8! (positive)
    interprets Float64#to_u8! (positive)
    interprets UInt32::MAX#to_u16!
    interprets UInt32::MAX#to_u16!
    interprets Int64::MIN#to_i8!
    interprets Int64::MIN#to_i8!
    interprets Float64#to_u32! (positive)
    interprets Float64#to_u32! (positive)
    interprets Int64::MAX#to_u8!
    interprets Int64::MAX#to_u8!
    interprets Int16::MAX#to_u8!
    interprets Int16::MAX#to_u8!
    interprets Int8::MAX#to_u32!
    interprets Int8::MAX#to_u32!
    interprets Int32::MAX#to_u32!
    interprets Int32::MAX#to_u32!
    interprets Int8::MAX#to_u8!
    interprets Int8::MAX#to_u8!
    interprets UInt16::MAX#to_u8!
    interprets UInt16::MAX#to_u8!
    interprets Float64#to_f32! (positive)
    interprets Float64#to_f32! (positive)
    interprets Int8::MAX#to_u64!
    interprets Int8::MAX#to_u64!
    interprets Int8::MIN#to_i64!
    interprets Int8::MIN#to_i64!
    interprets UInt16::MAX#to_u!
    interprets UInt16::MAX#to_u!
    interprets Float32#to_u16! (positive)
    interprets Float32#to_u16! (positive)
    interprets Float64#to_i! (negative)
    interprets Float64#to_i! (negative)
    interprets Int8::MAX#to_u!
    interprets Int8::MAX#to_u!
    interprets Int16::MIN#to_u!
    interprets Int16::MIN#to_u!
    interprets Float32#to_u64! (positive)
    interprets Float32#to_u64! (positive)
    interprets UInt64::MAX#to_i16!
    interprets UInt64::MAX#to_i16!
    interprets Int32::MAX#to_u!
    interprets Int32::MAX#to_u!
    interprets UInt8::MAX#to_u!
    interprets UInt8::MAX#to_u!
    interprets Int8::MIN#to_u64!
    interprets Int8::MIN#to_u64!
    interprets Int16::MAX#to_f64!
    interprets Int16::MAX#to_f64!
    interprets Float64#to_i8! (positive)
    interprets Float64#to_i8! (positive)
    interprets Int16::MIN#to_i32!
    interprets Int16::MIN#to_i32!
    interprets Float32#to_i16! (negative)
    interprets Float32#to_i16! (negative)
    interprets Int32::MAX#to_i64!
    interprets Int32::MAX#to_i64!
    interprets Int16::MIN#to_f64!
    interprets Int16::MIN#to_f64!
    interprets Int8::MAX#to_i16!
    interprets Int8::MAX#to_i16!
    interprets Int16::MIN#to_f32!
    interprets Int16::MIN#to_f32!
    interprets Int8::MIN#to_u16!
    interprets Int8::MIN#to_u16!
    interprets UInt64::MAX#to_u16!
    interprets UInt64::MAX#to_u16!
    interprets Float32#to_i8! (negative)
    interprets Float32#to_i8! (negative)
    interprets Int64::MIN#to_i64!
    interprets Int64::MIN#to_i64!
    interprets Int16::MAX#to_u64!
    interprets Int16::MAX#to_u64!
    interprets UInt16::MAX#to_f32!
    interprets UInt16::MAX#to_f32!
    interprets Int32::MIN#to_u16!
    interprets Int32::MIN#to_u16!
    interprets UInt8::MAX#to_i64!
    interprets UInt8::MAX#to_i64!
    interprets UInt16::MAX#to_i8!
    interprets UInt16::MAX#to_i8!
    interprets UInt8::MAX#to_i!
    interprets UInt8::MAX#to_i!
    interprets Int32::MIN#to_u32!
    interprets Int32::MIN#to_u32!
    interprets UInt32::MAX#to_f32!
    interprets UInt32::MAX#to_f32!
    interprets Int64::MAX#to_i16!
    interprets Int64::MAX#to_i16!
    interprets UInt32::MAX#to_f64!
    interprets UInt32::MAX#to_f64!
    interprets UInt32::MAX#to_i64!
    interprets UInt32::MAX#to_i64!
    interprets Int32::MAX#to_i!
    interprets Int32::MAX#to_i!
    interprets Int8::MIN#to_i!
    interprets Int8::MIN#to_i!
    interprets UInt32::MAX#to_u32!
    interprets UInt32::MAX#to_u32!
    interprets UInt8::MAX#to_u32!
    interprets UInt8::MAX#to_u32!
    interprets Float32#to_f64! (negative)
    interprets Float32#to_f64! (negative)
    interprets Int16::MIN#to_u16!
    interprets Int16::MIN#to_u16!
    interprets UInt32::MAX#to_i32!
    interprets UInt32::MAX#to_i32!
    interprets Int8::MAX#to_i8!
    interprets Int8::MAX#to_i8!
    interprets Float64#to_i16! (negative)
    interprets Float64#to_i16! (negative)
    interprets Int32::MAX#to_f64!
    interprets Int32::MAX#to_f64!
    interprets Int32::MAX#to_i8!
    interprets Int32::MAX#to_i8!
    interprets Int8::MIN#to_f64!
    interprets Int8::MIN#to_f64!
    interprets Float64#to_i32! (negative)
    interprets Float64#to_i32! (negative)
    interprets Int8::MIN#to_u!
    interprets Int8::MIN#to_u!
    interprets Int64::MAX#to_f64!
    interprets Int64::MAX#to_f64!
    interprets Int32::MAX#to_u8!
    interprets Int32::MAX#to_u8!
    interprets Int8::MIN#to_i32!
    interprets Int8::MIN#to_i32!
    interprets UInt16::MAX#to_i64!
    interprets UInt16::MAX#to_i64!
    interprets Float32#to_u! (positive)
    interprets Float32#to_u! (positive)
    interprets Int32::MAX#to_f32!
    interprets Int32::MAX#to_f32!
    interprets Float64#to_u16! (positive)
    interprets Float64#to_u16! (positive)
    interprets UInt64::MAX#to_f32!
    interprets UInt64::MAX#to_f32!
    interprets Char#ord
    interprets Char#ord
    interprets Int16::MAX#to_u!
    interprets Int16::MAX#to_u!
    UInt8#unsafe_chr
    UInt8#unsafe_chr
    interprets Float32#to_u8! (positive)
    interprets Float32#to_u8! (positive)
    interprets UInt64::MAX#to_u!
    interprets UInt64::MAX#to_u!
    interprets Float64#to_i16! (positive)
    interprets Float64#to_i16! (positive)
    interprets Int8::MIN#to_i8!
    interprets Int8::MIN#to_i8!
    interprets Int8::MAX#to_f32!
    interprets Int8::MAX#to_f32!
    interprets Int16::MAX#to_u16!
    interprets Int16::MAX#to_u16!
    interprets Float64#to_i! (positive)
    interprets Float64#to_i! (positive)
    interprets UInt16::MAX#to_i32!
    interprets UInt16::MAX#to_i32!
    interprets Int16::MIN#to_i!
    interprets Int16::MIN#to_i!
    interprets Int64::MAX#to_f32!
    interprets Int64::MAX#to_f32!
    interprets Int16::MIN#to_i16!
    interprets Int16::MIN#to_i16!
    interprets Int16::MIN#to_i8!
    interprets Int16::MIN#to_i8!
    interprets Int8::MAX#to_i!
    interprets Int8::MAX#to_i!
  overflow
    *
      overlows on 20 * 214748364
      overlows on 20 * 214748364
      overlows on 10_u16 * 6600
      overlows on 10_u16 * 6600
      overlows on 10_i8 * 14
      overlows on 10_i8 * 14
      overlows on 10_i16 * 3300
      overlows on 10_i16 * 3300
      overlows on 20_u64 * 1844674407370955161_i64
      overlows on 20_u64 * 1844674407370955161_i64
      overlows on 20_i64 * 922337203685477580_i64
      overlows on 20_i64 * 922337203685477580_i64
      overlows on 20_u32 * 429496729
      overlows on 20_u32 * 429496729
      overlows on 10_u8 * 26
      overlows on 10_u8 * 26
    -
      overlows on 1_i64 - 9223372036854775810_u64
      overlows on 1_i64 - 9223372036854775810_u64
      overlows on 1_u16 - 2
      overlows on 1_u16 - 2
      overlows on 1_i16 - 32770
      overlows on 1_i16 - 32770
      overlows on 1_u64 - 2
      overlows on 1_u64 - 2
      overlows on 1_u8 - 2
      overlows on 1_u8 - 2
      overlows on 1_u32 - 2
      overlows on 1_u32 - 2
      overlows on 1 - 2147483650_i64
      overlows on 1 - 2147483650_i64
      overlows on 1_i8 - 256
      overlows on 1_i8 - 256
    conversion
      overlows on -1_i16.to_u64
      overlows on -1_i16.to_u64
      overlows on 32768_f64.to_i16
      overlows on 32768_f64.to_i16
      overlows on 128_f64.to_i8
      overlows on 128_f64.to_i8
      overlows on 128_u32.to_i8
      overlows on 128_u32.to_i8
      overlows on 256_f64.to_u8
      overlows on 256_f64.to_u8
      overlows on -1_i8.to_u64
      overlows on -1_i8.to_u64
      overlows on 65536_f32.to_u16
      overlows on 65536_f32.to_u16
      overlows on 256_f32.to_u8
      overlows on 256_f32.to_u8
      overlows on 2147483648_u32.to_i32
      overlows on 2147483648_u32.to_i32
      overlows on 32768_u32.to_i16
      overlows on 32768_u32.to_i16
      overlows on -1_i64.to_u8
      overlows on -1_i64.to_u8
      overlows on -1.to_u32
      overlows on -1.to_u32
      overlows on -1_i16.to_u16
      overlows on -1_i16.to_u16
      overlows on 128_f32.to_i8
      overlows on 128_f32.to_i8
      overlows on -1_i8.to_u8
      overlows on -1_i8.to_u8
      overlows on 1.7976931348623157e+308.to_f32
      overlows on 1.7976931348623157e+308.to_f32
      overlows on -1_i64.to_u16
      overlows on -1_i64.to_u16
      overlows on 65536_f64.to_u16
      overlows on 65536_f64.to_u16
      overlows on 128_u64.to_i8
      overlows on 128_u64.to_i8
      overlows on 2147483648_f64.to_i32
      overlows on 2147483648_f64.to_i32
      overlows on -1_i64.to_u64
      overlows on -1_i64.to_u64
      overlows on -1.to_u64
      overlows on -1.to_u64
      overlows on 32768_u64.to_i16
      overlows on 32768_u64.to_i16
      overlows on -1.to_u16
      overlows on -1.to_u16
      overlows on -1_i16.to_u8
      overlows on -1_i16.to_u8
      overlows on 128_u16.to_i8
      overlows on 128_u16.to_i8
      overlows on 2147483648_u64.to_i32
      overlows on 2147483648_u64.to_i32
      overlows on 128_u8.to_i8
      overlows on 128_u8.to_i8
      overlows on -1.to_u8
      overlows on -1.to_u8
      overlows on -1_i8.to_u32
      overlows on -1_i8.to_u32
      overlows on -1_i64.to_u32
      overlows on -1_i64.to_u32
      overlows on 32768_f32.to_i16
      overlows on 32768_f32.to_i16
      overlows on 9223372036854775808_u64.to_i64
      overlows on 9223372036854775808_u64.to_i64
      overlows on 32768_u16.to_i16
      overlows on 32768_u16.to_i16
      overlows on 4294967296_f64.to_u32
      overlows on 4294967296_f64.to_u32
      overlows on -1_i8.to_u16
      overlows on -1_i8.to_u16
      overlows on -1_i16.to_u32
      overlows on -1_i16.to_u32
    +
      overlows on 1_u8 + 255
      overlows on 1_u8 + 255
      overlows on 1_u32 + 4294967295_i64
      overlows on 1_u32 + 4294967295_i64
      overlows on 1_i64 + 9223372036854775807_i64
      overlows on 1_i64 + 9223372036854775807_i64
      overlows on 1_u16 + 65535
      overlows on 1_u16 + 65535
      overlows on 1_u64 + 18446744073709551615_u64
      overlows on 1_u64 + 18446744073709551615_u64
      overlows on 1 + 2147483647
      overlows on 1 + 2147483647
      overlows on 1_i16 + 32767
      overlows on 1_i16 + 32767
      overlows on 1_i8 + 128
      overlows on 1_i8 + 128
  logical operations
    does math primitive on union
    does math primitive on union
    interprets not for generic class instance type
    interprets not for generic class instance type
    interprets not for bool false
    interprets not for bool false
    interprets not for nilable proc type (false)
    interprets not for nilable proc type (false)
    interprets not for mixed union (false)
    interprets not for mixed union (false)
    interprets not for mixed union (true)
    interprets not for mixed union (true)
    interprets not for generic module
    interprets not for generic module
    interprets not for nilable type (true)
    interprets not for nilable type (true)
    does math convert on union
    does math convert on union
    interprets not for bool true
    interprets not for bool true
    interprets not for bool false
    interprets not for bool false
    interprets not for nilable type (true)
    interprets not for nilable type (true)
    interprets not for nil type
    interprets not for nil type
    discards nil not
    discards nil not
    interprets not for generic module metaclass
    interprets not for generic module metaclass
    interprets not for nilable type (false)
    interprets not for nilable type (false)
    discards bool not
    discards bool not
    interprets not for nilable proc type (true)
    interprets not for nilable proc type (true)
    interprets not for mixed union (nil)
    interprets not for mixed union (nil)
    interprets not for module (#12918)
    interprets not for module (#12918)
    interprets not for nilable type (false)
    interprets not for nilable type (false)
    interprets not for generic class instance metaclass
    interprets not for generic class instance metaclass
    interprets not for mixed union (other)
    interprets not for mixed union (other)
    interprets not for nil
    interprets not for nil
  math
    interprets Float64 * Float64
    interprets Float64 * Float64
    interprets UInt32 - Int32
    interprets UInt32 - Int32
    interprets Float64 + Float64
    interprets Float64 + Float64
    interprets Int32 + Float64
    interprets Int32 + Float64
    interprets UInt64 & Int32
    interprets UInt64 & Int32
    interprets Float32 + Float64
    interprets Float32 + Float64
    interprets Float64 - Float64
    interprets Float64 - Float64
    interprets Int32 * Int32
    interprets Int32 * Int32
    interprets Int128 + Int32
    interprets Int128 + Int32
    interprets Int8 + Int8
    interprets Int8 + Int8
    interprets Int32 &+ Int32
    interprets Int32 &+ Int32
    interprets Int32.unsafe_shl(Int32) with self
    interprets Int32.unsafe_shl(Int32) with self
    interprets UInt64 | UInt32
    interprets UInt64 | UInt32
    interprets Float64 + Int32
    interprets Float64 + Int32
    interprets Int64 + Int64
    interprets Int64 + Int64
    interprets UInt8 | Int32
    interprets UInt8 | Int32
    interprets Int32 &* Int32
    interprets Int32 &* Int32
    interprets Int32 - Int32
    interprets Int32 - Int32
    interprets Int32 + Int32
    interprets Int32 + Int32
    discards math
    discards math
    interprets UInt64 * Int32
    interprets UInt64 * Int32
    interprets Int32 &- Int32
    interprets Int32 &- Int32
Semantic: NoReturn
  computes NoReturn in a lazy way inside if then (#314) (4)
  computes NoReturn in a lazy way inside if then (#314) (4)
  computes NoReturn in a lazy way inside if then (#314) (1)
  computes NoReturn in a lazy way inside if then (#314) (1)
  computes NoReturn in a lazy way inside if then (#314) (3)
  computes NoReturn in a lazy way inside if then (#314) (3)
  types union of NoReturn and something else
  types union of NoReturn and something else
  computes NoReturn in a lazy way inside if else (#314) (4)
  computes NoReturn in a lazy way inside if else (#314) (4)
  computes NoReturn in a lazy way inside if else (#314) (3)
  computes NoReturn in a lazy way inside if else (#314) (3)
  computes NoReturn in a lazy way inside if then (#314) (5)
  computes NoReturn in a lazy way inside if then (#314) (5)
  types as NoReturn even if Nil return type is forced (#3096)
  types as NoReturn even if Nil return type is forced (#3096)
  computes NoReturn in a lazy way inside if else (#314) (1)
  computes NoReturn in a lazy way inside if else (#314) (1)
  types as NoReturn if typeof(exp)'s exp is NoReturn
  types as NoReturn if typeof(exp)'s exp is NoReturn
  assumes if condition's type filters when else is no return
  assumes if condition's type filters when else is no return
  types call to LibC.exit as NoReturn
  types call to LibC.exit as NoReturn
  types exception handler as NoReturn if ensure is NoReturn
  types exception handler as NoReturn if ensure is NoReturn
  types with no return even if code follows
  types with no return even if code follows
  types union of NoReturns
  types union of NoReturns
  computes NoReturn in a lazy way inside if then (#314) (2)
  computes NoReturn in a lazy way inside if then (#314) (2)
  computes NoReturn in a lazy way inside if else (#314) (5)
  computes NoReturn in a lazy way inside if else (#314) (5)
  computes NoReturn in a lazy way inside if else (#314) (2)
  computes NoReturn in a lazy way inside if else (#314) (2)
  types raise as NoReturn
  types raise as NoReturn
Code gen: hash literal spec
  creates custom generic hash via alias (1)
  creates custom generic hash via alias (1)
  assignment in hash-like literal works  assignment in hash-like literal works  assignment in hash-like literal works  assignment in hash-like literal works  assignment in hash-like literal works  assignment in hash-like literal works  assignment in hash-like literal works  assignment in hash-like literal works  assignment in hash-like literal works
  assignment in hash-like literal works
  creates custom generic hash in module (#5684)
  creates custom generic hash in module (#5684)
  creates custom generic hash with type vars
  creates custom generic hash with type vars
  doesn't crash on hash literal with proc pointer (#646)  doesn't crash on hash literal with proc pointer (#646)  doesn't crash on hash literal with proc pointer (#646)  doesn't crash on hash literal with proc pointer (#646)  doesn't crash on hash literal with proc pointer (#646)  doesn't crash on hash literal with proc pointer (#646)  doesn't crash on hash literal with proc pointer (#646)  doesn't crash on hash literal with proc pointer (#646)  doesn't crash on hash literal with proc pointer (#646)
  doesn't crash on hash literal with proc pointer (#646)
  creates custom non-generic hash
  creates custom non-generic hash
  assignment in hash literal works  assignment in hash literal works  assignment in hash literal works  assignment in hash literal works  assignment in hash literal works  assignment in hash literal works  assignment in hash literal works  assignment in hash literal works  assignment in hash literal works
  assignment in hash literal works
  creates custom generic hash
  creates custom generic hash
  creates custom generic hash via alias (2)
  creates custom generic hash via alias (2)
  creates custom non-generic hash in module
  creates custom non-generic hash in module
unreachable
  finds instance methods
  finds instance methods
  finds method called from expanded macro
  finds method called from expanded macro
  finds instance methods in nested types
  finds instance methods in nested types
  finds method with `previous_def`
  finds method with `previous_def`
  finds method called from expanded macro expression
  finds method called from expanded macro expression
  finds top level methods
  finds top level methods
  finds initializer
  finds initializer
  ignores autogenerated enum predicates
  ignores autogenerated enum predicates
  finds method called from block
  finds method called from block
  finds class methods
  finds class methods
  finds method with `super`
  finds method with `super`
  handles circular hierarchy references (#14034)
  handles circular hierarchy references (#14034)
  finds abstract method
  finds abstract method
  finds virtual method
  finds virtual method
  finds method called from proc
  finds method called from proc
  tallies calls
  tallies calls
  finds shadowed method
  finds shadowed method
  finds yielding methods
  finds yielding methods
  finds methods called from reachable code
  finds methods called from reachable code
  finds method called from instance variable initializer
  finds method called from instance variable initializer
  finds method in abstract type
  finds method in abstract type
  finds methods with proc parameter
  finds methods with proc parameter
  finds method with free variable
  finds method with free variable
  finds methods in generic type
  finds methods in generic type
Code gen: experimental
  errors if too many arguments
  errors if too many arguments
  compiles with single string argument
  compiles with single string argument
  errors if missing link arguments
  errors if missing link arguments
  compiles with no argument
  compiles with no argument
  errors if invalid argument type
  errors if invalid argument type
Crystal::Repl::Interpreter
  structs
    does call receiver by value from VirtualType abstract struct to union
    does call receiver by value from VirtualType abstract struct to union
    does constructor
    does constructor
    discards allocate
    discards allocate
    does allocate, set instance var and get instance var
    does allocate, set instance var and get instance var
    mutates struct inside union
    mutates struct inside union
    interprets read instance var of struct
    interprets read instance var of struct
    inlines struct method that returns self (#12253)
    inlines struct method that returns self (#12253)
    does complex class instance var initializer
    does complex class instance var initializer
    does simple class instance var initializer
    does simple class instance var initializer
    does class instance var initializer inheritance
    does class instance var initializer inheritance
    does call receiver by value from VirtualType abstract struct to concrete struct (#12190)
    does call receiver by value from VirtualType abstract struct to concrete struct (#12190)
    sets multiple instance vars in virtual abstract struct call (#12187)
    sets multiple instance vars in virtual abstract struct call (#12187)
    does simple struct instance var initializer
    does simple struct instance var initializer
    mutates struct stored in class var
    mutates struct stored in class var
    casts def body to def type
    casts def body to def type
Codegen: private
  doesn't include filename for private types
  doesn't include filename for private types
  codegens private def in same file
  codegens private def in same file
  codegens class vars of private types with same name (#11620)
  codegens class vars of private types with same name (#11620)
  codegens class var of private type with same name as public type (#11620)
  codegens class var of private type with same name as public type (#11620)
  codegens overloaded private def in same file
  codegens overloaded private def in same file
Semantic: const
  types a nested constant
  types a nested constant
  finds current type only for first path item (2)
  finds current type only for first path item (2)
  types a nested type with same name
  types a nested type with same name
  doesn't error if using c enum
  doesn't error if using c enum
  doesn't errors if constant depends on another one defined later through method, but constant is simple (~ 2)
  doesn't errors if constant depends on another one defined later through method, but constant is simple (~ 2)
  errors on dynamic constant assignment inside block
  errors on dynamic constant assignment inside block
  doesn't errors if constant depends on another one defined later through method, but constant is simple (- 2)
  doesn't errors if constant depends on another one defined later through method, but constant is simple (- 2)
  doesn't errors if constant depends on another one defined later through method, but constant is simple (ZED &- 1)
  doesn't errors if constant depends on another one defined later through method, but constant is simple (ZED &- 1)
  errors if using const in proc notation parameter type
  errors if using const in proc notation parameter type
  types a constant using Path
  types a constant using Path
  errors if constant has NoReturn type (#6139)
  errors if constant has NoReturn type (#6139)
  doesn't errors if constant depends on another one defined later through method, but constant is simple (ZED - 1)
  doesn't errors if constant depends on another one defined later through method, but constant is simple (ZED - 1)
  doesn't errors if constant depends on another one defined later through method, but constant is simple (1 + ZED)
  doesn't errors if constant depends on another one defined later through method, but constant is simple (1 + ZED)
  errors if using const in restriction
  errors if using const in restriction
  creates container module if not exist when using Path
  creates container module if not exist when using Path
  finds current type before parents (#4086)
  finds current type before parents (#4086)
  finds current type first
  finds current type first
  types a nested constant using Path
  types a nested constant using Path
  doesn't errors if constant depends on another one defined later through method, but constant is simple (+ 1)
  doesn't errors if constant depends on another one defined later through method, but constant is simple (+ 1)
  errors if can't infer constant type (#3240, #3948)
  errors if can't infer constant type (#3240, #3948)
  doesn't crash with const used in initialize (bug)
  doesn't crash with const used in initialize (bug)
  doesn't count parent types as current type
  doesn't count parent types as current type
  finds nearest constant first
  finds nearest constant first
  doesn't errors if constant depends on another one defined later through method, but constant is simple (true)
  doesn't errors if constant depends on another one defined later through method, but constant is simple (true)
  doesn't errors if constant depends on another one defined later through method, but constant is simple (1)
  doesn't errors if constant depends on another one defined later through method, but constant is simple (1)
  errors if using const in type declaration
  errors if using const in type declaration
  types a constant reference
  types a constant reference
  errors if using const in uninitialized
  errors if using const in uninitialized
  doesn't errors if constant depends on another one defined later through method, but constant is simple (1 &+ ZED)
  doesn't errors if constant depends on another one defined later through method, but constant is simple (1 &+ ZED)
  finds constant in module that includes module (#205)
  finds constant in module that includes module (#205)
  doesn't errors if constant depends on another one defined later through method, but constant is simple (1 + 2)
  doesn't errors if constant depends on another one defined later through method, but constant is simple (1 + 2)
  doesn't errors if constant depends on another one defined later through method, but constant is simple (ZED &* 2)
  doesn't errors if constant depends on another one defined later through method, but constant is simple (ZED &* 2)
  doesn't errors if constant depends on another one defined later through method, but constant is simple ("foo")
  doesn't errors if constant depends on another one defined later through method, but constant is simple ("foo")
  doesn't errors if constant depends on another one defined later through method, but constant is simple (nil)
  doesn't errors if constant depends on another one defined later through method, but constant is simple (nil)
  doesn't errors if constant depends on another one defined later through method, but constant is simple ('a')
  doesn't errors if constant depends on another one defined later through method, but constant is simple ('a')
  doesn't errors if constant depends on another one defined later through method, but constant is simple (ZED * 2)
  doesn't errors if constant depends on another one defined later through method, but constant is simple (ZED * 2)
  types a global constant reference in method
  types a global constant reference in method
  can use constant defined later (#2906)
  can use constant defined later (#2906)
  types a global constant reference in static method
  types a global constant reference in static method
  types a constant inside a def
  types a constant inside a def
  errors if using return inside constant value (#5391)
  errors if using return inside constant value (#5391)
  errors on dynamic constant assignment inside if
  errors on dynamic constant assignment inside if
  keeps type of container when using Path
  keeps type of container when using Path
  errors if using const in proc notation return type
  errors if using const in proc notation return type
  finds const from restriction
  finds const from restriction
  finds constant in class that extends class (#205)
  finds constant in class that extends class (#205)
  doesn't errors if constant depends on another one defined later through method, but constant is simple (ZED // 2)
  doesn't errors if constant depends on another one defined later through method, but constant is simple (ZED // 2)
  errors if using const in var declaration
  errors if using const in var declaration
  errors if using constant as generic type (#3240)
  errors if using constant as generic type (#3240)
  doesn't share variables with global scope
  doesn't share variables with global scope
  types a constant
  types a constant
  finds current type only for first path item (1)
  finds current type only for first path item (1)
Semantic: def overload
  matches a generic module argument with free var
  matches a generic module argument with free var
  filter union type with virtual
  filter union type with virtual
  matches on partial union
  matches on partial union
  does not consider global paths as free variables (2)
  does not consider global paths as free variables (2)
  treats single splats with same restriction as equivalent (2) (#12579)
  treats single splats with same restriction as equivalent (2) (#12579)
  types a call with overload self in included module other type
  types a call with overload self in included module other type
  types a call with overload Object type first overload
  types a call with overload Object type first overload
  matches a union argument with free var
  matches a union argument with free var
  compare self type with others
  compare self type with others
  says `no overload matches` instead of `can't instantiate abstract class` on wrong argument in new method
  says `no overload matches` instead of `can't instantiate abstract class` on wrong argument in new method
  lookup matches in virtual type inside union
  lookup matches in virtual type inside union
  uses long name when no overload matches and name is the same (#1030)
  uses long name when no overload matches and name is the same (#1030)
  types a call with overload self
  types a call with overload self
  types a call with overload with yield the other way
  types a call with overload with yield the other way
  errors when binding free variable to different types (2)
  errors when binding free variable to different types (2)
  types a call with overload type first overload
  types a call with overload type first overload
  doesn't match tuples of different sizes
  doesn't match tuples of different sizes
  matches types with free variables
  matches types with free variables
  accepts overload with nilable type restriction
  accepts overload with nilable type restriction
  can call overload with generic restriction
  can call overload with generic restriction
  errors if union restriction has multiple free vars
  errors if union restriction has multiple free vars
  prefers more specific overload than one with free variables
  prefers more specific overload than one with free variables
  dispatches with named arg
  dispatches with named arg
  gets free variable from union restriction without a union
  gets free variable from union restriction without a union
  matches a generic module argument
  matches a generic module argument
  restrict matches to minimum necessary 1
  restrict matches to minimum necessary 1
  compare_strictness
    subsumption conflicts
      named vs named
      named vs named
      single splat vs named
      single splat vs named
      single splat vs double splat
      single splat vs double splat
      positional vs positional
      positional vs positional
      named vs double splat
      named vs double splat
      positional vs named
      positional vs named
      positional vs single splat
      positional vs single splat
      positional vs double splat
      positional vs double splat
    specificity conflicts, named vs named
      (required > optional) vs (required > optional)
      (required > optional) vs (required > optional)
      (required > splat) vs (optional > splat)
      (required > splat) vs (optional > splat)
      (required > splat) vs (required > splat)
      (required > splat) vs (required > splat)
      (optional > splat) vs (optional > splat)
      (optional > splat) vs (optional > splat)
      (required > optional) vs (optional > splat)
      (required > optional) vs (optional > splat)
      (required > optional) vs (required > splat)
      (required > optional) vs (required > splat)
    specificity conflicts, positional vs named
      (required > splat) vs (required > optional)
      (required > splat) vs (required > optional)
      (optional > splat) vs (optional > splat)
      (optional > splat) vs (optional > splat)
      (required > optional) vs (optional > splat)
      (required > optional) vs (optional > splat)
      (required > splat) vs (required > splat)
      (required > splat) vs (required > splat)
      (required > optional) vs (required > splat)
      (required > optional) vs (required > splat)
      (required > splat) vs (optional > splat)
      (required > splat) vs (optional > splat)
      (required > optional) vs (required > optional)
      (required > optional) vs (required > optional)
      (optional > splat) vs (required > optional)
      (optional > splat) vs (required > optional)
      (optional > splat) vs (required > splat)
      (optional > splat) vs (required > splat)
    named parameters
      named parameter with restriction vs double splat with stricter restriction
      named parameter with restriction vs double splat with stricter restriction
      named parameter with stricter restriction vs double splat with restriction
      named parameter with stricter restriction vs double splat with restriction
      named parameter vs double splat with restriction
      named parameter vs double splat with restriction
      named parameter with restriction vs double splat (#5328)
      named parameter with restriction vs double splat (#5328)
      double splat restriction vs double splat with stricter restriction
      double splat restriction vs double splat with stricter restriction
      double splat vs double splat with restriction
      double splat vs double splat with restriction
      specificity
      specificity
    positional parameters
      positional parameter vs single splat with restriction
      positional parameter vs single splat with restriction
      specificity
      specificity
      single splat restriction vs single splat with stricter restriction
      single splat restriction vs single splat with stricter restriction
      positional parameter with restriction vs single splat with stricter restriction
      positional parameter with restriction vs single splat with stricter restriction
      positional parameter with stricter restriction vs single splat with restriction
      positional parameter with stricter restriction vs single splat with restriction
      positional parameter with restriction vs single splat
      positional parameter with restriction vs single splat
      single splat vs single splat with restriction (#3134)
      single splat vs single splat with restriction (#3134)
    subsumption has higher precedence over specificity
      same positional parameter, optional > single splat
      same positional parameter, optional > single splat
      named vs (required positional > optional positional)
      named vs (required positional > optional positional)
      named vs (optional named > double splat)
      named vs (optional named > double splat)
      single splat vs (optional named > double splat)
      single splat vs (optional named > double splat)
      positional vs (optional named > double splat)
      positional vs (optional named > double splat)
      positional vs (optional positional > single splat)
      positional vs (optional positional > single splat)
      same positional parameter, required > single splat
      same positional parameter, required > single splat
      same named parameter, required > double splat
      same named parameter, required > double splat
      positional vs (required positional > optional positional)
      positional vs (required positional > optional positional)
      single splat vs (required named > double splat)
      single splat vs (required named > double splat)
      double splat vs (required positional > single splat)
      double splat vs (required positional > single splat)
      double splat vs (required positional > optional positional)
      double splat vs (required positional > optional positional)
      single splat vs (required named > optional named)
      single splat vs (required named > optional named)
      positional vs (required positional > single splat)
      positional vs (required positional > single splat)
      positional vs (required named > optional named)
      positional vs (required named > optional named)
      double splat vs (optional positional > single splat)
      double splat vs (optional positional > single splat)
      same named parameter, optional > double splat
      same named parameter, optional > double splat
      named vs (required positional > single splat)
      named vs (required positional > single splat)
      named vs (required named > optional named)
      named vs (required named > optional named)
      positional vs (required named > double splat)
      positional vs (required named > double splat)
      named vs (optional positional > single splat)
      named vs (optional positional > single splat)
      named vs (required named > double splat)
      named vs (required named > double splat)
      same positional parameter, required > optional
      same positional parameter, required > optional
      same named parameter, required > optional
      same named parameter, required > optional
  types a call with overload self in included module
  types a call with overload self in included module
  includes splat symbol in error message
  includes splat symbol in error message
  resets free vars after a partial match is rejected (#10270)
  resets free vars after a partial match is rejected (#10270)
  restrict virtual type with virtual type
  restrict virtual type with virtual type
  types a call with overload
  types a call with overload
  types a call with overload selecting the most restrictive
  types a call with overload selecting the most restrictive
  uses method defined in base class if the restriction doesn't match
  uses method defined in base class if the restriction doesn't match
  overloads on metaclass (#2916)
  overloads on metaclass (#2916)
  matches a union argument with free var, more types (1)
  matches a union argument with free var, more types (1)
  matches tuples and uses free var
  matches tuples and uses free var
  types a call with overload selecting the most restrictive 2
  types a call with overload selecting the most restrictive 2
  matches virtual type to union
  matches virtual type to union
  types a call with overload matches virtual 2
  types a call with overload matches virtual 2
  does not consider global paths as free variables (1)
  does not consider global paths as free variables (1)
  matches tuples of different sizes
  matches tuples of different sizes
  can call overload with aliased generic restriction
  can call overload with aliased generic restriction
  gets free variable from union restriction
  gets free variable from union restriction
  matches a generic module argument with free var (2)
  matches a generic module argument with free var (2)
  gives correct error message, looking up parent defs, when no overload matches
  gives correct error message, looking up parent defs, when no overload matches
  types a call with overload self with inherited type
  types a call with overload self with inherited type
  overloads with named argument (#4465)
  overloads with named argument (#4465)
  restricts union to generic class
  restricts union to generic class
  overloads union against non-union (#2904)
  overloads union against non-union (#2904)
  types a call with overload with yield after typing another call without yield
  types a call with overload with yield after typing another call without yield
  types a call with overload matches virtual 3
  types a call with overload matches virtual 3
  restricts on generic type without type arg
  restricts on generic type without type arg
  gets free variable from union restriction (2)
  gets free variable from union restriction (2)
  resets free vars after a partial match is rejected (2) (#10185)
  resets free vars after a partial match is rejected (2) (#10185)
  doesn't match with wrong number of type arguments (#313)
  doesn't match with wrong number of type arguments (#313)
  types a call with overload type second overload
  types a call with overload type second overload
  errors if no overload matches on union against named arg with external param name (#10516)
  errors if no overload matches on union against named arg with external param name (#10516)
  finds method after including module in generic module (#1201)
  finds method after including module in generic module (#1201)
  treats single splats with same restriction as equivalent (#12579)
  treats single splats with same restriction as equivalent (#12579)
  errors when binding free variable to different types
  errors when binding free variable to different types
  gives better error message with consecutive arguments sizes
  gives better error message with consecutive arguments sizes
  doesn't crash on unknown metaclass
  doesn't crash on unknown metaclass
  dispatch call to def with restrictions
  dispatch call to def with restrictions
  considers NamedTuple in a module's including types (#10380)
  considers NamedTuple in a module's including types (#10380)
  overloads on metaclass (2) (#2916)
  overloads on metaclass (2) (#2916)
  types a call with overload matches virtual
  types a call with overload matches virtual
  matches a union metaclass argument with free var (#8071)
  matches a union metaclass argument with free var (#8071)
  single type restriction wins over union
  single type restriction wins over union
  types a call with overload with yield
  types a call with overload with yield
  matches tuple with underscore
  matches tuple with underscore
  matches a union argument with free var, more types (2)
  matches a union argument with free var, more types (2)
  types a call with overload self other match
  types a call with overload self other match
  errors if generic type doesn't match
  errors if generic type doesn't match
  reports no overload matches with correct method owner (#2083)
  reports no overload matches with correct method owner (#2083)
  errors if union restriction has multiple free vars (2)
  errors if union restriction has multiple free vars (2)
  dispatch call to def with restrictions
  dispatch call to def with restrictions
  errors if no overload matches on union against named arg (#2640)
  errors if no overload matches on union against named arg (#2640)
  overloads on metaclass (3) (#2916)
  overloads on metaclass (3) (#2916)
  matches generic class instance type with another one
  matches generic class instance type with another one
  restricts on generic type with free type arg
  restricts on generic type with free type arg
Parser
  parses "foo.responds_to? :foo"
  parses "foo.responds_to? :foo"
  parses ":foo"
  parses ":foo"
  parses "x = 1; foo x { }"
  parses "x = 1; foo x { }"
  parses "foo &.[0] = 1"
  parses "foo &.[0] = 1"
  parses "a : Foo()*"
  parses "a : Foo()*"
  parses "def self.===; end;"
  parses "def self.===; end;"
  parses "-@foo"
  parses "-@foo"
  parses "case :foo; when :bar; 2; end"
  parses "case :foo; when :bar; 2; end"
  parses "Set() {1, 2, 3}"
  parses "Set() {1, 2, 3}"
  says syntax error on "def foo\nabstract\nend"
  says syntax error on "def foo\nabstract\nend"
  parses "{% begin %}%i{ %s }{% end %}"
  parses "{% begin %}%i{ %s }{% end %}"
  parses "a = 1\ncase 1\nwhen a then 1\nend"
  parses "a = 1\ncase 1\nwhen a then 1\nend"
  parses "property lib : Int32"
  parses "property lib : Int32"
  parses "a, *b = 1"
  parses "a, *b = 1"
  parses "foo.==(1, 2)"
  parses "foo.==(1, 2)"
  parses "def foo(@@var); 1; end"
  parses "def foo(@@var); 1; end"
  parses "break 1 if true"
  parses "break 1 if true"
  parses "foo.<(1, 2)"
  parses "foo.<(1, 2)"
  parses "foo(&.as(T))"
  parses "foo(&.as(T))"
  parses ":\"\\\"foo\""
  parses ":\"\\\"foo\""
  parses ":&**"
  parses ":&**"
  sets correct location of global path in annotation
  sets correct location of global path in annotation
  says syntax error on "def foo(self); end"
  says syntax error on "def foo(self); end"
  parses "Int[8, 4,]"
  parses "Int[8, 4,]"
  says syntax error on "break ? 1 : 2"
  says syntax error on "break ? 1 : 2"
  says syntax error on "def foo(foo private); end"
  says syntax error on "def foo(foo private); end"
  parses "\"hello \\\n     world\""
  parses "\"hello \\\n     world\""
  parses ":>"
  parses ":>"
  parses "if (\ntrue\n)\n1\nend"
  parses "if (\ntrue\n)\n1\nend"
  parses "def self./; end;"
  parses "def self./; end;"
  parses "{% begin %}%Q< %s >{% end %}"
  parses "{% begin %}%Q< %s >{% end %}"
  parses "/foo/imximx"
  parses "/foo/imximx"
  parses "foo[\n1\n]"
  parses "foo[\n1\n]"
  says syntax error on "foo { |(false)| }"
  says syntax error on "foo { |(false)| }"
  parses "{\"foo\": 1, \"bar\": 2}"
  parses "{\"foo\": 1, \"bar\": 2}"
  parses "Foo(T, 1, U)"
  parses "Foo(T, 1, U)"
  says syntax error on "pointerof(self)"
  says syntax error on "pointerof(self)"
  parses "1 <= 2"
  parses "1 <= 2"
  parses "foo(z: 0, a: n &** 2)"
  parses "foo(z: 0, a: n &** 2)"
  parses "def !=; end;"
  parses "def !=; end;"
  parses "def foo(x @@end); end"
  parses "def foo(x @@end); end"
  says syntax error on "*a, b, c, d, e = 1, 2"
  says syntax error on "*a, b, c, d, e = 1, 2"
  says syntax error on "macro foo(x y z); end"
  says syntax error on "macro foo(x y z); end"
  parses "foo 1;"
  parses "foo 1;"
  parses "+ 1"
  parses "+ 1"
  says syntax error on "def foo(unless); end"
  says syntax error on "def foo(unless); end"
  parses "{% begin %}%w[ %s ]{% end %}"
  parses "{% begin %}%w[ %s ]{% end %}"
  parses "x[0] ? 1 : 0"
  parses "x[0] ? 1 : 0"
  parses "macro foo; 1 + 2; end"
  parses "macro foo; 1 + 2; end"
  parses "def foo(\nvar\n); end"
  parses "def foo(\nvar\n); end"
  parses "foo(z: 0, a: n >> 2)"
  parses "foo(z: 0, a: n >> 2)"
  parses "def foo(x @@lib); end"
  parses "def foo(x @@lib); end"
  parses "@[Foo(\n1, foo: 2\n)]"
  parses "@[Foo(\n1, foo: 2\n)]"
  says syntax error on "def foo(**a foo); end"
  says syntax error on "def foo(**a foo); end"
  parses "foo.=== do end"
  parses "foo.=== do end"
  parses "{% begin %}%i[ %s ]{% end %}"
  parses "{% begin %}%i[ %s ]{% end %}"
  parses "foo { |(_, c)| c }"
  parses "foo { |(_, c)| c }"
  parses "foo.< do end"
  parses "foo.< do end"
  parses "foo = 1; ->foo.>(Int32)"
  parses "foo = 1; ->foo.>(Int32)"
  parses "foo.^(1, 2) { 3 }"
  parses "foo.^(1, 2) { 3 }"
  parses "macro foo;unless %var;true;end;end"
  parses "macro foo;unless %var;true;end;end"
  parses "foo.- do end"
  parses "foo.- do end"
  parses "foo &.each {\n}"
  parses "foo &.each {\n}"
  parses "/fo\\so/"
  parses "/fo\\so/"
  parses "def self.&(); end;"
  parses "def self.&(); end;"
  says syntax error on "def foo(macro); end"
  says syntax error on "def foo(macro); end"
  says syntax error on "foo { |(require)| }"
  says syntax error on "foo { |(require)| }"
  says syntax error on "1 while 3"
  says syntax error on "1 while 3"
  parses "{{ foo.nil? }}"
  parses "{{ foo.nil? }}"
  parses "nil : Int32"
  parses "nil : Int32"
  parses "def foo(x @if); end"
  parses "def foo(x @if); end"
  parses "1.foo do; 1; end"
  parses "1.foo do; 1; end"
  parses "*a = 1"
  parses "*a = 1"
  parses "def foo(x = 1, *y); 1; end"
  parses "def foo(x = 1, *y); 1; end"
  parses "def =~; end"
  parses "def =~; end"
  says syntax error on "<<-HERE\n   One\n wrong\n  Zero\n  HERE"
  says syntax error on "<<-HERE\n   One\n wrong\n  Zero\n  HERE"
  parses "class Foo(T1); end"
  parses "class Foo(T1); end"
  parses "def foo;{{@type}};end"
  parses "def foo;{{@type}};end"
  parses "foo.+(1, 2)"
  parses "foo.+(1, 2)"
  parses "fun foo : Int32; 1; end; 2"
  parses "fun foo : Int32; 1; end; 2"
  parses "macro foo\n'\\''\nend"
  parses "macro foo\n'\\''\nend"
  parses "when : Int32"
  parses "when : Int32"
  parses "-1"
  parses "-1"
  parses "{%\na = 1\n%}"
  parses "{%\na = 1\n%}"
  parses "macro &;end"
  parses "macro &;end"
  parses "Foo({x: X, typeof: Y})"
  parses "Foo({x: X, typeof: Y})"
  parses "lib LibC; {{ 1 }}; end"
  parses "lib LibC; {{ 1 }}; end"
  says syntax error on "macro foo(**x, y)"
  says syntax error on "macro foo(**x, y)"
  parses "as(Bar)"
  parses "as(Bar)"
  parses "macro foo(a, @[Foo] var);end"
  parses "macro foo(a, @[Foo] var);end"
  says syntax error on "case 1 == 1; when 2 a; end"
  says syntax error on "case 1 == 1; when 2 a; end"
  parses "{% x if 1 %}"
  parses "{% x if 1 %}"
  parses "1;-2"
  parses "1;-2"
  parses "def foo(x @until); end"
  parses "def foo(x @until); end"
  parses "enum Foo; @[Bar]; end"
  parses "enum Foo; @[Bar]; end"
  parses "lib LibC\nfun SomeFun\nend"
  parses "lib LibC\nfun SomeFun\nend"
  says syntax error on "foo { |yield| }"
  says syntax error on "foo { |yield| }"
  parses "1 ^ 2"
  parses "1 ^ 2"
  says syntax error on "Hash {foo: 1} of Int32 => Int32"
  says syntax error on "Hash {foo: 1} of Int32 => Int32"
  says syntax error on "return[0]"
  says syntax error on "return[0]"
  sets correct location of annotation in lib
  sets correct location of annotation in lib
  parses "->Foo.foo?"
  parses "->Foo.foo?"
  parses "macro : Int32"
  parses "macro : Int32"
  parses "begin; 1; rescue ::Foo; 2; end"
  parses "begin; 1; rescue ::Foo; 2; end"
  parses "extend self"
  parses "extend self"
  parses "foo.>"
  parses "foo.>"
  parses "macro foo(x, *y);end"
  parses "macro foo(x, *y);end"
  parses "1.as Bar"
  parses "1.as Bar"
  says syntax error on "class Foo(T U)"
  says syntax error on "class Foo(T U)"
  parses "sizeof(X)"
  parses "sizeof(X)"
  says syntax error on "a, b, c, d, *e = 1, 2, 3"
  says syntax error on "a, b, c, d, *e = 1, 2, 3"
  parses "1 +2.0"
  parses "1 +2.0"
  parses "def foo(@end); end"
  parses "def foo(@end); end"
  parses "macro foo;bar{% if x %}body{% end %}baz;end"
  parses "macro foo;bar{% if x %}body{% end %}baz;end"
  parses "<<-HERE\n   \#{1}One\n  \#{2}Zero\n  HERE"
  parses "<<-HERE\n   \#{1}One\n  \#{2}Zero\n  HERE"
  parses "def self.=~; end;"
  parses "def self.=~; end;"
  parses "def foo(x, *, y); 1; end"
  parses "def foo(x, *, y); 1; end"
  parses "&+ 1"
  parses "&+ 1"
  parses "abstract def foo : Int32"
  parses "abstract def foo : Int32"
  says syntax error on "macro is_a?; end"
  says syntax error on "macro is_a?; end"
  parses "def foo(a, &block : Int, Float -> Double); end"
  parses "def foo(a, &block : Int, Float -> Double); end"
  parses "@foo/2"
  parses "@foo/2"
  parses "property require : Int32"
  parses "property require : Int32"
  says syntax error on "return << 1"
  says syntax error on "return << 1"
  parses "->Foo.===(Int32)"
  parses "->Foo.===(Int32)"
  parses "lib LibC; struct Foo; {% if 1 %}2{% end %}; end; end"
  parses "lib LibC; struct Foo; {% if 1 %}2{% end %}; end; end"
  says syntax error on "macro foo.bar;end"
  says syntax error on "macro foo.bar;end"
  parses "property macro : Int32"
  parses "property macro : Int32"
  parses "1 !~ 2"
  parses "1 !~ 2"
  says syntax error on "foo { |select| }"
  says syntax error on "foo { |select| }"
  parses "alias : Int32"
  parses "alias : Int32"
  parses "a = 1; a &+= 1"
  parses "a = 1; a &+= 1"
  parses "[] of ->\n1"
  parses "[] of ->\n1"
  parses "macro %;end"
  parses "macro %;end"
  parses ":[]?"
  parses ":[]?"
  parses "def foo(@@true); end"
  parses "def foo(@@true); end"
  says syntax error on "break when true"
  says syntax error on "break when true"
  says syntax error on "A = foo { B = 1 }"
  says syntax error on "A = foo { B = 1 }"
  parses "begin\n1\nend\nif true; end"
  parses "begin\n1\nend\nif true; end"
  parses "foo.=~ 1, 2"
  parses "foo.=~ 1, 2"
  parses "foo %i"
  parses "foo %i"
  says syntax error on "return - 1"
  says syntax error on "return - 1"
  says syntax error on "def as; end"
  says syntax error on "def as; end"
  parses "foo = 1; ->foo.foo="
  parses "foo = 1; ->foo.foo="
  parses "<<-HERE\r\n   One\r\n  Zero\r\n  HERE"
  parses "<<-HERE\r\n   One\r\n  Zero\r\n  HERE"
  parses "foo./(1, 2) { 3 }"
  parses "foo./(1, 2) { 3 }"
  parses "foo +1.0"
  parses "foo +1.0"
  parses "def &(); end"
  parses "def &(); end"
  says syntax error on "foo { |(case)| }"
  says syntax error on "foo { |(case)| }"
  parses "def &; end;"
  parses "def &; end;"
  parses "-> do; 1; rescue; 2; end"
  parses "-> do; 1; rescue; 2; end"
  parses "def ^(); end;"
  parses "def ^(); end;"
  says syntax error on "foo { |pointerof| }"
  says syntax error on "foo { |pointerof| }"
  parses "select\nwhen foo\n2\nwhen bar\n4\nend"
  parses "select\nwhen foo\n2\nwhen bar\n4\nend"
  parses "foo = 1; ->foo.-(Int32)"
  parses "foo = 1; ->foo.-(Int32)"
  parses "case : Int32"
  parses "case : Int32"
  parses "lib LibC; struct Foo; end end"
  parses "lib LibC; struct Foo; end end"
  parses "def foo(def foo); end"
  parses "def foo(def foo); end"
  parses "def foo(select foo); end"
  parses "def foo(select foo); end"
  says syntax error on "def foo(instance_sizeof); end"
  says syntax error on "def foo(instance_sizeof); end"
  parses "::A::B"
  parses "::A::B"
  parses "case\nend"
  parses "case\nend"
  parses "1 || 2"
  parses "1 || 2"
  says syntax error on "def foo(x y, x z); end"
  says syntax error on "def foo(x y, x z); end"
  parses "foo.<="
  parses "foo.<="
  parses "foo.*(1, 2)"
  parses "foo.*(1, 2)"
  parses "{1 =>\n2, 3 =>\n4}"
  parses "{1 =>\n2, 3 =>\n4}"
  parses ":<=>"
  parses ":<=>"
  parses "def : Int32"
  parses "def : Int32"
  parses "def foo(@private); end"
  parses "def foo(@private); end"
  parses "def foo(@lib); end"
  parses "def foo(@lib); end"
  parses "`foo\#{1}bar`"
  parses "`foo\#{1}bar`"
  says syntax error on "foo(&block) {}"
  says syntax error on "foo(&block) {}"
  says syntax error on "foo { |class| }"
  says syntax error on "foo { |class| }"
  parses "a = 1; a[2] ||= 3"
  parses "a = 1; a[2] ||= 3"
  parses "yield : Int32"
  parses "yield : Int32"
  says syntax error on "a = 1; b = 2; a, b += 1, 2"
  says syntax error on "a = 1; b = 2; a, b += 1, 2"
  parses "def ~(); end;"
  parses "def ~(); end;"
  says syntax error on "def foo(foo abstract); end"
  says syntax error on "def foo(foo abstract); end"
  says syntax error on "foo { |lib| }"
  says syntax error on "foo { |lib| }"
  says syntax error on "foo { |offsetof| }"
  says syntax error on "foo { |offsetof| }"
  parses "a ? 1 : b ? 2 : c ? 3 : 0"
  parses "a ? 1 : b ? 2 : c ? 3 : 0"
  parses "macro !=;end"
  parses "macro !=;end"
  parses "property return : Int32"
  parses "property return : Int32"
  parses "case 1\nelse\n2\nend"
  parses "case 1\nelse\n2\nend"
  parses "begin; 1; rescue ex; 2; end"
  parses "begin; 1; rescue ex; 2; end"
  parses "module Foo(T); end"
  parses "module Foo(T); end"
  parses "def foo(lib foo); end"
  parses "def foo(lib foo); end"
  parses "1 > 2"
  parses "1 > 2"
  says syntax error on "<<-HERE\n   One\nwrong\n  Zero\n  HERE"
  says syntax error on "<<-HERE\n   One\nwrong\n  Zero\n  HERE"
  sets correct location of tuple type
  sets correct location of tuple type
  parses "def foo(@instance_sizeof); end"
  parses "def foo(@instance_sizeof); end"
  parses "begin; / /; end"
  parses "begin; / /; end"
  parses "asm(\"nop\" :: \"b\"(1), \"c\"(2) : \"eax\", \"ebx\" : \"volatile\", \"alignstack\", \"intel\")"
  parses "asm(\"nop\" :: \"b\"(1), \"c\"(2) : \"eax\", \"ebx\" : \"volatile\", \"alignstack\", \"intel\")"
  parses "def foo(abstract foo); end"
  parses "def foo(abstract foo); end"
  parses "enum Foo : UInt16; end"
  parses "enum Foo : UInt16; end"
  says syntax error on "def foo(foo break); end"
  says syntax error on "def foo(foo break); end"
  parses "def self.~; end;"
  parses "def self.~; end;"
  says syntax error on "a.b() = 1"
  says syntax error on "a.b() = 1"
  parses "foo.+ 1, 2"
  parses "foo.+ 1, 2"
  parses "def foo; yield(1); end"
  parses "def foo; yield(1); end"
  parses "1 / -2"
  parses "1 / -2"
  parses "foo a, / /"
  parses "foo a, / /"
  parses "1 +2_i64"
  parses "1 +2_i64"
  parses "foo %q()"
  parses "foo %q()"
  says syntax error on "<<-FOO\n1\nFOO + 2"
  says syntax error on "<<-FOO\n1\nFOO + 2"
  parses "n >= 2"
  parses "n >= 2"
  parses "`foo`"
  parses "`foo`"
  parses "foo.!~ 1, 2"
  parses "foo.!~ 1, 2"
  parses "def []=(*args, **opts, &); end"
  parses "def []=(*args, **opts, &); end"
  parses "call(foo : A, end : B)"
  parses "call(foo : A, end : B)"
  says syntax error on "case 1\nin 1; 2"
  says syntax error on "case 1\nin 1; 2"
  says syntax error on "case 1\nin Int32; 2; when 2"
  says syntax error on "case 1\nin Int32; 2; when 2"
  says syntax error on "@@foo :: Foo"
  says syntax error on "@@foo :: Foo"
  parses "def foo(@nil); end"
  parses "def foo(@nil); end"
  parses "a : Foo"
  parses "a : Foo"
  parses "def foo(return foo); end"
  parses "def foo(return foo); end"
  parses "def foo(@return); end"
  parses "def foo(@return); end"
  parses "def self.^(); end;"
  parses "def self.^(); end;"
  parses "[1, 2] of Int"
  parses "[1, 2] of Int"
  says syntax error on "Foo(T, x: U)"
  says syntax error on "Foo(T, x: U)"
  parses "def foo(fun foo); end"
  parses "def foo(fun foo); end"
  parses "puts %w{one two}"
  parses "puts %w{one two}"
  parses "a = 1; a >>=\n1"
  parses "a = 1; a >>=\n1"
  parses "class Foo\ndef foo; end; end"
  parses "class Foo\ndef foo; end; end"
  parses "macro foo(a, @[Foo] &block);end"
  parses "macro foo(a, @[Foo] &block);end"
  parses "def self.&; end;"
  parses "def self.&; end;"
  parses "def foo(x @@offsetof); end"
  parses "def foo(x @@offsetof); end"
  says syntax error on "a {} = 1"
  says syntax error on "a {} = 1"
  says syntax error on "def foo(fun); end"
  says syntax error on "def foo(fun); end"
  says syntax error on "next + 1"
  says syntax error on "next + 1"
  parses "asm(\"nop\" ::)"
  parses "asm(\"nop\" ::)"
  parses "->(x : Int32) : Int32 { }"
  parses "->(x : Int32) : Int32 { }"
  parses "def <(); end;"
  parses "def <(); end;"
  parses "asm(\"nop\" ::::)"
  parses "asm(\"nop\" ::::)"
  parses "x, y, z = <<-FOO, <<-BAR, <<-BAZ\nhello\nFOO\nworld\nBAR\n!\nBAZ"
  parses "x, y, z = <<-FOO, <<-BAR, <<-BAZ\nhello\nFOO\nworld\nBAR\n!\nBAZ"
  says syntax error on "def foo(x : U) forall U,; end"
  says syntax error on "def foo(x : U) forall U,; end"
  parses "foo.> 1, 2"
  parses "foo.> 1, 2"
  says syntax error on "a.[]() += 1"
  says syntax error on "a.[]() += 1"
  parses "nil"
  parses "nil"
  parses "foo % i()"
  parses "foo % i()"
  parses "foo[0] = 1"
  parses "foo[0] = 1"
  parses "a.foo(&block)"
  parses "a.foo(&block)"
  parses "property sizeof : Int32"
  parses "property sizeof : Int32"
  parses "foo(n > 2)"
  parses "foo(n > 2)"
  parses "property fun : Int32"
  parses "property fun : Int32"
  parses "foo(a: n &** 2)"
  parses "foo(a: n &** 2)"
  parses "def []?; end"
  parses "def []?; end"
  parses "def foo(@@protected); end"
  parses "def foo(@@protected); end"
  parses "def foo(x @@abstract); end"
  parses "def foo(x @@abstract); end"
  parses "def foo(@def); end"
  parses "def foo(@def); end"
  parses "foo { |(a, *b, c)| }"
  parses "foo { |(a, *b, c)| }"
  parses "def foo(x @yield); end"
  parses "def foo(x @yield); end"
  parses "def -; end;"
  parses "def -; end;"
  parses "foo(0, n == 2)"
  parses "foo(0, n == 2)"
  parses "protected def foo; end"
  parses "protected def foo; end"
  parses "foo { |(a, (b, (c, d)))| }"
  parses "foo { |(a, (b, (c, d)))| }"
  parses "def foo(@@next); end"
  parses "def foo(@@next); end"
  parses "x.foo(a: 1, b: 2)"
  parses "x.foo(a: 1, b: 2)"
  parses "foo.==(1, 2) { 3 }"
  parses "foo.==(1, 2) { 3 }"
  parses "%q{hello \#{foo} world}"
  parses "%q{hello \#{foo} world}"
  says syntax error on "foo(foo(&.block)"
  says syntax error on "foo(foo(&.block)"
  parses "Foo(X, instance_sizeof(Int32))"
  parses "Foo(X, instance_sizeof(Int32))"
  parses "A = 1"
  parses "A = 1"
  parses "fun : Int32"
  parses "fun : Int32"
  says syntax error on "next === 1"
  says syntax error on "next === 1"
  parses "def |; end;"
  parses "def |; end;"
  parses "foo(0, n > 2)"
  parses "foo(0, n > 2)"
  parses "def foo(@@def); end"
  parses "def foo(@@def); end"
  parses "yield if true"
  parses "yield if true"
  parses "foo.=~(1, 2)"
  parses "foo.=~(1, 2)"
  parses "Foo(T?)"
  parses "Foo(T?)"
  parses "n ** 2"
  parses "n ** 2"
  parses "Foo(_)"
  parses "Foo(_)"
  parses "begin\n1\nensure\n2\nend"
  parses "begin\n1\nensure\n2\nend"
  says syntax error on "{a: 1, \"\": 2}"
  says syntax error on "{a: 1, \"\": 2}"
  parses "@[Foo(1, foo: 2)]"
  parses "@[Foo(1, foo: 2)]"
  says syntax error on "def foo(class); end"
  says syntax error on "def foo(class); end"
  says syntax error on "alias Foo?"
  says syntax error on "alias Foo?"
  parses "foo.>= do end"
  parses "foo.>= do end"
  parses "foo 1, **bar"
  parses "foo 1, **bar"
  parses "1 &* 2"
  parses "1 &* 2"
  parses "foo(0, n ^ 2)"
  parses "foo(0, n ^ 2)"
  parses "a = 1\nfoo -a"
  parses "a = 1\nfoo -a"
  parses "Set(Int32) {1, 2, 3}"
  parses "Set(Int32) {1, 2, 3}"
  parses "[\n1\n]"
  parses "[\n1\n]"
  parses "foo(a: n >> 2)"
  parses "foo(a: n >> 2)"
  parses "def foo; a; end"
  parses "def foo; a; end"
  parses "def foo(macro foo); end"
  parses "def foo(macro foo); end"
  says syntax error on "def foo(foo next); end"
  says syntax error on "def foo(foo next); end"
  parses "->@foo.foo"
  parses "->@foo.foo"
  parses "T/1"
  parses "T/1"
  parses ":==="
  parses ":==="
  parses "+1.0"
  parses "+1.0"
  parses "->foo!"
  parses "->foo!"
  parses "<<-'EOF'.x\n  foo\nEOF"
  parses "<<-'EOF'.x\n  foo\nEOF"
  parses "@[Foo()]"
  parses "@[Foo()]"
  parses "extend Foo"
  parses "extend Foo"
  says syntax error on "def foo(**args = 1); end"
  says syntax error on "def foo(**args = 1); end"
  parses "->@@foo.foo"
  parses "->@@foo.foo"
  parses "def foo(a, &block : -> Double); end"
  parses "def foo(a, &block : -> Double); end"
  parses "def foo(@@select); end"
  parses "def foo(@@select); end"
  parses "begin; 1; rescue; 2; else; 3; end"
  parses "begin; 1; rescue; 2; else; 3; end"
  parses "foo x do\n//\nend"
  parses "foo x do\n//\nend"
  says syntax error on "def foo(foo include); end"
  says syntax error on "def foo(foo include); end"
  parses "def foo(x @end); end"
  parses "def foo(x @end); end"
  parses "foo.!="
  parses "foo.!="
  parses "select\nwhen foo\n2\nelse\n3\nend"
  parses "select\nwhen foo\n2\nelse\n3\nend"
  says syntax error on "foo[1] = break"
  says syntax error on "foo[1] = break"
  parses "def foo(protected foo); end"
  parses "def foo(protected foo); end"
  parses "@[Foo(1, foo: 2\n)]"
  parses "@[Foo(1, foo: 2\n)]"
  parses "def &*(); end"
  parses "def &*(); end"
  says syntax error on "if next; end"
  says syntax error on "if next; end"
  parses "next 1, *2"
  parses "next 1, *2"
  sets correct location of named tuple type
  sets correct location of named tuple type
  says syntax error on "-> :Int32 { }"
  says syntax error on "-> :Int32 { }"
  says syntax error on "foo { |case| }"
  says syntax error on "foo { |case| }"
  parses "macro foo;bar{% for x in y %}body{% end %}baz;end"
  parses "macro foo;bar{% for x in y %}body{% end %}baz;end"
  parses "def !~; end;"
  parses "def !~; end;"
  parses "macro *;end"
  parses "macro *;end"
  parses "def -(); end"
  parses "def -(); end"
  parses "Foo(\nx:\nT,\ny:\nU,\n)"
  parses "Foo(\nx:\nT,\ny:\nU,\n)"
  sets correct location of annotation in enum
  sets correct location of annotation in enum
  parses "foo(z: 0, a: n < 2)"
  parses "foo(z: 0, a: n < 2)"
  says syntax error on "[\n\"foo\"\n\"bar\"\n]"
  says syntax error on "[\n\"foo\"\n\"bar\"\n]"
  parses "{\"foo\": 1}"
  parses "{\"foo\": 1}"
  says syntax error on "return // 1"
  says syntax error on "return // 1"
  parses "next if true"
  parses "next if true"
  parses "foo = 1; ->foo.>=(Int32)"
  parses "foo = 1; ->foo.>=(Int32)"
  parses "next 1, 2"
  parses "next 1, 2"
  parses "def ==; end;"
  parses "def ==; end;"
  parses "->Foo.^(Int32)"
  parses "->Foo.^(Int32)"
  says syntax error on "class Foo(); end"
  says syntax error on "class Foo(); end"
  parses "f.x //= 2"
  parses "f.x //= 2"
  parses "def foo(x @@self); end"
  parses "def foo(x @@self); end"
  says syntax error on "def foo(foo lib); end"
  says syntax error on "def foo(foo lib); end"
  parses "property false : Int32"
  parses "property false : Int32"
  parses "foo { |a, (b, c), (d, e)| a; b; c; d; e }"
  parses "foo { |a, (b, c), (d, e)| a; b; c; d; e }"
  says syntax error on "offsetof(X, 1.0)"
  says syntax error on "offsetof(X, 1.0)"
  parses "def ~; end;"
  parses "def ~; end;"
  parses "foo.bar"
  parses "foo.bar"
  says syntax error on "x[1:-2]"
  says syntax error on "x[1:-2]"
  parses "def self./(); end;"
  parses "def self./(); end;"
  says syntax error on "macro nil?; end"
  says syntax error on "macro nil?; end"
  says syntax error on "$foo :: Foo"
  says syntax error on "$foo :: Foo"
  parses "a.b &*=\n1"
  parses "a.b &*=\n1"
  parses "def /(); end;"
  parses "def /(); end;"
  says syntax error on "next ^ 1"
  says syntax error on "next ^ 1"
  parses ":>>"
  parses ":>>"
  parses "def foo(x @@macro); end"
  parses "def foo(x @@macro); end"
  parses "foo(0, n !~ 2)"
  parses "foo(0, n !~ 2)"
  says syntax error on "[1 1]"
  says syntax error on "[1 1]"
  parses "break if true"
  parses "break if true"
  parses "foo ensure 2"
  parses "foo ensure 2"
  parses "def foo(x); end; x"
  parses "def foo(x); end; x"
  parses "foo(n >= 2)"
  parses "foo(n >= 2)"
  parses "{% begin %}%x< %s >{% end %}"
  parses "{% begin %}%x< %s >{% end %}"
  parses "foo(\n1)"
  parses "foo(\n1)"
  parses "<<-HERE\n   One\n \n  Zero\n  HERE"
  parses "<<-HERE\n   One\n \n  Zero\n  HERE"
  says syntax error on "def foo\nfun\nend"
  says syntax error on "def foo\nfun\nend"
  parses "next;"
  parses "next;"
  parses "def foo(x @@protected); end"
  parses "def foo(x @@protected); end"
  parses "foo(n == 2)"
  parses "foo(n == 2)"
  parses "typeof(\n  1\n)"
  parses "typeof(\n  1\n)"
  parses "\"hello \" \\\r\n \"world\""
  parses "\"hello \" \\\r\n \"world\""
  says syntax error on "macro foo(**x, **y)"
  says syntax error on "macro foo(**x, **y)"
  parses "lib LibC\n$errno : B, C -> D\nend"
  parses "lib LibC\n$errno : B, C -> D\nend"
  says syntax error on "break >= 1"
  says syntax error on "break >= 1"
  parses "Foo({\"foo\": X, \"bar\": Y})"
  parses "Foo({\"foo\": X, \"bar\": Y})"
  parses "->foo?"
  parses "->foo?"
  says syntax error on "def self.nil?; end"
  says syntax error on "def self.nil?; end"
  parses "foo(\"foo bar\": 1, \"baz\": 2)"
  parses "foo(\"foo bar\": 1, \"baz\": 2)"
  says syntax error on " (1, 2, 3 end"
  says syntax error on " (1, 2, 3 end"
  says syntax error on "a = a"
  says syntax error on "a = a"
  parses "def foo(@in); end"
  parses "def foo(@in); end"
  parses "a.b <<=\n1"
  parses "a.b <<=\n1"
  parses "foo[0] = 1 if 2"
  parses "foo[0] = 1 if 2"
  parses "foo.=="
  parses "foo.=="
  parses "next"
  parses "next"
  parses "foo.==="
  parses "foo.==="
  parses "def foo(@false); end"
  parses "def foo(@false); end"
  parses "%r(foo(bar))"
  parses "%r(foo(bar))"
  parses "lib LibC; struct Foo; x, y, z : Int; end end"
  parses "lib LibC; struct Foo; x, y, z : Int; end end"
  parses "def %(); end;"
  parses "def %(); end;"
  says syntax error on "foo { |(break)| }"
  says syntax error on "foo { |(break)| }"
  parses "1 rescue 2"
  parses "1 rescue 2"
  parses "1 ensure 2"
  parses "1 ensure 2"
  parses "def foo(next foo); end"
  parses "def foo(next foo); end"
  says syntax error on "while 1 == 1 a; end"
  says syntax error on "while 1 == 1 a; end"
  parses "lib LibC; type A = B*; end"
  parses "lib LibC; type A = B*; end"
  parses "def foo(x = 1, **args)\n1\nend"
  parses "def foo(x = 1, **args)\n1\nend"
  parses "->Foo.-(Int32)"
  parses "->Foo.-(Int32)"
  parses "case \nwhen 1\n2\nend"
  parses "case \nwhen 1\n2\nend"
  parses "def foo(include foo); end"
  parses "def foo(include foo); end"
  says syntax error on "break[]"
  says syntax error on "break[]"
  parses "a.foo &block"
  parses "a.foo &block"
  parses "-1.0"
  parses "-1.0"
  parses "foo(&.is_a?(T))"
  parses "foo(&.is_a?(T))"
  says syntax error on "x { |*a, *b| }"
  says syntax error on "x { |*a, *b| }"
  parses "{% x unless 1 %}"
  parses "{% x unless 1 %}"
  parses "def self.**(); end;"
  parses "def self.**(); end;"
  parses "foo % r()"
  parses "foo % r()"
  parses "->Foo.*(Int32)"
  parses "->Foo.*(Int32)"
  parses "(1 .. )"
  parses "(1 .. )"
  parses "[] of {String, ->}"
  parses "[] of {String, ->}"
  parses "typeof(1)"
  parses "typeof(1)"
  says syntax error on "->::@foo.foo"
  says syntax error on "->::@foo.foo"
  parses "a/b"
  parses "a/b"
  parses "def foo(private foo); end"
  parses "def foo(private foo); end"
  parses "->::foo"
  parses "->::foo"
  says syntax error on "{1 => 2, 3 => 4 5 => 6}"
  says syntax error on "{1 => 2, 3 => 4 5 => 6}"
  says syntax error on "return == 1"
  says syntax error on "return == 1"
  says syntax error on "{a: 1, a: 2}"
  says syntax error on "{a: 1, a: 2}"
  parses "if : Int32"
  parses "if : Int32"
  says syntax error on "foo { |x, x| }"
  says syntax error on "foo { |x, x| }"
  parses "def <=(*args, **opts); end"
  parses "def <=(*args, **opts); end"
  parses "def foo(var : (Int, Float -> Double)); end"
  parses "def foo(var : (Int, Float -> Double)); end"
  parses "1 if 3"
  parses "1 if 3"
  parses "foo(/ /, / /)"
  parses "foo(/ /, / /)"
  parses "def /(); end"
  parses "def /(); end"
  parses "->Foo.**(Int32)"
  parses "->Foo.**(Int32)"
  parses "def foo(x : *T -> R); end"
  parses "def foo(x : *T -> R); end"
  parses "def foo(@@self); end"
  parses "def foo(@@self); end"
  parses "return *1"
  parses "return *1"
  parses "foo.=~(1, 2) { 3 }"
  parses "foo.=~(1, 2) { 3 }"
  parses "foo.-(1, 2)"
  parses "foo.-(1, 2)"
  parses "foo(a: n > 2)"
  parses "foo(a: n > 2)"
  parses "a ? 1\n              : b ? 2\n              : c ? 3\n              : 0"
  parses "a ? 1\n              : b ? 2\n              : c ? 3\n              : 0"
  says syntax error on "break <= 1"
  says syntax error on "break <= 1"
  parses "f.x <<= 2"
  parses "f.x <<= 2"
  parses "a { |x| x } / b"
  parses "a { |x| x } / b"
  parses "foo &.block[0]"
  parses "foo &.block[0]"
  parses "def *(); end"
  parses "def *(); end"
  sets correct location of argument in named tuple type
  sets correct location of argument in named tuple type
  parses "def foo(x @out); end"
  parses "def foo(x @out); end"
  parses "def foo(x @@struct); end"
  parses "def foo(x @@struct); end"
  parses "foo(a: n + 2)"
  parses "foo(a: n + 2)"
  parses "case {1}\nin {nil}; 2; end"
  parses "case {1}\nin {nil}; 2; end"
  parses "foo.** do end"
  parses "foo.** do end"
  parses "property offsetof : Int32"
  parses "property offsetof : Int32"
  parses "foo(x: result : Int32); result"
  parses "foo(x: result : Int32); result"
  parses "def foo(var = 1); end"
  parses "def foo(var = 1); end"
  parses "foo = 1; foo &x"
  parses "foo = 1; foo &x"
  parses "foo(\n1\n)"
  parses "foo(\n1\n)"
  parses "def foo(x @private); end"
  parses "def foo(x @private); end"
  parses "foo x do\nend"
  parses "foo x do\nend"
  parses "\"hello \"\\\r\n\"world\""
  parses "\"hello \"\\\r\n\"world\""
  parses "(1 ... )"
  parses "(1 ... )"
  says syntax error on "case 1; when return; end; end"
  says syntax error on "case 1; when return; end; end"
  parses "foo { a = 1 }; a"
  parses "foo { a = 1 }; a"
  parses "1.[]=(2, 3)"
  parses "1.[]=(2, 3)"
  parses "call \"foo\""
  parses "call \"foo\""
  says syntax error on "def foo(foo instance_sizeof); end"
  says syntax error on "def foo(foo instance_sizeof); end"
  says syntax error on "foo { |unless| }"
  says syntax error on "foo { |unless| }"
  parses "foo.+ do end"
  parses "foo.+ do end"
  parses "if foo; 1; end"
  parses "if foo; 1; end"
  says syntax error on "def self.is_a?; end"
  says syntax error on "def self.is_a?; end"
  parses "foo%w"
  parses "foo%w"
  parses "def [](x); end"
  parses "def [](x); end"
  parses "def foo(@@yield); end"
  parses "def foo(@@yield); end"
  says syntax error on "foo { |(fun)| }"
  says syntax error on "foo { |(fun)| }"
  parses "macro foo\n{%\nif 1\n2\nelse\n3\nend\n%}end"
  parses "macro foo\n{%\nif 1\n2\nelse\n3\nend\n%}end"
  says syntax error on "def foo(foo pointerof); end"
  says syntax error on "def foo(foo pointerof); end"
  parses "break 1, 2"
  parses "break 1, 2"
  parses "1.x; foo do\nend"
  parses "1.x; foo do\nend"
  says syntax error on "self, x = 1, 2"
  says syntax error on "self, x = 1, 2"
  parses "def foo(x @@private); end"
  parses "def foo(x @@private); end"
  parses "case;end"
  parses "case;end"
  says syntax error on "x : String, a = 4"
  says syntax error on "x : String, a = 4"
  parses ":-"
  parses ":-"
  says syntax error on "->(x : Int32, x : Int32) {}"
  says syntax error on "->(x : Int32, x : Int32) {}"
  parses "a.b /2/"
  parses "a.b /2/"
  says syntax error on "{a: 1, b: 2 c: 3}"
  says syntax error on "{a: 1, b: 2 c: 3}"
  says syntax error on "macro foo;{%end};end"
  says syntax error on "macro foo;{%end};end"
  parses "->Foo.==(Int32)"
  parses "->Foo.==(Int32)"
  parses "a = 1; b = 2; c = 3; a-b -c"
  parses "a = 1; b = 2; c = 3; a-b -c"
  parses "property do : Int32"
  parses "property do : Int32"
  parses ":!"
  parses ":!"
  parses "@foo = 1"
  parses "@foo = 1"
  parses "a = 1; a %=\n1"
  parses "a = 1; a %=\n1"
  parses "{% begin %}%w< %s >{% end %}"
  parses "{% begin %}%w< %s >{% end %}"
  parses "begin; 1; rescue Foo | Bar; 2; end"
  parses "begin; 1; rescue Foo | Bar; 2; end"
  parses "def foo; 1; 2; end"
  parses "def foo; 1; 2; end"
  says syntax error on "def !; end"
  says syntax error on "def !; end"
  says syntax error on "next - 1"
  says syntax error on "next - 1"
  parses "def foo(@@out); end"
  parses "def foo(@@out); end"
  parses "asm(\"nop\" : \"a\"(0) : \"b\"(1), \"c\"(2))"
  parses "asm(\"nop\" : \"a\"(0) : \"b\"(1), \"c\"(2))"
  parses "property module : Int32"
  parses "property module : Int32"
  parses "->() : Int32 do end"
  parses "->() : Int32 do end"
  parses "foo 1.bar do\nend"
  parses "foo 1.bar do\nend"
  parses "def foo(@out); end"
  parses "def foo(@out); end"
  says syntax error on "def foo\nmacro\nend"
  says syntax error on "def foo\nmacro\nend"
  parses "macro -;end"
  parses "macro -;end"
  parses "def foo(@require); end"
  parses "def foo(@require); end"
  parses "&- 1"
  parses "&- 1"
  parses ":+"
  parses ":+"
  parses "_, _ = 1, 2"
  parses "_, _ = 1, 2"
  parses "foo(n &* 2)"
  parses "foo(n &* 2)"
  parses "def foo(a, & : Int -> Double); end"
  parses "def foo(a, & : Int -> Double); end"
  parses ":foo"
  parses ":foo"
  says syntax error on "A = foo(B = 1)"
  says syntax error on "A = foo(B = 1)"
  parses "1.as?(Bar)"
  parses "1.as?(Bar)"
  parses "->foo(Void*)"
  parses "->foo(Void*)"
  parses "a.b **=\n1"
  parses "a.b **=\n1"
  parses "puts ~1"
  parses "puts ~1"
  parses "def foo(@macro); end"
  parses "def foo(@macro); end"
  parses "with : Int32"
  parses "with : Int32"
  parses "n >> 2"
  parses "n >> 2"
  parses "a, b = 1, 2 if 3"
  parses "a, b = 1, 2 if 3"
  says syntax error on "def foo 1; end"
  says syntax error on "def foo 1; end"
  parses "{% a = 1 if 2 %}"
  parses "{% a = 1 if 2 %}"
  parses "->foo(Int32, Float64)"
  parses "->foo(Int32, Float64)"
  parses "- 1"
  parses "- 1"
  parses "foo.[]=(1, 2)"
  parses "foo.[]=(1, 2)"
  sets correct location of annotation on method parameter
  sets correct location of annotation on method parameter
  parses "->::Foo.foo"
  parses "->::Foo.foo"
  parses "foo % x()"
  parses "foo % x()"
  says syntax error on "def foo!=; end"
  says syntax error on "def foo!=; end"
  parses "foo.[]= 1, 2"
  parses "foo.[]= 1, 2"
  parses "1 + /foo/"
  parses "1 + /foo/"
  parses "def foo(begin foo); end"
  parses "def foo(begin foo); end"
  parses "def foo(@@abstract); end"
  parses "def foo(@@abstract); end"
  says syntax error on "def foo(foo require); end"
  says syntax error on "def foo(foo require); end"
  calls with blocks within index operator (#12818)
    parses "foo[bar { 1 }]"
    parses "foo[bar { 1 }]"
    parses "foo.[](bar do; 1; end)"
    parses "foo.[](bar do; 1; end)"
    parses "foo.[bar { 1 }]"
    parses "foo.[bar { 1 }]"
    parses "foo.[bar do; 1; end]"
    parses "foo.[bar do; 1; end]"
    parses "foo.[](bar { 1 })"
    parses "foo.[](bar { 1 })"
    parses "foo[bar do; 1; end]"
    parses "foo[bar do; 1; end]"
  parses "foo(a: n <= 2)"
  parses "foo(a: n <= 2)"
  parses "foo.!~(1, 2) { 3 }"
  parses "foo.!~(1, 2) { 3 }"
  parses "def foo(&@block); end"
  parses "def foo(&@block); end"
  parses "foo(n << 2)"
  parses "foo(n << 2)"
  parses "foo(Bar { 1 })"
  parses "foo(Bar { 1 })"
  says syntax error on "foo[1] = return"
  says syntax error on "foo[1] = return"
  says syntax error on "break &* 1"
  says syntax error on "break &* 1"
  says syntax error on "foo { |(protected)| }"
  says syntax error on "foo { |(protected)| }"
  parses "1 * 2"
  parses "1 * 2"
  parses "->Foo.>>(Int32)"
  parses "->Foo.>>(Int32)"
  parses "*_ = 1, 2"
  parses "*_ = 1, 2"
  parses "while true; end\nif true; end"
  parses "while true; end\nif true; end"
  parses "foo = 1; ->foo.|(Int32)"
  parses "foo = 1; ->foo.|(Int32)"
  parses "foo %Q"
  parses "foo %Q"
  parses "foo.&(1, 2) { 3 }"
  parses "foo.&(1, 2) { 3 }"
  parses "foo(a: n // 2)"
  parses "foo(a: n // 2)"
  parses "def foo(x @macro); end"
  parses "def foo(x @macro); end"
  parses "def self.|; end;"
  parses "def self.|; end;"
  parses "a.b ^=\n1"
  parses "a.b ^=\n1"
  parses "foo(bar:\"a\", baz:\"b\")"
  parses "foo(bar:\"a\", baz:\"b\")"
  says syntax error on ":bar foo"
  says syntax error on ":bar foo"
  says syntax error on "1 ? : 2 : 3"
  says syntax error on "1 ? : 2 : 3"
  says syntax error on "enum Foo < UInt16; end"
  says syntax error on "enum Foo < UInt16; end"
  says syntax error on "def foo(include); end"
  says syntax error on "def foo(include); end"
  parses "foo do; 1; end"
  parses "foo do; 1; end"
  parses "macro foo; 1 + 2 {{ foo }} 3 + 4; end"
  parses "macro foo; 1 + 2 {{ foo }} 3 + 4; end"
  parses "foo.<= 1, 2"
  parses "foo.<= 1, 2"
  parses "def foo(x @in); end"
  parses "def foo(x @in); end"
  parses "abstract struct Foo; end"
  parses "abstract struct Foo; end"
  parses "lib LibC\nfun getchar(...)\nend"
  parses "lib LibC\nfun getchar(...)\nend"
  says syntax error on "a.[]() = 1"
  says syntax error on "a.[]() = 1"
  parses "def foo : Int32\n1\nend"
  parses "def foo : Int32\n1\nend"
  parses "@@foo = 1"
  parses "@@foo = 1"
  says syntax error on "foo { |(a b)| }"
  says syntax error on "foo { |(a b)| }"
  parses "x.y=(1).to_s"
  parses "x.y=(1).to_s"
  parses "foo.is_a?(Foo | Bar)"
  parses "foo.is_a?(Foo | Bar)"
  parses "->Foo.foo!"
  parses "->Foo.foo!"
  parses "Foo.bar x.y do\nend"
  parses "Foo.bar x.y do\nend"
  says syntax error on "Foo(T U)"
  says syntax error on "Foo(T U)"
  parses ":!="
  parses ":!="
  says syntax error on "next % 1"
  says syntax error on "next % 1"
  parses "lib LibC\n$errno : Int32\n$errno2 : Int32\nend"
  parses "lib LibC\n$errno : Int32\n$errno2 : Int32\nend"
  parses "abstract def foo(x) : Int32"
  parses "abstract def foo(x) : Int32"
  says syntax error on "foo(**bar, out x)"
  says syntax error on "foo(**bar, out x)"
  parses "macro foo;var unless true;end"
  parses "macro foo;var unless true;end"
  says syntax error on "1 unless break"
  says syntax error on "1 unless break"
  parses "foo(n - 2)"
  parses "foo(n - 2)"
  says syntax error on "<<-HERE\n   One\n  \#{1}\n wrong\n  HERE"
  says syntax error on "<<-HERE\n   One\n  \#{1}\n wrong\n  HERE"
  says syntax error on "{1, ->do\n|x| x\end }"
  says syntax error on "{1, ->do\n|x| x\end }"
  parses "f.x ^= 2"
  parses "f.x ^= 2"
  parses "foo./ 1, 2"
  parses "foo./ 1, 2"
  parses "1.tap do; 1; rescue; 2; end"
  parses "1.tap do; 1; rescue; 2; end"
  parses "asm(\"nop\" \n)"
  parses "asm(\"nop\" \n)"
  parses "foo { |a, b| 1 }"
  parses "foo { |a, b| 1 }"
  parses "def foo(x @@next); end"
  parses "def foo(x @@next); end"
  parses "def foo(@@struct); end"
  parses "def foo(@@struct); end"
  parses "yield;"
  parses "yield;"
  says syntax error on "1 2"
  says syntax error on "1 2"
  parses "lib LibC\nfun getchar : (->)?\nend"
  parses "lib LibC\nfun getchar : (->)?\nend"
  says syntax error on "foo { |(out)| }"
  says syntax error on "foo { |(out)| }"
  parses "1 \\\n + 2"
  parses "1 \\\n + 2"
  parses "{\n1\n}"
  parses "{\n1\n}"
  parses "foo = 1; ->foo.&*(Int32)"
  parses "foo = 1; ->foo.&*(Int32)"
  parses "a.b -=\n1"
  parses "a.b -=\n1"
  parses "1.=~(2)"
  parses "1.=~(2)"
  says syntax error on "def foo(**x, &x); end"
  says syntax error on "def foo(**x, &x); end"
  says syntax error on "foo **bar, 1"
  says syntax error on "foo **bar, 1"
  parses "foo\n\n  .bar"
  parses "foo\n\n  .bar"
  parses "~ 1"
  parses "~ 1"
  parses "foo &.!"
  parses "foo &.!"
  says syntax error on "a = 1; a += return"
  says syntax error on "a = 1; a += return"
  parses "foo(n ^ 2)"
  parses "foo(n ^ 2)"
  parses "{} of Int32 -> Int32 => Int32"
  parses "{} of Int32 -> Int32 => Int32"
  says syntax error on "macro foo&&;end"
  says syntax error on "macro foo&&;end"
  parses "-> do end"
  parses "-> do end"
  says syntax error on "def foo @@var, &block; end"
  says syntax error on "def foo @@var, &block; end"
  parses "f.x = - 1"
  parses "f.x = - 1"
  parses "foo(0, n * 2)"
  parses "foo(0, n * 2)"
  parses "Foo::Bar"
  parses "Foo::Bar"
  parses "def >; end;"
  parses "def >; end;"
  parses "foo(regex: //)"
  parses "foo(regex: //)"
  says syntax error on "next.foo"
  says syntax error on "next.foo"
  says syntax error on "def foo var\n end"
  says syntax error on "def foo var\n end"
  says syntax error on "foo { |nil| }"
  says syntax error on "foo { |nil| }"
  parses "macro foo;bar{% unless x %}body{% end %}baz;end"
  parses "macro foo;bar{% unless x %}body{% end %}baz;end"
  parses "instance_alignof(\n  Int32\n)"
  parses "instance_alignof(\n  Int32\n)"
  parses "def foo(x @asm); end"
  parses "def foo(x @asm); end"
  parses "->::foo!"
  parses "->::foo!"
  parses "asm : Int32"
  parses "asm : Int32"
  says syntax error on "def foo\nstruct\nend"
  says syntax error on "def foo\nstruct\nend"
  says syntax error on "foo { |(macro)| }"
  says syntax error on "foo { |(macro)| }"
  parses "foo.<(1, 2) { 3 }"
  parses "foo.<(1, 2) { 3 }"
  says syntax error on "self += 1"
  says syntax error on "self += 1"
  parses "lib LibC; Foo = 1; end"
  parses "lib LibC; Foo = 1; end"
  parses "def foo(@@asm); end"
  parses "def foo(@@asm); end"
  parses "foo(z: 0, a: n ** 2)"
  parses "foo(z: 0, a: n ** 2)"
  parses "def -(); end;"
  parses "def -(); end;"
  says syntax error on "foo { |(unless)| }"
  says syntax error on "foo { |(unless)| }"
  says syntax error on "Foo(x: T y: U)"
  says syntax error on "Foo(x: T y: U)"
  parses "as?(Bar)"
  parses "as?(Bar)"
  parses "property else : Int32"
  parses "property else : Int32"
  parses "@a : Foo"
  parses "@a : Foo"
  parses "def +; end;"
  parses "def +; end;"
  parses "a = 1; class Foo; @x = a; end"
  parses "a = 1; class Foo; @x = a; end"
  says syntax error on "def foo &block ; end"
  says syntax error on "def foo &block ; end"
  says syntax error on "return ** 1"
  says syntax error on "return ** 1"
  parses "responds_to?(:foo)"
  parses "responds_to?(:foo)"
  parses "def foo(var : self?); end"
  parses "def foo(var : self?); end"
  parses "{A::B => 1, C::D => 2}"
  parses "{A::B => 1, C::D => 2}"
  parses "/foo/m"
  parses "/foo/m"
  parses "{a: 1}"
  parses "{a: 1}"
  parses "<<-HERE\n  \#{1} \#{2}\n  HERE"
  parses "<<-HERE\n  \#{1} \#{2}\n  HERE"
  parses "enum Foo; A = 1\ndef foo; 1; end\ndef bar; 2; end\nend"
  parses "enum Foo; A = 1\ndef foo; 1; end\ndef bar; 2; end\nend"
  says syntax error on "foo { |(def)| }"
  says syntax error on "foo { |(def)| }"
  parses "foo do |a|; 1; end"
  parses "foo do |a|; 1; end"
  says syntax error on "@:Foo"
  says syntax error on "@:Foo"
  parses "foo &./(1)"
  parses "foo &./(1)"
  parses "def foo(@@offsetof); end"
  parses "def foo(@@offsetof); end"
  parses "def foo(var : self); end"
  parses "def foo(var : self); end"
  parses "call ->foo"
  parses "call ->foo"
  parses "def =~(); end"
  parses "def =~(); end"
  parses "def foo(@[Foo] *args); end"
  parses "def foo(@[Foo] *args); end"
  parses "foo(z: 0, a: n ^ 2)"
  parses "foo(z: 0, a: n ^ 2)"
  parses "case 1\nin nil; 2; end"
  parses "case 1\nin nil; 2; end"
  parses "def foo(@pointerof); end"
  parses "def foo(@pointerof); end"
  parses "def foo(bar = 1\n); 2; end"
  parses "def foo(bar = 1\n); 2; end"
  parses "foo.*"
  parses "foo.*"
  parses "'a'"
  parses "'a'"
  parses "def foo(@select); end"
  parses "def foo(@select); end"
  parses "property with : Int32"
  parses "property with : Int32"
  parses "def self.~(); end;"
  parses "def self.~(); end;"
  says syntax error on "def foo?=(x); end"
  says syntax error on "def foo?=(x); end"
  says syntax error on "if 1\n  foo 1,\nend"
  says syntax error on "if 1\n  foo 1,\nend"
  parses "f.x **= 2"
  parses "f.x **= 2"
  parses "<<-HERE\nHERE"
  parses "<<-HERE\nHERE"
  parses "break 1"
  parses "break 1"
  parses "macro foo(\na = 0\n)\nend"
  parses "macro foo(\na = 0\n)\nend"
  says syntax error on "break << 1"
  says syntax error on "break << 1"
  parses "case {1}\nin {_}; 2; end"
  parses "case {1}\nin {_}; 2; end"
  parses "lib LibC\nfun getchar(a : Int, b : Float) : Int\nend"
  parses "lib LibC\nfun getchar(a : Int, b : Float) : Int\nend"
  says syntax error on "case 1 == 1 a; when 2; end"
  says syntax error on "case 1 == 1 a; when 2; end"
  parses "  macro foo(\n    @[Foo]\n    id,\n    @[Bar] name\n  );end"
  parses "  macro foo(\n    @[Foo]\n    id,\n    @[Bar] name\n  );end"
  says syntax error on "return[0]= 1"
  says syntax error on "return[0]= 1"
  parses "def foo(@until); end"
  parses "def foo(@until); end"
  parses "macro foo(x)\n 1 + 2; end"
  parses "macro foo(x)\n 1 + 2; end"
  parses "def self.>(); end;"
  parses "def self.>(); end;"
  parses "lib LibC\nfun getchar\nend"
  parses "lib LibC\nfun getchar\nend"
  parses "a = 1; a +=\n1"
  parses "a = 1; a +=\n1"
  parses "a = 1; a ||= 1"
  parses "a = 1; a ||= 1"
  parses "foo.[]=(1, 2) { 3 }"
  parses "foo.[]=(1, 2) { 3 }"
  parses "x = 0; a, b = x += 1"
  parses "x = 0; a, b = x += 1"
  says syntax error on "require 1"
  says syntax error on "require 1"
  parses "foo &.as(T)"
  parses "foo &.as(T)"
  parses "  def foo(\n    @[Foo]\n    id : Int32,\n    @[Bar] name : String\n  ); end"
  parses "  def foo(\n    @[Foo]\n    id : Int32,\n    @[Bar] name : String\n  ); end"
  parses "{% begin %}%x[ %s ]{% end %}"
  parses "{% begin %}%x[ %s ]{% end %}"
  parses "1 ensure 2 if 3"
  parses "1 ensure 2 if 3"
  parses "{{ foo.nil?(foo) }}"
  parses "{{ foo.nil?(foo) }}"
  parses "def >=(*args, **opts); end"
  parses "def >=(*args, **opts); end"
  parses "foo(z: 0, a: n << 2)"
  parses "foo(z: 0, a: n << 2)"
  says syntax error on "{a: 1 b: 2}"
  says syntax error on "{a: 1 b: 2}"
  parses "(a;\nb)"
  parses "(a;\nb)"
  parses "def foo(require foo); end"
  parses "def foo(require foo); end"
  parses "foo (1 + 2), 3"
  parses "foo (1 + 2), 3"
  parses "Foo(\"foo bar\": U)"
  parses "Foo(\"foo bar\": U)"
  parses "foo(a: 1, &block)"
  parses "foo(a: 1, &block)"
  parses "a = 1; a |=\n1"
  parses "a = 1; a |=\n1"
  says syntax error on "def foo(private); end"
  says syntax error on "def foo(private); end"
  parses "def <=(*args, **opts, &); end"
  parses "def <=(*args, **opts, &); end"
  parses "f.x %= 2"
  parses "f.x %= 2"
  parses "Foo({->})"
  parses "Foo({->})"
  parses "break;"
  parses "break;"
  parses "def foo; x { |_| 1 }; end"
  parses "def foo; x { |_| 1 }; end"
  parses "class Foo; end"
  parses "class Foo; end"
  parses "case 1\nwhen .as(T)\n2\nend"
  parses "case 1\nwhen .as(T)\n2\nend"
  parses "foo.<= do end"
  parses "foo.<= do end"
  parses "foo &.nil?"
  parses "foo &.nil?"
  parses "def self.=~(); end;"
  parses "def self.=~(); end;"
  parses "foo(z: 0, a: n - 2)"
  parses "foo(z: 0, a: n - 2)"
  says syntax error on "<<-'HERE\n"
  says syntax error on "<<-'HERE\n"
  parses "macro <<;end"
  parses "macro <<;end"
  parses "a = 1; a ^= 1"
  parses "a = 1; a ^= 1"
  parses "instance_sizeof : Int32"
  parses "instance_sizeof : Int32"
  says syntax error on "{one: :two, three: :four} of Symbol => Symbol"
  says syntax error on "{one: :two, three: :four} of Symbol => Symbol"
  parses "foo(z: 0, a: n &* 2)"
  parses "foo(z: 0, a: n &* 2)"
  parses "typeof(a = 1); a"
  parses "typeof(a = 1); a"
  parses "def foo(a, &block : Int -> ); end"
  parses "def foo(a, &block : Int -> ); end"
  says syntax error on "foo **bar, out x"
  says syntax error on "foo **bar, out x"
  parses "def foo(nil foo); end"
  parses "def foo(nil foo); end"
  parses ":&"
  parses ":&"
  says syntax error on "foo { |x, (x)| }"
  says syntax error on "foo { |x, (x)| }"
  parses "foo[\nfoo[\n1\n]\n]"
  parses "foo[\nfoo[\n1\n]\n]"
  says syntax error on "until break; end"
  says syntax error on "until break; end"
  parses "macro foo(x); 1 + 2; end"
  parses "macro foo(x); 1 + 2; end"
  parses "def self.<=; end;"
  parses "def self.<=; end;"
  parses "lib LibC; fun foo : Int**; end"
  parses "lib LibC; fun foo : Int**; end"
  parses "foo.[0]"
  parses "foo.[0]"
  says syntax error on "*a, *b = 1"
  says syntax error on "*a, *b = 1"
  parses "{\n{1}\n}"
  parses "{\n{1}\n}"
  parses "foo(&.bar.baz)"
  parses "foo(&.bar.baz)"
  parses "1 &+ 2"
  parses "1 &+ 2"
  parses "<<-'HERE COMES HEREDOC'\n  hello \\n world\n  \#{1}\n  HERE COMES HEREDOC"
  parses "<<-'HERE COMES HEREDOC'\n  hello \\n world\n  \#{1}\n  HERE COMES HEREDOC"
  says syntax error on "next &** 1"
  says syntax error on "next &** 1"
  says syntax error on "+break"
  says syntax error on "+break"
  says syntax error on "def foo(foo offsetof); end"
  says syntax error on "def foo(foo offsetof); end"
  parses "-1.0_f32"
  parses "-1.0_f32"
  parses "/=/"
  parses "/=/"
  says syntax error on "break.foo"
  says syntax error on "break.foo"
  parses "foo..2"
  parses "foo..2"
  parses "foo &.block = 0"
  parses "foo &.block = 0"
  parses "qux \"foo\#{bar do end}baz\""
  parses "qux \"foo\#{bar do end}baz\""
  parses "a = 1; a //= 1"
  parses "a = 1; a //= 1"
  parses "*a.foo, a.bar = 1"
  parses "*a.foo, a.bar = 1"
  parses "def self.foo=()\n1\nend"
  parses "def self.foo=()\n1\nend"
  parses "Foo(typeof(1))"
  parses "Foo(typeof(1))"
  says syntax error on "return < 1"
  says syntax error on "return < 1"
  parses "foo[*baz]"
  parses "foo[*baz]"
  says syntax error on "{% unless 1 %} 2 {% elsif 3 %} 3 {% end %}"
  says syntax error on "{% unless 1 %} 2 {% elsif 3 %} 3 {% end %}"
  parses "@[Foo(\"hello\")]"
  parses "@[Foo(\"hello\")]"
  parses "def self.+(); end;"
  parses "def self.+(); end;"
  parses "def foo(x @@return); end"
  parses "def foo(x @@return); end"
  parses "foo\n  #comment\n  .bar"
  parses "foo\n  #comment\n  .bar"
  parses "a = 1; a -= 1"
  parses "a = 1; a -= 1"
  parses "puts {{1}}"
  parses "puts {{1}}"
  parses "1.as(\n  Int32\n)"
  parses "1.as(\n  Int32\n)"
  parses "foo &.block(1)"
  parses "foo &.block(1)"
  parses "macro foo\n\"\\\\\"\nend"
  parses "macro foo\n\"\\\\\"\nend"
  parses "puts ::foo"
  parses "puts ::foo"
  parses "a : Foo()[12]"
  parses "a : Foo()[12]"
  parses "{{ 1 // 2 }}"
  parses "{{ 1 // 2 }}"
  parses "enum Foo; macro foo;end; end"
  parses "enum Foo; macro foo;end; end"
  parses "def >>(); end"
  parses "def >>(); end"
  parses "def foo(@self); end"
  parses "def foo(@self); end"
  parses "{% begin %}%q< %s >{% end %}"
  parses "{% begin %}%q< %s >{% end %}"
  parses "next *{1, 2}"
  parses "next *{1, 2}"
  parses "foo /;/"
  parses "foo /;/"
  parses "{% begin %}{% if true %}if true{% end %}\n{% if true %}end{% end %}{% end %}"
  parses "{% begin %}{% if true %}if true{% end %}\n{% if true %}end{% end %}{% end %}"
  says syntax error on "*a"
  says syntax error on "*a"
  parses "def foo(x @nil); end"
  parses "def foo(x @nil); end"
  parses "def foo(\n&block\n); end"
  parses "def foo(\n&block\n); end"
  parses "def foo(var : self*); end"
  parses "def foo(var : self*); end"
  parses "foo &.block=(0)"
  parses "foo &.block=(0)"
  parses "->::Foo.foo="
  parses "->::Foo.foo="
  parses "foo(1, **bar, &block)"
  parses "foo(1, **bar, &block)"
  parses "f.x -= 2"
  parses "f.x -= 2"
  parses "->Foo.>=(Int32)"
  parses "->Foo.>=(Int32)"
  parses "foo.responds_to?(:foo)"
  parses "foo.responds_to?(:foo)"
  parses "macro <;end"
  parses "macro <;end"
  parses "property case : Int32"
  parses "property case : Int32"
  parses "macro &**;end"
  parses "macro &**;end"
  parses "a = 1; a **= 1"
  parses "a = 1; a **= 1"
  parses "def foo(@alias); end"
  parses "def foo(@alias); end"
  says syntax error on "def foo\nalias\nend"
  says syntax error on "def foo\nalias\nend"
  parses "def foo(yield foo); end"
  parses "def foo(yield foo); end"
  parses "{% begin %}%( %s ){% end %}"
  parses "{% begin %}%( %s ){% end %}"
  parses "foo%q"
  parses "foo%q"
  parses "def foo(@include); end"
  parses "def foo(@include); end"
  parses "asm(\"nop\" : : )"
  parses "asm(\"nop\" : : )"
  says syntax error on "def foo(foo end); end"
  says syntax error on "def foo(foo end); end"
  parses "{% begin %}%q{ %s }{% end %}"
  parses "{% begin %}%q{ %s }{% end %}"
  parses "property begin : Int32"
  parses "property begin : Int32"
  parses "x = 1; foo x {\n}"
  parses "x = 1; foo x {\n}"
  parses "foo(0, n / 2)"
  parses "foo(0, n / 2)"
  parses "<<-HERE\nHello, mom! I am HERE.\nHER dress is beautiful.\nHE is OK.\n  HERESY\nHERE"
  parses "<<-HERE\nHello, mom! I am HERE.\nHER dress is beautiful.\nHE is OK.\n  HERESY\nHERE"
  says syntax error on "1 until 3"
  says syntax error on "1 until 3"
  parses "foo 1\n"
  parses "foo 1\n"
  parses "class Foo(T, *U); end"
  parses "class Foo(T, *U); end"
  parses "lib LibC; {% if 1 %}2{% end %}; end"
  parses "lib LibC; {% if 1 %}2{% end %}; end"
  says syntax error on "{{ {% begin %} }}"
  says syntax error on "{{ {% begin %} }}"
  parses "def foo\n1\nend\nif 1\nend"
  parses "def foo\n1\nend\nif 1\nend"
  parses "/foo/i"
  parses "/foo/i"
  parses "\"hello \" \\\n \"world\""
  parses "\"hello \" \\\n \"world\""
  parses "1 / 2"
  parses "1 / 2"
  parses "{[] of Foo, ::foo}"
  parses "{[] of Foo, ::foo}"
  says syntax error on "def foo(offsetof); end"
  says syntax error on "def foo(offsetof); end"
  parses "a.b /=\n1"
  parses "a.b /=\n1"
  parses "foo(0, n >= 2)"
  parses "foo(0, n >= 2)"
  says syntax error on "def foo(x = 1, y); end"
  says syntax error on "def foo(x = 1, y); end"
  says syntax error on "return 1 foo"
  says syntax error on "return 1 foo"
  parses "1 - 2"
  parses "1 - 2"
  parses "abstract def foo"
  parses "abstract def foo"
  parses "a = 1; a %= 1"
  parses "a = 1; a %= 1"
  says syntax error on "break ** 1"
  says syntax error on "break ** 1"
  parses "asm(\"nop\" :: : :)"
  parses "asm(\"nop\" :: : :)"
  says syntax error on "next[0]= 1"
  says syntax error on "next[0]= 1"
  parses "foo.bar(1).baz"
  parses "foo.bar(1).baz"
  parses "foo %x"
  parses "foo %x"
  parses "false : Int32"
  parses "false : Int32"
  says syntax error on "foo { |(return)| }"
  says syntax error on "foo { |(return)| }"
  parses "foo(0, n & 2)"
  parses "foo(0, n & 2)"
  parses "require \"foo\""
  parses "require \"foo\""
  parses "foo(0, n &- 2)"
  parses "foo(0, n &- 2)"
  parses "(bar do\nend)"
  parses "(bar do\nend)"
  parses "lib LibC\nfun getchar(Int, Float)\nend"
  parses "lib LibC\nfun getchar(Int, Float)\nend"
  says syntax error on "self = 1"
  says syntax error on "self = 1"
  says syntax error on "1 as? Bar"
  says syntax error on "1 as? Bar"
  parses "[1] /2"
  parses "[1] /2"
  says syntax error on "{1, ->{ |x| x } }"
  says syntax error on "{1, ->{ |x| x } }"
  parses "property break : Int32"
  parses "property break : Int32"
  parses "__DIR__"
  parses "__DIR__"
  parses "foo out x; x"
  parses "foo out x; x"
  parses "foo &.as?(T)"
  parses "foo &.as?(T)"
  parses "yield 1"
  parses "yield 1"
  parses "property true : Int32"
  parses "property true : Int32"
  says syntax error on "1 if return"
  says syntax error on "1 if return"
  parses "foo -1.0, -2.0"
  parses "foo -1.0, -2.0"
  says syntax error on "<<-FOO\n1\nFOO.bar"
  says syntax error on "<<-FOO\n1\nFOO.bar"
  parses "foo.Bar"
  parses "foo.Bar"
  says syntax error on "next | 1"
  says syntax error on "next | 1"
  parses "x = 1; foo x do\nend"
  parses "x = 1; foo x do\nend"
  parses ":!~"
  parses ":!~"
  parses "x : *T -> R"
  parses "x : *T -> R"
  says syntax error on "return <= 1"
  says syntax error on "return <= 1"
  parses "def foo(@@instance_sizeof); end"
  parses "def foo(@@instance_sizeof); end"
  parses "1\n-2"
  parses "1\n-2"
  says syntax error on "def foo(foo nil); end"
  says syntax error on "def foo(foo nil); end"
  parses "def self.!~; end;"
  parses "def self.!~; end;"
  parses "{% begin %}%Q[ %s ]{% end %}"
  parses "{% begin %}%Q[ %s ]{% end %}"
  says syntax error on "return[]"
  says syntax error on "return[]"
  parses "x = 2; foo do bar x end"
  parses "x = 2; foo do bar x end"
  parses "foo *bar"
  parses "foo *bar"
  parses "enum Foo; A = 1\ndef foo; 1; end; end"
  parses "enum Foo; A = 1\ndef foo; 1; end; end"
  parses "->::Foo.foo?"
  parses "->::Foo.foo?"
  parses "foo &.bar.baz"
  parses "foo &.bar.baz"
  parses "foo(a: n / 2)"
  parses "foo(a: n / 2)"
  parses "f.x *= 2"
  parses "f.x *= 2"
  parses "foo = 1; ->foo.&+(Int32)"
  parses "foo = 1; ->foo.&+(Int32)"
  parses "{% begin %}%q| %s |{% end %}"
  parses "{% begin %}%q| %s |{% end %}"
  says syntax error on "def is_a?; end"
  says syntax error on "def is_a?; end"
  parses "<<-SOME\n  Sa\n  Se\n  SOME"
  parses "<<-SOME\n  Sa\n  Se\n  SOME"
  says syntax error on "select\nwhen 1\n2\nend"
  says syntax error on "select\nwhen 1\n2\nend"
  parses "asm(\"nop\" : \"a\"(0), \"b\"(1) : \"c\"(2), \"d\"(3))"
  parses "asm(\"nop\" : \"a\"(0), \"b\"(1) : \"c\"(2), \"d\"(3))"
  parses "alias Foo::Bar = Baz"
  parses "alias Foo::Bar = Baz"
  parses "{% a = 1 %}"
  parses "{% a = 1 %}"
  parses "case / /\nwhen / /\n/ /\nelse\n/ /\nend"
  parses "case / /\nwhen / /\n/ /\nelse\n/ /\nend"
  parses "def >=(other, file = 1); end"
  parses "def >=(other, file = 1); end"
  parses "def self.<; end;"
  parses "def self.<; end;"
  parses "def foo(@@if); end"
  parses "def foo(@@if); end"
  says syntax error on "foo { |(begin)| }"
  says syntax error on "foo { |(begin)| }"
  parses "macro foo\n'\\\\'\nend"
  parses "macro foo\n'\\\\'\nend"
  parses "next : Int32"
  parses "next : Int32"
  says syntax error on "Set {1, 2, 3} of Int32"
  says syntax error on "Set {1, 2, 3} of Int32"
  says syntax error on "return % 1"
  says syntax error on "return % 1"
  says syntax error on "def foo(foo protected); end"
  says syntax error on "def foo(foo protected); end"
  parses "foo(a: n * 2)"
  parses "foo(a: n * 2)"
  parses "def foo(x @module); end"
  parses "def foo(x @module); end"
  parses "macro foo;%var{1, x} = hello;end"
  parses "macro foo;%var{1, x} = hello;end"
  parses "1 +\n2"
  parses "1 +\n2"
  parses "call foo : A, end : B"
  parses "call foo : A, end : B"
  parses "require \"foo\"; [1]"
  parses "require \"foo\"; [1]"
  says syntax error on "{a[]: 1}"
  says syntax error on "{a[]: 1}"
  parses "Foo(typeof(1), typeof(2))"
  parses "Foo(typeof(1), typeof(2))"
  says syntax error on "def foo(typeof); end"
  says syntax error on "def foo(typeof); end"
  parses "1..;"
  parses "1..;"
  says syntax error on "def foo x y; end"
  says syntax error on "def foo x y; end"
  parses "->@foo.foo?"
  parses "->@foo.foo?"
  parses "2 * 3 + 4 * 5"
  parses "2 * 3 + 4 * 5"
  parses "case 1; when 1 then 2; else; 3; end"
  parses "case 1; when 1 then 2; else; 3; end"
  parses "foo 1"
  parses "foo 1"
  parses "foo(n + 2)"
  parses "foo(n + 2)"
  parses "n &+ 2"
  parses "n &+ 2"
  parses "macro foo;%var if true;end"
  parses "macro foo;%var if true;end"
  parses "[] of ->\n"
  parses "[] of ->\n"
  parses "def foo(@protected); end"
  parses "def foo(@protected); end"
  parses "a.b() /3"
  parses "a.b() /3"
  parses "[1, 2]"
  parses "[1, 2]"
  parses "1/2"
  parses "1/2"
  parses "[..2]"
  parses "[..2]"
  says syntax error on "next ** 1"
  says syntax error on "next ** 1"
  parses "def foo(while foo); end"
  parses "def foo(while foo); end"
  parses "foo(bar:a, baz:b)"
  parses "foo(bar:a, baz:b)"
  parses "def foo(@fun); end"
  parses "def foo(@fun); end"
  parses "->::foo="
  parses "->::foo="
  says syntax error on "macro def foo : String; 1; end"
  says syntax error on "macro def foo : String; 1; end"
  parses "macro >;end"
  parses "macro >;end"
  parses "foo.|"
  parses "foo.|"
  parses "begin; 1; rescue ex : Foo | Bar; 2; end"
  parses "begin; 1; rescue ex : Foo | Bar; 2; end"
  parses "case {1, 2}\nwhen {.foo, .bar}\n5\nend"
  parses "case {1, 2}\nwhen {.foo, .bar}\n5\nend"
  parses "def foo; yield 1; end"
  parses "def foo; yield 1; end"
  says syntax error on "def foo(foo true); end"
  says syntax error on "def foo(foo true); end"
  parses "n - 2"
  parses "n - 2"
  parses "@[Foo::Bar]"
  parses "@[Foo::Bar]"
  says syntax error on "def foo(in); end"
  says syntax error on "def foo(in); end"
  parses "macro foo;unless var;true;end;end"
  parses "macro foo;unless var;true;end;end"
  parses "macro foo;bar{% for x, y in z %}body{% end %}baz;end"
  parses "macro foo;bar{% for x, y in z %}body{% end %}baz;end"
  parses "n ^ 2"
  parses "n ^ 2"
  parses "<<-HERE1; <<-HERE2\nHERE1\nHERE2"
  parses "<<-HERE1; <<-HERE2\nHERE1\nHERE2"
  says syntax error on "foo { |protected| }"
  says syntax error on "foo { |protected| }"
  parses "foo.** 1, 2"
  parses "foo.** 1, 2"
  says syntax error on "def foo &block : Int -> Double ; end"
  says syntax error on "def foo &block : Int -> Double ; end"
  parses "def foo(x) : Int32\n1\nend"
  parses "def foo(x) : Int32\n1\nend"
  parses "foo.**(1, 2) { 3 }"
  parses "foo.**(1, 2) { 3 }"
  parses "def foo(x @var); end"
  parses "def foo(x @var); end"
  parses "until : Int32"
  parses "until : Int32"
  parses "1 % 2"
  parses "1 % 2"
  says syntax error on "*a, 1 = 2"
  says syntax error on "*a, 1 = 2"
  parses "a = 1; a <<= 1"
  parses "a = 1; a <<= 1"
  parses "1 -2.0"
  parses "1 -2.0"
  says syntax error on "until next; end"
  says syntax error on "until next; end"
  parses "{% if true %}\n{% end %}\n{% if true %}\n{% end %}"
  parses "{% if true %}\n{% end %}\n{% if true %}\n{% end %}"
  parses "return {1 => 2}"
  parses "return {1 => 2}"
  parses "foo.is_a?(Const)"
  parses "foo.is_a?(Const)"
  parses "def foo(a, &block : Foo); end"
  parses "def foo(a, &block : Foo); end"
  says syntax error on "offsetof(X, 'c')"
  says syntax error on "offsetof(X, 'c')"
  parses "macro |;end"
  parses "macro |;end"
  parses "property next : Int32"
  parses "property next : Int32"
  parses "->@@foo.foo?"
  parses "->@@foo.foo?"
  says syntax error on "foo(next)"
  says syntax error on "foo(next)"
  parses "<<-'HERE'\n  hello \\n world\n  \#{1}\n  HERE"
  parses "<<-'HERE'\n  hello \\n world\n  \#{1}\n  HERE"
  parses "def foo(x @select); end"
  parses "def foo(x @select); end"
  parses "def !=(*args, **opts, &); end"
  parses "def !=(*args, **opts, &); end"
  parses "lib LibC; fun foo(a : Int**); end"
  parses "lib LibC; fun foo(a : Int**); end"
  says syntax error on "def foo(foo yield); end"
  says syntax error on "def foo(foo yield); end"
  parses "case\nwhen true\n1\nend"
  parses "case\nwhen true\n1\nend"
  parses "->::Foo.foo!"
  parses "->::Foo.foo!"
  says syntax error on "->::@@foo.foo"
  says syntax error on "->::@@foo.foo"
  says syntax error on "foo **bar, *x"
  says syntax error on "foo **bar, *x"
  parses "macro foo;bar{% if x %}body{% else %}body2{%end%}baz;end"
  parses "macro foo;bar{% if x %}body{% else %}body2{%end%}baz;end"
  parses "def foo(x @@instance_sizeof); end"
  parses "def foo(x @@instance_sizeof); end"
  says syntax error on "A = B = 1"
  says syntax error on "A = B = 1"
  parses "def foo(x @def); end"
  parses "def foo(x @def); end"
  parses "instance_alignof(X)"
  parses "instance_alignof(X)"
  parses "{1}"
  parses "{1}"
  parses "self"
  parses "self"
  says syntax error on "enum Foo; A B; end"
  says syntax error on "enum Foo; A B; end"
  parses "[\n1,2\n]"
  parses "[\n1,2\n]"
  parses "/foo/"
  parses "/foo/"
  says syntax error on "break &** 1"
  says syntax error on "break &** 1"
  parses "foo %x()"
  parses "foo %x()"
  says syntax error on "def f end"
  says syntax error on "def f end"
  sets correct location of private method in enum
  sets correct location of private method in enum
  parses "1 & 2"
  parses "1 & 2"
  parses "def foo(@case); end"
  parses "def foo(@case); end"
  parses "property if : Int32"
  parses "property if : Int32"
  says syntax error on "def self.responds_to?; end"
  says syntax error on "def self.responds_to?; end"
  parses "foo(0, n | 2)"
  parses "foo(0, n | 2)"
  parses "def foo(@@include); end"
  parses "def foo(@@include); end"
  parses "{% begin %}%q[ %s ]{% end %}"
  parses "{% begin %}%q[ %s ]{% end %}"
  parses "property end : Int32"
  parses "property end : Int32"
  parses "n &** 2"
  parses "n &** 2"
  parses "break 1, *2"
  parses "break 1, *2"
  parses "b.c &&= 1"
  parses "b.c &&= 1"
  parses "abstract : Int32"
  parses "abstract : Int32"
  parses "->Foo.[](Int32)"
  parses "->Foo.[](Int32)"
  parses "a : Foo | Int32"
  parses "a : Foo | Int32"
  parses "1 ? a : b ? c : 3"
  parses "1 ? a : b ? c : 3"
  says syntax error on "{\n1 => 2\n3 => 4\n}"
  says syntax error on "{\n1 => 2\n3 => 4\n}"
  says syntax error on "a() += 1"
  says syntax error on "a() += 1"
  parses "foo.as(Bar)"
  parses "foo.as(Bar)"
  parses "{% if x %}body{% end %}"
  parses "{% if x %}body{% end %}"
  parses "def foo(var1, var2); end"
  parses "def foo(var1, var2); end"
  says syntax error on "foo { |(typeof)| }"
  says syntax error on "foo { |(typeof)| }"
  parses "foo &->bar"
  parses "foo &->bar"
  says syntax error on "def self.as?; end"
  says syntax error on "def self.as?; end"
  says syntax error on "foo { |out| }"
  says syntax error on "foo { |out| }"
  parses "->Foo.foo="
  parses "->Foo.foo="
  parses "def ^(); end"
  parses "def ^(); end"
  parses ":\"foo\""
  parses ":\"foo\""
  says syntax error on "{\n}"
  says syntax error on "{\n}"
  parses "def !=(other, file = 1); end"
  parses "def !=(other, file = 1); end"
  single splats inside container literals
    parses "{*1, 2}"
    parses "{*1, 2}"
    parses "{*1 * 2}"
    parses "{*1 * 2}"
    parses "[*1]"
    parses "[*1]"
    parses "[*1, *2]"
    parses "[*1, *2]"
    parses "[1, *2]"
    parses "[1, *2]"
    parses "x = {*1}"
    parses "x = {*1}"
    parses "{*1, *2}"
    parses "{*1, *2}"
    parses "{1, *2, 3, *4, 5}"
    parses "{1, *2, 3, *4, 5}"
    says syntax error on "{*a: 1}"
    says syntax error on "{*a: 1}"
    says syntax error on "case {1}\nwhen {*2}; 3; end"
    says syntax error on "case {1}\nwhen {*2}; 3; end"
    parses "[*1 ** 2]"
    parses "[*1 ** 2]"
    parses "Set {*1, 2, *3}"
    parses "Set {*1, 2, *3}"
    parses "Set {*{1} * 2}"
    parses "Set {*{1} * 2}"
    says syntax error on "{*1 => 2}"
    says syntax error on "{*1 => 2}"
    parses "[1, *2, 3, *4, 5]"
    parses "[1, *2, 3, *4, 5]"
    parses "{1, *2}"
    parses "{1, *2}"
    says syntax error on "{a: 1, *2}"
    says syntax error on "{a: 1, *2}"
    parses "case 1\nwhen {*2}; 3; end"
    parses "case 1\nwhen {*2}; 3; end"
    says syntax error on "{1 => 2, *3}"
    says syntax error on "{1 => 2, *3}"
    parses "[*[*[1]], *[2]]"
    parses "[*[*[1]], *[2]]"
    parses "{*1}"
    parses "{*1}"
    says syntax error on "case {*1}\nwhen {2}; 3; end"
    says syntax error on "case {*1}\nwhen {2}; 3; end"
    parses "[*1, 2]"
    parses "[*1, 2]"
  says syntax error on "def foo(break); end"
  says syntax error on "def foo(break); end"
  parses "a b() {}"
  parses "a b() {}"
  parses "lib LibC\nalias Foo = Bar\nend"
  parses "lib LibC\nalias Foo = Bar\nend"
  says syntax error on "unless next; end"
  says syntax error on "unless next; end"
  parses "{% begin %}%Q| %s |{% end %}"
  parses "{% begin %}%Q| %s |{% end %}"
  parses "def foo(x : U) forall U; end"
  parses "def foo(x : U) forall U; end"
  parses "def foo(@@break); end"
  parses "def foo(@@break); end"
  says syntax error on "def foo(foo fun); end"
  says syntax error on "def foo(foo fun); end"
  parses "def foo(@[Foo] &@block); end"
  parses "def foo(@[Foo] &@block); end"
  parses "foo(z: 0, a: n | 2)"
  parses "foo(z: 0, a: n | 2)"
  parses "def foo(x @@fun); end"
  parses "def foo(x @@fun); end"
  parses "def Foo.foo\n1\nend"
  parses "def Foo.foo\n1\nend"
  parses "1.[](2)"
  parses "1.[](2)"
  parses "/fo\#{1}o/"
  parses "/fo\#{1}o/"
  parses "property yield : Int32"
  parses "property yield : Int32"
  says syntax error on "def =\nend"
  says syntax error on "def =\nend"
  parses "(baz; bar do\nend)"
  parses "(baz; bar do\nend)"
  says syntax error on "*a, b, c, d = 1, 2"
  says syntax error on "*a, b, c, d = 1, 2"
  parses "def []=(value); end"
  parses "def []=(value); end"
  parses "{1 => 2 / 3}"
  parses "{1 => 2 / 3}"
  parses "def foo; x { |a| a }; end"
  parses "def foo; x { |a| a }; end"
  parses "foo = 1; foo a: 1"
  parses "foo = 1; foo a: 1"
  parses ":[]="
  parses ":[]="
  parses "macro =~;end"
  parses "macro =~;end"
  says syntax error on "yield break"
  says syntax error on "yield break"
  says syntax error on "def foo(module); end"
  says syntax error on "def foo(module); end"
  says syntax error on "if return; end"
  says syntax error on "if return; end"
  says syntax error on "+next"
  says syntax error on "+next"
  parses "r = 1; r.x += 2"
  parses "r = 1; r.x += 2"
  parses "def foo(x @enum); end"
  parses "def foo(x @enum); end"
  says syntax error on "def foo(foo macro); end"
  says syntax error on "def foo(foo macro); end"
  parses "foo.!~(1, 2)"
  parses "foo.!~(1, 2)"
  parses "def self.%; end;"
  parses "def self.%; end;"
  says syntax error on "case 1; when next; end; end"
  says syntax error on "case 1; when next; end; end"
  parses "1 =~ 2"
  parses "1 =~ 2"
  parses "def foo(x @self); end"
  parses "def foo(x @self); end"
  parses "begin; 1; rescue Foo; 2; end"
  parses "begin; 1; rescue Foo; 2; end"
  says syntax error on "def foo(x : U) forall U, U; end"
  says syntax error on "def foo(x : U) forall U, U; end"
  says syntax error on "foo 1,"
  says syntax error on "foo 1,"
  parses "...2"
  parses "...2"
  parses "1 <=> 2"
  parses "1 <=> 2"
  says syntax error on "foo { |fun| }"
  says syntax error on "foo { |fun| }"
  parses "macro foo;end"
  parses "macro foo;end"
  parses "def foo(x @alias); end"
  parses "def foo(x @alias); end"
  parses "def |(); end;"
  parses "def |(); end;"
  parses "def foo(var : Int**); end"
  parses "def foo(var : Int**); end"
  parses "foo = 1; foo -1"
  parses "foo = 1; foo -1"
  says syntax error on "def foo=(a = 1, b = 2); end"
  says syntax error on "def foo=(a = 1, b = 2); end"
  parses "a = 1\nfoo - a"
  parses "a = 1\nfoo - a"
  parses "(bar do\nend)"
  parses "(bar do\nend)"
  parses "yield 1 if true"
  parses "yield 1 if true"
  parses ":|"
  parses ":|"
  parses "macro foo; bar class: 1; end"
  parses "macro foo; bar class: 1; end"
  parses "protected : Int32"
  parses "protected : Int32"
  parses "var.@foo"
  parses "var.@foo"
  says syntax error on "class Foo; require \"bar\"; end"
  says syntax error on "class Foo; require \"bar\"; end"
  parses "asm(\n\"nop\"\n:\n\"a\"(0)\n:\n\"b\"(1),\n\"c\"(2)\n)"
  parses "asm(\n\"nop\"\n:\n\"a\"(0)\n:\n\"b\"(1),\n\"c\"(2)\n)"
  says syntax error on "foo {1, 2}"
  says syntax error on "foo {1, 2}"
  parses "def <=(); end"
  parses "def <=(); end"
  parses "case a\nwhen b\n1 / 2\nelse\n1 / 2\nend"
  parses "case a\nwhen b\n1 / 2\nelse\n1 / 2\nend"
  says syntax error on "def foo @var, &block; end"
  says syntax error on "def foo @var, &block; end"
  parses "macro foo=;end"
  parses "macro foo=;end"
  parses "a = 1; pointerof(a)"
  parses "a = 1; pointerof(a)"
  parses "foo(1, **bar)"
  parses "foo(1, **bar)"
  parses "<<-FOO\n \t1\n \tFOO"
  parses "<<-FOO\n \t1\n \tFOO"
  parses "1.responds_to?(\n  :foo\n)"
  parses "1.responds_to?(\n  :foo\n)"
  parses "lib LibC; struct Foo; include Bar; end; end"
  parses "lib LibC; struct Foo; include Bar; end; end"
  says syntax error on "a, b, *c, d = 1, 2"
  says syntax error on "a, b, *c, d = 1, 2"
  parses "a = 1; a /b"
  parses "a = 1; a /b"
  says syntax error on "def foo(\"\" y); y; end"
  says syntax error on "def foo(\"\" y); y; end"
  parses "1 ... 2"
  parses "1 ... 2"
  parses ":~"
  parses ":~"
  parses "case {1, 2}\nwhen foo\n5\nend"
  parses "case {1, 2}\nwhen foo\n5\nend"
  parses "def foo(if foo); end"
  parses "def foo(if foo); end"
  parses "1 < 2"
  parses "1 < 2"
  parses "foo(n <= 2)"
  parses "foo(n <= 2)"
  parses "begin; 1; ensure; 2; end"
  parses "begin; 1; ensure; 2; end"
  says syntax error on "->::foo.foo"
  says syntax error on "->::foo.foo"
  parses "def ===(other, file = 1); end"
  parses "def ===(other, file = 1); end"
  parses "def foo(var : Int, Float -> Double); end"
  parses "def foo(var : Int, Float -> Double); end"
  parses "{% begin %}%r{\\A}{% end %}"
  parses "{% begin %}%r{\\A}{% end %}"
  says syntax error on "break * 1"
  says syntax error on "break * 1"
  parses "macro &*;end"
  parses "macro &*;end"
  parses "def foo(x @@until); end"
  parses "def foo(x @@until); end"
  says syntax error on "foo { |with| }"
  says syntax error on "foo { |with| }"
  parses "def foo(x @next); end"
  parses "def foo(x @next); end"
  parses "1 / 2"
  parses "1 / 2"
  says syntax error on "foo { |instance_sizeof| }"
  says syntax error on "foo { |instance_sizeof| }"
  parses "enum Foo; @@foo = 1\n A \n end"
  parses "enum Foo; @@foo = 1\n A \n end"
  parses "<<-HERE\n   One\n  Zero\n  HERE"
  parses "<<-HERE\n   One\n  Zero\n  HERE"
  parses "Foo??"
  parses "Foo??"
  parses "lib LibC\n$errno = Foo : Int32\nend"
  parses "lib LibC\n$errno = Foo : Int32\nend"
  says syntax error on "def foo() :String\nend"
  says syntax error on "def foo() :String\nend"
  parses "->Foo.>(Int32)"
  parses "->Foo.>(Int32)"
  parses "Foo(x: U)"
  parses "Foo(x: U)"
  parses "foo %i()"
  parses "foo %i()"
  parses "def foo(x @@begin); end"
  parses "def foo(x @@begin); end"
  parses "break {1, 2}"
  parses "break {1, 2}"
  says syntax error on "{\n1 => 2, 3 => 4\n5 => 6}"
  says syntax error on "{\n1 => 2, 3 => 4\n5 => 6}"
  parses "foo = 1; foo {}"
  parses "foo = 1; foo {}"
  parses "+1"
  parses "+1"
  says syntax error on "foo { |in| }"
  says syntax error on "foo { |in| }"
  parses "foo.>(1, 2) { 3 }"
  parses "foo.>(1, 2) { 3 }"
  parses "foo(x) do\n//\nend"
  parses "foo(x) do\n//\nend"
  parses "case 1; end"
  parses "case 1; end"
  says syntax error on "next &- 1"
  says syntax error on "next &- 1"
  says syntax error on "next.as(Int32)"
  says syntax error on "next.as(Int32)"
  parses "foo(n &- 2)"
  parses "foo(n &- 2)"
  parses "foo.bar= *baz"
  parses "foo.bar= *baz"
  parses "foo(n | 2)"
  parses "foo(n | 2)"
  parses "foo(n &** 2)"
  parses "foo(n &** 2)"
  parses "def foo(&block : Int ->\n); end"
  parses "def foo(&block : Int ->\n); end"
  parses "foo = 1; ->foo.*(Int32)"
  parses "foo = 1; ->foo.*(Int32)"
  parses "a = 1; a *=\n1"
  parses "a = 1; a *=\n1"
  says syntax error on "return === 1"
  says syntax error on "return === 1"
  says syntax error on "*a if true"
  says syntax error on "*a if true"
  parses "def foo(@true); end"
  parses "def foo(@true); end"
  parses "a = 1; a <<=\n1"
  parses "a = 1; a <<=\n1"
  parses "def self.>; end;"
  parses "def self.>; end;"
  parses "asm(\"nop\" :: \"b\"(1), \"c\"(2) : \"eax\", \"ebx\"\n: \"volatile\", \"alignstack\"\n,\n\"intel\"\n)"
  parses "asm(\"nop\" :: \"b\"(1), \"c\"(2) : \"eax\", \"ebx\"\n: \"volatile\", \"alignstack\"\n,\n\"intel\"\n)"
  says syntax error on "def foo\nmodule\nend"
  says syntax error on "def foo\nmodule\nend"
  says syntax error on "def foo(foo false); end"
  says syntax error on "def foo(foo false); end"
  says syntax error on "next > 1"
  says syntax error on "next > 1"
  parses "foo(z: 0, a: n >= 2)"
  parses "foo(z: 0, a: n >= 2)"
  parses "{% if 1; 2; end %}"
  parses "{% if 1; 2; end %}"
  parses "def self.%(); end;"
  parses "def self.%(); end;"
  parses "def foo(x @@in); end"
  parses "def foo(x @@in); end"
  parses "->Foo.!~(Int32)"
  parses "->Foo.!~(Int32)"
  says syntax error on "a.b(), c.d = 1"
  says syntax error on "a.b(), c.d = 1"
  parses "property private : Int32"
  parses "property private : Int32"
  parses "foo %w()"
  parses "foo %w()"
  parses "a.foo, a.bar = 1, 2"
  parses "a.foo, a.bar = 1, 2"
  says syntax error on "{foo: 1, bar: 2\nbaz: 3}"
  says syntax error on "{foo: 1, bar: 2\nbaz: 3}"
  says syntax error on "def foo(*x, **x); end"
  says syntax error on "def foo(*x, **x); end"
  parses "x = 1 ensure 2"
  parses "x = 1 ensure 2"
  says syntax error on "a = return"
  says syntax error on "a = return"
  parses "def foo(); 1; rescue; 2; end"
  parses "def foo(); 1; rescue; 2; end"
  parses "end : Int32"
  parses "end : Int32"
  parses "begin; 1; rescue ::Foo | ::Bar; 2; end"
  parses "begin; 1; rescue ::Foo | ::Bar; 2; end"
  says syntax error on "macro foo *y;end"
  says syntax error on "macro foo *y;end"
  parses "def foo; a = 1; a; end"
  parses "def foo; a = 1; a; end"
  parses "case {1}\nin {Int32.class}; 2; end"
  parses "case {1}\nin {Int32.class}; 2; end"
  parses "enum Foo; def foo; 1; end; end"
  parses "enum Foo; def foo; 1; end; end"
  parses "def foo(x @@extend); end"
  parses "def foo(x @@extend); end"
  parses "{/ /, / /}"
  parses "{/ /, / /}"
  parses "def Foo::Bar.foo\n1\nend"
  parses "def Foo::Bar.foo\n1\nend"
  parses "1.as?(\n  Int32\n)"
  parses "1.as?(\n  Int32\n)"
  says syntax error on "foo { |(module)| }"
  says syntax error on "foo { |(module)| }"
  says syntax error on "case next; when 1; end; end"
  says syntax error on "case next; when 1; end; end"
  says syntax error on "1 .. break"
  says syntax error on "1 .. break"
  parses "foo.bar=(*baz)"
  parses "foo.bar=(*baz)"
  says syntax error on "fun foo\nFoo = 1"
  says syntax error on "fun foo\nFoo = 1"
  parses "sizeof(\n  Int32\n)"
  parses "sizeof(\n  Int32\n)"
  parses ":\"\\a\\b\\n\\r\\t\\v\\f\\e\""
  parses ":\"\\a\\b\\n\\r\\t\\v\\f\\e\""
  parses "{% for x in y %}body{% end %}"
  parses "{% for x in y %}body{% end %}"
  parses "def !=(); end;"
  parses "def !=(); end;"
  parses "Foo({String, ->, ->})"
  parses "Foo({String, ->, ->})"
  parses "foo result : Int32; result"
  parses "foo result : Int32; result"
  parses "case a\nwhen b\n/ /\n\nelse\n/ /\nend"
  parses "case a\nwhen b\n/ /\n\nelse\n/ /\nend"
  parses "def ===(); end;"
  parses "def ===(); end;"
  parses "Foo?"
  parses "Foo?"
  parses "->Foo.&(Int32)"
  parses "->Foo.&(Int32)"
  parses "foo.!=(1, 2)"
  parses "foo.!=(1, 2)"
  parses "a() /3"
  parses "a() /3"
  says syntax error on "\"foo\" \"bar\""
  says syntax error on "\"foo\" \"bar\""
  parses "x[1, ..2]"
  parses "x[1, ..2]"
  parses "lib LibC; union Foo; end end"
  parses "lib LibC; union Foo; end end"
  parses "Foo(T, 1)"
  parses "Foo(T, 1)"
  parses "1.!(\n)"
  parses "1.!(\n)"
  says syntax error on "def foo; A = 1; end"
  says syntax error on "def foo; A = 1; end"
  parses "def foo(a, &block); end"
  parses "def foo(a, &block); end"
  says syntax error on "foo { |while| }"
  says syntax error on "foo { |while| }"
  parses "\"hello \"\\\n\"world\""
  parses "\"hello \"\\\n\"world\""
  parses "property abstract : Int32"
  parses "property abstract : Int32"
  parses "def foo(@[Foo] var : Int32); end"
  parses "def foo(@[Foo] var : Int32); end"
  parses "foo(a: n & 2)"
  parses "foo(a: n & 2)"
  parses "asm(\"nop\" : \"a\"(0) : \"b\"(1))"
  parses "asm(\"nop\" : \"a\"(0) : \"b\"(1))"
  says syntax error on "def foo(foo out); end"
  says syntax error on "def foo(foo out); end"
  parses "macro `;end"
  parses "macro `;end"
  parses "def foo(x @pointerof); end"
  parses "def foo(x @pointerof); end"
  parses "foo(1 + 2)"
  parses "foo(1 + 2)"
  parses "foo(a: n < 2)"
  parses "foo(a: n < 2)"
  parses "def **; end;"
  parses "def **; end;"
  parses "a.b //=\n1"
  parses "a.b //=\n1"
  parses "def foo(x, *, y, &); 1; end"
  parses "def foo(x, *, y, &); 1; end"
  parses "1 if /x/"
  parses "1 if /x/"
  parses "foo z: out x; x"
  parses "foo z: out x; x"
  says syntax error on "def foo(begin); end"
  says syntax error on "def foo(begin); end"
  parses "return 1.bar do\nend"
  parses "return 1.bar do\nend"
  parses "def foo(@struct); end"
  parses "def foo(@struct); end"
  parses "foo = 1; foo(+1)"
  parses "foo = 1; foo(+1)"
  parses "def ==(); end;"
  parses "def ==(); end;"
  parses "`foo\\``"
  parses "`foo\\``"
  says syntax error on "foo { |(if)| }"
  says syntax error on "foo { |(if)| }"
  says syntax error on "'''"
  says syntax error on "'''"
  parses "f.x /= 2"
  parses "f.x /= 2"
  says syntax error on "def foo(pointerof); end"
  says syntax error on "def foo(pointerof); end"
  says syntax error on "next >= 1"
  says syntax error on "next >= 1"
  says syntax error on "def foo=(&block); end"
  says syntax error on "def foo=(&block); end"
  parses "foo.|(1, 2) { 3 }"
  parses "foo.|(1, 2) { 3 }"
  parses "def foo(x @@module); end"
  parses "def foo(x @@module); end"
  parses "foo.- 1, 2"
  parses "foo.- 1, 2"
  parses "foo = 1; ->foo.[]=(Int32)"
  parses "foo = 1; ->foo.[]=(Int32)"
  parses "def foo(@unless); end"
  parses "def foo(@unless); end"
  parses "while : Int32"
  parses "while : Int32"
  parses "puts %w(one two)"
  parses "puts %w(one two)"
  parses "x[a: 1, b: 2,]"
  parses "x[a: 1, b: 2,]"
  parses "def []=(other, file = 1); end"
  parses "def []=(other, file = 1); end"
  parses "foo(a: n == 2)"
  parses "foo(a: n == 2)"
  parses "foo(0, n >> 2)"
  parses "foo(0, n >> 2)"
  says syntax error on "def foo(x @x); 1; end"
  says syntax error on "def foo(x @x); 1; end"
  parses "foo.>=(1, 2)"
  parses "foo.>=(1, 2)"
  parses "unless foo; 1; else; 2; end"
  parses "unless foo; 1; else; 2; end"
  says syntax error on "def responds_to?; end"
  says syntax error on "def responds_to?; end"
  says syntax error on "def foo var; end"
  says syntax error on "def foo var; end"
  parses "->() : Int32 { }"
  parses "->() : Int32 { }"
  parses "def foo; yield 1; yield; end"
  parses "def foo; yield 1; yield; end"
  parses "foo.===(1, 2)"
  parses "foo.===(1, 2)"
  parses "property asm : Int32"
  parses "property asm : Int32"
  parses "f.x >>= 2"
  parses "f.x >>= 2"
  parses "->@foo.foo!"
  parses "->@foo.foo!"
  parses "def foo(offsetof foo); end"
  parses "def foo(offsetof foo); end"
  parses "foo &.@bar"
  parses "foo &.@bar"
  says syntax error on "def foo(foo unless); end"
  says syntax error on "def foo(foo unless); end"
  global regex match data
    says syntax error on "$0, a = {1, 2}"
    says syntax error on "$0, a = {1, 2}"
    parses "$? = 1"
    parses "$? = 1"
    parses "$~"
    parses "$~"
    parses "$~ = 1"
    parses "$~ = 1"
    parses "$?"
    parses "$?"
    says syntax error on "$99999999999999999999999?"
    says syntax error on "$99999999999999999999999?"
    parses "foo $?"
    parses "foo $?"
    parses "foo $1"
    parses "foo $1"
    parses "$1"
    parses "$1"
    says syntax error on "$0, $1 = [1, 2]"
    says syntax error on "$0, $1 = [1, 2]"
    says syntax error on "$2147483648"
    says syntax error on "$2147483648"
    parses "$0"
    parses "$0"
    says syntax error on "$0 = 1"
    says syntax error on "$0 = 1"
    parses "$1?"
    parses "$1?"
    parses "$?.foo"
    parses "$?.foo"
    parses "$~.foo"
    parses "$~.foo"
  parses "foo { |a, b, | 1 }"
  parses "foo { |a, b, | 1 }"
  says syntax error on "def foo\nclass\nend"
  says syntax error on "def foo\nclass\nend"
  parses "def <<(); end"
  parses "def <<(); end"
  parses "foo.>(1, 2)"
  parses "foo.>(1, 2)"
  parses "foo = 1; ->foo.bar(Int32)"
  parses "foo = 1; ->foo.bar(Int32)"
  says syntax error on "asm(\"\" ::: \"\"(var))"
  says syntax error on "asm(\"\" ::: \"\"(var))"
  parses "case {1}\nin {.bar?}; 2; end"
  parses "case {1}\nin {.bar?}; 2; end"
  parses "foo a: b(1) do\nend"
  parses "foo a: b(1) do\nend"
  says syntax error on "def foo(var = 1 : Int32); end"
  says syntax error on "def foo(var = 1 : Int32); end"
  parses "def foo(a); a; end"
  parses "def foo(a); a; end"
  parses "def foo(**args)\n1\nend"
  parses "def foo(**args)\n1\nend"
  parses "{% begin %}%[ %s ]{% end %}"
  parses "{% begin %}%[ %s ]{% end %}"
  parses "a.b/2"
  parses "a.b/2"
  says syntax error on "foo { |self| }"
  says syntax error on "foo { |self| }"
  parses "n =~ 2"
  parses "n =~ 2"
  parses "property unless : Int32"
  parses "property unless : Int32"
  parses ":*"
  parses ":*"
  says syntax error on "break | 1"
  says syntax error on "break | 1"
  parses "enum Foo; {% if 1 %}2{% end %}; end"
  parses "enum Foo; {% if 1 %}2{% end %}; end"
  parses "/ /"
  parses "/ /"
  parses "<<-FOO\n\t 1\n\t FOO"
  parses "<<-FOO\n\t 1\n\t FOO"
  parses "{{ //.options }}"
  parses "{{ //.options }}"
  says syntax error on "return & 1"
  says syntax error on "return & 1"
  parses "def foo(@@alias); end"
  parses "def foo(@@alias); end"
  parses "foo(n < 2)"
  parses "foo(n < 2)"
  parses "foo + 1"
  parses "foo + 1"
  parses "def foo(struct foo); end"
  parses "def foo(struct foo); end"
  parses "def foo(x @@out); end"
  parses "def foo(x @@out); end"
  parses "foo if 3"
  parses "foo if 3"
  parses "def foo(**args : **Foo)\n1\nend"
  parses "def foo(**args : **Foo)\n1\nend"
  parses "foo.=== 1, 2"
  parses "foo.=== 1, 2"
  parses "foo(&.as?(T))"
  parses "foo(&.as?(T))"
  parses "ensure : Int32"
  parses "ensure : Int32"
  parses "%r(\\/)"
  parses "%r(\\/)"
  parses "lib LibC; enum Foo; A\nB; C\nD = 1; end end"
  parses "lib LibC; enum Foo; A\nB; C\nD = 1; end end"
  parses "{% unless 1; 2; end %}"
  parses "{% unless 1; 2; end %}"
  parses "case 1\nwhen .as?(T)\n2\nend"
  parses "case 1\nwhen .as?(T)\n2\nend"
  parses "foo.| 1, 2"
  parses "foo.| 1, 2"
  parses "n // 2"
  parses "n // 2"
  says syntax error on "foo x: 1, x: 1"
  says syntax error on "foo x: 1, x: 1"
  parses "!1"
  parses "!1"
  parses "{{ nil?(foo) }}"
  parses "{{ nil?(foo) }}"
  says syntax error on "def foo(false); end"
  says syntax error on "def foo(false); end"
  parses "struct : Int32"
  parses "struct : Int32"
  parses "foo.& do end"
  parses "foo.& do end"
  says syntax error on "foo { |struct| }"
  says syntax error on "foo { |struct| }"
  parses "def !~(); end"
  parses "def !~(); end"
  parses "a = 1; a &-= 1"
  parses "a = 1; a &-= 1"
  parses "case when 1\n2\nend"
  parses "case when 1\n2\nend"
  parses "def foo(@@class); end"
  parses "def foo(@@class); end"
  parses "offsetof(\n  Foo,\n  @foo\n)"
  parses "offsetof(\n  Foo,\n  @foo\n)"
  says syntax error on "Hash{\"foo\": 1}"
  says syntax error on "Hash{\"foo\": 1}"
  parses "foo[] /2"
  parses "foo[] /2"
  parses "def foo(@@lib); end"
  parses "def foo(@@lib); end"
  says syntax error on "foo[next]"
  says syntax error on "foo[next]"
  parses "foo out @x; @x"
  parses "foo out @x; @x"
  says syntax error on "foo[1] = next"
  says syntax error on "foo[1] = next"
  says syntax error on "def foo(foo extend); end"
  says syntax error on "def foo(foo extend); end"
  says syntax error on "a() = 1"
  says syntax error on "a() = 1"
  parses "until true; 1; end;"
  parses "until true; 1; end;"
  parses "foo.bar(1, 2) { 3 }"
  parses "foo.bar(1, 2) { 3 }"
  parses "@a : Foo | Int32"
  parses "@a : Foo | Int32"
  says syntax error on "1 unless return"
  says syntax error on "1 unless return"
  parses "->Foo.&**(Int32)"
  parses "->Foo.&**(Int32)"
  parses "foo(0, n + 2)"
  parses "foo(0, n + 2)"
  sets correct location of parameter in proc literal
  sets correct location of parameter in proc literal
  parses "def foo(x @@require); end"
  parses "def foo(x @@require); end"
  parses "def foo(@sizeof); end"
  parses "def foo(@sizeof); end"
  says syntax error on "def foo(lib); end"
  says syntax error on "def foo(lib); end"
  says syntax error on "case when .foo? then 1; end"
  says syntax error on "case when .foo? then 1; end"
  parses "a.b |=\n1"
  parses "a.b |=\n1"
  says syntax error on "def foo(foo with); end"
  says syntax error on "def foo(foo with); end"
  says syntax error on "foo { |a b| }"
  says syntax error on "foo { |a b| }"
  parses "n << 2"
  parses "n << 2"
  parses "foo.-(1, 2) { 3 }"
  parses "foo.-(1, 2) { 3 }"
  says syntax error on "1 unless next"
  says syntax error on "1 unless next"
  says syntax error on "A = begin; 1; rescue; B = 1; end"
  says syntax error on "A = begin; 1; rescue; B = 1; end"
  parses "a = 1; a &*= 1"
  parses "a = 1; a &*= 1"
  says syntax error on "a = break"
  says syntax error on "a = break"
  parses "sizeof : Int32"
  parses "sizeof : Int32"
  parses "foo(0, n &+ 2)"
  parses "foo(0, n &+ 2)"
  parses "x[+ 1]"
  parses "x[+ 1]"
  parses "_, *_, _, _ = 1, 2, 3"
  parses "_, *_, _, _ = 1, 2, 3"
  parses "def foo(@with); end"
  parses "def foo(@with); end"
  parses "macro !~;end"
  parses "macro !~;end"
  parses "f.x &*= 2"
  parses "f.x &*= 2"
  parses "def foo(x @@alias); end"
  parses "def foo(x @@alias); end"
  parses "a = 1; a /=\n1"
  parses "a = 1; a /=\n1"
  parses "property nil : Int32"
  parses "property nil : Int32"
  says syntax error on "foo { |if| }"
  says syntax error on "foo { |if| }"
  parses "foo.* 1, 2"
  parses "foo.* 1, 2"
  parses "a[0], a[1] = 1, 2"
  parses "a[0], a[1] = 1, 2"
  parses "property alias : Int32"
  parses "property alias : Int32"
  parses "def foo(@[Foo] var); end"
  parses "def foo(@[Foo] var); end"
  parses "/ /\n/ /"
  parses "/ /\n/ /"
  parses "macro foo;bar{% if x %}body{% elsif y %}body2{%end%}baz;end"
  parses "macro foo;bar{% if x %}body{% elsif y %}body2{%end%}baz;end"
  says syntax error on "1 if next"
  says syntax error on "1 if next"
  parses "[1,\n 2,]"
  parses "[1,\n 2,]"
  sets correct location of instance variable in proc pointer
  sets correct location of instance variable in proc pointer
  parses "def foo(x @@var); end"
  parses "def foo(x @@var); end"
  parses "def foo(@class); end"
  parses "def foo(@class); end"
  parses "a = 1; pointerof(a)"
  parses "a = 1; pointerof(a)"
  parses "@a, b = 1, 2"
  parses "@a, b = 1, 2"
  parses "def &-(); end"
  parses "def &-(); end"
  parses "def foo(x, **args)\n1\nend"
  parses "def foo(x, **args)\n1\nend"
  parses ":\"\\\"foo\\\"\""
  parses ":\"\\\"foo\\\"\""
  says syntax error on "def foo(enum); end"
  says syntax error on "def foo(enum); end"
  parses "def <=(); end;"
  parses "def <=(); end;"
  parses "lib LibC; enum Foo; A = 1; B; end end"
  parses "lib LibC; enum Foo; A = 1; B; end end"
  parses "<<-HERE\n   One \\n Two\n  Zero\n  HERE"
  parses "<<-HERE\n   One \\n Two\n  Zero\n  HERE"
  says syntax error on "def foo(sizeof); end"
  says syntax error on "def foo(sizeof); end"
  says syntax error on "foo { |(struct)| }"
  says syntax error on "foo { |(struct)| }"
  parses "1.tap do |x|; 1; rescue; x; end"
  parses "1.tap do |x|; 1; rescue; x; end"
  parses "1.as? Bar"
  parses "1.as? Bar"
  parses "foo %q"
  parses "foo %q"
  parses "1 - 2"
  parses "1 - 2"
  parses "foo.>=(1, 2) { 3 }"
  parses "foo.>=(1, 2) { 3 }"
  parses "::Foo{\"x\" => \"y\"}"
  parses "::Foo{\"x\" => \"y\"}"
  says syntax error on "return | 1"
  says syntax error on "return | 1"
  says syntax error on "foo { |(instance_sizeof)| }"
  says syntax error on "foo { |(instance_sizeof)| }"
  parses "Foo({X: X, Y: Y})"
  parses "Foo({X: X, Y: Y})"
  parses "def foo(@@return); end"
  parses "def foo(@@return); end"
  parses "{1 => 2, 3 => 4}"
  parses "{1 => 2, 3 => 4}"
  parses "if foo\n1\nend"
  parses "if foo\n1\nend"
  parses "foo(a: n ** 2)"
  parses "foo(a: n ** 2)"
  parses "def foo(@@sizeof); end"
  parses "def foo(@@sizeof); end"
  parses "foo.**(1, 2)"
  parses "foo.**(1, 2)"
  parses "def foo; x { |a, *b| b }; end"
  parses "def foo; x { |a, *b| b }; end"
  parses "def foo(@begin); end"
  parses "def foo(@begin); end"
  parses "def foo(@@with); end"
  parses "def foo(@@with); end"
  parses "foo(n =~ 2)"
  parses "foo(n =~ 2)"
  says syntax error on "foo { |(until)| }"
  says syntax error on "foo { |(until)| }"
  parses "!a && b"
  parses "!a && b"
  parses "def foo(@@nil); end"
  parses "def foo(@@nil); end"
  parses "%x(`which(foo)`)"
  parses "%x(`which(foo)`)"
  parses "a : Foo = 1"
  parses "a : Foo = 1"
  parses "def foo(@extend); end"
  parses "def foo(@extend); end"
  parses "return 1"
  parses "return 1"
  says syntax error on "asm(\"nop\" ::: \"\#{foo}\")"
  says syntax error on "asm(\"nop\" ::: \"\#{foo}\")"
  parses ":**"
  parses ":**"
  parses "foo.**"
  parses "foo.**"
  parses "def foo(a, @[Foo] var); end"
  parses "def foo(a, @[Foo] var); end"
  parses "foo.>="
  parses "foo.>="
  parses "<<-HERE\n  foo\#{1}bar\n   baz\n  HERE"
  parses "<<-HERE\n  foo\#{1}bar\n   baz\n  HERE"
  parses "macro foo(@[Foo]  var);end"
  parses "macro foo(@[Foo]  var);end"
  parses "foo = 1; ->foo.===(Int32)"
  parses "foo = 1; ->foo.===(Int32)"
  parses "puts {{\n1\n}}"
  parses "puts {{\n1\n}}"
  says syntax error on "foo { |(pointerof)| }"
  says syntax error on "foo { |(pointerof)| }"
  parses "foo(z: 0, a: n !~ 2)"
  parses "foo(z: 0, a: n !~ 2)"
  parses "a = 1; (a)/b"
  parses "a = 1; (a)/b"
  parses "macro foo(@[Foo] var);end"
  parses "macro foo(@[Foo] var);end"
  parses "def foo(x @struct); end"
  parses "def foo(x @struct); end"
  says syntax error on "def foo(foo if); end"
  says syntax error on "def foo(foo if); end"
  parses "\"hello \#{1}\" \\\r\n \"\#{2} world\""
  parses "\"hello \#{1}\" \\\r\n \"\#{2} world\""
  parses "foo.nil?(  )"
  parses "foo.nil?(  )"
  parses "break"
  parses "break"
  says syntax error on "lib LibC\n$Errno : Int32\nend"
  says syntax error on "lib LibC\n$Errno : Int32\nend"
  parses "a.b &+=\n1"
  parses "a.b &+=\n1"
  parses "foo(0, n <= 2)"
  parses "foo(0, n <= 2)"
  parses "Foo(X: U, Y: V)"
  parses "Foo(X: U, Y: V)"
  parses "abstract class Foo; end"
  parses "abstract class Foo; end"
  parses "def foo(x @require); end"
  parses "def foo(x @require); end"
  parses "def foo(x @class); end"
  parses "def foo(x @class); end"
  says syntax error on "a = 1, b = 2"
  says syntax error on "a = 1, b = 2"
  parses ":<<"
  parses ":<<"
  parses "case 1; when 2 then /foo/; end"
  parses "case 1; when 2 then /foo/; end"
  parses "[/ /, / /]"
  parses "[/ /, / /]"
  parses "1 ** 2"
  parses "1 ** 2"
  says syntax error on "break > 1"
  says syntax error on "break > 1"
  parses "def foo(x @@if); end"
  parses "def foo(x @@if); end"
  parses "n / 2"
  parses "n / 2"
  says syntax error on "next <= 1"
  says syntax error on "next <= 1"
  parses "return *{1, 2}"
  parses "return *{1, 2}"
  parses "{% begin %}%x( %s ){% end %}"
  parses "{% begin %}%x( %s ){% end %}"
  parses ":foo!"
  parses ":foo!"
  parses "next 1"
  parses "next 1"
  says syntax error on "def foo(foo in); end"
  says syntax error on "def foo(foo in); end"
  parses "def foo(enum foo); end"
  parses "def foo(enum foo); end"
  says syntax error on "next < 1"
  says syntax error on "next < 1"
  parses "def foo(\"bar qux\" y); y; end"
  parses "def foo(\"bar qux\" y); y; end"
  parses "f.x &= 2"
  parses "f.x &= 2"
  parses "def foo(pointerof foo); end"
  parses "def foo(pointerof foo); end"
  parses "def foo(x @@include); end"
  parses "def foo(x @@include); end"
  parses ":\u304B\u305F\u306A"
  parses ":\u304B\u305F\u306A"
  parses "1 == 2 == 3 == 4"
  parses "1 == 2 == 3 == 4"
  parses "def self.foo\n1\nend"
  parses "def self.foo\n1\nend"
  parses ":\"\""
  parses ":\"\""
  parses "lib LibC\nfun getchar(a : Int)\nend"
  parses "lib LibC\nfun getchar(a : Int)\nend"
  says syntax error on "return + 1"
  says syntax error on "return + 1"
  parses "<<-HERE\n  \#{1} \\n \#{2}\n  HERE"
  parses "<<-HERE\n  \#{1} \\n \#{2}\n  HERE"
  says syntax error on "case 1\nwhen Int32; 2; in 2"
  says syntax error on "case 1\nwhen Int32; 2; in 2"
  says syntax error on "return > 1"
  says syntax error on "return > 1"
  parses "lib LibC; struct Foo; x : Int**; end end"
  parses "lib LibC; struct Foo; x : Int**; end end"
  says syntax error on "<<-HERE\n One\n  \#{1}\n  HERE"
  says syntax error on "<<-HERE\n One\n  \#{1}\n  HERE"
  parses "call @foo.bar"
  parses "call @foo.bar"
  parses "1;+2"
  parses "1;+2"
  says syntax error on "\"\#{<<-HERE}\"\nHERE"
  says syntax error on "\"\#{<<-HERE}\"\nHERE"
  parses "lib LibC; fun foo : Int*; end"
  parses "lib LibC; fun foo : Int*; end"
  says syntax error on "while next; end"
  says syntax error on "while next; end"
  parses "1 .. 2"
  parses "1 .. 2"
  parses "foo +1_i64"
  parses "foo +1_i64"
  parses "lib LibC; struct Foo; x : Int*; end end"
  parses "lib LibC; struct Foo; x : Int*; end end"
  parses "{[] of Foo, self.foo}"
  parses "{[] of Foo, self.foo}"
  parses "foo rescue 2"
  parses "foo rescue 2"
  parses "->::foo?"
  parses "->::foo?"
  says syntax error on "case break; when 1; end; end"
  says syntax error on "case break; when 1; end; end"
  parses "foo { 1 }"
  parses "foo { 1 }"
  parses "a.b +=\n1"
  parses "a.b +=\n1"
  says syntax error on "def foo; require \"bar\"; end"
  says syntax error on "def foo; require \"bar\"; end"
  parses "<<-HERE\r\n   One\r\n  Zero\r\n  HERE\r\n"
  parses "<<-HERE\r\n   One\r\n  Zero\r\n  HERE\r\n"
  parses "def **(); end;"
  parses "def **(); end;"
  parses "foo.!"
  parses "foo.!"
  says syntax error on "A = begin; B = 1; end"
  says syntax error on "A = begin; B = 1; end"
  parses "n &- 2"
  parses "n &- 2"
  parses "(bar {})"
  parses "(bar {})"
  parses "macro foo(x = __LINE__);end"
  parses "macro foo(x = __LINE__);end"
  parses "foo = 1; ->foo.%(Int32)"
  parses "foo = 1; ->foo.%(Int32)"
  parses "extend : Int32"
  parses "extend : Int32"
  says syntax error on "def foo(struct); end"
  says syntax error on "def foo(struct); end"
  parses "{/ / => / /, / / => / /}"
  parses "{/ / => / /, / / => / /}"
  parses "foo unless 3"
  parses "foo unless 3"
  says syntax error on "{foo: 1\nbar: 2}"
  says syntax error on "{foo: 1\nbar: 2}"
  parses "foo.=~ do end"
  parses "foo.=~ do end"
  says syntax error on "foo &.&&()"
  says syntax error on "foo &.&&()"
  says syntax error on "def foo():String\nend"
  says syntax error on "def foo():String\nend"
  parses "foo(/ /)"
  parses "foo(/ /)"
  parses "struct Foo; end"
  parses "struct Foo; end"
  parses "next {1 => 2}"
  parses "next {1 => 2}"
  says syntax error on "return .. 1"
  says syntax error on "return .. 1"
  says syntax error on "def foo(foo class); end"
  says syntax error on "def foo(foo class); end"
  parses "class Foo(Type); end"
  parses "class Foo(Type); end"
  parses "macro foo\n\"\\'\"\nend"
  parses "macro foo\n\"\\'\"\nend"
  parses "def foo; with a yield 1; end"
  parses "def foo; with a yield 1; end"
  parses "-1_i64"
  parses "-1_i64"
  parses "def ===(*args, **opts); end"
  parses "def ===(*args, **opts); end"
  parses "/ hi /"
  parses "/ hi /"
  parses "@@foo/2"
  parses "@@foo/2"
  parses "def foo(until foo); end"
  parses "def foo(until foo); end"
  parses "yield foo do\nend"
  parses "yield foo do\nend"
  parses "def !=(*args, **opts); end"
  parses "def !=(*args, **opts); end"
  says syntax error on "foo { |(enum)| }"
  says syntax error on "foo { |(enum)| }"
  parses "class Foo\nend"
  parses "class Foo\nend"
  parses "n + 2"
  parses "n + 2"
  parses "Int[]"
  parses "Int[]"
  parses "1 >> 2"
  parses "1 >> 2"
  parses "f.x Foo.new"
  parses "f.x Foo.new"
  parses "foo = 1; ->foo.foo!"
  parses "foo = 1; ->foo.foo!"
  parses "def >(); end"
  parses "def >(); end"
  parses "foo.> do end"
  parses "foo.> do end"
  parses "def foo(x)\n x\nend; foo = 1; b = 2; foo +b"
  parses "def foo(x)\n x\nend; foo = 1; b = 2; foo +b"
  says syntax error on "case {1, 2}; when {3}; 4; end"
  says syntax error on "case {1, 2}; when {3}; 4; end"
  parses "n == 2"
  parses "n == 2"
  parses "a[], a[] = 1, 2"
  parses "a[], a[] = 1, 2"
  parses "\"foo\#{\"bar\"}baz\""
  parses "\"foo\#{\"bar\"}baz\""
  parses "private def foo; end"
  parses "private def foo; end"
  parses "foo(//)"
  parses "foo(//)"
  parses "foo = 1; ->foo.**(Int32)"
  parses "foo = 1; ->foo.**(Int32)"
  says syntax error on "case 1\nin .nil?; 2"
  says syntax error on "case 1\nin .nil?; 2"
  says syntax error on "b, 1 == 2, a = 4"
  says syntax error on "b, 1 == 2, a = 4"
  parses "return if true"
  parses "return if true"
  parses "@a = uninitialized Foo"
  parses "@a = uninitialized Foo"
  parses "property pointerof : Int32"
  parses "property pointerof : Int32"
  says syntax error on "Hash{\"foo\": 1, \"bar\": 2}"
  says syntax error on "Hash{\"foo\": 1, \"bar\": 2}"
  parses "foo[1] /2"
  parses "foo[1] /2"
  parses "case 1\nwhen 1\n2\nelse\n3\nend"
  parses "case 1\nwhen 1\n2\nelse\n3\nend"
  parses "def foo(with foo); end"
  parses "def foo(with foo); end"
  parses "x([] of Foo, Bar.new)"
  parses "x([] of Foo, Bar.new)"
  parses "foo %w"
  parses "foo %w"
  parses "foo x, y do\nend"
  parses "foo x, y do\nend"
  parses "a; if / /\n/ /\nelsif / /\n/ /\nend"
  parses "a; if / /\n/ /\nelsif / /\n/ /\nend"
  parses "foo = 1; foo +1"
  parses "foo = 1; foo +1"
  parses "foo(a: 1\n)"
  parses "foo(a: 1\n)"
  parses "def foo(@[Foo]  var); end"
  parses "def foo(@[Foo]  var); end"
  parses "macro foo;if var;true;end;end"
  parses "macro foo;if var;true;end;end"
  says syntax error on "def foo(foo module); end"
  says syntax error on "def foo(foo module); end"
  says syntax error on "break // 1"
  says syntax error on "break // 1"
  parses "def foo(false foo); end"
  parses "def foo(false foo); end"
  parses "lib LibC\nfun getchar : Int\nend"
  parses "lib LibC\nfun getchar : Int\nend"
  parses "2 * (3 + 4)"
  parses "2 * (3 + 4)"
  parses "foo(z: 0, a: n & 2)"
  parses "foo(z: 0, a: n & 2)"
  says syntax error on "unless 1 == 1 a; end"
  says syntax error on "unless 1 == 1 a; end"
  parses "def foo(asm foo); end"
  parses "def foo(asm foo); end"
  says syntax error on "foo { |include| }"
  says syntax error on "foo { |include| }"
  parses "def foo(*y : *T); 1; end"
  parses "def foo(*y : *T); 1; end"
  parses "1 | 2"
  parses "1 | 2"
  parses "foo = 1; ->foo.<(Int32)"
  parses "foo = 1; ->foo.<(Int32)"
  parses "<<-FOO\n\t1\n\tFOO"
  parses "<<-FOO\n\t1\n\tFOO"
  parses "property enum : Int32"
  parses "property enum : Int32"
  says syntax error on "def foo(*a foo); end"
  says syntax error on "def foo(*a foo); end"
  parses "foo(z: 0, a: n &+ 2)"
  parses "foo(z: 0, a: n &+ 2)"
  parses "foo = 1; ->foo.[](Int32)"
  parses "foo = 1; ->foo.[](Int32)"
  parses "def ^; end;"
  parses "def ^; end;"
  parses ":<="
  parses ":<="
  parses "2 / 3 + 4 / 5"
  parses "2 / 3 + 4 / 5"
  parses "1.~"
  parses "1.~"
  parses "macro /;end"
  parses "macro /;end"
  says syntax error on "def foo(\"bar\");end"
  says syntax error on "def foo(\"bar\");end"
  says syntax error on "a, B = 1, 2"
  says syntax error on "a, B = 1, 2"
  parses "def foo ; 1 ; end"
  parses "def foo ; 1 ; end"
  parses "def self.|(); end;"
  parses "def self.|(); end;"
  says syntax error on "break / 1"
  says syntax error on "break / 1"
  parses "b.c ||= 1"
  parses "b.c ||= 1"
  parses "asm(\"nop\" ::: :)"
  parses "asm(\"nop\" ::: :)"
  parses "T::U/1"
  parses "T::U/1"
  says syntax error on "foo { |sizeof| }"
  says syntax error on "foo { |sizeof| }"
  parses "Foo(\nT\n)"
  parses "Foo(\nT\n)"
  says syntax error on "case return; when 1; end; end"
  says syntax error on "case return; when 1; end; end"
  parses "def foo(x, *y : Int32); 1; end"
  parses "def foo(x, *y : Int32); 1; end"
  says syntax error on "foo { |return| }"
  says syntax error on "foo { |return| }"
  parses "{% begin %}%{ %s }{% end %}"
  parses "{% begin %}%{ %s }{% end %}"
  parses "def =~(); end;"
  parses "def =~(); end;"
  says syntax error on "foo(1 2)"
  says syntax error on "foo(1 2)"
  parses "self / number"
  parses "self / number"
  parses "foo ..2"
  parses "foo ..2"
  parses "begin : Int32"
  parses "begin : Int32"
  parses "foo(x, *bar, *baz, y)"
  parses "foo(x, *bar, *baz, y)"
  parses "case 1\nwhen .foo\n2\nend"
  parses "case 1\nwhen .foo\n2\nend"
  parses "lib LibC\nfun getch = \"get.char\" : Int32\nend"
  parses "lib LibC\nfun getch = \"get.char\" : Int32\nend"
  parses "macro foo(**args)\n1\nend"
  parses "macro foo(**args)\n1\nend"
  says syntax error on "def foo\nlib\nend"
  says syntax error on "def foo\nlib\nend"
  says syntax error on "macro foo x\n 1 + 2; end"
  says syntax error on "macro foo x\n 1 + 2; end"
  parses "foo x, *bar"
  parses "foo x, *bar"
  says syntax error on "return.foo"
  says syntax error on "return.foo"
  parses "lib LibC\nfun getch = GetChar\nend"
  parses "lib LibC\nfun getch = GetChar\nend"
  says syntax error on "a {}, b = 1"
  says syntax error on "a {}, b = 1"
  parses "{% for _, x, _ in y %}body{% end %}"
  parses "{% for _, x, _ in y %}body{% end %}"
  parses "a : Foo[12]"
  parses "a : Foo[12]"
  parses "def foo; with a yield; end"
  parses "def foo; with a yield; end"
  parses "false"
  parses "false"
  says syntax error on "$foo"
  says syntax error on "$foo"
  parses "Foo(\n)"
  parses "Foo(\n)"
  says syntax error on "return.as(Int32)"
  says syntax error on "return.as(Int32)"
  parses "[] of ->;"
  parses "[] of ->;"
  parses "foo%Q"
  parses "foo%Q"
  parses "foo 1, **bar, &block"
  parses "foo 1, **bar, &block"
  parses "foo = 1; ->foo.^(Int32)"
  parses "foo = 1; ->foo.^(Int32)"
  parses "lib LibC\nfun getch = \"get.char\"\nend"
  parses "lib LibC\nfun getch = \"get.char\"\nend"
  parses "foo \"foo bar\": 1, \"baz\": 2"
  parses "foo \"foo bar\": 1, \"baz\": 2"
  parses "a.b *=\n1"
  parses "a.b *=\n1"
  parses "a == / /"
  parses "a == / /"
  parses "1_i64"
  parses "1_i64"
  says syntax error on "foo { |typeof| }"
  says syntax error on "foo { |typeof| }"
  parses "macro []=;end"
  parses "macro []=;end"
  parses "foo Bar { 1 }"
  parses "foo Bar { 1 }"
  parses "lib LibFoo\nend\nif true\nend"
  parses "lib LibFoo\nend\nif true\nend"
  parses "def foo(@@unless); end"
  parses "def foo(@@unless); end"
  says syntax error on "while break; end"
  says syntax error on "while break; end"
  says syntax error on "{\"foo\" => 1, \"bar\": 2}"
  says syntax error on "{\"foo\" => 1, \"bar\": 2}"
  parses "enum Foo::Bar; A = 1; end"
  parses "enum Foo::Bar; A = 1; end"
  parses "macro foo;bar{% if x %}body{% elsif y %}body2{% else %}body3{%end%}baz;end"
  parses "macro foo;bar{% if x %}body{% elsif y %}body2{% else %}body3{%end%}baz;end"
  parses "macro [];end"
  parses "macro [];end"
  parses "foo.!= do end"
  parses "foo.!= do end"
  parses "a = 1; yield a rescue a"
  parses "a = 1; yield a rescue a"
  parses "enum Foo; A\nB; C\nD = 1; end"
  parses "enum Foo; A\nB; C\nD = 1; end"
  parses "case;when true;1;end"
  parses "case;when true;1;end"
  parses "{% if 1\n  x\nend %}"
  parses "{% if 1\n  x\nend %}"
  says syntax error on "a.b {}, c = 1"
  says syntax error on "a.b {}, c = 1"
  says syntax error on "def self.as; end"
  says syntax error on "def self.as; end"
  parses "def foo; end"
  parses "def foo; end"
  parses "foo.!(  )"
  parses "foo.!(  )"
  parses "\"\""
  parses "\"\""
  parses "%r(\\ )"
  parses "%r(\\ )"
  parses "Int[8]"
  parses "Int[8]"
  parses "foo.&(1, 2)"
  parses "foo.&(1, 2)"
  parses "def foo(@@end); end"
  parses "def foo(@@end); end"
  parses "::foo"
  parses "::foo"
  parses "def foo(x @offsetof); end"
  parses "def foo(x @offsetof); end"
  parses "def foo(@asm); end"
  parses "def foo(@asm); end"
  parses "{{a = 1 if 2}}"
  parses "{{a = 1 if 2}}"
  parses "foo.*(1, 2) { 3 }"
  parses "foo.*(1, 2) { 3 }"
  parses "macro ===;end"
  parses "macro ===;end"
  parses "foo.[]="
  parses "foo.[]="
  parses "def &**(); end"
  parses "def &**(); end"
  parses "def foo(var : Int32 = 1); end"
  parses "def foo(var : Int32 = 1); end"
  parses "a = 1; yield a ensure a"
  parses "a = 1; yield a ensure a"
  parses "x[a: 1, b: 2]"
  parses "x[a: 1, b: 2]"
  says syntax error on "foo { |(offsetof)| }"
  says syntax error on "foo { |(offsetof)| }"
  parses "foo.[]= do end"
  parses "foo.[]= do end"
  parses "a.b >>=\n1"
  parses "a.b >>=\n1"
  parses "x = 1; foo.bar x do\nend"
  parses "x = 1; foo.bar x do\nend"
  says syntax error on "foo(**bar, *x)"
  says syntax error on "foo(**bar, *x)"
  parses "instance_sizeof(X)"
  parses "instance_sizeof(X)"
  says syntax error on "fun Foo : Int64\nend"
  says syntax error on "fun Foo : Int64\nend"
  parses "def self.<(); end;"
  parses "def self.<(); end;"
  parses "\"foo\#{bar}baz\""
  parses "\"foo\#{bar}baz\""
  parses "x : Foo(A, *B, C)"
  parses "x : Foo(A, *B, C)"
  parses "->Foo.|(Int32)"
  parses "->Foo.|(Int32)"
  parses "{% begin %}%w{ %s }{% end %}"
  parses "{% begin %}%w{ %s }{% end %}"
  parses "property typeof : Int32"
  parses "property typeof : Int32"
  parses "break *1, 2"
  parses "break *1, 2"
  parses "/ /; / /"
  parses "/ /; / /"
  parses "case {1}\nin {false}; 2; end"
  parses "case {1}\nin {false}; 2; end"
  says syntax error on "A = (B = 1)"
  says syntax error on "A = (B = 1)"
  parses "foo(n / 2)"
  parses "foo(n / 2)"
  parses "\u3042.\u3044, \u3046.\u3048.\u304A = 1, 2"
  parses "\u3042.\u3044, \u3046.\u3048.\u304A = 1, 2"
  parses "<<-EOF.x\n  foo\nEOF"
  parses "<<-EOF.x\n  foo\nEOF"
  parses "case {1}\nin {Int32}; 2; end"
  parses "case {1}\nin {Int32}; 2; end"
  parses "->@@foo.foo="
  parses "->@@foo.foo="
  parses "case 1\nwhen 1\n2\nend"
  parses "case 1\nwhen 1\n2\nend"
  parses "Foo({*X, *{Y}})"
  parses "Foo({*X, *{Y}})"
  parses "def foo(**args : Foo)\n1\nend"
  parses "def foo(**args : Foo)\n1\nend"
  parses "def foo(@var); 1; end"
  parses "def foo(@var); 1; end"
  parses "a = / /"
  parses "a = / /"
  parses "+1_i64"
  parses "+1_i64"
  parses "def foo(instance_sizeof foo); end"
  parses "def foo(instance_sizeof foo); end"
  parses "foo.!.!"
  parses "foo.!.!"
  parses ":\"\\u{61}\""
  parses ":\"\\u{61}\""
  parses "foo.<"
  parses "foo.<"
  says syntax error on "fun foo\nclass"
  says syntax error on "fun foo\nclass"
  parses "@@a : Foo"
  parses "@@a : Foo"
  says syntax error on "nil foo"
  says syntax error on "nil foo"
  parses "__FILE__"
  parses "__FILE__"
  parses "case\n1\nwhen 1\n2\nend\nif a\nend"
  parses "case\n1\nwhen 1\n2\nend\nif a\nend"
  parses "foo(0, n &* 2)"
  parses "foo(0, n &* 2)"
  parses "asm(\"nop\" : \"a\"(0))"
  parses "asm(\"nop\" : \"a\"(0))"
  parses "def self.[]?; end"
  parses "def self.[]?; end"
  parses "1 >= 2"
  parses "1 >= 2"
  parses "2.3_f32"
  parses "2.3_f32"
  says syntax error on "a {} += 1"
  says syntax error on "a {} += 1"
  parses "foo % q()"
  parses "foo % q()"
  parses "{% begin %}%< %s >{% end %}"
  parses "{% begin %}%< %s >{% end %}"
  parses "foo(**bar)"
  parses "foo(**bar)"
  parses "foo.bar = (1).abs"
  parses "foo.bar = (1).abs"
  parses "Foo({X, Y,})"
  parses "Foo({X, Y,})"
  parses "1_u128"
  parses "1_u128"
  parses "def foo(@typeof); end"
  parses "def foo(@typeof); end"
  says syntax error on "foo { |(select)| }"
  says syntax error on "foo { |(select)| }"
  parses "{% begin %}%x| %s |{% end %}"
  parses "{% begin %}%x| %s |{% end %}"
  says syntax error on "return ? 1 : 2"
  says syntax error on "return ? 1 : 2"
  parses "def foo(x @@def); end"
  parses "def foo(x @@def); end"
  parses "a = 1; a &*=\n1"
  parses "a = 1; a &*=\n1"
  says syntax error on "def foo(end); end"
  says syntax error on "def foo(end); end"
  says syntax error on "foo(\"bar\" \"baz\")"
  says syntax error on "foo(\"bar\" \"baz\")"
  parses "x, y = <<-FOO, <<-BAR\nhello\nFOO\nworld\nBAR"
  parses "x, y = <<-FOO, <<-BAR\nhello\nFOO\nworld\nBAR"
  parses "def %(); end"
  parses "def %(); end"
  parses "{% begin %}%x{ %s }{% end %}"
  parses "{% begin %}%x{ %s }{% end %}"
  parses "@foo"
  parses "@foo"
  sets correct location of protected macro in enum
  sets correct location of protected macro in enum
  parses "foo %Q()"
  parses "foo %Q()"
  says syntax error on "{\"\": 1}"
  says syntax error on "{\"\": 1}"
  parses "1\\\r\n + 2"
  parses "1\\\r\n + 2"
  parses "macro foo; 1 + 2 {{foo}} 3 + 4; end"
  parses "macro foo; 1 + 2 {{foo}} 3 + 4; end"
  parses "def foo(x @@pointerof); end"
  parses "def foo(x @@pointerof); end"
  parses "case 1\nwhen 1\n2\nend\nif a\nend"
  parses "case 1\nwhen 1\n2\nend\nif a\nend"
  parses "def ==(other, file = 1); end"
  parses "def ==(other, file = 1); end"
  says syntax error on "1 ... return"
  says syntax error on "1 ... return"
  says syntax error on "\"hello\" foo"
  says syntax error on "\"hello\" foo"
  parses "def foo(out foo); end"
  parses "def foo(out foo); end"
  says syntax error on "def foo(foo while); end"
  says syntax error on "def foo(foo while); end"
  parses "def foo(@next); end"
  parses "def foo(@next); end"
  parses "include Foo"
  parses "include Foo"
  says syntax error on "def foo(foo case); end"
  says syntax error on "def foo(foo case); end"
  parses "_ = 1"
  parses "_ = 1"
  parses "1 + 2"
  parses "1 + 2"
  parses "<<-HERE\n   One\n\n  Zero\n  HERE"
  parses "<<-HERE\n   One\n\n  Zero\n  HERE"
  parses "->(x : Int32) { }"
  parses "->(x : Int32) { }"
  says syntax error on "macro Foo.bar;end"
  says syntax error on "macro Foo.bar;end"
  parses "foo &.block"
  parses "foo &.block"
  parses "a.b &=\n1"
  parses "a.b &=\n1"
  parses "class Foo < self; end"
  parses "class Foo < self; end"
  says syntax error on "def foo\ndef\nend"
  says syntax error on "def foo\ndef\nend"
  parses "def |(); end"
  parses "def |(); end"
  parses "begin; 1; 2; 3; end;"
  parses "begin; 1; 2; 3; end;"
  parses "@@a = uninitialized Foo"
  parses "@@a = uninitialized Foo"
  parses "a.b %=\n1"
  parses "a.b %=\n1"
  parses "Int[8]?"
  parses "Int[8]?"
  parses "->Foo.=~(Int32)"
  parses "->Foo.=~(Int32)"
  parses "1.[]?(2)"
  parses "1.[]?(2)"
  parses "def foo(x @@typeof); end"
  parses "def foo(x @@typeof); end"
  parses "a = 1; a &= 1"
  parses "a = 1; a &= 1"
  parses "%q{hello \\n world}"
  parses "%q{hello \\n world}"
  says syntax error on "while return; end"
  says syntax error on "while return; end"
  parses "def foo(var : Int -> Double); end"
  parses "def foo(var : Int -> Double); end"
  parses "1"
  parses "1"
  says syntax error on "def foo(out); end"
  says syntax error on "def foo(out); end"
  parses "{A: 1, B: 2}"
  parses "{A: 1, B: 2}"
  says syntax error on " {1, 2, 3 end"
  says syntax error on " {1, 2, 3 end"
  parses "->Foo.<=(Int32)"
  parses "->Foo.<=(Int32)"
  parses "{a: 1, b: 2}"
  parses "{a: 1, b: 2}"
  parses "return 1, *2"
  parses "return 1, *2"
  parses "def /(); end;"
  parses "def /(); end;"
  parses "def self.*(); end;"
  parses "def self.*(); end;"
  parses "abstract def foo\n1"
  parses "abstract def foo\n1"
  parses "asm(\"bl trap\" :::: \"unwind\")"
  parses "asm(\"bl trap\" :::: \"unwind\")"
  parses "Foo({X, Y})"
  parses "Foo({X, Y})"
  parses "foo = 1; ->foo.foo?"
  parses "foo = 1; ->foo.foo?"
  parses "{1.. => 2};"
  parses "{1.. => 2};"
  says syntax error on "{a[0]: 1}"
  says syntax error on "{a[0]: 1}"
  parses "macro []?;end"
  parses "macro []?;end"
  parses "foo(a: n =~ 2)"
  parses "foo(a: n =~ 2)"
  parses "1 << 2"
  parses "1 << 2"
  parses "+1.0_f32"
  parses "+1.0_f32"
  parses "class Foo(T); end"
  parses "class Foo(T); end"
  parses "is_a?(Const)"
  parses "is_a?(Const)"
  parses "{%\nif 1; 2; end\n%}"
  parses "{%\nif 1; 2; end\n%}"
  parses "1 // 2"
  parses "1 // 2"
  says syntax error on "{1 2}"
  says syntax error on "{1 2}"
  parses "macro foo\n  <<-FOO, <<-BAR + \"\"\n  FOO\n  BAR\nend"
  parses "macro foo\n  <<-FOO, <<-BAR + \"\"\n  FOO\n  BAR\nend"
  parses "offsetof : Int32"
  parses "offsetof : Int32"
  parses "foo = 1; ->foo.<=(Int32)"
  parses "foo = 1; ->foo.<=(Int32)"
  parses "n <= 2"
  parses "n <= 2"
  parses "macro //;end"
  parses "macro //;end"
  parses "foo(&.as?(T).bar)"
  parses "foo(&.as?(T).bar)"
  says syntax error on "def as?; end"
  says syntax error on "def as?; end"
  says syntax error on "macro foo(x : Int32); end"
  says syntax error on "macro foo(x : Int32); end"
  parses "def foo(x = __FILE__); end"
  parses "def foo(x = __FILE__); end"
  says syntax error on "next &* 1"
  says syntax error on "next &* 1"
  parses "foo.%(1, 2)"
  parses "foo.%(1, 2)"
  parses "macro foo;%var;end"
  parses "macro foo;%var;end"
  parses "a.b / 2"
  parses "a.b / 2"
  says syntax error on "asm(\"\" : 1)"
  says syntax error on "asm(\"\" : 1)"
  parses "foo = 1; ->foo.=~(Int32)"
  parses "foo = 1; ->foo.=~(Int32)"
  parses "foo(0, n < 2)"
  parses "foo(0, n < 2)"
  parses "1.is_a?(\n  Int32\n)"
  parses "1.is_a?(\n  Int32\n)"
  parses "1 * -2"
  parses "1 * -2"
  parses "def foo(x @@unless); end"
  parses "def foo(x @@unless); end"
  says syntax error on "def foo(abstract); end"
  says syntax error on "def foo(abstract); end"
  parses "foo out _"
  parses "foo out _"
  parses "%r(/)"
  parses "%r(/)"
  parses "return;"
  parses "return;"
  says syntax error on "def foo=(a,b); end"
  says syntax error on "def foo=(a,b); end"
  parses "foo(a: n ^ 2)"
  parses "foo(a: n ^ 2)"
  says syntax error on "{\"x\": [] of Int32,\n}\n1.foo("
  says syntax error on "{\"x\": [] of Int32,\n}\n1.foo("
  parses "while true; end;"
  parses "while true; end;"
  parses "def foo(@if); end"
  parses "def foo(@if); end"
  parses "%Q{hello \\n world}"
  parses "%Q{hello \\n world}"
  says syntax error on "if break; end"
  says syntax error on "if break; end"
  parses "property class : Int32"
  parses "property class : Int32"
  says syntax error on "def foo(nil); end"
  says syntax error on "def foo(nil); end"
  parses "def foo(@@pointerof); end"
  parses "def foo(@@pointerof); end"
  says syntax error on "break % 1"
  says syntax error on "break % 1"
  parses "a ?\n              b ? b1 : b2\n              : c ? 3\n              : 0"
  parses "a ?\n              b ? b1 : b2\n              : c ? 3\n              : 0"
  parses "a = 1; a >>= 1"
  parses "a = 1; a >>= 1"
  parses "->Foo.+(Int32)"
  parses "->Foo.+(Int32)"
  parses "def foo\n1\nend"
  parses "def foo\n1\nend"
  parses "macro <=>;end"
  parses "macro <=>;end"
  says syntax error on "1 ... next"
  says syntax error on "1 ... next"
  parses "/foo/x"
  parses "/foo/x"
  parses "lib Foo::Bar\nend"
  parses "lib Foo::Bar\nend"
  parses "n | 2"
  parses "n | 2"
  parses "foo 1, 2"
  parses "foo 1, 2"
  parses "enum Foo; A = 1\ndef self.foo; 1; end\nend"
  parses "enum Foo; A = 1\ndef self.foo; 1; end\nend"
  parses "asm(\"nop\" :::: \"volatile\")"
  parses "asm(\"nop\" :::: \"volatile\")"
  parses "->foo="
  parses "->foo="
  parses "def foo(x = __DIR__); end"
  parses "def foo(x = __DIR__); end"
  parses "def self.!=(); end;"
  parses "def self.!=(); end;"
  parses "def foo(&block :\n Int ->); end"
  parses "def foo(&block :\n Int ->); end"
  parses "->Foo.&+(Int32)"
  parses "->Foo.&+(Int32)"
  parses "foo = 1; ->foo.+(Int32)"
  parses "foo = 1; ->foo.+(Int32)"
  parses "var.@foo.@bar"
  parses "var.@foo.@bar"
  says syntax error on "def foo(protected); end"
  says syntax error on "def foo(protected); end"
  parses "->@foo.foo="
  parses "->@foo.foo="
  parses "def ===; end;"
  parses "def ===; end;"
  parses "lib LibC\nfun getch = \"get.char\"(x : Int32)\nend"
  parses "lib LibC\nfun getch = \"get.char\"(x : Int32)\nend"
  parses "{{ foo }}"
  parses "{{ foo }}"
  says syntax error on "return >= 1"
  says syntax error on "return >= 1"
  parses "foo.bar [1]"
  parses "foo.bar [1]"
  parses "@@a, b = 1, 2"
  parses "@@a, b = 1, 2"
  parses "1_i128"
  parses "1_i128"
  parses "Set {1, 2, 3}"
  parses "Set {1, 2, 3}"
  parses "a = uninitialized Foo; a"
  parses "a = uninitialized Foo; a"
  says syntax error on "A = begin; 1; ensure; B = 1; end"
  says syntax error on "A = begin; 1; ensure; B = 1; end"
  parses "next {1, 2}"
  parses "next {1, 2}"
  parses "foo(a: n - 2)"
  parses "foo(a: n - 2)"
  parses "Foo::Bar?"
  parses "Foo::Bar?"
  says syntax error on "1 == 2, a = 4"
  says syntax error on "1 == 2, a = 4"
  says syntax error on "1 then"
  says syntax error on "1 then"
  parses "{foo:'a', bar:'b'}"
  parses "{foo:'a', bar:'b'}"
  says syntax error on "return &- 1"
  says syntax error on "return &- 1"
  parses "lib LibC; type A = B**; end"
  parses "lib LibC; type A = B**; end"
  parses "yield"
  parses "yield"
  parses "foo.===(1, 2) { 3 }"
  parses "foo.===(1, 2) { 3 }"
  parses "def foo(x @@nil); end"
  parses "def foo(x @@nil); end"
  parses "foo\n   .bar"
  parses "foo\n   .bar"
  parses "def self.!=; end;"
  parses "def self.!=; end;"
  parses "->(x : Int32) { x }"
  parses "->(x : Int32) { x }"
  says syntax error on "break + 1"
  says syntax error on "break + 1"
  parses "macro ^;end"
  parses "macro ^;end"
  parses "foo(n // 2)"
  parses "foo(n // 2)"
  parses "def foo;bar(end: 1);end"
  parses "def foo;bar(end: 1);end"
  parses "def foo(a, b = a); end"
  parses "def foo(a, b = a); end"
  parses "{% begin %}%q( %s ){% end %}"
  parses "{% begin %}%q( %s ){% end %}"
  says syntax error on "break & 1"
  says syntax error on "break & 1"
  says syntax error on "foo[break]"
  says syntax error on "foo[break]"
  says syntax error on "1 if break"
  says syntax error on "1 if break"
  parses "*a = 1, 2"
  parses "*a = 1, 2"
  says syntax error on "return ... 1"
  says syntax error on "return ... 1"
  says syntax error on "foo { |(nil)| }"
  says syntax error on "foo { |(nil)| }"
  parses "abstract def foo(x)"
  parses "abstract def foo(x)"
  parses "1 -2"
  parses "1 -2"
  says syntax error on "1 as Bar"
  says syntax error on "1 as Bar"
  parses "{%\n1\n2\n3\n%}"
  parses "{%\n1\n2\n3\n%}"
  says syntax error on "foo { |(while)| }"
  says syntax error on "foo { |(while)| }"
  parses "->Foo::Bar::Baz.foo"
  parses "->Foo::Bar::Baz.foo"
  parses "{foo:\"a\", bar:\"b\"}"
  parses "{foo:\"a\", bar:\"b\"}"
  parses "foo *{1}"
  parses "foo *{1}"
  parses "unless : Int32"
  parses "unless : Int32"
  parses "def &+(); end"
  parses "def &+(); end"
  parses "def foo(x = / /); end"
  parses "def foo(x = / /); end"
  says syntax error on "foo { |(asm)| }"
  says syntax error on "foo { |(asm)| }"
  parses "foo(n % 2)"
  parses "foo(n % 2)"
  parses "begin; 1; rescue; 2; end"
  parses "begin; 1; rescue; 2; end"
  parses "a\nwhile / /; / /; end"
  parses "a\nwhile / /; / /; end"
  parses "alignof(\n  Int32\n)"
  parses "alignof(\n  Int32\n)"
  parses "def foo(x @instance_sizeof); end"
  parses "def foo(x @instance_sizeof); end"
  says syntax error on "foo { |(self)| }"
  says syntax error on "foo { |(self)| }"
  parses "{[] of Foo, Bar::Baz.new}"
  parses "{[] of Foo, Bar::Baz.new}"
  sets correct location of global path in class def
  sets correct location of global path in class def
  parses "break *{1, 2}"
  parses "break *{1, 2}"
  parses "def foo(x @true); end"
  parses "def foo(x @true); end"
  parses "foo(1, a: 1, b: 2)"
  parses "foo(1, a: 1, b: 2)"
  says syntax error on "macro responds_to?; end"
  says syntax error on "macro responds_to?; end"
  parses "foo do\n//\nend"
  parses "foo do\n//\nend"
  parses "{% begin %}%| %s |{% end %}"
  parses "{% begin %}%| %s |{% end %}"
  parses "def >=(*args, **opts, &); end"
  parses "def >=(*args, **opts, &); end"
  parses "{% begin %}%w| %s |{% end %}"
  parses "{% begin %}%w| %s |{% end %}"
  parses "1\n+2"
  parses "1\n+2"
  parses "foo.% 1, 2"
  parses "foo.% 1, 2"
  parses "macro foo;bar{% begin %}body{% end %}baz;end"
  parses "macro foo;bar{% begin %}body{% end %}baz;end"
  parses "{% begin %}%r(\\A){% end %}"
  parses "{% begin %}%r(\\A){% end %}"
  parses "include Foo\nif true; end"
  parses "include Foo\nif true; end"
  says syntax error on "def foo(if); end"
  says syntax error on "def foo(if); end"
  parses "foo(a: n % 2)"
  parses "foo(a: n % 2)"
  parses "if foo.responds_to? :foo\nx = 1\nend"
  parses "if foo.responds_to? :foo\nx = 1\nend"
  says syntax error on "{1, ->{ |_| x } }"
  says syntax error on "{1, ->{ |_| x } }"
  says syntax error on "(1, 2 3)"
  says syntax error on "(1, 2 3)"
  says syntax error on "break - 1"
  says syntax error on "break - 1"
  parses "def `(cmd); 1; end"
  parses "def `(cmd); 1; end"
  says syntax error on "foo { |(next)| }"
  says syntax error on "foo { |(next)| }"
  parses "def foo(@@macro); end"
  parses "def foo(@@macro); end"
  sets correct location of splat in multiple assignment
  sets correct location of splat in multiple assignment
  parses "def foo; end; if false; 1; else; 2; end"
  parses "def foo; end; if false; 1; else; 2; end"
  parses "macro foo;if %var;true;end;end"
  parses "macro foo;if %var;true;end;end"
  parses "->Foo./(Int32)"
  parses "->Foo./(Int32)"
  parses "def foo(a, &block : self -> self); end"
  parses "def foo(a, &block : self -> self); end"
  parses "def foo(@yield); end"
  parses "def foo(@yield); end"
  parses "a = /=/"
  parses "a = /=/"
  parses "macro foo(@[Foo] **args);end"
  parses "macro foo(@[Foo] **args);end"
  parses "foo(1)"
  parses "foo(1)"
  parses "->Foo.&-(Int32)"
  parses "->Foo.&-(Int32)"
  parses "def foo(x, *args, y = 2); 1; end"
  parses "def foo(x, *args, y = 2); 1; end"
  says syntax error on "break >> 1"
  says syntax error on "break >> 1"
  parses "a, b, *c = 1, 2"
  parses "a, b, *c = 1, 2"
  says syntax error on "def foo(def); end"
  says syntax error on "def foo(def); end"
  parses "def **(); end"
  parses "def **(); end"
  says syntax error on "1 .. return"
  says syntax error on "1 .. return"
  says syntax error on "next ? 1 : 2"
  says syntax error on "next ? 1 : 2"
  parses "1 ? 2 : 3"
  parses "1 ? 2 : 3"
  parses "foo(z: 0, a: n =~ 2)"
  parses "foo(z: 0, a: n =~ 2)"
  says syntax error on "1 ... break"
  says syntax error on "1 ... break"
  parses "1.as(Bar)"
  parses "1.as(Bar)"
  parses "macro foo;bar{% for x in y %}\\  \n   body{% end %}\\   baz;end"
  parses "macro foo;bar{% for x in y %}\\  \n   body{% end %}\\   baz;end"
  parses ":[]="
  parses ":[]="
  says syntax error on "macro foo(\"\" y); end"
  says syntax error on "macro foo(\"\" y); end"
  parses "macro foo\n  <<-FOO\n    %foo\n  FOO\nend"
  parses "macro foo\n  <<-FOO\n    %foo\n  FOO\nend"
  says syntax error on "foo &.||()"
  says syntax error on "foo &.||()"
  says syntax error on "def foo(case); end"
  says syntax error on "def foo(case); end"
  parses "/ /"
  parses "/ /"
  parses "{\"\".id}"
  parses "{\"\".id}"
  parses "offsetof(X, 1)"
  parses "offsetof(X, 1)"
  parses ":/"
  parses ":/"
  parses "def foo(x @lib); end"
  parses "def foo(x @lib); end"
  says syntax error on "next << 1"
  says syntax error on "next << 1"
  parses "foo(z: 0, a: n + 2)"
  parses "foo(z: 0, a: n + 2)"
  parses "foo(*bar)"
  parses "foo(*bar)"
  parses "elsif : Int32"
  parses "elsif : Int32"
  says syntax error on "def foo(until); end"
  says syntax error on "def foo(until); end"
  parses "class Foo; end\nwhile true; end"
  parses "class Foo; end\nwhile true; end"
  parses "n &* 2"
  parses "n &* 2"
  parses "def foo(x, *y); 1; end"
  parses "def foo(x, *y); 1; end"
  parses "def foo(@break); end"
  parses "def foo(@break); end"
  parses "def foo(x, *args, y = 2, w, z = 3); 1; end"
  parses "def foo(x, *args, y = 2, w, z = 3); 1; end"
  parses "foo.| do end"
  parses "foo.| do end"
  says syntax error on "foo &.||"
  says syntax error on "foo &.||"
  parses "foo(&.as(T).bar)"
  parses "foo(&.as(T).bar)"
  parses "{} of Int => Double"
  parses "{} of Int => Double"
  parses "-> : Int32 { }"
  parses "-> : Int32 { }"
  parses "enum : Int32"
  parses "enum : Int32"
  parses "foo.>= 1, 2"
  parses "foo.>= 1, 2"
  says syntax error on "foo { |(include)| }"
  says syntax error on "foo { |(include)| }"
  says syntax error on "return &* 1"
  says syntax error on "return &* 1"
  says syntax error on "def foo(yield); end"
  says syntax error on "def foo(yield); end"
  parses ":foo?"
  parses ":foo?"
  parses "def foo(x @with); end"
  parses "def foo(x @with); end"
  says syntax error on "if 1 == 1 a; end"
  says syntax error on "if 1 == 1 a; end"
  parses "macro foo;{% verbatim do %}1{% foo %}2{% end %};end"
  parses "macro foo;{% verbatim do %}1{% foo %}2{% end %};end"
  parses "enum Foo; private def foo; 1; end; end"
  parses "enum Foo; private def foo; 1; end; end"
  parses "def +(); end;"
  parses "def +(); end;"
  says syntax error on "foo.responds_to?"
  says syntax error on "foo.responds_to?"
  parses "def self.^; end;"
  parses "def self.^; end;"
  parses "def foo(x @while); end"
  parses "def foo(x @while); end"
  says syntax error on "next // 1"
  says syntax error on "next // 1"
  parses "def foo(@var); end"
  parses "def foo(@var); end"
  parses "Foo(Bar(T | U))"
  parses "Foo(Bar(T | U))"
  says syntax error on "foo &.&&"
  says syntax error on "foo &.&&"
  parses "a, *b = 1, 2"
  parses "a, *b = 1, 2"
  parses "property include : Int32"
  parses "property include : Int32"
  parses "begin\n/ /\nend"
  parses "begin\n/ /\nend"
  parses "->() { }"
  parses "->() { }"
  parses "foo = 1; ->foo.//(Int32)"
  parses "foo = 1; ->foo.//(Int32)"
  parses "{% unless 1; 2; else 3; end %}"
  parses "{% unless 1; 2; else 3; end %}"
  parses "property elsif : Int32"
  parses "property elsif : Int32"
  parses "foo.-"
  parses "foo.-"
  parses "foo { |(_, c, )| c }"
  parses "foo { |(_, c, )| c }"
  says syntax error on "def self.!; end"
  says syntax error on "def self.!; end"
  parses "def =~; end;"
  parses "def =~; end;"
  parses "def foo(x y); y; end"
  parses "def foo(x y); y; end"
  parses "def []; end"
  parses "def []; end"
  says syntax error on "foo { |asm| }"
  says syntax error on "foo { |asm| }"
  parses "a = 1; a &-=\n1"
  parses "a = 1; a &-=\n1"
  parses "enum Foo; {{1}}; end"
  parses "enum Foo; {{1}}; end"
  parses "def foo(&block); end"
  parses "def foo(&block); end"
  parses "1 unless 3"
  parses "1 unless 3"
  says syntax error on "{1, 2 3}"
  says syntax error on "{1, 2 3}"
  parses "foo = 1; ->foo.&(Int32)"
  parses "foo = 1; ->foo.&(Int32)"
  says syntax error on "asm(\"nop\" :::: \"\#{volatile}\")"
  says syntax error on "asm(\"nop\" :::: \"\#{volatile}\")"
  parses "foo = 1; ->foo.&-(Int32)"
  parses "foo = 1; ->foo.&-(Int32)"
  parses "x.foo a: 1, b: 2 "
  parses "x.foo a: 1, b: 2 "
  parses "return 1 if true"
  parses "return 1 if true"
  says syntax error on "def foo\ninclude\nend"
  says syntax error on "def foo\ninclude\nend"
  parses "a.b &-=\n1"
  parses "a.b &-=\n1"
  says syntax error on "foo { |alias| }"
  says syntax error on "foo { |alias| }"
  parses "foo(out x); x"
  parses "foo(out x); x"
  parses "enum Foo; protected def foo; 1; end; end"
  parses "enum Foo; protected def foo; 1; end; end"
  parses "foo(a: n << 2)"
  parses "foo(a: n << 2)"
  parses "case {1}\nin {Foo(Int32)}; 2; end"
  parses "case {1}\nin {Foo(Int32)}; 2; end"
  parses "def foo; a = 1; x { a }; end"
  parses "def foo; a = 1; x { a }; end"
  parses "n !~ 2"
  parses "n !~ 2"
  parses "def foo(x @@while); end"
  parses "def foo(x @@while); end"
  says syntax error on "return &+ 1"
  says syntax error on "return &+ 1"
  parses "def self.>=; end;"
  parses "def self.>=; end;"
  parses "foo &.%(1)"
  parses "foo &.%(1)"
  parses "def foo(@@require); end"
  parses "def foo(@@require); end"
  parses "def type(type); end"
  parses "def type(type); end"
  parses "return {1, 2}"
  parses "return {1, 2}"
  parses "macro foo(@[Foo] *args);end"
  parses "macro foo(@[Foo] *args);end"
  parses ":\"\\\\foo\""
  parses ":\"\\\\foo\""
  says syntax error on "next * 1"
  says syntax error on "next * 1"
  parses "(1)\nif true; end"
  parses "(1)\nif true; end"
  parses "macro foo;var if true;end"
  parses "macro foo;var if true;end"
  says syntax error on "foo { |(abstract)| }"
  says syntax error on "foo { |(abstract)| }"
  parses "def foo(@@while); end"
  parses "def foo(@@while); end"
  says syntax error on "foo { |(extend)| }"
  says syntax error on "foo { |(extend)| }"
  parses "def foo(@@enum); end"
  parses "def foo(@@enum); end"
  says syntax error on "def foo(var : Foo+); end"
  says syntax error on "def foo(var : Foo+); end"
  parses "def ==(*args, **opts); end"
  parses "def ==(*args, **opts); end"
  says syntax error on "def foo(**args, x); end"
  says syntax error on "def foo(**args, x); end"
  says syntax error on "foo { |def| }"
  says syntax error on "foo { |def| }"
  parses "->Foo.&*(Int32)"
  parses "->Foo.&*(Int32)"
  says syntax error on "a = next"
  says syntax error on "a = next"
  parses "module Foo(*T); end"
  parses "module Foo(*T); end"
  says syntax error on "def foo\nextend\nend"
  says syntax error on "def foo\nextend\nend"
  says syntax error on "next &+ 1"
  says syntax error on "next &+ 1"
  parses "->Foo.foo"
  parses "->Foo.foo"
  parses "break : Int32"
  parses "break : Int32"
  says syntax error on "'a' foo"
  says syntax error on "'a' foo"
  says syntax error on "foo { |private| }"
  says syntax error on "foo { |private| }"
  says syntax error on "foo { |break| }"
  says syntax error on "foo { |break| }"
  says syntax error on "def foo(with); end"
  says syntax error on "def foo(with); end"
  says syntax error on "a = 1, 2, 3"
  says syntax error on "a = 1, 2, 3"
  parses "puts __LINE__"
  parses "puts __LINE__"
  parses "-> { }"
  parses "-> { }"
  parses "def foo(x : U) : Int32 forall T, U; end"
  parses "def foo(x : U) : Int32 forall T, U; end"
  parses "def self.!~(); end;"
  parses "def self.!~(); end;"
  parses "f.x += 2"
  parses "f.x += 2"
  parses ":>="
  parses ":>="
  parses "<<-HERE1; <<-HERE2\nHERE1\nhere2\nHERE2"
  parses "<<-HERE1; <<-HERE2\nHERE1\nhere2\nHERE2"
  says syntax error on "a, b.<="
  says syntax error on "a, b.<="
  parses "->Foo.<<(Int32)"
  parses "->Foo.<<(Int32)"
  parses "def self.<=(); end;"
  parses "def self.<=(); end;"
  says syntax error on "foo { |false| }"
  says syntax error on "foo { |false| }"
  says syntax error on "foo { |require| }"
  says syntax error on "foo { |require| }"
  says syntax error on "def foo(foo asm); end"
  says syntax error on "def foo(foo asm); end"
  parses "def ===(); end"
  parses "def ===(); end"
  parses "lib LibC; fun getchar(a : Int, b : Float) : Int; end"
  parses "lib LibC; fun getchar(a : Int, b : Float) : Int; end"
  parses "foo &.as(T).bar"
  parses "foo &.as(T).bar"
  parses "def self./; end;"
  parses "def self./; end;"
  parses "@a : Foo = 1"
  parses "@a : Foo = 1"
  parses "foo.^ 1, 2"
  parses "foo.^ 1, 2"
  says syntax error on "*a if true = 2"
  says syntax error on "*a if true = 2"
  parses "foo(&.responds_to?(:foo))"
  parses "foo(&.responds_to?(:foo))"
  parses "foo(0, n === 2)"
  parses "foo(0, n === 2)"
  parses "require : Int32"
  parses "require : Int32"
  parses "lib LibC; fun foo(a : Int*); end"
  parses "lib LibC; fun foo(a : Int*); end"
  says syntax error on "def foo(x x); 1; end"
  says syntax error on "def foo(x x); 1; end"
  says syntax error on "break === 1"
  says syntax error on "break === 1"
  parses "foo(0, n - 2)"
  parses "foo(0, n - 2)"
  says syntax error on "foo { |(with)| }"
  says syntax error on "foo { |(with)| }"
  parses "foo()"
  parses "foo()"
  says syntax error on "foo { |(alias)| }"
  says syntax error on "foo { |(alias)| }"
  parses "puts __FILE__"
  parses "puts __FILE__"
  parses "foo bar.baz(1) do\nend"
  parses "foo bar.baz(1) do\nend"
  parses "macro foo;%var unless true;end"
  parses "macro foo;%var unless true;end"
  parses "puts {{*1}}"
  parses "puts {{*1}}"
  parses "a = b = 2"
  parses "a = b = 2"
  parses "1 && 2"
  parses "1 && 2"
  parses "asm(\"nop\" :: \"b\"(1), \"c\"(2))"
  parses "asm(\"nop\" :: \"b\"(1), \"c\"(2))"
  parses "def foo; a = 1; a {}; end"
  parses "def foo; a = 1; a {}; end"
  parses "foo.<=(1, 2) { 3 }"
  parses "foo.<=(1, 2) { 3 }"
  parses "macro ==;end"
  parses "macro ==;end"
  parses "def foo(a, &block : *Int -> ); end"
  parses "def foo(a, &block : *Int -> ); end"
  parses "/(fo\#{\"bar\"}\#{1}o)/"
  parses "/(fo\#{\"bar\"}\#{1}o)/"
  parses "foo.%(1, 2) { 3 }"
  parses "foo.%(1, 2) { 3 }"
  parses "def foo(@@typeof); end"
  parses "def foo(@@typeof); end"
  parses "a = 1; b = 2; c = 3; a-b-c"
  parses "a = 1; b = 2; c = 3; a-b-c"
  parses "foo = 1; ->foo.>>(Int32)"
  parses "foo = 1; ->foo.>>(Int32)"
  says syntax error on "Foo({x: X, x: Y})"
  says syntax error on "Foo({x: X, x: Y})"
  parses "foo.is_a? Const"
  parses "foo.is_a? Const"
  says syntax error on "def foo :String\nend"
  says syntax error on "def foo :String\nend"
  parses "f.x &+= 2"
  parses "f.x &+= 2"
  says syntax error on "\n      lib LibFoo\n        fun foo(x : Int32\n              y : Float64)\n      end\n      "
  says syntax error on "\n      lib LibFoo\n        fun foo(x : Int32\n              y : Float64)\n      end\n      "
  says syntax error on "def foo(x : U) forall; end"
  says syntax error on "def foo(x : U) forall; end"
  parses "foo(0, n &** 2)"
  parses "foo(0, n &** 2)"
  parses "def foo; yield; end"
  parses "def foo; yield; end"
  parses "1 &- 2"
  parses "1 &- 2"
  parses "pointerof(@a)"
  parses "pointerof(@a)"
  parses "{[] of Foo, ::Bar::Baz.new}"
  parses "{[] of Foo, ::Bar::Baz.new}"
  parses "foo(Foo: 1, Bar: 2)"
  parses "foo(Foo: 1, Bar: 2)"
  parses "->\n:\nInt32\n{\n}"
  parses "->\n:\nInt32\n{\n}"
  parses "x = 1; ->{ x }"
  parses "x = 1; ->{ x }"
  parses "foo = 1; b = 2; foo +b"
  parses "foo = 1; b = 2; foo +b"
  parses "(foo bar do\nend)"
  parses "(foo bar do\nend)"
  parses "foo(*{1})"
  parses "foo(*{1})"
  parses "case 1\nin Int32.class; 2; end"
  parses "case 1\nin Int32.class; 2; end"
  parses "pointerof(@a)"
  parses "pointerof(@a)"
  parses "a()/3"
  parses "a()/3"
  parses "(/ /)"
  parses "(/ /)"
  parses "def foo=(value); end"
  parses "def foo=(value); end"
  parses "foo.!= 1, 2"
  parses "foo.!= 1, 2"
  parses "1\\\n + 2"
  parses "1\\\n + 2"
  says syntax error on "yield return"
  says syntax error on "yield return"
  parses "foo &.as?(T).bar"
  parses "foo &.as?(T).bar"
  parses "begin; 1; end;"
  parses "begin; 1; end;"
  parses "def self.==; end;"
  parses "def self.==; end;"
  parses "(1; 2; 3)"
  parses "(1; 2; 3)"
  parses "def foo(x : U) forall T, U; end"
  parses "def foo(x : U) forall T, U; end"
  says syntax error on "foo[return]"
  says syntax error on "foo[return]"
  parses "foo(\n  &.block\n)"
  parses "foo(\n  &.block\n)"
  parses "foo(\na: 1,\n)"
  parses "foo(\na: 1,\n)"
  parses "class Foo < Bar; end"
  parses "class Foo < Bar; end"
  parses "case {1}\nin {true}; 2; end"
  parses "case {1}\nin {true}; 2; end"
  parses "foo.^(1, 2)"
  parses "foo.^(1, 2)"
  parses "foo.% do end"
  parses "foo.% do end"
  parses "f ->{ a do\n end\n }"
  parses "f ->{ a do\n end\n }"
  parses "foo.* do end"
  parses "foo.* do end"
  says syntax error on "def foo(next); end"
  says syntax error on "def foo(next); end"
  parses "macro foo;bar(end: 1);end"
  parses "macro foo;bar(end: 1);end"
  parses "foo(a: n | 2)"
  parses "foo(a: n | 2)"
  parses "foo(z: 0, a: n <= 2)"
  parses "foo(z: 0, a: n <= 2)"
  parses "foo%r"
  parses "foo%r"
  parses "def foo(self foo); end"
  parses "def foo(self foo); end"
  says syntax error on "[\n]"
  says syntax error on "[\n]"
  parses "Foo(X, alignof(Int32))"
  parses "Foo(X, alignof(Int32))"
  parses "macro **;end"
  parses "macro **;end"
  says syntax error on "return ^ 1"
  says syntax error on "return ^ 1"
  parses "Foo{\"x\" => \"y\"}"
  parses "Foo{\"x\" => \"y\"}"
  parses "begin; rescue; end"
  parses "begin; rescue; end"
  parses "class : Int32"
  parses "class : Int32"
  parses "foo(..2)"
  parses "foo(..2)"
  parses "1 !~ 2"
  parses "1 !~ 2"
  parses "foo(0, n // 2)"
  parses "foo(0, n // 2)"
  parses "macro foo\n  <<-FOO\n    \#{ %var }\n  FOO\nend"
  parses "macro foo\n  <<-FOO\n    \#{ %var }\n  FOO\nend"
  parses "Foo(X, instance_alignof(Int32))"
  parses "Foo(X, instance_alignof(Int32))"
  says syntax error on "FOO, BAR = 1, 2"
  says syntax error on "FOO, BAR = 1, 2"
  parses "foo(0, n ** 2)"
  parses "foo(0, n ** 2)"
  says syntax error on "break ^ 1"
  says syntax error on "break ^ 1"
  parses "{% unless 1\n  x\nend %}"
  parses "{% unless 1\n  x\nend %}"
  parses "macro x\n%{}\nend"
  parses "macro x\n%{}\nend"
  parses "def foo(@var = 1); 1; end"
  parses "def foo(@var = 1); 1; end"
  parses "a.foo, *a.bar = 1"
  parses "a.foo, *a.bar = 1"
  parses "a, b = 1, 2"
  parses "a, b = 1, 2"
  parses "def foo(var : (Int, Float) -> Double); end"
  parses "def foo(var : (Int, Float) -> Double); end"
  parses "def foo(@@false); end"
  parses "def foo(@@false); end"
  parses "foo &block"
  parses "foo &block"
  parses "nil?"
  parses "nil?"
  says syntax error on "foo { |(sizeof)| }"
  says syntax error on "foo { |(sizeof)| }"
  parses "def foo(x @fun); end"
  parses "def foo(x @fun); end"
  parses "Foo(T)"
  parses "Foo(T)"
  says syntax error on "<<-HERE\n   One\n \#{1}\n  Zero\n  HERE"
  says syntax error on "<<-HERE\n   One\n \#{1}\n  Zero\n  HERE"
  parses "def self.**; end;"
  parses "def self.**; end;"
  parses "\"hello \\\r\n     world\""
  parses "\"hello \\\r\n     world\""
  parses "property extend : Int32"
  parses "property extend : Int32"
  parses "Foo(X, sizeof(Int32))"
  parses "Foo(X, sizeof(Int32))"
  parses "{A::B}"
  parses "{A::B}"
  parses "def self.-; end;"
  parses "def self.-; end;"
  parses "def foo(var : Int?); end"
  parses "def foo(var : Int?); end"
  parses "break *1"
  parses "break *1"
  parses "Foo(T | U)"
  parses "Foo(T | U)"
  parses "f.x &-= 2"
  parses "f.x &-= 2"
  says syntax error on "next == 1"
  says syntax error on "next == 1"
  parses "lib LibC; type A = B.class; end"
  parses "lib LibC; type A = B.class; end"
  parses "1 rescue 2 if 3"
  parses "1 rescue 2 if 3"
  says syntax error on "foo { |next| }"
  says syntax error on "foo { |next| }"
  parses "macro foo; 1 + 2 {{foo}}\\ 3 + 4; end"
  parses "macro foo; 1 + 2 {{foo}}\\ 3 + 4; end"
  parses "case 1\nin .bar?; 2; end"
  parses "case 1\nin .bar?; 2; end"
  parses ":=~"
  parses ":=~"
  parses "a = 1; a *= 1"
  parses "a = 1; a *= 1"
  parses "def *(); end;"
  parses "def *(); end;"
  parses "lib LibC; fun foo(a : ::B, ::C -> ::D); end"
  parses "lib LibC; fun foo(a : ::B, ::C -> ::D); end"
  parses "def <(); end"
  parses "def <(); end"
  parses "property def : Int32"
  parses "property def : Int32"
  says syntax error on "def foo(foo struct); end"
  says syntax error on "def foo(foo struct); end"
  parses "Int[8, 4]"
  parses "Int[8, 4]"
  parses "foo = 1; ->foo.foo"
  parses "foo = 1; ->foo.foo"
  parses "f.x |= 2"
  parses "f.x |= 2"
  parses "def foo(extend foo); end"
  parses "def foo(extend foo); end"
  parses "n & 2"
  parses "n & 2"
  parses "module Foo; end"
  parses "module Foo; end"
  parses "1+0"
  parses "1+0"
  parses "module : Int32"
  parses "module : Int32"
  says syntax error on "foo { |(x, x)| }"
  says syntax error on "foo { |(x, x)| }"
  parses "\"foo\""
  parses "\"foo\""
  parses "foo.bar = {} of Int32 => Int32"
  parses "foo.bar = {} of Int32 => Int32"
  parses "def foo(@@in); end"
  parses "def foo(@@in); end"
  parses "def self.+; end;"
  parses "def self.+; end;"
  parses "property protected : Int32"
  parses "property protected : Int32"
  parses "1..\n2.."
  parses "1..\n2.."
  says syntax error on "case 1\nin Int32; 2; else"
  says syntax error on "case 1\nin Int32; 2; else"
  parses "->Foo.<(Int32)"
  parses "->Foo.<(Int32)"
  says syntax error on "foo { |until| }"
  says syntax error on "foo { |until| }"
  says syntax error on "case 1\nin _;"
  says syntax error on "case 1\nin _;"
  says syntax error on "next .. 1"
  says syntax error on "next .. 1"
  parses "case 1\nin Foo(Int32); 2; end"
  parses "case 1\nin Foo(Int32); 2; end"
  parses "true"
  parses "true"
  parses "foo %r()"
  parses "foo %r()"
  parses "call(foo.as Bar, Baz)"
  parses "call(foo.as Bar, Baz)"
  parses "n < 2"
  parses "n < 2"
  says syntax error on "foo { |module| }"
  says syntax error on "foo { |module| }"
  parses "foo(a: n !~ 2)"
  parses "foo(a: n !~ 2)"
  parses "def foo(@@extend); end"
  parses "def foo(@@extend); end"
  parses "def ==(*args, **opts, &); end"
  parses "def ==(*args, **opts, &); end"
  says syntax error on "@foo :: Foo"
  says syntax error on "@foo :: Foo"
  parses "foo(&block)"
  parses "foo(&block)"
  parses "Foo(T, U, 1)"
  parses "Foo(T, U, 1)"
  says syntax error on "foo { |(private)| }"
  says syntax error on "foo { |(private)| }"
  parses "->Foo.[]=(Int32)"
  parses "->Foo.[]=(Int32)"
  parses "puts _"
  parses "puts _"
  says syntax error on "{\n\"foo\"\n\"bar\"\n}"
  says syntax error on "{\n\"foo\"\n\"bar\"\n}"
  parses "def foo(var : Char[N]); end"
  parses "def foo(var : Char[N]); end"
  says syntax error on "macro foo"
  says syntax error on "macro foo"
  parses "def %; end;"
  parses "def %; end;"
  parses "foo(a: n >= 2)"
  parses "foo(a: n >= 2)"
  parses "property instance_sizeof : Int32"
  parses "property instance_sizeof : Int32"
  parses "foo(z: 0, a: n > 2)"
  parses "foo(z: 0, a: n > 2)"
  parses "foo &.+(2)"
  parses "foo &.+(2)"
  parses "foo./(1, 2)"
  parses "foo./(1, 2)"
  parses "def <; end;"
  parses "def <; end;"
  says syntax error on "def foo(x @@x); 1; end"
  says syntax error on "def foo(x @@x); 1; end"
  parses "1 &** 2"
  parses "1 &** 2"
  parses "Foo(\"foo\": U, \"bar\": V)"
  parses "Foo(\"foo\": U, \"bar\": V)"
  parses "foo +1"
  parses "foo +1"
  parses "->foo"
  parses "->foo"
  parses "[\n1, 2]"
  parses "[\n1, 2]"
  parses "foo(&.block)"
  parses "foo(&.block)"
  says syntax error on "def foo(x :Int32); end"
  says syntax error on "def foo(x :Int32); end"
  says syntax error on "->(x, y z) { }"
  says syntax error on "->(x, y z) { }"
  parses "a = 1; a &+=\n1"
  parses "a = 1; a &+=\n1"
  parses "property struct : Int32"
  parses "property struct : Int32"
  parses "foo = 1; ->foo./(Int32)"
  parses "foo = 1; ->foo./(Int32)"
  parses "foo.bar.as(Bar)"
  parses "foo.bar.as(Bar)"
  says syntax error on "def foo(true); end"
  says syntax error on "def foo(true); end"
  says syntax error on "Foo{one: :two, three: :four}"
  says syntax error on "Foo{one: :two, three: :four}"
  parses "1 === 2"
  parses "1 === 2"
  says syntax error on "foo { |abstract| }"
  says syntax error on "foo { |abstract| }"
  parses "case 1\nwhen .!()\n2\nend"
  parses "case 1\nwhen .!()\n2\nend"
  says syntax error on "def foo(x, *); 1; end"
  says syntax error on "def foo(x, *); 1; end"
  parses "foo[*baz] = 1"
  parses "foo[*baz] = 1"
  says syntax error on "foo { |(true)| }"
  says syntax error on "foo { |(true)| }"
  parses "def foo(@@var = 1); 1; end"
  parses "def foo(@@var = 1); 1; end"
  says syntax error on "foo { |enum| }"
  says syntax error on "foo { |enum| }"
  parses "else : Int32"
  parses "else : Int32"
  parses "unless foo; 1; end"
  parses "unless foo; 1; end"
  parses "def foo(x @case); end"
  parses "def foo(x @case); end"
  parses "return *1, 2"
  parses "return *1, 2"
  parses "\"\#{1\n}\""
  parses "\"\#{1\n}\""
  parses "pointerof : Int32"
  parses "pointerof : Int32"
  parses "1+2*3"
  parses "1+2*3"
  parses "def foo(var : self.class); end"
  parses "def foo(var : self.class); end"
  parses "foo = 1; ->foo.!~(Int32)"
  parses "foo = 1; ->foo.!~(Int32)"
  parses "def foo(@abstract); end"
  parses "def foo(@abstract); end"
  parses "a = 1; a += 1"
  parses "a = 1; a += 1"
  parses "a, b, *c = 1"
  parses "a, b, *c = 1"
  says syntax error on "macro as; end"
  says syntax error on "macro as; end"
  parses "\"hello \#{1}\" \\\n \"\#{2} world\""
  parses "\"hello \#{1}\" \\\n \"\#{2} world\""
  parses "a = 1; a ^=\n1"
  parses "a = 1; a ^=\n1"
  parses "puts %i(one two)"
  parses "puts %i(one two)"
  parses "def foo(x @@select); end"
  parses "def foo(x @@select); end"
  parses "def foo(var : Int); end"
  parses "def foo(var : Int); end"
  parses "lib LibC\nend"
  parses "lib LibC\nend"
  parses "foo(z: 0, a: n % 2)"
  parses "foo(z: 0, a: n % 2)"
  says syntax error on "return >> 1"
  says syntax error on "return >> 1"
  parses "def self.*; end;"
  parses "def self.*; end;"
  parses "def foo(x @@enum); end"
  parses "def foo(x @@enum); end"
  parses "if foo; 1; elsif bar; 2; else 3; end"
  parses "if foo; 1; elsif bar; 2; else 3; end"
  parses "def foo(x @extend); end"
  parses "def foo(x @extend); end"
  parses "a = 1; a &&= 1"
  parses "a = 1; a &&= 1"
  says syntax error on "def foo:String\nend"
  says syntax error on "def foo:String\nend"
  parses "/\\ /"
  parses "/\\ /"
  parses "1 * 2"
  parses "1 * 2"
  says syntax error on "->(x y) { }"
  says syntax error on "->(x y) { }"
  parses "property rescue : Int32"
  parses "property rescue : Int32"
  parses "begin; 1; rescue ex; 2; end; ex"
  parses "begin; 1; rescue ex; 2; end; ex"
  parses "Foo(1)"
  parses "Foo(1)"
  parses "a = 1; a += 10 if a += 20"
  parses "a = 1; a += 10 if a += 20"
  parses "1 -\n2"
  parses "1 -\n2"
  parses "2**3**4"
  parses "2**3**4"
  says syntax error on "a.b() += 1"
  says syntax error on "a.b() += 1"
  parses "def >=; end;"
  parses "def >=; end;"
  parses "next 1 if true"
  parses "next 1 if true"
  parses "foo.+(1, 2) { 3 }"
  parses "foo.+(1, 2) { 3 }"
  says syntax error on "def Foo(Int32).bar;end"
  says syntax error on "def Foo(Int32).bar;end"
  parses "Foo(\nT,\nU,\n)"
  parses "Foo(\nT,\nU,\n)"
  parses "def //(); end"
  parses "def //(); end"
  says syntax error on "a = 1; a += next"
  says syntax error on "a = 1; a += next"
  says syntax error on "def foo(extend); end"
  says syntax error on "def foo(extend); end"
  says syntax error on "Foo(T, U V)"
  says syntax error on "Foo(T, U V)"
  says syntax error on "false foo"
  says syntax error on "false foo"
  parses "def foo; / /; end"
  parses "def foo; / /; end"
  parses "def foo(\nvar); end"
  parses "def foo(\nvar); end"
  parses "foo(z: 0, a: n / 2)"
  parses "foo(z: 0, a: n / 2)"
  parses "foo(&.!)"
  parses "foo(&.!)"
  parses "Foo(*T)"
  parses "Foo(*T)"
  says syntax error on "foo { |(end)| }"
  says syntax error on "foo { |(end)| }"
  says syntax error on "def foo(*args = 1); end"
  says syntax error on "def foo(*args = 1); end"
  parses "foo(n ** 2)"
  parses "foo(n ** 2)"
  parses "a = 1; a //=\n1"
  parses "a = 1; a //=\n1"
  says syntax error on "foo.&&()"
  says syntax error on "foo.&&()"
  says syntax error on "fun foo(Int32); end"
  says syntax error on "fun foo(Int32); end"
  parses "/\\//"
  parses "/\\//"
  parses "def self.==(); end;"
  parses "def self.==(); end;"
  parses "case / /; when / /; / /; else; / /; end"
  parses "case / /; when / /; / /; else; / /; end"
  parses "def foo(@module); end"
  parses "def foo(@module); end"
  parses "foo.!~ do end"
  parses "foo.!~ do end"
  says syntax error on "def foo(foo typeof); end"
  says syntax error on "def foo(foo typeof); end"
  parses "def foo(x @false); end"
  parses "def foo(x @false); end"
  parses "foo.nil?"
  parses "foo.nil?"
  parses "def <=(other, file = 1); end"
  parses "def <=(other, file = 1); end"
  says syntax error on " {1 => end"
  says syntax error on " {1 => end"
  parses "foo.!=(1, 2) { 3 }"
  parses "foo.!=(1, 2) { 3 }"
  says syntax error on "return do\nend"
  says syntax error on "return do\nend"
  parses "def downto(n)\n1\nend"
  parses "def downto(n)\n1\nend"
  parses "macro >>;end"
  parses "macro >>;end"
  says syntax error on "a = 1; a += break"
  says syntax error on "a = 1; a += break"
  parses "n % 2"
  parses "n % 2"
  says syntax error on "foo.&&"
  says syntax error on "foo.&&"
  says syntax error on "case 1; when break; end; end"
  says syntax error on "case 1; when break; end; end"
  parses "def foo(x @break); end"
  parses "def foo(x @break); end"
  parses "{% begin %}%i( %s ){% end %}"
  parses "{% begin %}%i( %s ){% end %}"
  parses "def foo; a = 1; with a yield a; end"
  parses "def foo; a = 1; with a yield a; end"
  parses "Foo(T)?"
  parses "Foo(T)?"
  says syntax error on "macro foo(x, *); 1; end"
  says syntax error on "macro foo(x, *); 1; end"
  parses "begin; 1; rescue ex : ::Foo | ::Bar; 2; end"
  parses "begin; 1; rescue ex : ::Foo | ::Bar; 2; end"
  says syntax error on "foo { |begin| }"
  says syntax error on "foo { |begin| }"
  parses "foo./ do end"
  parses "foo./ do end"
  parses "macro &-;end"
  parses "macro &-;end"
  parses "1 \\\r\n + 2"
  parses "1 \\\r\n + 2"
  says syntax error on "a += 1"
  says syntax error on "a += 1"
  says syntax error on "return * 1"
  says syntax error on "return * 1"
  parses "def foo(true foo); end"
  parses "def foo(true foo); end"
  parses "[] of Int"
  parses "[] of Int"
  parses "foo(0, n % 2)"
  parses "foo(0, n % 2)"
  parses "foo !false"
  parses "foo !false"
  parses "case 1\nwhen .is_a?(T)\n2\nend"
  parses "case 1\nwhen .is_a?(T)\n2\nend"
  says syntax error on "def foo(foo begin); end"
  says syntax error on "def foo(foo begin); end"
  parses "macro >=;end"
  parses "macro >=;end"
  parses "def /; end;"
  parses "def /; end;"
  parses "a = 1; a /= 1"
  parses "a = 1; a /= 1"
  parses "foo(a: n &* 2)"
  parses "foo(a: n &* 2)"
  says syntax error on "def foo(alias); end"
  says syntax error on "def foo(alias); end"
  parses "Foo(X, offsetof(Foo, @a))"
  parses "Foo(X, offsetof(Foo, @a))"
  parses "def foo(@[Foo] @var); end"
  parses "def foo(@[Foo] @var); end"
  parses "foo(0, n =~ 2)"
  parses "foo(0, n =~ 2)"
  parses "foo(1.., 2)"
  parses "foo(1.., 2)"
  parses "-@@foo"
  parses "-@@foo"
  parses "foo.^ do end"
  parses "foo.^ do end"
  says syntax error on "macro !;end"
  says syntax error on "macro !;end"
  parses "pointerof(\n  foo\n)"
  parses "pointerof(\n  foo\n)"
  parses "def foo(@@module); end"
  parses "def foo(@@module); end"
  parses "foo(0, n << 2)"
  parses "foo(0, n << 2)"
  parses "macro +;end"
  parses "macro +;end"
  parses "def !~(); end;"
  parses "def !~(); end;"
  parses "foo.bar(1, 2)"
  parses "foo.bar(1, 2)"
  says syntax error on "def foo(asm); end"
  says syntax error on "def foo(asm); end"
  parses "a, b = 1"
  parses "a, b = 1"
  parses "a = 1; a/b"
  parses "a = 1; a/b"
  parses "foo a: 1, b: 2"
  parses "foo a: 1, b: 2"
  parses "def foo(x @@yield); end"
  parses "def foo(x @@yield); end"
  parses "foo\n.bar"
  parses "foo\n.bar"
  says syntax error on "return false foo"
  says syntax error on "return false foo"
  parses "def foo(alias foo); end"
  parses "def foo(alias foo); end"
  says syntax error on "x--"
  says syntax error on "x--"
  parses "Foo({String, ->})"
  parses "Foo({String, ->})"
  parses "foo = 1; ->foo.<<(Int32)"
  parses "foo = 1; ->foo.<<(Int32)"
  parses ":[]?"
  parses ":[]?"
  says syntax error on "break &- 1"
  says syntax error on "break &- 1"
  parses "n * 2"
  parses "n * 2"
  parses "def self.foo=\n1\nend"
  parses "def self.foo=\n1\nend"
  parses "def self./(); end;"
  parses "def self./(); end;"
  parses "case {1, 2}\nwhen {3, 4}, {5, 6}\n7\nend"
  parses "case {1, 2}\nwhen {3, 4}, {5, 6}\n7\nend"
  says syntax error on "lib Foo; fun foo(x : Int32, x : Int64); end"
  says syntax error on "lib Foo; fun foo(x : Int32, x : Int64); end"
  parses "foo(bar { })"
  parses "foo(bar { })"
  parses "foo.%"
  parses "foo.%"
  parses "def foo(x @begin); end"
  parses "def foo(x @begin); end"
  parses "def *; end;"
  parses "def *; end;"
  parses ":%"
  parses ":%"
  parses "while true; 1; end;"
  parses "while true; 1; end;"
  parses "def foo(sizeof foo); end"
  parses "def foo(sizeof foo); end"
  parses "def foo(@[Foo] **args); end"
  parses "def foo(@[Foo] **args); end"
  parses "{% begin %}%r[\\A]{% end %}"
  parses "{% begin %}%r[\\A]{% end %}"
  parses "def self.[]; end"
  parses "def self.[]; end"
  parses "if foo; 1; else; 2; end"
  parses "if foo; 1; else; 2; end"
  says syntax error on "break ... 1"
  says syntax error on "break ... 1"
  parses "def foo(in foo); end"
  parses "def foo(in foo); end"
  parses "def foo(x @@asm); end"
  parses "def foo(x @@asm); end"
  parses "a @b-1\nc"
  parses "a @b-1\nc"
  parses "next *1, 2"
  parses "next *1, 2"
  says syntax error on "{% unless 1; 2; elsif 3; 4; end %}"
  says syntax error on "{% unless 1; 2; elsif 3; 4; end %}"
  parses "enum Foo; A = 1; B; end"
  parses "enum Foo; A = 1; B; end"
  says syntax error on "def foo=(**kwargs); end"
  says syntax error on "def foo=(**kwargs); end"
  parses "1.nil?(\n)"
  parses "1.nil?(\n)"
  end locations
    gets corrects end location for "alias Foo = Bar"
    gets corrects end location for "alias Foo = Bar"
    sets correct location of `else` of unless statement
    sets correct location of `else` of unless statement
    says syntax error on "case x; when X; 2; when X; end"
    says syntax error on "case x; when X; 2; when X; end"
    gets corrects end location for "include Foo"
    gets corrects end location for "include Foo"
    gets corrects end location for "def foo; rescue ex; end"
    gets corrects end location for "def foo; rescue ex; end"
    parses "%i{foo\\nbar baz}"
    parses "%i{foo\\nbar baz}"
    gets corrects end location for "sizeof(Foo)"
    gets corrects end location for "sizeof(Foo)"
    gets corrects end location for "foo.bar(x) do; end"
    gets corrects end location for "foo.bar(x) do; end"
    gets corrects end location for "->{ }"
    gets corrects end location for "->{ }"
    sets correct location of var in proc pointer
    sets correct location of var in proc pointer
    gets corrects end location for "x : Foo(A, *B, C)"
    gets corrects end location for "x : Foo(A, *B, C)"
    gets corrects end location for "foo 1, 2"
    gets corrects end location for "foo 1, 2"
    sets location of +=
    sets location of +=
    gets corrects end location for "foo.bar= *baz"
    gets corrects end location for "foo.bar= *baz"
    gets corrects end location for "f.x=(*foo)"
    gets corrects end location for "f.x=(*foo)"
    gets corrects end location for "x : Foo ->"
    gets corrects end location for "x : Foo ->"
    gets corrects end location for "nil"
    gets corrects end location for "nil"
    says syntax error on "case x; when 1, _; end"
    says syntax error on "case x; when 1, _; end"
    says syntax error on "Foo(x: X\n,y: Y)"
    says syntax error on "Foo(x: X\n,y: Y)"
    sets correct location of call name
    sets correct location of call name
    says syntax error on "{1 => 2\n,3 => 4}"
    says syntax error on "{1 => 2\n,3 => 4}"
    gets corrects end location for block with do ... end
    gets corrects end location for block with do ... end
    gets corrects end location for "pointerof(@foo)"
    gets corrects end location for "pointerof(@foo)"
    gets corrects end location for "1 rescue 2"
    gets corrects end location for "1 rescue 2"
    gets corrects end location for block with { ... }
    gets corrects end location for block with { ... }
    gets correct location of empty exception handler inside def
    gets correct location of empty exception handler inside def
    sets correct location and end location of parenthesized block
    sets correct location and end location of parenthesized block
    gets corrects end location for "'a'"
    gets corrects end location for "'a'"
    gets corrects end location for "@a = uninitialized Foo"
    gets corrects end location for "@a = uninitialized Foo"
    parses "%w{one  two}"
    parses "%w{one  two}"
    says syntax error on "case x; when 1..2; 2; when 1..2; end"
    says syntax error on "case x; when 1..2; 2; when 1..2; end"
    gets corrects end location for "begin; 1; end"
    gets corrects end location for "begin; 1; end"
    sets correct location of element in array literal
    sets correct location of element in array literal
    sets correct location of `else` of if statement
    sets correct location of `else` of if statement
    gets corrects end location for "foo bar, out baz"
    gets corrects end location for "foo bar, out baz"
    says syntax error on "def foo(x : Array({sizeof(Int32), 2})); end"
    says syntax error on "def foo(x : Array({sizeof(Int32), 2})); end"
    says syntax error on "case x; when 'a'; 2; when 'a'; end"
    says syntax error on "case x; when 'a'; 2; when 'a'; end"
    parses "%i{(one two)}"
    parses "%i{(one two)}"
    gets corrects end location for "begin; 1; 2; 3; end"
    gets corrects end location for "begin; 1; 2; 3; end"
    gets corrects end location for "1 if 2"
    gets corrects end location for "1 if 2"
    gets corrects end location for "foo"
    gets corrects end location for "foo"
    gets corrects end location for "[1, 2]"
    gets corrects end location for "[1, 2]"
    gets corrects end location for "123.45"
    gets corrects end location for "123.45"
    gets corrects end location for "foo ->self.bar="
    gets corrects end location for "foo ->self.bar="
    gets corrects end location for "{} of Int32 => String"
    gets corrects end location for "{} of Int32 => String"
    gets corrects end location for "puts obj.foo"
    gets corrects end location for "puts obj.foo"
    says syntax error on "case x; when :a; 2; when :a; end"
    says syntax error on "case x; when :a; 2; when :a; end"
    says syntax error on "%w{one}}"
    says syntax error on "%w{one}}"
    gets corrects end location for "/foo/"
    gets corrects end location for "/foo/"
    gets corrects end location for "f.x=(foo).bar"
    gets corrects end location for "f.x=(foo).bar"
    gets corrects end location for "a && b"
    gets corrects end location for "a && b"
    gets corrects end location for "foo ->@bar.baz"
    gets corrects end location for "foo ->@bar.baz"
    gets corrects end location for "[] of Int32"
    gets corrects end location for "[] of Int32"
    gets corrects end location for var + var
    gets corrects end location for var + var
    gets corrects end location for "yield"
    gets corrects end location for "yield"
    sets correct location of var in type declaration
    sets correct location of var in type declaration
    sets correct location for fun def with body
    sets correct location for fun def with body
    gets corrects end location for "class Foo; end"
    gets corrects end location for "class Foo; end"
    sets correct location of call name in operator assignment
    sets correct location of call name in operator assignment
    gets corrects end location for "123"
    gets corrects end location for "123"
    sets location of enum method
    sets location of enum method
    gets corrects end location for "1..3"
    gets corrects end location for "1..3"
    sets location of top-level fun name
    sets location of top-level fun name
    gets corrects end location for "return 1"
    gets corrects end location for "return 1"
    gets corrects end location for "foo.nil?"
    gets corrects end location for "foo.nil?"
    gets corrects end location for "foo.[0] = 1"
    gets corrects end location for "foo.[0] = 1"
    gets corrects end location for "foo ->@@bar.baz="
    gets corrects end location for "foo ->@@bar.baz="
    gets corrects end location for "1.."
    gets corrects end location for "1.."
    sets correct location for fun def
    sets correct location for fun def
    gets corrects end location for "struct Foo; end"
    gets corrects end location for "struct Foo; end"
    gets corrects end location for "foo ->Bar.baz="
    gets corrects end location for "foo ->Bar.baz="
    sets correct locations of macro if / else
    sets correct locations of macro if / else
    says syntax error on "case x; when {1, 2}; 2; when {1, 2}; end"
    says syntax error on "case x; when {1, 2}; 2; when {1, 2}; end"
    gets corrects end location for "foo : Foo.class"
    gets corrects end location for "foo : Foo.class"
    gets corrects end location for "x : Foo -> Bar"
    gets corrects end location for "x : Foo -> Bar"
    gets corrects end location for "foo.responds_to?(:foo)"
    gets corrects end location for "foo.responds_to?(:foo)"
    gets corrects end location for "@@foo"
    gets corrects end location for "@@foo"
    gets corrects end location for "{a: 1}"
    gets corrects end location for "{a: 1}"
    gets corrects end location for "def foo; 1; end"
    gets corrects end location for "def foo; 1; end"
    says syntax error on "%w("
    says syntax error on "%w("
    says syntax error on "case x; when 1; when _; end"
    says syntax error on "case x; when 1; when _; end"
    sets correct location and end location of `begin` block
    sets correct location and end location of `begin` block
    sets correct location for fun def with return type
    sets correct location for fun def with return type
    gets corrects end location for "a = 123"
    gets corrects end location for "a = 123"
    gets corrects end location for "foo : Foo?"
    gets corrects end location for "foo : Foo?"
    sets correct location and end location of parenthesized empty block
    sets correct location and end location of parenthesized empty block
    gets corrects end location for "abstract def foo(x)"
    gets corrects end location for "abstract def foo(x)"
    says syntax error on "foo(1\n,2)"
    says syntax error on "foo(1\n,2)"
    sets correct location of trailing rescue
    sets correct location of trailing rescue
    says syntax error on "def foo(x : Int32 | (Int32, Int32)); end"
    says syntax error on "def foo(x : Int32 | (Int32, Int32)); end"
    sets correct locations of macro if / elsif
    sets correct locations of macro if / elsif
    sets correct location of vars in C struct
    sets correct location of vars in C struct
    says syntax error on "macro foo(x\n,y); 1; end"
    says syntax error on "macro foo(x\n,y); 1; end"
    gets corrects end location for "f.x = foo"
    gets corrects end location for "f.x = foo"
    says syntax error on "%r("
    says syntax error on "%r("
    says syntax error on "case x; when /x/; 2; when /x/; end"
    says syntax error on "case x; when /x/; 2; when /x/; end"
    parses "annotation Foo; end"
    parses "annotation Foo; end"
    sets correct locations of keywords of exception handler
    sets correct locations of keywords of exception handler
    gets corrects end location for "foo.nil?(  )"
    gets corrects end location for "foo.nil?(  )"
    gets corrects end location for "foo.responds_to? :foo"
    gets corrects end location for "foo.responds_to? :foo"
    gets corrects end location for "unless 1; 2; end"
    gets corrects end location for "unless 1; 2; end"
    gets corrects end location for "[1, 2,]"
    gets corrects end location for "[1, 2,]"
    gets corrects end location for "macro foo;end"
    gets corrects end location for "macro foo;end"
    says syntax error on "def foo(x : {sizeof(Int32), 2}); end"
    says syntax error on "def foo(x : {sizeof(Int32), 2}); end"
    says syntax error on "case x; when 1; 2; when 1; end"
    says syntax error on "case x; when 1; 2; when 1; end"
    says syntax error on "%Q("
    says syntax error on "%Q("
    says syntax error on "{\"a\" : 1}"
    says syntax error on "{\"a\" : 1}"
    says syntax error on "Foo(X\n,Y)"
    says syntax error on "Foo(X\n,Y)"
    says syntax error on "{1\n,2}"
    says syntax error on "{1\n,2}"
    gets corrects end location for "@foo"
    gets corrects end location for "@foo"
    sets location of obj.x += as call
    sets location of obj.x += as call
    says syntax error on "case x; when true; 2; when true; end"
    says syntax error on "case x; when true; 2; when true; end"
    gets corrects end location for "if 1; else; 2; end"
    gets corrects end location for "if 1; else; 2; end"
    parses "annotation Foo\nend\nrequire \"bar\""
    parses "annotation Foo\nend\nrequire \"bar\""
    gets corrects end location for "\"hello\""
    gets corrects end location for "\"hello\""
    gets corrects end location for "foo.!"
    gets corrects end location for "foo.!"
    says syntax error on "[1\n,2]"
    says syntax error on "[1\n,2]"
    sets correct location of implicit tuple literal of multi-return
    sets correct location of implicit tuple literal of multi-return
    says syntax error on "%i{one}}"
    says syntax error on "%i{one}}"
    says syntax error on "def foo(x\n,y); 1; end"
    says syntax error on "def foo(x\n,y); 1; end"
    gets corrects end location for "if 1; elseif; 2; end"
    gets corrects end location for "if 1; elseif; 2; end"
    says syntax error on "<<-HEREDOC\n"
    says syntax error on "<<-HEREDOC\n"
    gets corrects end location for "offsetof(Foo, @a)"
    gets corrects end location for "offsetof(Foo, @a)"
    gets corrects end location for "!foo"
    gets corrects end location for "!foo"
    gets corrects end location for "{1, 2}"
    gets corrects end location for "{1, 2}"
    parses "annotation Foo::Bar\n\nend"
    parses "annotation Foo::Bar\n\nend"
    gets corrects end location for "foo(\n  &.block\n)"
    gets corrects end location for "foo(\n  &.block\n)"
    gets corrects end location for "offsetof({X, Y}, 1)"
    gets corrects end location for "offsetof({X, Y}, 1)"
    gets corrects end location for "foo.@foo"
    gets corrects end location for "foo.@foo"
    says syntax error on "%w{{one}"
    says syntax error on "%w{{one}"
    gets corrects end location for "foo : Foo**"
    gets corrects end location for "foo : Foo**"
    gets corrects end location for ":foo"
    gets corrects end location for ":foo"
    says syntax error on "{\"a\": 1, \"b\" : 2}"
    says syntax error on "{\"a\": 1, \"b\" : 2}"
    sets correct location of var in macro for loop
    sets correct location of var in macro for loop
    sets correct location of `elsif` of if statement
    sets correct location of `elsif` of if statement
    says syntax error on "case x; when \"a\"; 2; when \"a\"; end"
    says syntax error on "case x; when \"a\"; 2; when \"a\"; end"
    sets correct location of receiver var in method def
    sets correct location of receiver var in method def
    gets corrects end location for "macro foo; 123; end"
    gets corrects end location for "macro foo; 123; end"
    says syntax error on "def foo(x : *Int32); end"
    says syntax error on "def foo(x : *Int32); end"
    gets corrects end location for "foo ->@bar.baz="
    gets corrects end location for "foo ->@bar.baz="
    gets corrects end location for "module Foo; end"
    gets corrects end location for "module Foo; end"
    gets corrects end location for "{%\nif foo\n  bar\n end\n%}"
    gets corrects end location for "{%\nif foo\n  bar\n end\n%}"
    gets corrects end location for "a, b = 1, 2"
    gets corrects end location for "a, b = 1, 2"
    says syntax error on "case x; when [1, 2]; 2; when [1, 2]; end"
    says syntax error on "case x; when [1, 2]; 2; when [1, 2]; end"
    gets corrects end location for "false"
    gets corrects end location for "false"
    says syntax error on "%x("
    says syntax error on "%x("
    gets corrects end location for "require \"foo\""
    gets corrects end location for "require \"foo\""
    gets corrects end location for "foo ->Bar.baz"
    gets corrects end location for "foo ->Bar.baz"
    gets correct location after macro with yield
    gets correct location after macro with yield
    gets corrects end location for "foo(1, 2)"
    gets corrects end location for "foo(1, 2)"
    gets corrects end location for "::foo"
    gets corrects end location for "::foo"
    says syntax error on "{1, 2\n,3}"
    says syntax error on "{1, 2\n,3}"
    sets correct location of trailing ensure
    sets correct location of trailing ensure
    says syntax error on "case x; when nil; 2; when nil; end"
    says syntax error on "case x; when nil; 2; when nil; end"
    gets corrects end location for "@@a = uninitialized Foo"
    gets corrects end location for "@@a = uninitialized Foo"
    gets corrects end location for "return"
    gets corrects end location for "return"
    sets correct locations of macro if / else / elsif
    sets correct locations of macro if / else / elsif
    gets corrects end location for "foo.!()"
    gets corrects end location for "foo.!()"
    gets corrects end location for "foo ->bar="
    gets corrects end location for "foo ->bar="
    gets corrects of ~
    gets corrects of ~
    gets corrects end location for "extend Foo"
    gets corrects end location for "extend Foo"
    says syntax error on "%i{{one}"
    says syntax error on "%i{{one}"
    gets corrects end location for "Foo?"
    gets corrects end location for "Foo?"
    says syntax error on "def foo(x : Int32, Int32); end"
    says syntax error on "def foo(x : Int32, Int32); end"
    says syntax error on "def foo(x : (Int32, Int32) | Int32); end"
    says syntax error on "def foo(x : (Int32, Int32) | Int32); end"
    gets corrects end location for "a, b = 1, 2 if 3"
    gets corrects end location for "a, b = 1, 2 if 3"
    parses "%w{one{} two}"
    parses "%w{one{} two}"
    gets corrects end location for "while 1; end"
    gets corrects end location for "while 1; end"
    gets correct location with 
 (#1558)
    gets correct location with 
 (#1558)
    gets corrects end location for var
    gets corrects end location for var
    parses "%w{one\ttwo}"
    parses "%w{one\ttwo}"
    parses "%i(foo(bar) baz)"
    parses "%i(foo(bar) baz)"
    gets corrects end location for "yield 1"
    gets corrects end location for "yield 1"
    parses "%w{\n}"
    parses "%w{\n}"
    sets location of lib fun name
    sets location of lib fun name
    gets corrects end location for "Int[8]?"
    gets corrects end location for "Int[8]?"
    gets corrects end location for "abstract def foo : Int32"
    gets corrects end location for "abstract def foo : Int32"
    gets corrects end location for "abstract def foo"
    gets corrects end location for "abstract def foo"
    says syntax error on "class Foo(X\n,Y); 1; end"
    says syntax error on "class Foo(X\n,Y); 1; end"
    says syntax error on "%q("
    says syntax error on "%q("
    says syntax error on "def foo(x : (Int32, Int32)); end"
    says syntax error on "def foo(x : (Int32, Int32)); end"
    gets corrects end location for "foo ->@@bar.baz"
    gets corrects end location for "foo ->@@bar.baz"
    gets corrects end location for "foo ->self.bar"
    gets corrects end location for "foo ->self.bar"
    gets corrects end location for "a || b"
    gets corrects end location for "a || b"
    parses "annotation Foo\n\nend"
    parses "annotation Foo\n\nend"
    says syntax error on "def foo(x : (*Int32)); end"
    says syntax error on "def foo(x : (*Int32)); end"
    gets correct location after macro with yield
    gets correct location after macro with yield
    correctly computes line number after `\{%
` (#9857)
    correctly computes line number after `\{%
` (#9857)
    says syntax error on "foo(a: 1\n,b: 2)"
    says syntax error on "foo(a: 1\n,b: 2)"
    parses "%w{\\{one}"
    parses "%w{\\{one}"
    says syntax error on "def foo(x : 1); end"
    says syntax error on "def foo(x : 1); end"
    gets corrects end location for "1.as(Int32)"
    gets corrects end location for "1.as(Int32)"
    gets corrects end location for "foo ->bar"
    gets corrects end location for "foo ->bar"
    gets corrects end location for "foo : Foo[42]"
    gets corrects end location for "foo : Foo[42]"
    parses "%w{one\\ two}"
    parses "%w{one\\ two}"
    gets corrects end location for "Foo { 1 }"
    gets corrects end location for "Foo { 1 }"
    gets corrects end location for "foo : Foo*"
    gets corrects end location for "foo : Foo*"
    gets corrects end location for "foo ->bar(Baz)"
    gets corrects end location for "foo ->bar(Baz)"
    says syntax error on "%i("
    says syntax error on "%i("
    gets corrects end location for "typeof(1)"
    gets corrects end location for "typeof(1)"
    gets corrects end location for "foo **bar"
    gets corrects end location for "foo **bar"
    gets corrects end location for "Foo"
    gets corrects end location for "Foo"
    parses "%w{one\ntwo}"
    parses "%w{one\ntwo}"
    says syntax error on "<<-HEREDOC"
    says syntax error on "<<-HEREDOC"
    gets corrects end location for "%w(one two)"
    gets corrects end location for "%w(one two)"
    says syntax error on "case x; when _; end"
    says syntax error on "case x; when _; end"
    doesn't override yield with macro yield
    doesn't override yield with macro yield
    sets correct location of proc literal
    sets correct location of proc literal
    parses "%w{one\\}}"
    parses "%w{one\\}}"
    says syntax error on "def foo(x : {Int32, (Int32, Int32)}); end"
    says syntax error on "def foo(x : {Int32, (Int32, Int32)}); end"
    gets corrects end location for "Foo(A)"
    gets corrects end location for "Foo(A)"
    gets corrects end location for "def foo; end"
    gets corrects end location for "def foo; end"
    parses "%i(one\\ two)"
    parses "%i(one\\ two)"
    gets corrects end location for "foo *bar"
    gets corrects end location for "foo *bar"
    gets corrects end location for "1 ensure 2"
    gets corrects end location for "1 ensure 2"
    sets correct location for fun def on multiple lines
    sets correct location for fun def on multiple lines
    parses "%i((one two))"
    parses "%i((one two))"
  parses "def foo(x)\n x\nend; foo = 1; b = 2; foo -b"
  parses "def foo(x)\n x\nend; foo = 1; b = 2; foo -b"
  parses "fun foo(x : Int32) : Int64\nx\nend"
  parses "fun foo(x : Int32) : Int64\nx\nend"
  says syntax error on "def foo(x, **x); end"
  says syntax error on "def foo(x, **x); end"
  parses "Foo()?"
  parses "Foo()?"
  parses "foo % Q()"
  parses "foo % Q()"
  parses "def foo(@enum); end"
  parses "def foo(@enum); end"
  parses "a\nwhile / /\n/ /\nend"
  parses "a\nwhile / /\n/ /\nend"
  parses "foo.=~"
  parses "foo.=~"
  parses "a : Foo*"
  parses "a : Foo*"
  says syntax error on "foo { |true| }"
  says syntax error on "foo { |true| }"
  parses "def >=(); end"
  parses "def >=(); end"
  parses "Int"
  parses "Int"
  parses "property until : Int32"
  parses "property until : Int32"
  parses "def foo(@@fun); end"
  parses "def foo(@@fun); end"
  parses "def ==(); end"
  parses "def ==(); end"
  says syntax error on "next[]"
  says syntax error on "next[]"
  parses "->(x) { x }"
  parses "->(x) { x }"
  parses "typeof : Int32"
  parses "typeof : Int32"
  says syntax error on "next[0]"
  says syntax error on "next[0]"
  parses "Foo({x: X})"
  parses "Foo({x: X})"
  parses "a = 1; a ensure a"
  parses "a = 1; a ensure a"
  parses "4./(2)"
  parses "4./(2)"
  parses "foo &.block[0] = 1"
  parses "foo &.block[0] = 1"
  parses "lib : Int32"
  parses "lib : Int32"
  parses "Foo(T, {x: X})"
  parses "Foo(T, {x: X})"
  says syntax error on "/foo)/"
  says syntax error on "/foo)/"
  parses "def foo(x @@case); end"
  parses "def foo(x @@case); end"
  parses "case 1; when x then 2; else; 3; end"
  parses "case 1; when x then 2; else; 3; end"
  parses "foo a: 1, &block"
  parses "foo a: 1, &block"
  parses "lib LibC\nfun getchar(a : Int, b : Float)\nend"
  parses "lib LibC\nfun getchar(a : Int, b : Float)\nend"
  parses "1 ? a : b"
  parses "1 ? a : b"
  parses "abstract def foo; 1"
  parses "abstract def foo; 1"
  parses "def foo(x @@with); end"
  parses "def foo(x @@with); end"
  says syntax error on "*a == 1"
  says syntax error on "*a == 1"
  parses ":=="
  parses ":=="
  says syntax error on "foo(return)"
  says syntax error on "foo(return)"
  parses "{% begin %}%r|\\A|{% end %}"
  parses "{% begin %}%r|\\A|{% end %}"
  parses "puts {{**1}}"
  parses "puts {{**1}}"
  parses "def foo(unless foo); end"
  parses "def foo(unless foo); end"
  parses "def foo(x @@break); end"
  parses "def foo(x @@break); end"
  says syntax error on "foo { |(in)| }"
  says syntax error on "foo { |(in)| }"
  says syntax error on "1 .. next"
  says syntax error on "1 .. next"
  parses "case foo; end"
  parses "case foo; end"
  parses "def foo(break foo); end"
  parses "def foo(break foo); end"
  parses "foo(x:\n        begin\n          result : Int32 = 1\n          result\n        end\n      )"
  parses "foo(x:\n        begin\n          result : Int32 = 1\n          result\n        end\n      )"
  parses "foo [1]"
  parses "foo [1]"
  says syntax error on "*a === 1"
  says syntax error on "*a === 1"
  parses "..2"
  parses "..2"
  says syntax error on " [1, 2, 3 end"
  says syntax error on " [1, 2, 3 end"
  says syntax error on "def foo(foo def); end"
  says syntax error on "def foo(foo def); end"
  parses "<<-FOO\n \t 1\n \t FOO"
  parses "<<-FOO\n \t 1\n \t FOO"
  parses "def foo(x @@sizeof); end"
  parses "def foo(x @@sizeof); end"
  says syntax error on "x++"
  says syntax error on "x++"
  says syntax error on "def foo(&a foo); end"
  says syntax error on "def foo(&a foo); end"
  parses "foo(a: n &- 2)"
  parses "foo(a: n &- 2)"
  says syntax error on "def foo(foo alias); end"
  says syntax error on "def foo(foo alias); end"
  parses "foo %r"
  parses "foo %r"
  says syntax error on "A = begin; 1; rescue; 1; else; B = 1; end"
  says syntax error on "A = begin; 1; rescue; 1; else; B = 1; end"
  parses "a = 1; a **=\n1"
  parses "a = 1; a **=\n1"
  says syntax error on "def foo(foo sizeof); end"
  says syntax error on "def foo(foo sizeof); end"
  parses "{foo:a, bar:b}"
  parses "{foo:a, bar:b}"
  parses "@@foo"
  parses "@@foo"
  says syntax error on "def foo(require); end"
  says syntax error on "def foo(require); end"
  parses "def foo(class foo); end"
  parses "def foo(class foo); end"
  parses "foo &.each do\nend"
  parses "foo &.each do\nend"
  parses "foo(a: n === 2)"
  parses "foo(a: n === 2)"
  parses "return 1, 2"
  parses "return 1, 2"
  parses "a = 1; a |= 1"
  parses "a = 1; a |= 1"
  parses "Foo({x: X, y: Y})"
  parses "Foo({x: X, y: Y})"
  parses "if foo\n1\nelse\n2\nend"
  parses "if foo\n1\nelse\n2\nend"
  parses "asm(\"nop\" :: \"b\"(1), \"c\"(2) ::)"
  parses "asm(\"nop\" :: \"b\"(1), \"c\"(2) ::)"
  says syntax error on "foo(\"\": 1)"
  says syntax error on "foo(\"\": 1)"
  says syntax error on "def foo(foo enum); end"
  says syntax error on "def foo(foo enum); end"
  parses "foo%i"
  parses "foo%i"
  parses "foo(n & 2)"
  parses "foo(n & 2)"
  parses "{% begin %}%i< %s >{% end %}"
  parses "{% begin %}%i< %s >{% end %}"
  parses "->@@foo.foo!"
  parses "->@@foo.foo!"
  says syntax error on "macro foo x; 1 + 2; end"
  says syntax error on "macro foo x; 1 + 2; end"
  says syntax error on "def foo(foo self); end"
  says syntax error on "def foo(foo self); end"
  parses "lib LibC\n@[Bar]; end"
  parses "lib LibC\n@[Bar]; end"
  parses "foo = 1; b = 2; foo -b"
  parses "foo = 1; b = 2; foo -b"
  parses "foo(n === 2)"
  parses "foo(n === 2)"
  parses "Foo()"
  parses "Foo()"
  parses "@[Foo(1)]"
  parses "@[Foo(1)]"
  parses "{..2}"
  parses "{..2}"
  parses "foo.|(1, 2)"
  parses "foo.|(1, 2)"
  parses "def <=; end;"
  parses "def <=; end;"
  parses "def foo(&\n); end"
  parses "def foo(&\n); end"
  parses "foo(n * 2)"
  parses "foo(n * 2)"
  parses "def foo(x @typeof); end"
  parses "def foo(x @typeof); end"
  parses "::T/1"
  parses "::T/1"
  says syntax error on "break.as(Int32)"
  says syntax error on "break.as(Int32)"
  parses "def foo(x @@class); end"
  parses "def foo(x @@class); end"
  parses "foo = 1; ->foo.==(Int32)"
  parses "foo = 1; ->foo.==(Int32)"
  parses "def &(); end;"
  parses "def &(); end;"
  parses "instance_sizeof(\n  Int32\n)"
  parses "instance_sizeof(\n  Int32\n)"
  parses "puts a if true"
  parses "puts a if true"
  parses "x = 1 rescue 2"
  parses "x = 1 rescue 2"
  parses "foo { |a| 1 }"
  parses "foo { |a| 1 }"
  parses "a = 1; a[2] &&= 3"
  parses "a = 1; a[2] &&= 3"
  says syntax error on "yield next"
  says syntax error on "yield next"
  parses "foo(\n        begin\n          result : Int32 = 1\n          result\n        end\n      )"
  parses "foo(\n        begin\n          result : Int32 = 1\n          result\n        end\n      )"
  parses "lib LibC; struct Foo; x : Int; y : Float; end end"
  parses "lib LibC; struct Foo; x : Int; y : Float; end end"
  parses "1 rescue 2"
  parses "1 rescue 2"
  says syntax error on "next >> 1"
  says syntax error on "next >> 1"
  parses "1.0"
  parses "1.0"
  parses "foo &.baz.qux do\nend"
  parses "foo &.baz.qux do\nend"
  parses "def foo(@[Foo] outer inner); end"
  parses "def foo(@[Foo] outer inner); end"
  parses ":<"
  parses ":<"
  parses "x[{1}]"
  parses "x[{1}]"
  says syntax error on "{{ {{ 1 }} }}"
  says syntax error on "{{ {{ 1 }} }}"
  parses "macro <=;end"
  parses "macro <=;end"
  parses "module Foo\ndef foo; end; end"
  parses "module Foo\ndef foo; end; end"
  parses "case 1; when 1; 2; else; 3; end"
  parses "case 1; when 1; 2; else; 3; end"
  parses "1 +2"
  parses "1 +2"
  says syntax error on "break[0]"
  says syntax error on "break[0]"
  parses "lib LibC; struct Foo; {{ 1 }}; end; end"
  parses "lib LibC; struct Foo; {{ 1 }}; end; end"
  parses "a ? 1 :\n              b ? 2 :\n              c ? 3\n              : 0"
  parses "a ? 1 :\n              b ? 2 :\n              c ? 3\n              : 0"
  parses "foo.!~"
  parses "foo.!~"
  parses "def self.foo()\n1\nend"
  parses "def self.foo()\n1\nend"
  parses "def foo(case foo); end"
  parses "def foo(case foo); end"
  parses "a; if / /; / /; elsif / /; / /; end"
  parses "a; if / /; / /; elsif / /; / /; end"
  says syntax error on "next / 1"
  says syntax error on "next / 1"
  says syntax error on "lib Foo%end"
  says syntax error on "lib Foo%end"
  parses "\n      class Foo\n        def bar\n          print as Foo\n        end\n      end\n    "
  parses "\n      class Foo\n        def bar\n          print as Foo\n        end\n      end\n    "
  says syntax error on "def foo(_ y); y; end"
  says syntax error on "def foo(_ y); y; end"
  says syntax error on "macro foo; {% foo = 1 }; end"
  says syntax error on "macro foo; {% foo = 1 }; end"
  parses "1 -2_i64"
  parses "1 -2_i64"
  parses "foo.+"
  parses "foo.+"
  parses "until true; end;"
  parses "until true; end;"
  says syntax error on "unless return; end"
  says syntax error on "unless return; end"
  parses "foo(n &+ 2)"
  parses "foo(n &+ 2)"
  parses "foo(z: 0, a: n &- 2)"
  parses "foo(z: 0, a: n &- 2)"
  parses "def foo(var : Int32 -> = 1); end"
  parses "def foo(var : Int32 -> = 1); end"
  parses "def foo(x @@true); end"
  parses "def foo(x @@true); end"
  parses "foo /a/"
  parses "foo /a/"
  parses "def foo(a, &block : Int -> Double); end"
  parses "def foo(a, &block : Int -> Double); end"
  parses "def foo(x @return); end"
  parses "def foo(x @return); end"
  says syntax error on "break &+ 1"
  says syntax error on "break &+ 1"
  parses "a = 1; a -=\n1"
  parses "a = 1; a -=\n1"
  parses "foo(a: 1, b: 2)"
  parses "foo(a: 1, b: 2)"
  parses "a = 1; a &=\n1"
  parses "a = 1; a &=\n1"
  says syntax error on "x, self = 1, 2"
  says syntax error on "x, self = 1, 2"
  says syntax error on "def foo(return); end"
  says syntax error on "def foo(return); end"
  parses "def self.>=(); end;"
  parses "def self.>=(); end;"
  parses "{[] of Foo, Bar::Baz ** 2}"
  parses "{[] of Foo, Bar::Baz ** 2}"
  says syntax error on "a.b, c.d() = 1"
  says syntax error on "a.b, c.d() = 1"
  parses "()"
  parses "()"
  parses "Foo({\"foo bar\": X})"
  parses "Foo({\"foo bar\": X})"
  says syntax error on "{1 => 2 3 => 4}"
  says syntax error on "{1 => 2 3 => 4}"
  says syntax error on "foo { |extend| }"
  says syntax error on "foo { |extend| }"
  parses "a = 1; a rescue a"
  parses "a = 1; a rescue a"
  parses "foo.== do end"
  parses "foo.== do end"
  says syntax error on "macro foo(*x, *y); end"
  says syntax error on "macro foo(*x, *y); end"
  parses "{[] of Foo, Bar::Baz * 2}"
  parses "{[] of Foo, Bar::Baz * 2}"
  parses "1.0_f32"
  parses "1.0_f32"
  parses "def foo(typeof foo); end"
  parses "def foo(typeof foo); end"
  parses "def foo(var : Int*); end"
  parses "def foo(var : Int*); end"
  parses "macro foo;bar{% for x in y %}\\  \n   body{% end %}baz;end"
  parses "macro foo;bar{% for x in y %}\\  \n   body{% end %}baz;end"
  parses ":[]"
  parses ":[]"
  parses "def foo(var : Char[256]); end"
  parses "def foo(var : Char[256]); end"
  says syntax error on "def foo(\"bar \#{1} qux\" y); y; end"
  says syntax error on "def foo(\"bar \#{1} qux\" y); y; end"
  parses "foo.bar.baz"
  parses "foo.bar.baz"
  parses "break {1 => 2}"
  parses "break {1 => 2}"
  parses "case {1, 2}\nwhen {3, 4}\n5\nend"
  parses "case {1, 2}\nwhen {3, 4}\n5\nend"
  parses "def foo(**args)\nargs\nend"
  parses "def foo(**args)\nargs\nend"
  parses "a\nunless / /\n/ /\nelse\n/ /\nend"
  parses "a\nunless / /\n/ /\nelse\n/ /\nend"
  says syntax error on "def foo(**args, *x); end"
  says syntax error on "def foo(**args, *x); end"
  says syntax error on "macro as?; end"
  says syntax error on "macro as?; end"
  parses "def foo(x @sizeof); end"
  parses "def foo(x @sizeof); end"
  parses "1.!"
  parses "1.!"
  parses "property ensure : Int32"
  parses "property ensure : Int32"
  parses "true : Int32"
  parses "true : Int32"
  parses "foo **bar"
  parses "foo **bar"
  parses "foo(/a/)"
  parses "foo(/a/)"
  parses "def foo(x = __LINE__); end"
  parses "def foo(x = __LINE__); end"
  parses "def foo(a, &block : Int, self -> Double); end"
  parses "def foo(a, &block : Int, self -> Double); end"
  parses "alignof(X)"
  parses "alignof(X)"
  parses "foo.<=(1, 2)"
  parses "foo.<=(1, 2)"
  parses "1 + 2"
  parses "1 + 2"
  parses "case 1; when 0, 1; 2; else; 3; end"
  parses "case 1; when 0, 1; 2; else; 3; end"
  parses "foo(n >> 2)"
  parses "foo(n >> 2)"
  says syntax error on "def foo(foo return); end"
  says syntax error on "def foo(foo return); end"
  parses "{1, 2, 3}"
  parses "{1, 2, 3}"
  parses "foo.^"
  parses "foo.^"
  parses "<<-HERE1; <<-HERE2\nhere1\nHERE1\nHERE2"
  parses "<<-HERE1; <<-HERE2\nhere1\nHERE1\nHERE2"
  parses "foo.[0] = 1"
  parses "foo.[0] = 1"
  parses "lib LibC; type A = B; end"
  parses "lib LibC; type A = B; end"
  says syntax error on "class Foo(*T, *U); end"
  says syntax error on "class Foo(*T, *U); end"
  parses "def foo(@offsetof); end"
  parses "def foo(@offsetof); end"
  parses "->Foo.%(Int32)"
  parses "->Foo.%(Int32)"
  says syntax error on "def nil?; end"
  says syntax error on "def nil?; end"
  parses "case 1\nin false; 2; end"
  parses "case 1\nin false; 2; end"
  parses "*a, b = 1"
  parses "*a, b = 1"
  says syntax error on "def foo(var = x : Int); end"
  says syntax error on "def foo(var = x : Int); end"
  parses "extend Foo\nif true; end"
  parses "extend Foo\nif true; end"
  says syntax error on "next ... 1"
  says syntax error on "next ... 1"
  parses "def ===(*args, **opts, &); end"
  parses "def ===(*args, **opts, &); end"
  says syntax error on "def foo(x: Int32); end"
  says syntax error on "def foo(x: Int32); end"
  says syntax error on "break == 1"
  says syntax error on "break == 1"
  parses "nil?(  )"
  parses "nil?(  )"
  says syntax error on "def foo(foo until); end"
  says syntax error on "def foo(foo until); end"
  parses "foo(z: 0, a: n == 2)"
  parses "foo(z: 0, a: n == 2)"
  parses "1 == 2"
  parses "1 == 2"
  says syntax error on "break[0]= 1"
  says syntax error on "break[0]= 1"
  parses "foo 1, a: 1, b: 2\n1"
  parses "foo 1, a: 1, b: 2\n1"
  parses "n > 2"
  parses "n > 2"
  says syntax error on "*1, a = 2"
  says syntax error on "*1, a = 2"
  parses "*a, b = 1, 2, 3, 4"
  parses "*a, b = 1, 2, 3, 4"
  parses "def foo(@@private); end"
  parses "def foo(@@private); end"
  parses "begin 1 end / 2"
  parses "begin 1 end / 2"
  says syntax error on "unless break; end"
  says syntax error on "unless break; end"
  parses "foo begin\nbar do\nend\nend"
  parses "foo begin\nbar do\nend\nend"
  parses "def >(); end;"
  parses "def >(); end;"
  parses "{[] of Foo, Bar::Baz + 2}"
  parses "{[] of Foo, Bar::Baz + 2}"
  parses "{% begin %}%Q( %s ){% end %}"
  parses "{% begin %}%Q( %s ){% end %}"
  sets correct location of instance variable in proc pointer
  sets correct location of instance variable in proc pointer
  parses "foo = 1; foo(-1)"
  parses "foo = 1; foo(-1)"
  parses "{% begin %}%r<\\A>{% end %}"
  parses "{% begin %}%r<\\A>{% end %}"
  says syntax error on "class Foo(T, T); end"
  says syntax error on "class Foo(T, T); end"
  parses "foo(z: 0, a: n // 2)"
  parses "foo(z: 0, a: n // 2)"
  parses "foo(a: n &+ 2)"
  parses "foo(a: n &+ 2)"
  parses "property while : Int32"
  parses "property while : Int32"
  parses "foo%x"
  parses "foo%x"
  says syntax error on "@[Foo(\"\": 1)]"
  says syntax error on "@[Foo(\"\": 1)]"
  parses "foo 1, a: 1, b: 2"
  parses "foo 1, a: 1, b: 2"
  parses "{% begin %}%i| %s |{% end %}"
  parses "{% begin %}%i| %s |{% end %}"
  says syntax error on "macro Foo;end"
  says syntax error on "macro Foo;end"
  parses "my_def def foo\nloop do\nend\nend"
  parses "my_def def foo\nloop do\nend\nend"
  parses "1 ** -x"
  parses "1 ** -x"
  says syntax error on "Foo(\"\": T)"
  says syntax error on "Foo(\"\": T)"
  says syntax error on "foo(break)"
  says syntax error on "foo(break)"
  parses "private : Int32"
  parses "private : Int32"
  parses "def foo(module foo); end"
  parses "def foo(module foo); end"
  parses "Foo(Bar())"
  parses "Foo(Bar())"
  parses "Foo.foo(count: 3).bar { }"
  parses "Foo.foo(count: 3).bar { }"
  parses "rescue : Int32"
  parses "rescue : Int32"
  parses "a = 1"
  parses "a = 1"
  parses "->Foo.//(Int32)"
  parses "->Foo.//(Int32)"
  says syntax error on "enum Foo\n  A,   B,   C\nend\n"
  says syntax error on "enum Foo\n  A,   B,   C\nend\n"
  says syntax error on "foo { |end| }"
  says syntax error on "foo { |end| }"
  parses "def foo(end foo); end"
  parses "def foo(end foo); end"
  says syntax error on "foo :: Foo"
  says syntax error on "foo :: Foo"
  says syntax error on "module Foo; require \"bar\"; end"
  says syntax error on "module Foo; require \"bar\"; end"
  parses "alias Foo = Bar"
  parses "alias Foo = Bar"
  parses "f.x = Foo.new"
  parses "f.x = Foo.new"
  parses "\n\n__LINE__"
  parses "\n\n__LINE__"
  says syntax error on "break .. 1"
  says syntax error on "break .. 1"
  parses "macro ~;end"
  parses "macro ~;end"
  says syntax error on "b! = 1"
  says syntax error on "b! = 1"
  parses "macro foo(@[Foo] outer inner);end"
  parses "macro foo(@[Foo] outer inner);end"
  says syntax error on "foo { |(lib)| }"
  says syntax error on "foo { |(lib)| }"
  parses "foo % w()"
  parses "foo % w()"
  says syntax error on "foo(**bar, 1)"
  says syntax error on "foo(**bar, 1)"
  parses "case 1\nin true; 2; end"
  parses "case 1\nin true; 2; end"
  parses "foo(out @x); @x"
  parses "foo(out @x); @x"
  parses "def foo(&); end"
  parses "def foo(&); end"
  says syntax error on "+return"
  says syntax error on "+return"
  says syntax error on "until return; end"
  says syntax error on "until return; end"
  parses "a; unless / /; / /; else; / /; end"
  parses "a; unless / /; / /; else; / /; end"
  parses "def foo(var : Int | Double); end"
  parses "def foo(var : Int | Double); end"
  parses "def []=(*args, **opts); end"
  parses "def []=(*args, **opts); end"
  parses "Foo?"
  parses "Foo?"
  says syntax error on "foo(1, 2, 3 end"
  says syntax error on "foo(1, 2, 3 end"
  parses "def foo(@@var); end"
  parses "def foo(@@var); end"
  says syntax error on "def foo(*x, &x); end"
  says syntax error on "def foo(*x, &x); end"
  says syntax error on "<<-HERE\n   One\n  \#{1}\n wrong\#{1}\n  HERE"
  says syntax error on "<<-HERE\n   One\n  \#{1}\n wrong\#{1}\n  HERE"
  parses "foo.bar do end"
  parses "foo.bar do end"
  parses "next *1"
  parses "next *1"
  parses "x[..2]"
  parses "x[..2]"
  parses "case 1\nwhen .responds_to?(:foo)\n2\nend"
  parses "case 1\nwhen .responds_to?(:foo)\n2\nend"
  parses "asm(\n\"nop\"\n:\n\"a\"(0),\n\"b\"(1)\n:\n\"c\"(2),\n\"d\"(3)\n)"
  parses "asm(\n\"nop\"\n:\n\"a\"(0),\n\"b\"(1)\n:\n\"c\"(2),\n\"d\"(3)\n)"
  says syntax error on "foo { |(yield)| }"
  says syntax error on "foo { |(yield)| }"
  parses "foo.bar 1, 2"
  parses "foo.bar 1, 2"
  parses "property when : Int32"
  parses "property when : Int32"
  parses "def self.===(); end;"
  parses "def self.===(); end;"
  parses "foo.< 1, 2"
  parses "foo.< 1, 2"
  parses "def foo(x @include); end"
  parses "def foo(x @include); end"
  parses "{% begin %}%w( %s ){% end %}"
  parses "{% begin %}%w( %s ){% end %}"
  parses "def /; end;"
  parses "def /; end;"
  parses "def >=(); end;"
  parses "def >=(); end;"
  says syntax error on "def foo(foo select); end"
  says syntax error on "def foo(foo select); end"
  parses ":^"
  parses ":^"
  parses "def foo(@@until); end"
  parses "def foo(@@until); end"
  says syntax error on "return &** 1"
  says syntax error on "return &** 1"
  parses "foo.& 1, 2"
  parses "foo.& 1, 2"
  parses "@@a : Foo = 1"
  parses "@@a : Foo = 1"
  says syntax error on "foo.||()"
  says syntax error on "foo.||()"
  parses "foo(z: 0, a: n === 2)"
  parses "foo(z: 0, a: n === 2)"
  parses "def foo(@while); end"
  parses "def foo(@while); end"
  parses "def foo(var); end"
  parses "def foo(var); end"
  parses "def foo(x, **args, &block)\n1\nend"
  parses "def foo(x, **args, &block)\n1\nend"
  parses "def foo(n); foo(n -1); end"
  parses "def foo(n); foo(n -1); end"
  parses "foo(z: 0, a: n * 2)"
  parses "foo(z: 0, a: n * 2)"
  parses "def foo(x @@false); end"
  parses "def foo(x @@false); end"
  parses "puts __DIR__"
  parses "puts __DIR__"
  parses "select\nwhen foo\n2\nend"
  parses "select\nwhen foo\n2\nend"
  parses "macro foo\neenum\nend"
  parses "macro foo\neenum\nend"
  says syntax error on "b? = 1"
  says syntax error on "b? = 1"
  parses "1 <= 2 <= 3"
  parses "1 <= 2 <= 3"
  parses "foo(bar do\nend)"
  parses "foo(bar do\nend)"
  says syntax error on "->() :Int32 { }"
  says syntax error on "->() :Int32 { }"
  parses "include : Int32"
  parses "include : Int32"
  says syntax error on "foo.||"
  says syntax error on "foo.||"
  parses "foo = 1; ->foo.&**(Int32)"
  parses "foo = 1; ->foo.&**(Int32)"
  parses "class Foo(*T); end"
  parses "class Foo(*T); end"
  parses "A.new(\"x\", B.new(\"y\"))"
  parses "A.new(\"x\", B.new(\"y\"))"
  parses "{\n1,\n2\n}"
  parses "{\n1,\n2\n}"
  parses "macro &+;end"
  parses "macro &+;end"
  says syntax error on "def foo(select); end"
  says syntax error on "def foo(select); end"
  parses "def foo(@[Foo] @[Bar] var : Int32); end"
  parses "def foo(@[Foo] @[Bar] var : Int32); end"
  says syntax error on "fun foo(x : Int32, x : Int64); end"
  says syntax error on "fun foo(x : Int32, x : Int64); end"
  parses "1 =~ 2"
  parses "1 =~ 2"
  parses "a ? 1\n              : b"
  parses "a ? 1\n              : b"
  parses "def foo(a, @[Foo] &block); end"
  parses "def foo(a, @[Foo] &block); end"
  parses "def foo(@@begin); end"
  parses "def foo(@@begin); end"
  parses "foo./"
  parses "foo./"
  parses "foo &.[0]"
  parses "foo &.[0]"
  says syntax error on "def foo(**args, **args2); end"
  says syntax error on "def foo(**args, **args2); end"
  parses "{% begin %}%Q{ %s }{% end %}"
  parses "{% begin %}%Q{ %s }{% end %}"
  parses "offsetof(X, @a)"
  parses "offsetof(X, @a)"
  says syntax error on "def foo=(*args); end"
  says syntax error on "def foo=(*args); end"
  says syntax error on "next & 1"
  says syntax error on "next & 1"
  parses "foo"
  parses "foo"
  parses "return : Int32"
  parses "return : Int32"
  says syntax error on "1 foo"
  says syntax error on "1 foo"
  parses "foo(Bar) { 1 }"
  parses "foo(Bar) { 1 }"
  parses "return"
  parses "return"
  parses "foo.== 1, 2"
  parses "foo.== 1, 2"
  says syntax error on "foo { |macro| }"
  says syntax error on "foo { |macro| }"
  parses "def foo(@@case); end"
  parses "def foo(@@case); end"
  says syntax error on "def foo(x, x); end"
  says syntax error on "def foo(x, x); end"
  parses "Foo(x: U, y: V)"
  parses "Foo(x: U, y: V)"
  parses "foo.&"
  parses "foo.&"
  parses "def +(); end"
  parses "def +(); end"
  says syntax error on "class Foo(T, U V)"
  says syntax error on "class Foo(T, U V)"
  parses "def foo(x @abstract); end"
  parses "def foo(x @abstract); end"
  says syntax error on "foo { |(class)| }"
  says syntax error on "foo { |(class)| }"
  says syntax error on "return / 1"
  says syntax error on "return / 1"
  parses "def foo(x @unless); end"
  parses "def foo(x @unless); end"
  parses "def self.-(); end;"
  parses "def self.-(); end;"
  says syntax error on "macro foo x y; end"
  says syntax error on "macro foo x y; end"
  parses "@[Foo]"
  parses "@[Foo]"
  parses "do : Int32"
  parses "do : Int32"
  parses "def foo(x @protected); end"
  parses "def foo(x @protected); end"
  says syntax error on "break < 1"
  says syntax error on "break < 1"
  parses "case 1\nin Int32; 2; end"
  parses "case 1\nin Int32; 2; end"
  parses "{{ foo &.nil? }}"
  parses "{{ foo &.nil? }}"
  says syntax error on "def foo *y; 1; end"
  says syntax error on "def foo *y; 1; end"
  parses "n === 2"
  parses "n === 2"
  says syntax error on "def foo(while); end"
  says syntax error on "def foo(while); end"
  parses "foo(n !~ 2)"
  parses "foo(n !~ 2)"
Semantic: generic class
  can use type var that resolves to number in restriction (#6502)
  can use type var that resolves to number in restriction (#6502)
  initializes instance variable of generic type using type var (#961)
  initializes instance variable of generic type using type var (#961)
  errors if using Tuple in a generic type
  errors if using Tuple in a generic type
  errors if using Number in recursive alias
  errors if using Number in recursive alias
  errors if using Proc in a generic type
  errors if using Proc in a generic type
  unifies generic metaclass types
  unifies generic metaclass types
  inherits from generic with forwarding (1)
  inherits from generic with forwarding (1)
  gives helpful error message when generic type var is missing (#1526)
  gives helpful error message when generic type var is missing (#1526)
  can use virtual type for generic class
  can use virtual type for generic class
  allows T::Type with T a generic type
  allows T::Type with T a generic type
  errors if using Number in a generic type
  errors if using Number in a generic type
  disallow using a non-instantiated generic type as a generic type argument
  disallow using a non-instantiated generic type as a generic type argument
  finds generic type argument from method with default value
  finds generic type argument from method with default value
  restricts generic to generic with free var
  restricts generic to generic with free var
  inherits instance var type annotation from generic to generic to concrete
  inherits instance var type annotation from generic to generic to concrete
  inherits class methods from generic class
  inherits class methods from generic class
  never types Generic as virtual outside generic type parameter (#3989)
  never types Generic as virtual outside generic type parameter (#3989)
  errors on too nested generic instance, with union type
  errors on too nested generic instance, with union type
  errors if inheriting from generic and incorrect number of type vars
  errors if inheriting from generic and incorrect number of type vars
  shows error due to generic instantiation (#7083)
  shows error due to generic instantiation (#7083)
  doesn't crash when matching restriction against number literal (2) (#3157)
  doesn't crash when matching restriction against number literal (2) (#3157)
  defines empty initialize on inherited generic class
  defines empty initialize on inherited generic class
  inherits instance var type annotation from generic to concrete
  inherits instance var type annotation from generic to concrete
  doesn't duplicate overload on generic class with class method (#2385)
  doesn't duplicate overload on generic class with class method (#2385)
  errors if inheriting generic type and not specifying type vars (#460)
  errors if inheriting generic type and not specifying type vars (#460)
  can use type var that resolves to number in restriction using Int128
  can use type var that resolves to number in restriction using Int128
  instantiates generic variadic class, accesses T from instance method through superclass
  instantiates generic variadic class, accesses T from instance method through superclass
  inherits twice
  inherits twice
  errors if passing integer literal to Proc as generic argument (#1120)
  errors if passing integer literal to Proc as generic argument (#1120)
  doesn't find unbound type parameter in main code inside generic type (#6168)
  doesn't find unbound type parameter in main code inside generic type (#6168)
  calls super on generic type when superclass has no initialize (#933)
  calls super on generic type when superclass has no initialize (#933)
  inherits non-generic to generic (2)
  inherits non-generic to generic (2)
  errors if using Reference in a generic type
  errors if using Reference in a generic type
  restricts virtual generic instance type against generic (#3351)
  restricts virtual generic instance type against generic (#3351)
  can define instance var forward declared (#962)
  can define instance var forward declared (#962)
  inherits from generic with forwarding (2)
  inherits from generic with forwarding (2)
  instantiates generic class with default argument in initialize (#394)
  instantiates generic class with default argument in initialize (#394)
  never types Path as virtual outside generic type parameter (#3989)
  never types Path as virtual outside generic type parameter (#3989)
  inherits instance var type annotation from generic to concrete with T
  inherits instance var type annotation from generic to concrete with T
  inherits from generic with instantiation
  inherits from generic with instantiation
  instantiates generic variadic class, accesses T from instance method, more args (2)
  instantiates generic variadic class, accesses T from instance method, more args (2)
  errors if invoking new on private new in generic type (#3485)
  errors if invoking new on private new in generic type (#3485)
  errors if using Enum in a generic type
  errors if using Enum in a generic type
  recomputes on new subclass
  recomputes on new subclass
  errors if using Float in a generic type
  errors if using Float in a generic type
  instantiates generic variadic class, accesses T from instance method, more args
  instantiates generic variadic class, accesses T from instance method, more args
  inherits from generic with instantiation with instance var
  inherits from generic with instantiation with instance var
  instantiates generic variadic class, accesses T from class method through superclass
  instantiates generic variadic class, accesses T from class method through superclass
  allows initializing instance variable in inherited generic type
  allows initializing instance variable in inherited generic type
  errors if using Int in a generic type
  errors if using Int in a generic type
  errors if splatting a non-tuple (#9853)
  errors if splatting a non-tuple (#9853)
  creates pointer of generic type and uses it (2)
  creates pointer of generic type and uses it (2)
  resolves T through metaclass inheritance (#7914)
  resolves T through metaclass inheritance (#7914)
  instantiates generic variadic class, accesses T from instance method through superclass, more args
  instantiates generic variadic class, accesses T from instance method through superclass, more args
  types macro def with generic instance
  types macro def with generic instance
  creates pointer of generic type and uses it
  creates pointer of generic type and uses it
  instantiates generic variadic class, accesses T from class method
  instantiates generic variadic class, accesses T from class method
  inherits non-generic to generic (1)
  inherits non-generic to generic (1)
  errors on too nested generic instance
  errors on too nested generic instance
  instantiates generic variadic class, accesses T from instance method
  instantiates generic variadic class, accesses T from instance method
  errors if using Value in a generic type
  errors if using Value in a generic type
  errors if using StaticArray in a generic type
  errors if using StaticArray in a generic type
  errors if using Class in a generic type
  errors if using Class in a generic type
  restricts non-generic to generic
  restricts non-generic to generic
  replaces type parameters for virtual types (#3235)
  replaces type parameters for virtual types (#3235)
  disallow using a non-instantiated module type as a generic type argument
  disallow using a non-instantiated module type as a generic type argument
  errors if passing integer literal to Union as generic argument
  errors if passing integer literal to Union as generic argument
  errors if using Number in alias
  errors if using Number in alias
  restricts non-generic to generic with free var
  restricts non-generic to generic with free var
  correctly checks argument count when target type has a splat (#9855)
  correctly checks argument count when target type has a splat (#9855)
  doesn't consider unbound generic instantiations as concrete (#7200)
  doesn't consider unbound generic instantiations as concrete (#7200)
  doesn't compute generic instance var initializers in formal superclass's context (#4753)
  doesn't compute generic instance var initializers in formal superclass's context (#4753)
  nests generics with the same type var (#3297)
  nests generics with the same type var (#3297)
  errors if using Object in a generic type
  errors if using Object in a generic type
  errors if passing integer literal to Tuple as generic argument (#1120)
  errors if passing integer literal to Tuple as generic argument (#1120)
  doesn't find T type parameter of current type in superclass (#4604)
  doesn't find T type parameter of current type in superclass (#4604)
  errors if using Number | String in a generic type
  errors if using Number | String in a generic type
  gives helpful error message when generic type var is missing in block spec (#1526)
  gives helpful error message when generic type var is missing in block spec (#1526)
  doesn't crash when matching restriction against number literal (#3157)
  doesn't crash when matching restriction against number literal (#3157)
  errors if inheriting from generic when it is non-generic
  errors if inheriting from generic when it is non-generic
  errors on too nested tuple instance
  errors on too nested tuple instance
  subclasses twice with same generic class (#3423)
  subclasses twice with same generic class (#3423)
  errors if using Struct in a generic type
  errors if using Struct in a generic type
  splats generic type var
  splats generic type var
  allows initializing instance variable (#665)
  allows initializing instance variable (#665)
  error on T::Type with T a generic type that's a union
  error on T::Type with T a generic type that's a union
  restricts generic type argument through alias in a non-strict way
  restricts generic type argument through alias in a non-strict way
  errors if using Pointer in a generic type
  errors if using Pointer in a generic type
  doesn't allow union of generic class with module to be assigned to a generic class with module (#2425)
  doesn't allow union of generic class with module to be assigned to a generic class with module (#2425)
  replaces type parameters in virtual metaclasses (#10691)
  replaces type parameters in virtual metaclasses (#10691)
  virtual metaclass type implements super virtual metaclass type (#3007)
  virtual metaclass type implements super virtual metaclass type (#3007)
Normalize: case
  normalizes select with assign and bang method
  normalizes select with assign and bang method
  normalizes select with assign and question method
  normalizes select with assign and question method
  normalizes select with call
  normalizes select with call
  normalizes select with assign
  normalizes select with assign
  normalizes select with else
  normalizes select with else
Semantic: c enum
  errors if enum value is different from default (Int32) (#194)
  errors if enum value is different from default (Int32) (#194)
  types enum value with base type
  types enum value with base type
  allows using an enum as a type in a struct
  allows using an enum as a type in a struct
  errors if enum base type is not an integer
  errors if enum base type is not an integer
  allows using an enum as a type in a fun
  allows using an enum as a type in a fun
  types enum value
  types enum value
MacroExpander
  expands macro with char
  expands macro with char
  expands macro with range
  expands macro with range
  expands macro with string interpolation
  expands macro with string interpolation
  for
    expands macro with for over range literal
    expands macro with for over range literal
    expands macro with for over range literal, evaluating elements
    expands macro with for over range literal, evaluating elements
    expands macro with for over array literal with index
    expands macro with for over array literal with index
    expands macro with for over range literal, evaluating elements (exclusive)
    expands macro with for over range literal, evaluating elements (exclusive)
    expands macro with for over tuple literal
    expands macro with for over tuple literal
    expands macro with for over embedded array literal
    expands macro with for over embedded array literal
    expands macro with for over hash literal with index
    expands macro with for over hash literal with index
    expands macro with for over array literal
    expands macro with for over array literal
    expands macro with for over hash literal
    expands macro with for over hash literal
  does not expand when macro expression is {% ... %}
  does not expand when macro expression is {% ... %}
  expands macro with or (1)
  expands macro with or (1)
  expands macro with tuple
  expands macro with tuple
  does regular unless
  does regular unless
  expands macro with and (1)
  expands macro with and (1)
  expands macro with var substitution
  expands macro with var substitution
  expands simple macro
  expands simple macro
  expands macro with nil
  expands macro with nil
  does regular if
  does regular if
  expands macro with and (2)
  expands macro with and (2)
  expands macro with boolean
  expands macro with boolean
  expands macro with symbol substitution
  expands macro with symbol substitution
  expands macro with argument-less call substitution
  expands macro with argument-less call substitution
  expands macro with array
  expands macro with array
  can't use `yield` outside a macro
  can't use `yield` outside a macro
  expands macro with or (2)
  expands macro with or (2)
  expands macro with string substitution
  expands macro with string substitution
  expands macro with symbol
  expands macro with symbol
  outputs invisible location pragmas
  outputs invisible location pragmas
  expands macro with string
  expands macro with string
  if
    expands macro with if when falsey
    expands macro with if when falsey
    expands macro with if with nop
    expands macro with if with nop
    expands macro with if with not
    expands macro with if with not
    expands macro with if when truthy
    expands macro with if when truthy
    expands macro with if else when falsey
    expands macro with if else when falsey
  expands macro with integer
  expands macro with integer
  expands macro with hash
  expands macro with hash
Code gen: named args
  sends two regular arguments as named arguments
  sends two regular arguments as named arguments
  sends one regular argument as named argument
  sends one regular argument as named argument
  sends two regular arguments as named arguments in inverted position (1)
  sends two regular arguments as named arguments in inverted position (1)
  sends two regular arguments as named arguments in inverted position (2)
  sends two regular arguments as named arguments in inverted position (2)
  overloads based on required named args
  overloads based on required named args
  calls twice with different types
  calls twice with different types
  calls new with named arg
  calls new with named arg
  calls with named arg and other args
  calls with named arg and other args
  uses bare splat in new (2)
  uses bare splat in new (2)
  uses named args in dispatch
  uses named args in dispatch
  overloads based on required named args, with restrictions
  overloads based on required named args, with restrictions
  calls with named arg as object method
  calls with named arg as object method
  calls with named arg
  calls with named arg
Crystal::Repl::Interpreter
  variadic calls
    promotes enum
    promotes enum
    promotes float
    promotes float
    promotes int
    promotes int
  command expansion
    expands ldflags
    expands ldflags
Code gen: splat
  splats in initialize
  splats in initialize
  splats without args
  splats without args
  splats
  splats
  evaluates splat argument just once (#2677)
  evaluates splat argument just once (#2677)
  splats with default value (2)
  splats with default value (2)
  splats with another arg
  splats with another arg
  splats on call
  splats on call
  splats with default value
  splats with default value
  does #2407
  does #2407
  splats with default value (3)
  splats with default value (3)
Visibility modifiers
  allows setting visibility modifier to macro that generates many methods (2)
  allows setting visibility modifier to macro that generates many methods (2)
  allows invoking protected method from subclass
  allows invoking protected method from subclass
  allows setting visibility modifier to macro that generates many methods (1)
  allows setting visibility modifier to macro that generates many methods (1)
  allows invoking protected method from namespaced type to namespace
  allows invoking protected method from namespaced type to namespace
  handles virtual types (#8561)
  handles virtual types (#8561)
  allows invoking private method from the same class
  allows invoking private method from the same class
  errors if applying visibility modifier to non-def or non-call
  errors if applying visibility modifier to non-def or non-call
  allows setting visibility modifier to macro
  allows setting visibility modifier to macro
  allows invoking protected method from subclass (2)
  allows invoking protected method from subclass (2)
  allows invoking protected method from the same class
  allows invoking protected method from the same class
  errors if invoking protected method from top-level
  errors if invoking protected method from top-level
  disallows invoking private method
  disallows invoking private method
  errors if invoking protected method from non-subclass
  errors if invoking protected method from non-subclass
  allows invoking private setter with self
  allows invoking private setter with self
  allows invoking protected from instance to class
  allows invoking protected from instance to class
  allows calling protected method from nested generic class (1)
  allows calling protected method from nested generic class (1)
  allows invoking protected method from virtual type
  allows invoking protected method from virtual type
  allows invoking protected method between types in the same namespace
  allows invoking protected method between types in the same namespace
  gives correct error on unknown call (#2838)
  gives correct error on unknown call (#2838)
  allows invoking protected method between types in the same namespace when inheriting
  allows invoking protected method between types in the same namespace when inheriting
  automatically makes initialize be protected
  automatically makes initialize be protected
  allows invoking protected method from namespace to namespaced type
  allows invoking protected method from namespace to namespaced type
  allows calling protected method from nested generic class (2)
  allows calling protected method from nested generic class (2)
  errors if invoking protected method from non-subclass, generated with macro that generates a macro
  errors if invoking protected method from non-subclass, generated with macro that generates a macro
  defines protected initialize (#7501)
  defines protected initialize (#7501)
codegen: previous_def
  codegens previous def
  codegens previous def
  correctly passes named arguments
  correctly passes named arguments
  codegens previous def when inside fun with self
  codegens previous def when inside fun with self
  codegens previous def when inside fun and forwards args
  codegens previous def when inside fun and forwards args
Semantic: named tuples
  gives error when indexing with an unknown name
  gives error when indexing with an unknown name
  doesn't unify named tuple metaclasses (#5384)
  doesn't unify named tuple metaclasses (#5384)
  can write generic type for NamedTuple
  can write generic type for NamedTuple
  gives error when using named args on a type other than NamedTuple
  gives error when using named args on a type other than NamedTuple
  types nilable named tuple access (1)
  types nilable named tuple access (1)
  gives error when using positional args with NamedTuple
  gives error when using positional args with NamedTuple
  types named tuple of two elements, follows names order
  types named tuple of two elements, follows names order
  doesn't match in type restriction
  doesn't match in type restriction
  types nilable named tuple access (2)
  types nilable named tuple access (2)
  matches in type restriction
  matches in type restriction
  matches in type restriction, different order (2)
  matches in type restriction, different order (2)
  merges two named tuple with same keys but different types
  merges two named tuple with same keys but different types
  types named tuple of two elements
  types named tuple of two elements
  matches in type restriction, different order (1)
  matches in type restriction, different order (1)
  matches in type restriction and gets free var
  matches in type restriction and gets free var
  types nilable named tuple access (6)
  types nilable named tuple access (6)
  types named tuple of one element
  types named tuple of one element
  types named tuple access (4)
  types named tuple access (4)
  allows tuple covariance
  allows tuple covariance
  doesn't error if NamedTuple has no args
  doesn't error if NamedTuple has no args
  types named tuple access (2)
  types named tuple access (2)
  merges two named tuples with the same keys and types
  merges two named tuples with the same keys and types
  doesn't crash on named tuple in not executed block (#6718)
  doesn't crash on named tuple in not executed block (#6718)
  doesn't crash on named tuple type recursion (#7162)
  doesn't crash on named tuple type recursion (#7162)
  types named tuple access (3)
  types named tuple access (3)
  types nilable named tuple access (4)
  types nilable named tuple access (4)
  can assign to union of compatible named tuple
  can assign to union of compatible named tuple
  accepts named tuple covariance in array
  accepts named tuple covariance in array
  types T as a tuple of metaclasses
  types T as a tuple of metaclasses
  gets type at compile time
  gets type at compile time
  doesn't match type restriction with instance
  doesn't match type restriction with instance
  types named tuple access (1)
  types named tuple access (1)
  accept named tuple in type restriction
  accept named tuple in type restriction
  types nilable named tuple access (3)
  types nilable named tuple access (3)
  types nilable named tuple access (5)
  types nilable named tuple access (5)
Code gen: magic constants
  does __LINE__ when specifying one default arg with __FILE__
  does __LINE__ when specifying one default arg with __FILE__
  does __DIR__ in macro
  does __DIR__ in macro
  does __DIR__
  does __DIR__
  does __LINE__
  does __LINE__
  does __LINE__ when specifying one middle argument
  does __LINE__ when specifying one middle argument
  does __LINE__ with dispatch
  does __LINE__ with dispatch
  does __END_LINE__ without block
  does __END_LINE__ without block
  does __END_LINE__ in macro without block
  does __END_LINE__ in macro without block
  does __FILE__
  does __FILE__
  does __LINE__ in macro
  does __LINE__ in macro
  does __LINE__ when specifying one normal default arg
  does __LINE__ when specifying one normal default arg
  does __END_LINE__ with block
  does __END_LINE__ with block
  does __END_LINE__ in macro with block
  does __END_LINE__ in macro with block
  does __FILE__ in macro
  does __FILE__ in macro
Code gen: next
  codegens next without expressions
  codegens next without expressions
  codegens next conditionally with int type (2)
  codegens next conditionally with int type (2)
  codegens next conditionally
  codegens next conditionally
  codegens next with break (2)
  codegens next with break (2)
  codegens next with while inside block
  codegens next with while inside block
  codegens next
  codegens next
  codegens next with break (3)
  codegens next with break (3)
  codegens next with break (1)
  codegens next with break (1)
Code gen: generic class type
  recomputes two calls that look the same due to generic type being instantiated (#7728)  recomputes two calls that look the same due to generic type being instantiated (#7728)  recomputes two calls that look the same due to generic type being instantiated (#7728)  recomputes two calls that look the same due to generic type being instantiated (#7728)  recomputes two calls that look the same due to generic type being instantiated (#7728)  recomputes two calls that look the same due to generic type being instantiated (#7728)  recomputes two calls that look the same due to generic type being instantiated (#7728)  recomputes two calls that look the same due to generic type being instantiated (#7728)  recomputes two calls that look the same due to generic type being instantiated (#7728)
  recomputes two calls that look the same due to generic type being instantiated (#7728)
  invokes super in generic class (#2354)
  invokes super in generic class (#2354)
  codegens inherited generic class instance var
  codegens inherited generic class instance var
  doesn't use virtual + in type arguments (#2839)
  doesn't use virtual + in type arguments (#2839)
  doesn't consider abstract generic instantiation when restricting type (#5190)
  doesn't consider abstract generic instantiation when restricting type (#5190)
  doesn't use virtual + in type arguments for NamedTuple (#2839)
  doesn't use virtual + in type arguments for NamedTuple (#2839)
  doesn't consider abstract types for including types (#7200)
  doesn't consider abstract types for including types (#7200)
  runs generic instance var initializers in superclass's metaclass context (#4753)
  runs generic instance var initializers in superclass's metaclass context (#4753)
  codegens compile-time interpreted generic int128  codegens compile-time interpreted generic int128  codegens compile-time interpreted generic int128  codegens compile-time interpreted generic int128  codegens compile-time interpreted generic int128  codegens compile-time interpreted generic int128  codegens compile-time interpreted generic int128  codegens compile-time interpreted generic int128  codegens compile-time interpreted generic int128
  codegens compile-time interpreted generic int128
  uses big integer as generic type argument (#2353)  uses big integer as generic type argument (#2353)  uses big integer as generic type argument (#2353)  uses big integer as generic type argument (#2353)  uses big integer as generic type argument (#2353)  uses big integer as generic type argument (#2353)  uses big integer as generic type argument (#2353)  uses big integer as generic type argument (#2353)  uses big integer as generic type argument (#2353)
  uses big integer as generic type argument (#2353)
  doesn't override guessed instance var in generic type if already declared in superclass (#9431)
  doesn't override guessed instance var in generic type if already declared in superclass (#9431)
  inherited instance var initialize from generic to generic to concrete (#2128)
  inherited instance var initialize from generic to generic to concrete (#2128)
  inherited instance var initialize from generic to concrete (#2128)
  inherited instance var initialize from generic to concrete (#2128)
  declares instance var with virtual T (#1675)
  declares instance var with virtual T (#1675)
  codegens static array size after instantiating
  codegens static array size after instantiating
  doesn't crash on generic type restriction with initially no subtypes (#8411)
  doesn't crash on generic type restriction with initially no subtypes (#8411)
  instantiates generic class with default argument in initialize (#394)
  instantiates generic class with default argument in initialize (#394)
  allows initializing instance variable in inherited generic type
  allows initializing instance variable in inherited generic type
  codegens virtual generic metaclass macro method call
  codegens virtual generic metaclass macro method call
  doesn't crash on generic type restriction with no subtypes (#7583)
  doesn't crash on generic type restriction with no subtypes (#7583)
  doesn't run generic instance var initializers in formal superclass's context (#4753)
  doesn't run generic instance var initializers in formal superclass's context (#4753)
  runs generic instance var initializers in superclass's metaclass context (2) (#6482)
  runs generic instance var initializers in superclass's metaclass context (2) (#6482)
  doesn't use virtual + in type arguments for Tuple (#2839)
  doesn't use virtual + in type arguments for Tuple (#2839)
  allows initializing instance variable (#665)
  allows initializing instance variable (#665)
Code gen: array literal spec
  creates custom non-generic array in module
  creates custom non-generic array in module
  creates custom generic array via alias (2)
  creates custom generic array via alias (2)
  creates custom generic array
  creates custom generic array
  creates custom non-generic array in nested module
  creates custom non-generic array in nested module
  creates typed array  creates typed array  creates typed array  creates typed array  creates typed array  creates typed array  creates typed array  creates typed array  creates typed array
  creates typed array
  creates custom non-generic array, with splats
  creates custom non-generic array, with splats
  creates custom generic array with type var
  creates custom generic array with type var
  creates custom generic array via alias
  creates custom generic array via alias
  assignment in array literal works  assignment in array literal works  assignment in array literal works  assignment in array literal works  assignment in array literal works  assignment in array literal works  assignment in array literal works  assignment in array literal works  assignment in array literal works
  assignment in array literal works
  creates custom generic array in module (#5684)
  creates custom generic array in module (#5684)
  creates custom generic array, with splats
  creates custom generic array, with splats
  assignment in array-like literal works  assignment in array-like literal works  assignment in array-like literal works  assignment in array-like literal works  assignment in array-like literal works  assignment in array-like literal works  assignment in array-like literal works  assignment in array-like literal works  assignment in array-like literal works
  assignment in array-like literal works
  creates custom non-generic array
  creates custom non-generic array
Normalize: proc pointer
  normalizes proc pointer with parameters, without object
  normalizes proc pointer with parameters, without object
  normalizes proc pointer with const receiver
  normalizes proc pointer with const receiver
  normalizes proc pointer with global const receiver
  normalizes proc pointer with global const receiver
  normalizes proc pointer with ivar receiver
  normalizes proc pointer with ivar receiver
  normalizes proc pointer with cvar receiver
  normalizes proc pointer with cvar receiver
  normalizes proc pointer with variable receiver
  normalizes proc pointer with variable receiver
  normalizes proc pointer without object
  normalizes proc pointer without object
  normalizes proc pointer of global call
  normalizes proc pointer of global call
Semantic: if
  types an if with else of different type
  types an if with else of different type
  doesn't fail on new variables inside typeof condition
  doesn't fail on new variables inside typeof condition
  restricts || of more than 2 clauses (#8864)
  restricts || of more than 2 clauses (#8864)
  doesn't filter and recombine when variables don't change in if
  doesn't filter and recombine when variables don't change in if
  passes bug (related to #1729)
  passes bug (related to #1729)
  doesn't consider nil type in else branch with if with && (#7434)
  doesn't consider nil type in else branch with if with && (#7434)
  types variable after unreachable else of && (#3360)
  types variable after unreachable else of && (#3360)
  doesn't fail on Expressions condition (1)
  doesn't fail on Expressions condition (1)
  restricts && else in sub && (right)
  restricts && else in sub && (right)
  restricts type with !var.is_a?(...) and &&
  restricts type with !var.is_a?(...) and &&
  doesn't restrict || else in sub && (right)
  doesn't restrict || else in sub && (right)
  restricts with || but doesn't unify types to base class
  restricts with || but doesn't unify types to base class
  doesn't restrict with || on different vars
  doesn't restrict with || on different vars
  types an if without else
  types an if without else
  types an if with else of same type
  types an if with else of same type
  restricts || else in sub || (left)
  restricts || else in sub || (left)
  restricts || else (1) (#3266)
  restricts || else (1) (#3266)
  doesn't fail on nested conditionals inside typeof condition
  doesn't fail on nested conditionals inside typeof condition
  doesn't restrict || else in sub && (left)
  doesn't restrict || else in sub && (left)
  restricts with || (#2464)
  restricts with || (#2464)
  restricts type with !var and ||
  restricts type with !var and ||
  restricts && of !var.is_a(...)
  restricts && of !var.is_a(...)
  restricts the type of the right hand side of an || when using is_a? (#1728)
  restricts the type of the right hand side of an || when using is_a? (#1728)
  correctly filters type of variable if there's a raise with an interpolation that can't be typed
  correctly filters type of variable if there's a raise with an interpolation that can't be typed
  doesn't fail on Expressions condition (2)
  doesn't fail on Expressions condition (2)
  restricts || else (2) (#3266)
  restricts || else (2) (#3266)
  restricts and doesn't unify union types
  restricts and doesn't unify union types
  errors if requires inside if
  errors if requires inside if
  types `if` with `&&` and assignment
  types `if` with `&&` and assignment
  restricts with && always falsey
  restricts with && always falsey
  can invoke method on var that is declared on the right hand side of an and
  can invoke method on var that is declared on the right hand side of an and
  doesn't restrict with || on var and non-restricting condition
  doesn't restrict with || on var and non-restricting condition
  restricts || else (3) (#3266)
  restricts || else (3) (#3266)
  restricts && else in sub && (left)
  restricts && else in sub && (left)
  includes pointer types in falsey branch
  includes pointer types in falsey branch
  restricts type with !var.is_a?(...) and ||
  restricts type with !var.is_a?(...) and ||
  restricts || else in sub || (right)
  restricts || else in sub || (right)
.validate_name
  digits
  digits
  empty
  empty
  underscores
  underscores
  dashes
  dashes
  uppercase
  uppercase
  invalid character
  invalid character
  length
  length
Call errors
  says type mismatch for symbol against enum (did you mean)
  says type mismatch for symbol against enum (did you mean)
  replaces generic type var in named argument
  replaces generic type var in named argument
  says type mismatch for positional argument with two options
  says type mismatch for positional argument with two options
  says missing named arguments
  says missing named arguments
  says no parameter named
  says no parameter named
  says missing named argument
  says missing named argument
  says argument already specified
  says argument already specified
  says type mismatch for positional argument
  says type mismatch for positional argument
  replaces free variables in positional argument
  replaces free variables in positional argument
  errors on argument if argument matches in all overloads but with different types in other arguments
  errors on argument if argument matches in all overloads but with different types in other arguments
  says type mismatch for positional argument even if there are overloads that don't match
  says type mismatch for positional argument even if there are overloads that don't match
  errors on argument if more types are given than expected
  errors on argument if more types are given than expected
  replaces generic type var in positional argument
  replaces generic type var in positional argument
  method signatures in error traces
    expands single splat argument
    expands single splat argument
    expands positional and single splat argument
    expands positional and single splat argument
    expands positional and single splat argument, more elements
    expands positional and single splat argument, more elements
    expands double splat argument, more elements
    expands double splat argument, more elements
    uses `T.method` instead of `T.class#method`
    uses `T.method` instead of `T.class#method`
    includes positional and named argument
    includes positional and named argument
    expands positional and double splat argument, more elements
    expands positional and double splat argument, more elements
    expands single splat argument, more elements
    expands single splat argument, more elements
    includes named argument
    includes named argument
    uses `T.method` instead of `T:module#method`
    uses `T.method` instead of `T:module#method`
    expands positional and double splat argument, empty named tuple
    expands positional and double splat argument, empty named tuple
    expands positional and double splat argument
    expands positional and double splat argument
    expands single splat argument, empty tuple
    expands single splat argument, empty tuple
    includes named arguments
    includes named arguments
    expands double splat argument
    expands double splat argument
    expands double splat argument, empty named tuple
    expands double splat argument, empty named tuple
    expands positional and single splat argument, empty tuple
    expands positional and single splat argument, empty tuple
  says type mismatch for positional argument with three options
  says type mismatch for positional argument with three options
  says no parameters named
  says no parameters named
  says not expected to be invoked with a block
  says not expected to be invoked with a block
  says wrong number of arguments even if other overloads don't match by block
  says wrong number of arguments even if other overloads don't match by block
  says type mismatch for symbol against enum (list all possibilities when 10 or less)
  says type mismatch for symbol against enum (list all possibilities when 10 or less)
  says type mismatch for symbol against enum, named argument case
  says type mismatch for symbol against enum, named argument case
  errors on argument if more types are given than expected, shows all expected types
  errors on argument if more types are given than expected, shows all expected types
  says type mismatch for named argument 
  says type mismatch for named argument 
  says expected to be invoked with a block
  says expected to be invoked with a block
  says wrong number of arguments (to few arguments)
  says wrong number of arguments (to few arguments)
  replaces free variables in named argument
  replaces free variables in named argument
Crystal::Repl::Interpreter
  pointers
    pointerof class var
    pointerof class var
    pointerof read `StaticArray#@buffer` (1)
    pointerof read `StaticArray#@buffer` (1)
    interprets pointer diff, negative
    interprets pointer diff, negative
    pointerof instance var
    pointerof instance var
    interprets pointerof, mutates pointer, read var
    interprets pointerof, mutates pointer, read var
    interprets pointer set and get (union type, setter value)
    interprets pointer set and get (union type, setter value)
    interprets pointer diff
    interprets pointer diff
    interprets pointer set and get (union type)
    interprets pointer set and get (union type)
    discards pointer diff
    discards pointer diff
    interprets pointerof and mutates memory (there are more variables)
    interprets pointerof and mutates memory (there are more variables)
    discards pointerof
    discards pointerof
    discards pointer malloc
    discards pointer malloc
    interprets pointer set and get (bool)
    interprets pointer set and get (bool)
    interprets pointer realloc
    interprets pointer realloc
    interprets pointer set and get (int)
    interprets pointer set and get (int)
    interprets pointer set and get (clear stack)
    interprets pointer set and get (clear stack)
    pointerof read instance var
    pointerof read instance var
    pointerof read `StaticArray#@buffer` (2)
    pointerof read `StaticArray#@buffer` (2)
    interprets pointer new and pointer address
    interprets pointer new and pointer address
    interprets pointerof, mutates var, read pointer
    interprets pointerof, mutates var, read pointer
    discards pointer get
    discards pointer get
    discards pointer set
    discards pointer set
    interprets nilable pointer truthiness
    interprets nilable pointer truthiness
    discards pointer add
    discards pointer add
    discards pointer new
    discards pointer new
    interprets pointer realloc wrapper
    interprets pointer realloc wrapper
    discards pointer realloc
    discards pointer realloc
    interprets pointer add
    interprets pointer add
Semantic: class var
  allows class var in primitive types (#612)
  allows class var in primitive types (#612)
  errors if using self as type var but there's no self
  errors if using self as type var but there's no self
  errors if redefining class var type in subclass
  errors if redefining class var type in subclass
  declares class variable
  declares class variable
  types as nilable if doesn't have initializer
  types as nilable if doesn't have initializer
  can find class var in subclass
  can find class var in subclass
  errors if using class variable at the top level
  errors if using class variable at the top level
  errors if redefining class var type in included module
  errors if redefining class var type in included module
  types class var
  types class var
  says undefined class variable
  says undefined class variable
  errors if redefining class var type in subclass, with guess
  errors if redefining class var type in subclass, with guess
  errors when typing a class variable inside a method
  errors when typing a class variable inside a method
  allows self.class as type var in class body (#537)
  allows self.class as type var in class body (#537)
  gives correct error when trying to use Int as a class variable type
  gives correct error when trying to use Int as a class variable type
  errors on undefined constant (2)
  errors on undefined constant (2)
  infers type from T.new
  infers type from T.new
  declares uninitialized (#2935)
  declares uninitialized (#2935)
  types class var inside instance method
  types class var inside instance method
  doesn't error if accessing class variable before defined (#2941)
  doesn't error if accessing class variable before defined (#2941)
  declares class var in generic class
  declares class var in generic class
  declares class variable (2)
  declares class variable (2)
  errors on undefined constant (1)
  errors on undefined constant (1)
  can access constant from generic metaclass (#3719)
  can access constant from generic metaclass (#3719)
  infers in multiple assign for tuple type (1)
  infers in multiple assign for tuple type (1)
  errors if class variable not nilable without initializer
  errors if class variable not nilable without initializer
  doesn't error on recursive dependency if var is nilable (#2943)
  doesn't error on recursive dependency if var is nilable (#2943)
  declares class var in generic module
  declares class var in generic module
  redefines class variable type
  redefines class variable type
  errors if using local variable in initializer
  errors if using local variable in initializer
  types class var as nil if not assigned at the top level
  types class var as nil if not assigned at the top level
  infers type from number literal
  infers type from number literal
  errors when using Class (#2605)
  errors when using Class (#2605)
  types class var inside proc literal inside class
  types class var inside proc literal inside class
  can find class var through included module
  can find class var through included module
  can assign to class variable if this type can be up-casted to ancestors class variable type (#4869)
  can assign to class variable if this type can be up-casted to ancestors class variable type (#4869)
  types class var as nil if assigned for the first time inside method (#2059)
  types class var as nil if assigned for the first time inside method (#2059)
Code gen: exception
  rescues with types defaults to generic rescue  rescues with types defaults to generic rescue  rescues with types defaults to generic rescue  rescues with types defaults to generic rescue  rescues with types defaults to generic rescue  rescues with types defaults to generic rescue  rescues with types defaults to generic rescue  rescues with types defaults to generic rescue  rescues with types defaults to generic rescue
  rescues with types defaults to generic rescue
  executes ensure of next inside while inside body  executes ensure of next inside while inside body  executes ensure of next inside while inside body  executes ensure of next inside while inside body  executes ensure of next inside while inside body  executes ensure of next inside while inside body  executes ensure of next inside while inside body  executes ensure of next inside while inside body  executes ensure of next inside while inside body
  executes ensure of next inside while inside body
  can use argument in rescue, with a different type (2) (#2844)  can use argument in rescue, with a different type (2) (#2844)  can use argument in rescue, with a different type (2) (#2844)  can use argument in rescue, with a different type (2) (#2844)  can use argument in rescue, with a different type (2) (#2844)  can use argument in rescue, with a different type (2) (#2844)  can use argument in rescue, with a different type (2) (#2844)  can use argument in rescue, with a different type (2) (#2844)  can use argument in rescue, with a different type (2) (#2844)
  can use argument in rescue, with a different type (2) (#2844)
  executes ensure of break inside while inside rescue  executes ensure of break inside while inside rescue  executes ensure of break inside while inside rescue  executes ensure of break inside while inside rescue  executes ensure of break inside while inside rescue  executes ensure of break inside while inside rescue  executes ensure of break inside while inside rescue  executes ensure of break inside while inside rescue  executes ensure of break inside while inside rescue
  executes ensure of break inside while inside rescue
  executes ensure when exception is unhandled (1)  executes ensure when exception is unhandled (1)  executes ensure when exception is unhandled (1)  executes ensure when exception is unhandled (1)  executes ensure when exception is unhandled (1)  executes ensure when exception is unhandled (1)  executes ensure when exception is unhandled (1)  executes ensure when exception is unhandled (1)  executes ensure when exception is unhandled (1)
  executes ensure when exception is unhandled (1)
  codegens exception handler with return  codegens exception handler with return  codegens exception handler with return  codegens exception handler with return  codegens exception handler with return  codegens exception handler with return  codegens exception handler with return  codegens exception handler with return  codegens exception handler with return
  codegens exception handler with return
  can use argument in rescue (#2844)  can use argument in rescue (#2844)  can use argument in rescue (#2844)  can use argument in rescue (#2844)  can use argument in rescue (#2844)  can use argument in rescue (#2844)  can use argument in rescue (#2844)  can use argument in rescue (#2844)  can use argument in rescue (#2844)
  can use argument in rescue (#2844)
  receives exception object  receives exception object  receives exception object  receives exception object  receives exception object  receives exception object  receives exception object  receives exception object  receives exception object
  receives exception object
  executes ensure when exception is raised (2)  executes ensure when exception is raised (2)  executes ensure when exception is raised (2)  executes ensure when exception is raised (2)  executes ensure when exception is raised (2)  executes ensure when exception is raised (2)  executes ensure when exception is raised (2)  executes ensure when exception is raised (2)  executes ensure when exception is raised (2)
  executes ensure when exception is raised (2)
  types parenthesized expression (#5511)  types parenthesized expression (#5511)  types parenthesized expression (#5511)  types parenthesized expression (#5511)  types parenthesized expression (#5511)  types parenthesized expression (#5511)  types parenthesized expression (#5511)  types parenthesized expression (#5511)  types parenthesized expression (#5511)
  types parenthesized expression (#5511)
  doesn't execute else if exception is raised (2)  doesn't execute else if exception is raised (2)  doesn't execute else if exception is raised (2)  doesn't execute else if exception is raised (2)  doesn't execute else if exception is raised (2)  doesn't execute else if exception is raised (2)  doesn't execute else if exception is raised (2)  doesn't execute else if exception is raised (2)  doesn't execute else if exception is raised (2)
  doesn't execute else if exception is raised (2)
  codegens return from rescue with value  codegens return from rescue with value  codegens return from rescue with value  codegens return from rescue with value  codegens return from rescue with value  codegens return from rescue with value  codegens return from rescue with value  codegens return from rescue with value  codegens return from rescue with value
  codegens return from rescue with value
  rescues a valid nested union  rescues a valid nested union  rescues a valid nested union  rescues a valid nested union  rescues a valid nested union  rescues a valid nested union  rescues a valid nested union  rescues a valid nested union  rescues a valid nested union
  rescues a valid nested union
  executes ensure of break inside while inside body with nested handlers  executes ensure of break inside while inside body with nested handlers  executes ensure of break inside while inside body with nested handlers  executes ensure of break inside while inside body with nested handlers  executes ensure of break inside while inside body with nested handlers  executes ensure of break inside while inside body with nested handlers  executes ensure of break inside while inside body with nested handlers  executes ensure of break inside while inside body with nested handlers  executes ensure of break inside while inside body with nested handlers
  executes ensure of break inside while inside body with nested handlers
  doesn't crash on #1988  doesn't crash on #1988  doesn't crash on #1988  doesn't crash on #1988  doesn't crash on #1988  doesn't crash on #1988  doesn't crash on #1988  doesn't crash on #1988  doesn't crash on #1988
  doesn't crash on #1988
  doesn't execute else if exception is raised conditionally (1)  doesn't execute else if exception is raised conditionally (1)  doesn't execute else if exception is raised conditionally (1)  doesn't execute else if exception is raised conditionally (1)  doesn't execute else if exception is raised conditionally (1)  doesn't execute else if exception is raised conditionally (1)  doesn't execute else if exception is raised conditionally (1)  doesn't execute else if exception is raised conditionally (1)  doesn't execute else if exception is raised conditionally (1)
  doesn't execute else if exception is raised conditionally (1)
  does ensure after rescue which returns (#171)  does ensure after rescue which returns (#171)  does ensure after rescue which returns (#171)  does ensure after rescue which returns (#171)  does ensure after rescue which returns (#171)  does ensure after rescue which returns (#171)  does ensure after rescue which returns (#171)  does ensure after rescue which returns (#171)  does ensure after rescue which returns (#171)
  does ensure after rescue which returns (#171)
  does not rescue just any module  does not rescue just any module  does not rescue just any module  does not rescue just any module  does not rescue just any module  does not rescue just any module  does not rescue just any module  does not rescue just any module  does not rescue just any module
  does not rescue just any module
  executes ensure of next inside block  executes ensure of next inside block  executes ensure of next inside block  executes ensure of next inside block  executes ensure of next inside block  executes ensure of next inside block  executes ensure of next inside block  executes ensure of next inside block  executes ensure of next inside block
  executes ensure of next inside block
  executes ensure when the main block returns  executes ensure when the main block returns  executes ensure when the main block returns  executes ensure when the main block returns  executes ensure when the main block returns  executes ensure when the main block returns  executes ensure when the main block returns  executes ensure when the main block returns  executes ensure when the main block returns
  executes ensure when the main block returns
  can use argument in rescue, with a different type (1) (#2844)  can use argument in rescue, with a different type (1) (#2844)  can use argument in rescue, with a different type (1) (#2844)  can use argument in rescue, with a different type (1) (#2844)  can use argument in rescue, with a different type (1) (#2844)  can use argument in rescue, with a different type (1) (#2844)  can use argument in rescue, with a different type (1) (#2844)  can use argument in rescue, with a different type (1) (#2844)  can use argument in rescue, with a different type (1) (#2844)
  can use argument in rescue, with a different type (1) (#2844)
  executes ensure when exception is raised (1)  executes ensure when exception is raised (1)  executes ensure when exception is raised (1)  executes ensure when exception is raised (1)  executes ensure when exception is raised (1)  executes ensure when exception is raised (1)  executes ensure when exception is raised (1)  executes ensure when exception is raised (1)  executes ensure when exception is raised (1)
  executes ensure when exception is raised (1)
  handles exception in outer block (2)  handles exception in outer block (2)  handles exception in outer block (2)  handles exception in outer block (2)  handles exception in outer block (2)  handles exception in outer block (2)  handles exception in outer block (2)  handles exception in outer block (2)  handles exception in outer block (2)
  handles exception in outer block (2)
  executes else if no exception is raised (2)  executes else if no exception is raised (2)  executes else if no exception is raised (2)  executes else if no exception is raised (2)  executes else if no exception is raised (2)  executes else if no exception is raised (2)  executes else if no exception is raised (2)  executes else if no exception is raised (2)  executes else if no exception is raised (2)
  executes else if no exception is raised (2)
  executes ensure when raising inside rescue  executes ensure when raising inside rescue  executes ensure when raising inside rescue  executes ensure when raising inside rescue  executes ensure when raising inside rescue  executes ensure when raising inside rescue  executes ensure when raising inside rescue  executes ensure when raising inside rescue  executes ensure when raising inside rescue
  executes ensure when raising inside rescue
  executes ensure when no exception is raised (1)  executes ensure when no exception is raised (1)  executes ensure when no exception is raised (1)  executes ensure when no exception is raised (1)  executes ensure when no exception is raised (1)  executes ensure when no exception is raised (1)  executes ensure when no exception is raised (1)  executes ensure when no exception is raised (1)  executes ensure when no exception is raised (1)
  executes ensure when no exception is raised (1)
  runs NoReturn ensure (#3082)  runs NoReturn ensure (#3082)  runs NoReturn ensure (#3082)  runs NoReturn ensure (#3082)  runs NoReturn ensure (#3082)  runs NoReturn ensure (#3082)  runs NoReturn ensure (#3082)  runs NoReturn ensure (#3082)  runs NoReturn ensure (#3082)
  runs NoReturn ensure (#3082)
  doesn't execute else if exception is raised conditionally (2)  doesn't execute else if exception is raised conditionally (2)  doesn't execute else if exception is raised conditionally (2)  doesn't execute else if exception is raised conditionally (2)  doesn't execute else if exception is raised conditionally (2)  doesn't execute else if exception is raised conditionally (2)  doesn't execute else if exception is raised conditionally (2)  doesn't execute else if exception is raised conditionally (2)  doesn't execute else if exception is raised conditionally (2)
  doesn't execute else if exception is raised conditionally (2)
  executes ensure of next inside block  executes ensure of next inside block  executes ensure of next inside block  executes ensure of next inside block  executes ensure of next inside block  executes ensure of next inside block  executes ensure of next inside block  executes ensure of next inside block  executes ensure of next inside block
  executes ensure of next inside block
  executes ensure of calling method when doing break inside block (#1233)  executes ensure of calling method when doing break inside block (#1233)  executes ensure of calling method when doing break inside block (#1233)  executes ensure of calling method when doing break inside block (#1233)  executes ensure of calling method when doing break inside block (#1233)  executes ensure of calling method when doing break inside block (#1233)  executes ensure of calling method when doing break inside block (#1233)  executes ensure of calling method when doing break inside block (#1233)  executes ensure of calling method when doing break inside block (#1233)
  executes ensure of calling method when doing break inside block (#1233)
  can result into union (1)  can result into union (1)  can result into union (1)  can result into union (1)  can result into union (1)  can result into union (1)  can result into union (1)  can result into union (1)  can result into union (1)
  can result into union (1)
  ensure without rescue  ensure without rescue  ensure without rescue  ensure without rescue  ensure without rescue  ensure without rescue  ensure without rescue  ensure without rescue  ensure without rescue
  ensure without rescue
  codegens issue #118 (2)
  codegens issue #118 (2)
  handles nested exceptions  handles nested exceptions  handles nested exceptions  handles nested exceptions  handles nested exceptions  handles nested exceptions  handles nested exceptions  handles nested exceptions  handles nested exceptions
  handles nested exceptions
  executes ensure from return until target  executes ensure from return until target  executes ensure from return until target  executes ensure from return until target  executes ensure from return until target  executes ensure from return until target  executes ensure from return until target  executes ensure from return until target  executes ensure from return until target
  executes ensure from return until target
  closures rescue variable (#8141)
  closures rescue variable (#8141)
  executes rescue if something is raised unconditionally  executes rescue if something is raised unconditionally  executes rescue if something is raised unconditionally  executes rescue if something is raised unconditionally  executes rescue if something is raised unconditionally  executes rescue if something is raised unconditionally  executes rescue if something is raised unconditionally  executes rescue if something is raised unconditionally  executes rescue if something is raised unconditionally
  executes rescue if something is raised unconditionally
  executes ensure of break inside while inside body  executes ensure of break inside while inside body  executes ensure of break inside while inside body  executes ensure of break inside while inside body  executes ensure of break inside while inside body  executes ensure of break inside while inside body  executes ensure of break inside while inside body  executes ensure of break inside while inside body  executes ensure of break inside while inside body
  executes ensure of break inside while inside body
  handles subclass  handles subclass  handles subclass  handles subclass  handles subclass  handles subclass  handles subclass  handles subclass  handles subclass
  handles subclass
  executes ensure when no exception is raised (2)  executes ensure when no exception is raised (2)  executes ensure when no exception is raised (2)  executes ensure when no exception is raised (2)  executes ensure when no exception is raised (2)  executes ensure when no exception is raised (2)  executes ensure when no exception is raised (2)  executes ensure when no exception is raised (2)  executes ensure when no exception is raised (2)
  executes ensure when no exception is raised (2)
  executes rescue if something is raised conditionally  executes rescue if something is raised conditionally  executes rescue if something is raised conditionally  executes rescue if something is raised conditionally  executes rescue if something is raised conditionally  executes rescue if something is raised conditionally  executes rescue if something is raised conditionally  executes rescue if something is raised conditionally  executes rescue if something is raised conditionally
  executes rescue if something is raised conditionally
  does not rescue just any union  does not rescue just any union  does not rescue just any union  does not rescue just any union  does not rescue just any union  does not rescue just any union  does not rescue just any union  does not rescue just any union  does not rescue just any union
  does not rescue just any union
  can result into union (2)  can result into union (2)  can result into union (2)  can result into union (2)  can result into union (2)  can result into union (2)  can result into union (2)  can result into union (2)  can result into union (2)
  can result into union (2)
  handle multiple exception types (1)  handle multiple exception types (1)  handle multiple exception types (1)  handle multiple exception types (1)  handle multiple exception types (1)  handle multiple exception types (1)  handle multiple exception types (1)  handle multiple exception types (1)  handle multiple exception types (1)
  handle multiple exception types (1)
  executes ensure of break inside while inside body with block  executes ensure of break inside while inside body with block  executes ensure of break inside while inside body with block  executes ensure of break inside while inside body with block  executes ensure of break inside while inside body with block  executes ensure of break inside while inside body with block  executes ensure of break inside while inside body with block  executes ensure of break inside while inside body with block  executes ensure of break inside while inside body with block
  executes ensure of break inside while inside body with block
  executes return inside rescue, executing ensure  executes return inside rescue, executing ensure  executes return inside rescue, executing ensure  executes return inside rescue, executing ensure  executes return inside rescue, executing ensure  executes return inside rescue, executing ensure  executes return inside rescue, executing ensure  executes return inside rescue, executing ensure  executes return inside rescue, executing ensure
  executes return inside rescue, executing ensure
  handles rescuing union between module types  handles rescuing union between module types  handles rescuing union between module types  handles rescuing union between module types  handles rescuing union between module types  handles rescuing union between module types  handles rescuing union between module types  handles rescuing union between module types  handles rescuing union between module types
  handles rescuing union between module types
  handle exception raised by proc literal  handle exception raised by proc literal  handle exception raised by proc literal  handle exception raised by proc literal  handle exception raised by proc literal  handle exception raised by proc literal  handle exception raised by proc literal  handle exception raised by proc literal  handle exception raised by proc literal
  handle exception raised by proc literal
  executes ensure from return until target  executes ensure from return until target  executes ensure from return until target  executes ensure from return until target  executes ensure from return until target  executes ensure from return until target  executes ensure from return until target  executes ensure from return until target  executes ensure from return until target
  executes ensure from return until target
  handles rescuing module type  handles rescuing module type  handles rescuing module type  handles rescuing module type  handles rescuing module type  handles rescuing module type  handles rescuing module type  handles rescuing module type  handles rescuing module type
  handles rescuing module type
  executes ensure of break inside block  executes ensure of break inside block  executes ensure of break inside block  executes ensure of break inside block  executes ensure of break inside block  executes ensure of break inside block  executes ensure of break inside block  executes ensure of break inside block  executes ensure of break inside block
  executes ensure of break inside block
  can rescue TypeCastError (#2607)  can rescue TypeCastError (#2607)  can rescue TypeCastError (#2607)  can rescue TypeCastError (#2607)  can rescue TypeCastError (#2607)  can rescue TypeCastError (#2607)  can rescue TypeCastError (#2607)  can rescue TypeCastError (#2607)  can rescue TypeCastError (#2607)
  can rescue TypeCastError (#2607)
  catches exception thrown by as inside method (#4030)  catches exception thrown by as inside method (#4030)  catches exception thrown by as inside method (#4030)  catches exception thrown by as inside method (#4030)  catches exception thrown by as inside method (#4030)  catches exception thrown by as inside method (#4030)  catches exception thrown by as inside method (#4030)  catches exception thrown by as inside method (#4030)  catches exception thrown by as inside method (#4030)
  catches exception thrown by as inside method (#4030)
  codegens issue #118 (1)
  codegens issue #118 (1)
  executes ensure of break inside while inside else  executes ensure of break inside while inside else  executes ensure of break inside while inside else  executes ensure of break inside while inside else  executes ensure of break inside while inside else  executes ensure of break inside while inside else  executes ensure of break inside while inside else  executes ensure of break inside while inside else  executes ensure of break inside while inside else
  executes ensure of break inside while inside else
  executes ensure when exception is unhandled (2)  executes ensure when exception is unhandled (2)  executes ensure when exception is unhandled (2)  executes ensure when exception is unhandled (2)  executes ensure when exception is unhandled (2)  executes ensure when exception is unhandled (2)  executes ensure when exception is unhandled (2)  executes ensure when exception is unhandled (2)  executes ensure when exception is unhandled (2)
  executes ensure when exception is unhandled (2)
  uses exception after rescue  uses exception after rescue  uses exception after rescue  uses exception after rescue  uses exception after rescue  uses exception after rescue  uses exception after rescue  uses exception after rescue  uses exception after rescue
  uses exception after rescue
  runs #2441  runs #2441  runs #2441  runs #2441  runs #2441  runs #2441  runs #2441  runs #2441  runs #2441
  runs #2441
  doesn't execute else if exception is raised (1)  doesn't execute else if exception is raised (1)  doesn't execute else if exception is raised (1)  doesn't execute else if exception is raised (1)  doesn't execute else if exception is raised (1)  doesn't execute else if exception is raised (1)  doesn't execute else if exception is raised (1)  doesn't execute else if exception is raised (1)  doesn't execute else if exception is raised (1)
  doesn't execute else if exception is raised (1)
  codegens rescue specific leaf exception  codegens rescue specific leaf exception  codegens rescue specific leaf exception  codegens rescue specific leaf exception  codegens rescue specific leaf exception  codegens rescue specific leaf exception  codegens rescue specific leaf exception  codegens rescue specific leaf exception  codegens rescue specific leaf exception
  codegens rescue specific leaf exception
  executes ensure when the main block returns  executes ensure when the main block returns  executes ensure when the main block returns  executes ensure when the main block returns  executes ensure when the main block returns  executes ensure when the main block returns  executes ensure when the main block returns  executes ensure when the main block returns  executes ensure when the main block returns
  executes ensure when the main block returns
  executes body if nothing raised (1)  executes body if nothing raised (1)  executes body if nothing raised (1)  executes body if nothing raised (1)  executes body if nothing raised (1)  executes body if nothing raised (1)  executes body if nothing raised (1)  executes body if nothing raised (1)  executes body if nothing raised (1)
  executes body if nothing raised (1)
  executes else if no exception is raised (1)  executes else if no exception is raised (1)  executes else if no exception is raised (1)  executes else if no exception is raised (1)  executes else if no exception is raised (1)  executes else if no exception is raised (1)  executes else if no exception is raised (1)  executes else if no exception is raised (1)  executes else if no exception is raised (1)
  executes else if no exception is raised (1)
  handle multiple exception types (2)  handle multiple exception types (2)  handle multiple exception types (2)  handle multiple exception types (2)  handle multiple exception types (2)  handle multiple exception types (2)  handle multiple exception types (2)  handle multiple exception types (2)  handle multiple exception types (2)
  handle multiple exception types (2)
  propagates raise status (#2074)  propagates raise status (#2074)  propagates raise status (#2074)  propagates raise status (#2074)  propagates raise status (#2074)  propagates raise status (#2074)  propagates raise status (#2074)  propagates raise status (#2074)  propagates raise status (#2074)
  propagates raise status (#2074)
  rescues with type  rescues with type  rescues with type  rescues with type  rescues with type  rescues with type  rescues with type  rescues with type  rescues with type
  rescues with type
  rescues a valid union  rescues a valid union  rescues a valid union  rescues a valid union  rescues a valid union  rescues a valid union  rescues a valid union  rescues a valid union  rescues a valid union
  rescues a valid union
  executes ensure when the main block yields and returns  executes ensure when the main block yields and returns  executes ensure when the main block yields and returns  executes ensure when the main block yields and returns  executes ensure when the main block yields and returns  executes ensure when the main block yields and returns  executes ensure when the main block yields and returns  executes ensure when the main block yields and returns  executes ensure when the main block yields and returns
  executes ensure when the main block yields and returns
  doesn't codegen duplicated ensure if unreachable (#709)
  doesn't codegen duplicated ensure if unreachable (#709)
  captures exception thrown from proc  captures exception thrown from proc  captures exception thrown from proc  captures exception thrown from proc  captures exception thrown from proc  captures exception thrown from proc  captures exception thrown from proc  captures exception thrown from proc  captures exception thrown from proc
  captures exception thrown from proc
  handles rescuing union between module type and class type  handles rescuing union between module type and class type  handles rescuing union between module type and class type  handles rescuing union between module type and class type  handles rescuing union between module type and class type  handles rescuing union between module type and class type  handles rescuing union between module type and class type  handles rescuing union between module type and class type  handles rescuing union between module type and class type
  handles rescuing union between module type and class type
  handles exception in outer block (1)  handles exception in outer block (1)  handles exception in outer block (1)  handles exception in outer block (1)  handles exception in outer block (1)  handles exception in outer block (1)  handles exception in outer block (1)  handles exception in outer block (1)  handles exception in outer block (1)
  handles exception in outer block (1)
Normalize: regex literal
  StringLiteral
    expands to const
    expands to const
    simple
    simple
  options
    im
    im
    empty
    empty
    i
    i
    x
    x
    imx
    imx
  StringInterpolation
    simple
    simple
Crystal::Doc::Macro
  args_to_s
    shows simple arg and double splat arg
    shows simple arg and double splat arg
    shows simple args
    shows simple args
    shows simple arg and splat arg
    shows simple arg and splat arg
    shows external name of arg with quotes and escaping
    shows external name of arg with quotes and escaping
    shows external name of arg
    shows external name of arg
    shows simple arg and block arg
    shows simple arg and block arg
    shows block arg
    shows block arg
    shows double splat arg
    shows double splat arg
    shows default value with highlighting
    shows default value with highlighting
    shows double splat arg
    shows double splat arg
    shows splat arg
    shows splat arg
Code gen: debug
  correctly restores debug location after fun change (#4254)
  correctly restores debug location after fun change (#4254)
  has debug info in closure inside if (#5593)
  has debug info in closure inside if (#5593)
  stores and restores debug location after jumping to main (3)
  stores and restores debug location after jumping to main (3)
  codegens extern union (#7335)
  codegens extern union (#7335)
  stores and restores debug location after jumping to main (2)
  stores and restores debug location after jumping to main (2)
  doesn't emit incorrect debug info for closured self
  doesn't emit incorrect debug info for closured self
  codegens abstract struct (#3578)
  codegens abstract struct (#3578)
  doesn't fail on constant read calls (#11416)
  doesn't fail on constant read calls (#11416)
  codegens lib union (#7335)
  codegens lib union (#7335)
  has correct debug location after constant initialization in call with block (#4719)
  has correct debug location after constant initialization in call with block (#4719)
  codegens correct debug info for new with custom allocate (#3945)
  codegens correct debug info for new with custom allocate (#3945)
  stores and restores debug location after jumping to main (#6920)
  stores and restores debug location after jumping to main (#6920)
  codegens correct debug info for untyped expression (#4007 and #4008)
  codegens correct debug info for untyped expression (#4007 and #4008)
  doesn't fail on splat expansions inside array-like literals  doesn't fail on splat expansions inside array-like literals  doesn't fail on splat expansions inside array-like literals  doesn't fail on splat expansions inside array-like literals  doesn't fail on splat expansions inside array-like literals  doesn't fail on splat expansions inside array-like literals  doesn't fail on splat expansions inside array-like literals  doesn't fail on splat expansions inside array-like literals  doesn't fail on splat expansions inside array-like literals
  doesn't fail on splat expansions inside array-like literals
  doesn't emit debug info for unused variable declarations (#9882)
  doesn't emit debug info for unused variable declarations (#9882)
  inlines instance var access through getter in debug mode
  inlines instance var access through getter in debug mode
Lexer: location
  pushes and pops its location
  pushes and pops its location
  stores column numbers
  stores column numbers
  locations in same files are comparable based on line
  locations in same files are comparable based on line
  stores line numbers
  stores line numbers
  overrides location with pragma
  overrides location with pragma
  locations in different files have no order
  locations in different files have no order
  Location.parse
    raises ArgumentError if missing part
    raises ArgumentError if missing part
    parses location from string
    parses location from string
    raises ArgumentError if missing colon
    raises ArgumentError if missing colon
    raises ArgumentError if line number is invalid
    raises ArgumentError if line number is invalid
    raises ArgumentError if column number is invalid
    raises ArgumentError if column number is invalid
  locations with virtual files should be comparable
  locations with virtual files should be comparable
  assigns correct loc location to node
  assigns correct loc location to node
  parses var/call right after loc (#491)
  parses var/call right after loc (#491)
  uses two consecutive loc pragma 
  uses two consecutive loc pragma 
Crystal::Doc::MarkdDocRenderer
  renders headline
    renders "## Foo Bar\n### Sub\n## Bar Baz\n### Sub"
    renders "## Foo Bar\n### Sub\n## Bar Baz\n### Sub"
    renders "## Foo Bar"
    renders "## Foo Bar"
  renders code blocks
    renders "```\nHello\nWorld\n```"
    renders "```\nHello\nWorld\n```"
    renders "```cr\nHello\nWorld\n```"
    renders "```cr\nHello\nWorld\n```"
    renders "```crystal\nHello\nWorld\n```"
    renders "```crystal\nHello\nWorld\n```"
  renders links
    renders "[foo](http://example.com/foo)"
    renders "[foo](http://example.com/foo)"
    renders "[`Foo`](http://example.com/foo)"
    renders "[`Foo`](http://example.com/foo)"
    renders "[filter](https://docs.celestine.dev/Celestine/Meta/Context.html#filter(&block:Celestine::Filter-%3ECelestine::Filter)-instance-method)"
    renders "[filter](https://docs.celestine.dev/Celestine/Meta/Context.html#filter(&block:Celestine::Filter-%3ECelestine::Filter)-instance-method)"
  renders html
    renders "<h1 align=\"center\">Foo</h1>"
    renders "<h1 align=\"center\">Foo</h1>"
  renders code spans
    renders "`<style>`"
    renders "`<style>`"
  expand_code_links
    finds method with question mark
    finds method with question mark
    finds method with args even with empty brackets
    finds method with args even with empty brackets
    finds operator method
    finds operator method
    does not break when referencing lib type (#9928)
    does not break when referencing lib type (#9928)
    doesn't find parents' methods
    doesn't find parents' methods
    doesn't spuriously match range literals
    doesn't spuriously match range literals
    finds types from base
    finds types from base
    finds sibling methods with self receiver
    finds sibling methods with self receiver
    finds operator method with unspecified args
    finds operator method with unspecified args
    doesn't find wrong absolute type
    doesn't find wrong absolute type
    finds nested type
    finds nested type
    doesn't match with different separator
    doesn't match with different separator
    finds constant
    finds constant
    finds method of an absolute type
    finds method of an absolute type
    finds method with zero args
    finds method with zero args
    doesn't find sibling methods of wrong type
    doesn't find sibling methods of wrong type
    doesn't find wrong kind of sibling methods
    doesn't find wrong kind of sibling methods
    finds method with args
    finds method with args
    doesn't find wrong kind of methods
    doesn't find wrong kind of methods
    doesn't find method with wrong number of args
    doesn't find method with wrong number of args
    finds sibling methods
    finds sibling methods
    doesn't find substrings for methods
    doesn't find substrings for methods
    matches methods on single-character class names
    matches methods on single-character class names
    finds methods of a type
    finds methods of a type
    doesn't find sibling methods with fake receiver
    doesn't find sibling methods with fake receiver
    finds method with exclamation mark
    finds method with exclamation mark
    finds multiple kinds of things
    finds multiple kinds of things
    doesn't find type not at word boundary
    doesn't find type not at word boundary
    doesn't find parents' methods
    doesn't find parents' methods
    finds multiple methods with brackets
    finds multiple methods with brackets
    finds method with unspecified args
    finds method with unspecified args
    finds absolute type
    finds absolute type
    finds types from nested
    finds types from nested
    doesn't find method with wrong number of args
    doesn't find method with wrong number of args
    finds sibling methods
    finds sibling methods
Semantic: abstract def
  errors if implementation misses the double splat
  errors if implementation misses the double splat
  errors if implementation doesn't match splat type
  errors if implementation doesn't match splat type
  errors if implementation doesn't have a keyword argument
  errors if implementation doesn't have a keyword argument
  doesn't error if implementation have default value
  doesn't error if implementation have default value
  can implement by block signature even if yield comes later in macro code
  can implement by block signature even if yield comes later in macro code
  doesn't error if abstract method is not implemented by including module
  doesn't error if abstract method is not implemented by including module
  errors if implementation adds type restriction
  errors if implementation adds type restriction
  errors if implementation doesn't match keyword argument type
  errors if implementation doesn't match keyword argument type
  errors if abstract method is not implemented by subclass
  errors if abstract method is not implemented by subclass
  doesn't error if abstract method is implemented by including class
  doesn't error if abstract method is implemented by including class
  allow splat instead of keyword argument
  allow splat instead of keyword argument
  doesn't error if implements with parent module
  doesn't error if implements with parent module
  error shows full signature of block parameter
  error shows full signature of block parameter
  doesn't error if abstract method with args is implemented by subclass (don't check subclasses)
  doesn't error if abstract method with args is implemented by subclass (don't check subclasses)
  gives correct error when no overload matches, when an abstract method is implemented (#1406)
  gives correct error when no overload matches, when an abstract method is implemented (#1406)
  matches generic return type
  matches generic return type
  errors if implementation has more keyword arguments
  errors if implementation has more keyword arguments
  allows arguments to be collapsed into splat
  allows arguments to be collapsed into splat
  errors if abstract method is not implemented by including class
  errors if abstract method is not implemented by including class
  can implement even if yield comes later in macro code
  can implement even if yield comes later in macro code
  doesn't error if implements with included module
  doesn't error if implements with included module
  errors if different return type
  errors if different return type
  doesn't error if abstract method with args is implemented by subclass (with one default arg)
  doesn't error if abstract method with args is implemented by subclass (with one default arg)
  errors if abstract method of private type is not implemented by including class
  errors if abstract method of private type is not implemented by including class
  works on abstract def on sub-subclass
  works on abstract def on sub-subclass
  errors if missing a return type in subclass of generic subclass
  errors if missing a return type in subclass of generic subclass
  doesn't error if implements with parent class
  doesn't error if implements with parent class
  errors if double splat type doesn't match
  errors if double splat type doesn't match
  errors if using abstract def on non-abstract class
  errors if using abstract def on non-abstract class
  allow double splat argument
  allow double splat argument
  extra keyword arguments must have compatible type to double splat
  extra keyword arguments must have compatible type to double splat
  errors if abstract method with arguments is not implemented by subclass (wrong type)
  errors if abstract method with arguments is not implemented by subclass (wrong type)
  errors if abstract method is not implemented by subclass of subclass
  errors if abstract method is not implemented by subclass of subclass
  errors if abstract method of private type is not implemented by subclass
  errors if abstract method of private type is not implemented by subclass
  doesn't error if implements with generic included module instance
  doesn't error if implements with generic included module instance
  can return a more specific type
  can return a more specific type
  errors if implementation doesn't have default value
  errors if implementation doesn't have default value
  matches instantiated generic types
  matches instantiated generic types
  errors if using abstract def on metaclass
  errors if using abstract def on metaclass
  errors if using abstract def on subclass that also defines it as abstract
  errors if using abstract def on subclass that also defines it as abstract
  matches generic module (a bit more complex)
  matches generic module (a bit more complex)
  matches instantiated generic module
  matches instantiated generic module
  errors if can't find parent return type
  errors if can't find parent return type
  implements through extend (considers original type for generic lookup) (2) (#8096)
  implements through extend (considers original type for generic lookup) (2) (#8096)
  implements through extend (considers original type for generic lookup) (#8096)
  implements through extend (considers original type for generic lookup) (#8096)
  errors if using abstract def on subclass
  errors if using abstract def on subclass
  works on abstract method on abstract class
  works on abstract method on abstract class
  doesn't error with splat and args with default value
  doesn't error with splat and args with default value
  doesn't error if abstract method is implemented by subclass via module inclusion
  doesn't error if abstract method is implemented by subclass via module inclusion
  doesn't error if abstract method with args is implemented by subclass
  doesn't error if abstract method with args is implemented by subclass
  implementation is not inherited from supertype
    generic module
    generic module
    nongeneric module
    nongeneric module
    generic class
    generic class
    nongeneric class
    nongeneric class
  finds implements in included module in disorder (#4052)
  finds implements in included module in disorder (#4052)
  errors if abstract method with arguments is not implemented by subclass (block difference)
  errors if abstract method with arguments is not implemented by subclass (block difference)
  doesn't error if implementation has more keyword arguments with default values
  doesn't error if implementation has more keyword arguments with default values
  errors if keyword argument doesn't have the same default value
  errors if keyword argument doesn't have the same default value
  doesn't error if implements with generic parent class instance
  doesn't error if implements with generic parent class instance
  errors if abstract method with arguments is not implemented by subclass
  errors if abstract method with arguments is not implemented by subclass
  doesn't error if abstract method with args is implemented by subclass (restriction -> no restriction)
  doesn't error if abstract method with args is implemented by subclass (restriction -> no restriction)
  allow double splat when abstract doesn't have it
  allow double splat when abstract doesn't have it
  doesn't error if implementation have keyword arguments in different order
  doesn't error if implementation have keyword arguments in different order
  doesn't error if abstract method is implemented by subclass
  doesn't error if abstract method is implemented by subclass
  errors if implementation doesn't have keyword arguments
  errors if implementation doesn't have keyword arguments
  double splat must match keyword argument type
  double splat must match keyword argument type
  doesn't error if free var in arg restriction shadows another type (#10153)
  doesn't error if free var in arg restriction shadows another type (#10153)
  doesn't error if implementation matches keyword argument
  doesn't error if implementation matches keyword argument
  matches generic module
  matches generic module
  errors if missing return type
  errors if missing return type
  doesn't error if implements a NoReturn param
  doesn't error if implements a NoReturn param
  errors if implementation doesn't have the same default value
  errors if implementation doesn't have the same default value
  matches generic types
  matches generic types
  errors if abstract method is not implemented by subclass (nested in module)
  errors if abstract method is not implemented by subclass (nested in module)
  errors if can't find child return type
  errors if can't find child return type
  doesn't error with splat
  doesn't error with splat
  errors if abstract method with arguments is not implemented by subclass (wrong number of arguments)
  errors if abstract method with arguments is not implemented by subclass (wrong number of arguments)
  errors if implementation doesn't have a splat
  errors if implementation doesn't have a splat
Code gen: enum
  codegens enum bitflags (2)
  codegens enum bitflags (2)
  can use macro calls inside enum value (#424)
  can use macro calls inside enum value (#424)
  adds a none? method to flags enum
  adds a none? method to flags enum
  codegens enum All redefined
  codegens enum All redefined
  uses enum value before declaration (hoisting)
  uses enum value before declaration (hoisting)
  automatically defines question method for each enum member (flags, false case)
  automatically defines question method for each enum member (flags, false case)
  can define flags enum : UInt64 with more than 32 values (#7268)
  can define flags enum : UInt64 with more than 32 values (#7268)
  codegens enum value
  codegens enum value
  codegens enum bitflags All
  codegens enum bitflags All
  can define flags enum : UInt128 with 128 values
  can define flags enum : UInt128 with 128 values
  automatically defines question method for each enum member (false case)
  automatically defines question method for each enum member (false case)
  casts All value to base type
  casts All value to base type
  codegens enum
  codegens enum
  codegens enum bitflags (4)
  codegens enum bitflags (4)
  can redefine Enum.new and use previous_def
  can redefine Enum.new and use previous_def
  can use macro calls inside enum value, macro defined outside enum (#424)
  can use macro calls inside enum value, macro defined outside enum (#424)
  codegens enum bitflags (1)
  codegens enum bitflags (1)
  can define flags enum : UInt128 with compile-time interpreted values
  can define flags enum : UInt128 with compile-time interpreted values
  codegens enum None redefined
  codegens enum None redefined
  automatically defines question method for each enum member (flags, true case)
  automatically defines question method for each enum member (flags, true case)
  codegens enum without explicit value
  codegens enum without explicit value
  creates enum from value
  creates enum from value
  does ~ at compile time for enum member
  does ~ at compile time for enum member
  allows class vars in enum
  allows class vars in enum
  codegens enum bitflags None
  codegens enum bitflags None
  automatically defines question method for each enum member (true case)
  automatically defines question method for each enum member (true case)
  can use macro calls inside enum value, with receiver (#424)
  can use macro calls inside enum value, with receiver (#424)
Normalize: expressions
  normalizes expressions with begin/end
  normalizes expressions with begin/end
  normalizes an empty expression with begin/end
  normalizes an empty expression with begin/end
  normalizes an expression
  normalizes an expression
Code gen: or
  codegens or with bool union as left node 3
  codegens or with bool union as left node 3
  codegens or with primitive type other than bool
  codegens or with primitive type other than bool
  codegens or with bool true and true
  codegens or with bool true and true
  codegens or with bool union as left node 2
  codegens or with bool union as left node 2
  codegens or with nil union as left node 2
  codegens or with nil union as left node 2
  codegens or with non-false union as left node
  codegens or with non-false union as left node
  codegens or with bool union as left node 2
  codegens or with bool union as left node 2
  codegens or with bool union as left node 3
  codegens or with bool union as left node 3
  codegens or with bool union as left node 1
  codegens or with bool union as left node 1
  codegens or with bool union as left node 4
  codegens or with bool union as left node 4
  codegens or with bool false and false
  codegens or with bool false and false
  codegens or with bool union as left node 1
  codegens or with bool union as left node 1
  codegens or with bool true and false
  codegens or with bool true and false
  codegens or with nilable as left node 1
  codegens or with nilable as left node 1
  codegens or with bool false and true
  codegens or with bool false and true
  codegens or with bool and int 2
  codegens or with bool and int 2
  codegens or with nil union as left node 1
  codegens or with nil union as left node 1
  codegens or with primitive type other than bool with union
  codegens or with primitive type other than bool with union
  codegens or with nilable as left node 2
  codegens or with nilable as left node 2
  codegens or with primitive type other than bool
  codegens or with primitive type other than bool
  codegens or with bool and int 1
  codegens or with bool and int 1
Semantic: class
  type def does not reopen type from parent namespace (#11181)
  type def does not reopen type from parent namespace (#11181)
  doesn't mix classes on definition (#2352)
  doesn't mix classes on definition (#2352)
  types generic of generic type
  types generic of generic type
  types Const#new
  types Const#new
  doesn't lookup new in supermetaclass
  doesn't lookup new in supermetaclass
  types class and subclass as one type
  types class and subclass as one type
  reports uninitialized constant
  reports uninitialized constant
  errors if inheriting Gen(self) and there's no self (#2890)
  errors if inheriting Gen(self) and there's no self (#2890)
  errors if using underscore in generic class
  errors if using underscore in generic class
  correctly types #680
  correctly types #680
  uses self as type var
  uses self as type var
  says that instance vars are not allowed in metaclass
  says that instance vars are not allowed in metaclass
  can invoke method on abstract generic type without subclasses nor instances
  can invoke method on abstract generic type without subclasses nor instances
  reports unknown class when extending
  reports unknown class when extending
  doesn't mark instance variable as nilable if calling another initialize
  doesn't mark instance variable as nilable if calling another initialize
  errors if reading non-existent ivar
  errors if reading non-existent ivar
  errors when creating Number
  errors when creating Number
  errors when wrong arguments for new
  errors when wrong arguments for new
  reads a virtual type instance var
  reads a virtual type instance var
  says wrong number of arguments for abstract class new
  says wrong number of arguments for abstract class new
  types type var union
  types type var union
  types instance variable
  types instance variable
  errors if reopening non-generic class as generic
  errors if reopening non-generic class as generic
  types class inside class
  types class inside class
  allows defining classes inside modules or classes with ::
  allows defining classes inside modules or classes with ::
  errors if reopening generic class with different splat index (3)
  errors if reopening generic class with different splat index (3)
  errors if reopening generic class with different splat index
  errors if reopening generic class with different splat index
  allows using self in class scope
  allows using self in class scope
  doesn't error on new on abstract virtual type class
  doesn't error on new on abstract virtual type class
  infers generic type after instance was created with explicit type
  infers generic type after instance was created with explicit type
  doesn't lookup type in parents' namespaces, and lookups and in program
  doesn't lookup type in parents' namespaces, and lookups and in program
  can invoke method on abstract type without subclasses nor instances
  can invoke method on abstract type without subclasses nor instances
  hoists instance variable initializer
  hoists instance variable initializer
  can't reopen as module
  can't reopen as module
  says wrong number of arguments for abstract class new (2)
  says wrong number of arguments for abstract class new (2)
  reads an object instance var from a union type
  reads an object instance var from a union type
  does automatic type inference of new for generic types 2
  does automatic type inference of new for generic types 2
  doesn't crash with top-level initialize (#2601)
  doesn't crash with top-level initialize (#2601)
  inherits self twice (#5495)
  inherits self twice (#5495)
  reports undefined method when method inside a class
  reports undefined method when method inside a class
  types as no return if calling method on abstract class with generic subclasses but no instances (#6996)
  types as no return if calling method on abstract class with generic subclasses but no instances (#6996)
  can't use implicit initialize if defined in parent
  can't use implicit initialize if defined in parent
  types as no return if calling method on abstract class with all abstract subclasses (#6996)
  types as no return if calling method on abstract class with all abstract subclasses (#6996)
  types Const#allocate
  types Const#allocate
  errors if reopening generic class with different type vars (2)
  errors if reopening generic class with different type vars (2)
  says no overload matches for class new
  says no overload matches for class new
  uses self as type var
  uses self as type var
  reports undefined instance method
  reports undefined instance method
  types class and subclass as one type
  types class and subclass as one type
  inherits Gen(self) (#2890)
  inherits Gen(self) (#2890)
  errors if inherits from metaclass
  errors if inherits from metaclass
  uses number type var in class method
  uses number type var in class method
  errors if inherits from module
  errors if inherits from module
  finds in global scope if includes module
  finds in global scope if includes module
  allows declaring a variable in an initialize and using it
  allows declaring a variable in an initialize and using it
  types Const#new#method
  types Const#new#method
  doesn't use initialize from base class
  doesn't use initialize from base class
  does automatic inference of new for generic types
  does automatic inference of new for generic types
  types virtual method of generic class
  types virtual method of generic class
  reports superclass mismatch
  reports superclass mismatch
  types instance variable on getter
  types instance variable on getter
  types self inside method call without obj
  types self inside method call without obj
  types class and subclass as one type
  types class and subclass as one type
  doesn't crash on instance variable assigned a proc, and never instantiated (#923)
  doesn't crash on instance variable assigned a proc, and never instantiated (#923)
  errors when creating Value
  errors when creating Value
  errors if reading ivar from non-ivar container
  errors if reading ivar from non-ivar container
  reports can't instantiate abstract class on allocate
  reports can't instantiate abstract class on allocate
  does automatic type inference of new for nested generic type
  does automatic type inference of new for nested generic type
  can mark initialize as private
  can mark initialize as private
  types as no return if calling method on generic class with subclasses (#6996)
  types as no return if calling method on generic class with subclasses (#6996)
  doesn't use initialize from base class with virtual type
  doesn't use initialize from base class with virtual type
  can invoke method on abstract generic type with subclasses but no instances
  can invoke method on abstract generic type with subclasses but no instances
  correctly types #680 (2)
  correctly types #680 (2)
  reports wrong number of arguments for initialize
  reports wrong number of arguments for initialize
  reads an object instance var
  reads an object instance var
  types as no return if calling method on abstract generic class (#6996)
  types as no return if calling method on abstract generic class (#6996)
  types recursive type
  types recursive type
  errors if using read-instance-var with non-typed variable
  errors if using read-instance-var with non-typed variable
  can't reopen as struct
  can't reopen as struct
  inherits self (#2890)
  inherits self (#2890)
  types bug #168 (it inherits instance var even if not mentioned in initialize)
  types bug #168 (it inherits instance var even if not mentioned in initialize)
  reports can't instantiate abstract class on new
  reports can't instantiate abstract class on new
  can use short name for top-level type
  can use short name for top-level type
  errors if creating instance before typing instance variable
  errors if creating instance before typing instance variable
  errors if reopening generic class with different type vars
  errors if reopening generic class with different type vars
  errors if assigning superclass to declared instance var
  errors if assigning superclass to declared instance var
  errors if declares class inside if
  errors if declares class inside if
  errors on no method found on abstract class, class method (#2241)
  errors on no method found on abstract class, class method (#2241)
  errors if reopening generic class with different splat index (2)
  errors if reopening generic class with different splat index (2)
  allows instantiating generic class with number
  allows instantiating generic class with number
  types instance variable
  types instance variable
  preserves order of instance vars (#3050)
  preserves order of instance vars (#3050)
Semantic: doc
  :ditto:
    amend previous doc (without empty line)
    amend previous doc (without empty line)
    stores doc for macro
    stores doc for macro
    stores doc for const
    stores doc for const
    :ditto: references last non-ditto doc
    :ditto: references last non-ditto doc
    stores doc for def
    stores doc for def
    amend previous doc
    amend previous doc
  overwrites doc for module when reopening
  overwrites doc for module when reopening
  stores doc for enum with @[Flags]
  stores doc for enum with @[Flags]
  stores doc for class
  stores doc for class
  overwrites doc for def when redefining
  overwrites doc for def when redefining
  stores doc for macro
  stores doc for macro
  stores doc for abstract class
  stores doc for abstract class
  doc before annotation
    attached to struct/class
    attached to struct/class
    attached to enum
    attached to enum
    attached to constant
    attached to constant
    attached to macro call
    attached to macro call
    attached to module
    attached to module
    attached to alias
    attached to alias
    attached to macro call that produces multiple types
    attached to macro call that produces multiple types
    attached to def
    attached to def
    attached to macro
    attached to macro
  attaches doc in double macro expansion (#8463)
  attaches doc in double macro expansion (#8463)
  stores doc for constant
  stores doc for constant
  stores doc for macro defined in macro call
  stores doc for macro defined in macro call
  stores doc for alias
  stores doc for alias
  overwrites doc for struct when reopening
  overwrites doc for struct when reopening
  stores doc for enum when reopening
  stores doc for enum when reopening
  stores doc for flags enum with base type
  stores doc for flags enum with base type
  overwrites doc for enum when reopening
  overwrites doc for enum when reopening
  stores doc for nodes defined in macro call (2)
  stores doc for nodes defined in macro call (2)
  attaches doc to annotation in macro expansion (#9628)
  attaches doc to annotation in macro expansion (#9628)
  stores doc for fun def
  stores doc for fun def
  stores doc for enum member
  stores doc for enum member
  stores location for implicit flag enum members
  stores location for implicit flag enum members
  stores locations for auto-generated module
  stores locations for auto-generated module
  stores doc for def with annotation
  stores doc for def with annotation
  stores doc for abstract def
  stores doc for abstract def
  stores doc for struct
  stores doc for struct
  stores doc for class when reopening
  stores doc for class when reopening
  stores doc for nodes defined in macro call
  stores doc for nodes defined in macro call
  overwrites doc for class when reopening
  overwrites doc for class when reopening
  stores doc for module when reopening
  stores doc for module when reopening
  stores doc for module
  stores doc for module
  stores doc for def
  stores doc for def
  stores doc for def with annotation
  stores doc for def with annotation
  stores doc for enum
  stores doc for enum
  overwrites doc for macro when redefining
  overwrites doc for macro when redefining
  stores doc for struct when reopening
  stores doc for struct when reopening
  stores doc for enum and doesn't mix with value
  stores doc for enum and doesn't mix with value
  stores doc for def with visibility
  stores doc for def with visibility
Semantic: return
  infers return type with many returns (2)
  infers return type with many returns (2)
  flattens splats inside multiple return values
  flattens splats inside multiple return values
  infers return type with many returns (1)
  infers return type with many returns (1)
  errors on return in top level
  errors on return in top level
  errors if non-type free var cannot be inferred
  errors if non-type free var cannot be inferred
  can use type var as return type with an included generic module
  can use type var as return type with an included generic module
  can use type var as return type with an inherited generic class
  can use type var as return type with an inherited generic class
  types bug (#1823)
  types bug (#1823)
  can use non-type free var in return type (#6543)
  can use non-type free var in return type (#6543)
  infers return type
  infers return type
  allows nilable return type to match subclasses (#1735)
  allows nilable return type to match subclasses (#1735)
  can use type var as return type (#1226)
  can use type var as return type (#1226)
  types return if true
  types return if true
  can use non-type free var in return type (2) (#6543)
  can use non-type free var in return type (2) (#6543)
  doesn't confuse return type from base class
  doesn't confuse return type from base class
  can use free var in return type (#2492)
  can use free var in return type (#2492)
  allows returning NoReturn instead of the wanted type
  allows returning NoReturn instead of the wanted type
  forms a tuple from multiple return values
  forms a tuple from multiple return values
Code gen: closure
  codegens multiple nested blocks
  codegens multiple nested blocks
  codegens closure with nested context without new closured vars but with block arg
  codegens closure with nested context without new closured vars but with block arg
  codegens closure inside initialize inside block with self
  codegens closure inside initialize inside block with self
  codegens closured nested in block
  codegens closured nested in block
  codegens closure with struct
  codegens closure with struct
  codegens super nested closure
  codegens super nested closure
  doesn't free closure memory (bug)  doesn't free closure memory (bug)  doesn't free closure memory (bug)  doesn't free closure memory (bug)  doesn't free closure memory (bug)  doesn't free closure memory (bug)  doesn't free closure memory (bug)  doesn't free closure memory (bug)  doesn't free closure memory (bug)
  doesn't free closure memory (bug)
  codegens nested closure with nested closured variable
  codegens nested closure with nested closured variable
  codegens closure with nested context without new closured vars
  codegens closure with nested context without new closured vars
  codegens closure with block that declares same var
  codegens closure with block that declares same var
  ensures it can raise from the closure check
  ensures it can raise from the closure check
  codegens closure with instance var and var
  codegens closure with instance var and var
  closures struct self
  closures struct self
  allows giving less block args when transforming block to proc literal
  allows giving less block args when transforming block to proc literal
  allows passing an external function along (2)
  allows passing an external function along (2)
  codegens nested closure with block (1)
  codegens nested closure with block (1)
  codegens closure with instance var and block
  codegens closure with instance var and block
  doesn't form a closure if invoking class method  doesn't form a closure if invoking class method  doesn't form a closure if invoking class method  doesn't form a closure if invoking class method  doesn't form a closure if invoking class method  doesn't form a closure if invoking class method  doesn't form a closure if invoking class method  doesn't form a closure if invoking class method  doesn't form a closure if invoking class method
  doesn't form a closure if invoking class method
  transforms block to proc literal
  transforms block to proc literal
  codegens simple closure in block
  codegens simple closure in block
  doesn't incorrectly consider local as closured (#4948)
  doesn't incorrectly consider local as closured (#4948)
  codegens simple closure in function with argument
  codegens simple closure in function with argument
  allows mixing yield and block.call
  allows mixing yield and block.call
  unifies types of closured var
  unifies types of closured var
  codegens closure with block
  codegens closure with block
  allows passing block as proc literal to new and to initialize
  allows passing block as proc literal to new and to initialize
  codegens super nested closure with nested closured variable
  codegens super nested closure with nested closured variable
  doesn't form a closure if invoking class method with self  doesn't form a closure if invoking class method with self  doesn't form a closure if invoking class method with self  doesn't form a closure if invoking class method with self  doesn't form a closure if invoking class method with self  doesn't form a closure if invoking class method with self  doesn't form a closure if invoking class method with self  doesn't form a closure if invoking class method with self  doesn't form a closure if invoking class method with self
  doesn't form a closure if invoking class method with self
  codegens simple closure in function
  codegens simple closure in function
  allows passing an external function along
  allows passing an external function along
  codegens closure with nested context without new closured vars
  codegens closure with nested context without new closured vars
  codegens closure with self and var
  codegens closure with self and var
  codegens closure with self and arguments
  codegens closure with self and arguments
  codegens nested closure that mentions var in both contexts
  codegens nested closure that mentions var in both contexts
  codegens closure with implicit self and var
  codegens closure with implicit self and var
  codegens proc literal with struct
  codegens proc literal with struct
  allows passing proc literal to def that captures block with &
  allows passing proc literal to def that captures block with &
  transforms block to proc literal with free var
  transforms block to proc literal with free var
  codegens closure with def that has an if
  codegens closure with def that has an if
  codegens closured nested in block with a call with a closure with same names
  codegens closured nested in block with a call with a closure with same names
  codegens nested closure with block (2)
  codegens nested closure with block (2)
  codegens closure with instance var
  codegens closure with instance var
  captures block and accesses local variable (#2050)  captures block and accesses local variable (#2050)  captures block and accesses local variable (#2050)  captures block and accesses local variable (#2050)  captures block and accesses local variable (#2050)  captures block and accesses local variable (#2050)  captures block and accesses local variable (#2050)  captures block and accesses local variable (#2050)  captures block and accesses local variable (#2050)
  captures block and accesses local variable (#2050)
  codegen closure in instance method without self closured
  codegen closure in instance method without self closured
  codegens simple closure at global scope
  codegens simple closure at global scope
  codegens nested closure
  codegens nested closure
  codegens closured self in block (#3388)
  codegens closured self in block (#3388)
Crystal::Repl::Interpreter
  casts
    casts nilable from mixed union type to primitive type (non-nil case)
    casts nilable from mixed union type to primitive type (non-nil case)
    casts from mixed union type to another mixed union type for caller
    casts from mixed union type to another mixed union type for caller
    does as? with no resulting type (#12327)
    does as? with no resulting type (#12327)
    casts to filtered type, not type in as(...)
    casts to filtered type, not type in as(...)
    upcasts to module type
    upcasts to module type
    upcasts between tuple types
    upcasts between tuple types
    upcasts mixed union with tuple to mixed union with compatible tuple (3) (#12331)
    upcasts mixed union with tuple to mixed union with compatible tuple (3) (#12331)
    does is_a? with virtual metaclass
    does is_a? with virtual metaclass
    casts from nilable type to mixed union type
    casts from nilable type to mixed union type
    does is_a? with virtual type (struct)
    does is_a? with virtual type (struct)
    upcasts between tuple types, respects alignment (#14036)
    upcasts between tuple types, respects alignment (#14036)
    does as? with a type that can't match (#12346)
    does as? with a type that can't match (#12346)
    raises when as fails
    raises when as fails
    puts virtual metaclass into union (#12162)
    puts virtual metaclass into union (#12162)
    casts from reference to pointer and back
    casts from reference to pointer and back
    casts nil to Void*
    casts nil to Void*
    discards cast
    discards cast
    upcasts mixed union with tuple to mixed union with compatible tuple (1) (#12331)
    upcasts mixed union with tuple to mixed union with compatible tuple (1) (#12331)
    upcasts virtual type to union
    upcasts virtual type to union
    casts from nilable type to mixed union type (2)
    casts from nilable type to mixed union type (2)
    upcasts between named tuple types, different order
    upcasts between named tuple types, different order
    upcasts mixed union with tuple to mixed union with compatible tuple (2) (#12331)
    upcasts mixed union with tuple to mixed union with compatible tuple (2) (#12331)
    upcasts between named tuple types, same order
    upcasts between named tuple types, same order
    casts from mixed union type to primitive type
    casts from mixed union type to primitive type
    casts from mixed union type to nilable proc type (#12283)
    casts from mixed union type to nilable proc type (#12283)
    casts nilable from mixed union type to primitive type (nil case)
    casts nilable from mixed union type to primitive type (nil case)
    puts tuple type inside union of different tuple type (#12243)
    puts tuple type inside union of different tuple type (#12243)
    does as? with no resulting type, not from nil (#12327)
    does as? with no resulting type, not from nil (#12327)
    upcasts in nilable cast (#12532)
    upcasts in nilable cast (#12532)
    casts from reference to nilable reference
    casts from reference to nilable reference
    upcasts between named tuple types, respects alignment (#14036)
    upcasts between named tuple types, respects alignment (#14036)
    upcasts GenericClassInstanceMetaclassType to VirtualMetaclassType
    upcasts GenericClassInstanceMetaclassType to VirtualMetaclassType
    puts named tuple type inside union of different named tuple type (#12243)
    puts named tuple type inside union of different named tuple type (#12243)
Semantic: previous_def
  types previous def with named arguments, def has bare splat parameter (#8895)
  types previous def with named arguments, def has bare splat parameter (#8895)
  errors if there's no previous def
  errors if there's no previous def
  types previous def with explicit arguments
  types previous def with explicit arguments
  types previous def with forwarded arguments, def has parameters
  types previous def with forwarded arguments, def has parameters
  types previous def with restrictions
  types previous def with restrictions
  types previous def
  types previous def
  types previous def when inside fun
  types previous def when inside fun
  types previous def with named arguments, def has bare splat parameter (2) (#8895)
  types previous def with named arguments, def has bare splat parameter (2) (#8895)
  says wrong number of arguments for previous_def (#1223)
  says wrong number of arguments for previous_def (#1223)
  types previous def when inside fun and forwards args
  types previous def when inside fun and forwards args
  types previous def with forwarded arguments, different internal names (#8895)
  types previous def with forwarded arguments, different internal names (#8895)
  types previous def with forwarded arguments, def has bare splat parameter (#8895)
  types previous def with forwarded arguments, def has bare splat parameter (#8895)
  types previous def in generic class
  types previous def in generic class
  types previous def with named arguments, def has double splat parameter (#8895)
  types previous def with named arguments, def has double splat parameter (#8895)
Semantic: exception
  types var as nilable inside ensure (2)
  types var as nilable inside ensure (2)
  types code with abstract exception that delegates method
  types code with abstract exception that delegates method
  types a var after begin rescue as having all possible types in begin and rescue
  types a var after begin rescue as having all possible types in begin and rescue
  errors if caught exception is a union but not all types are valid
  errors if caught exception is a union but not all types are valid
  gets a non-nilable type if all rescue are unreachable (#8751)
  gets a non-nilable type if all rescue are unreachable (#8751)
  correctly types #1988
  correctly types #1988
  marks instance variable as nilable if assigned inside rescue inside initialize
  marks instance variable as nilable if assigned inside rescue inside initialize
  doesn't infect type to variable before handler (#4002)
  doesn't infect type to variable before handler (#4002)
  errors if caught exception is a nested union but not all types are valid
  errors if caught exception is a nested union but not all types are valid
  type for exception handler for explicit types
  type for exception handler for explicit types
  can't return from while inside ensure (#4470)
  can't return from while inside ensure (#4470)
  marks proc literal as raises
  marks proc literal as raises
  marks method that calls another method that raises as raises, recursively
  marks method that calls another method that raises as raises, recursively
  marks method calling lib fun that raises as raises
  marks method calling lib fun that raises as raises
  remains nilable after rescue
  remains nilable after rescue
  types var as nilable if previously nilable (2)
  types var as nilable if previously nilable (2)
  types a var after begin rescue with no-return in rescue
  types a var after begin rescue with no-return in rescue
  can use break inside while inside ensure (#4470)
  can use break inside while inside ensure (#4470)
  type is union of main and rescue blocks
  type is union of main and rescue blocks
  types var as not nil if defined inside begin and defined inside rescue
  types var as not nil if defined inside begin and defined inside rescue
  doesn't crash on break inside rescue, in while (#2441)
  doesn't crash on break inside rescue, in while (#2441)
  can use next inside while inside ensure (#4470)
  can use next inside while inside ensure (#4470)
  types var assignment inside block inside exception handler (#3324)
  types var assignment inside block inside exception handler (#3324)
  types var as nilable if previously nilable (1)
  types var as nilable if previously nilable (1)
  can't use break inside while inside ensure (#4470)
  can't use break inside while inside ensure (#4470)
  transform nodes in else block
  transform nodes in else block
  types a var after begin rescue as having all possible types and nil in begin if read (2)
  types a var after begin rescue as having all possible types and nil in begin if read (2)
  can't use break inside block inside ensure (#4470)
  can't use break inside block inside ensure (#4470)
  can't return from ensure (#4470)
  can't return from ensure (#4470)
  shadows local variable (1)
  shadows local variable (1)
  can't use next inside block inside ensure (#4470)
  can't use next inside block inside ensure (#4470)
  types a var after rescue as being nilable
  types a var after rescue as being nilable
  marks def as raises
  marks def as raises
  type union with empty rescue block
  type union with empty rescue block
  says syntax error on "begin; rescue ex; rescue ex : Foo; end; ex"
  says syntax error on "begin; rescue ex; rescue ex : Foo; end; ex"
  doesn't type instance variable as nilable if assigned inside an exception handler after being assigned
  doesn't type instance variable as nilable if assigned inside an exception handler after being assigned
  types exception var with no types
  types exception var with no types
  type union with empty main block
  type union with empty main block
  marks fun as raises
  marks fun as raises
  types a var after begin rescue as having all possible types in begin and rescue (2)
  types a var after begin rescue as having all possible types in begin and rescue (2)
  doesn't consider vars as nilable inside else (#610)
  doesn't consider vars as nilable inside else (#610)
  says syntax error on "begin; else; 1; end"
  says syntax error on "begin; else; 1; end"
  detects reading nil-if-read variable after exception handler (#4723)
  detects reading nil-if-read variable after exception handler (#4723)
  correctly types variables inside conditional inside exception handler with no-return rescue (#8012)
  correctly types variables inside conditional inside exception handler with no-return rescue (#8012)
  can use next inside block inside ensure (#4470)
  can use next inside block inside ensure (#4470)
  correctly types variable assigned inside nested exception handler (#9769)
  correctly types variable assigned inside nested exception handler (#9769)
  can't return from block inside ensure (#4470)
  can't return from block inside ensure (#4470)
  errors if caught exception is not a subclass of Exception
  errors if caught exception is not a subclass of Exception
  errors if caught exception is not a subclass of Exception without var
  errors if caught exception is not a subclass of Exception without var
  assigns var inside ensure (2) (#3919)
  assigns var inside ensure (2) (#3919)
  can't use next inside while inside ensure (#4470)
  can't use next inside while inside ensure (#4470)
  types instance variable as nilable if assigned inside an exception handler (#1845)
  types instance variable as nilable if assigned inside an exception handler (#1845)
  types var as nilable inside ensure (1)
  types var as nilable inside ensure (1)
  can use break inside block inside ensure (#4470)
  can use break inside block inside ensure (#4470)
  marks method calling method that raises as raises
  marks method calling method that raises as raises
  assigns var inside ensure (1) (#3919)
  assigns var inside ensure (1) (#3919)
  says syntax error on "begin; rescue ex; rescue; end; ex"
  says syntax error on "begin; rescue ex; rescue; end; ex"
  types exception with type
  types exception with type
Code gen: module
  codegens pointer of module with method with two including types with one struct (2)
  codegens pointer of module with method with two including types with one struct (2)
  invokes method on yielded module that has no instances (#1079)  invokes method on yielded module that has no instances (#1079)  invokes method on yielded module that has no instances (#1079)  invokes method on yielded module that has no instances (#1079)  invokes method on yielded module that has no instances (#1079)  invokes method on yielded module that has no instances (#1079)  invokes method on yielded module that has no instances (#1079)  invokes method on yielded module that has no instances (#1079)  invokes method on yielded module that has no instances (#1079)
  invokes method on yielded module that has no instances (#1079)
  codegens proc of a module that was never included
  codegens proc of a module that was never included
  codegens cast to module with class and struct to nilable module
  codegens cast to module with class and struct to nilable module
  can use generic module as instance variable type
  can use generic module as instance variable type
  codegens cast to module that includes bool
  codegens cast to module that includes bool
  expands modules to its including types (#1916)
  expands modules to its including types (#1916)
  codegens pointer of module with method
  codegens pointer of module with method
  codegens pointer of module and pass value to method
  codegens pointer of module and pass value to method
  expands modules to its including types (3) (#1916)
  expands modules to its including types (3) (#1916)
  can use generic module as instance variable type (2)
  can use generic module as instance variable type (2)
  codegens pointer of module with method with two including types with one struct
  codegens pointer of module with method with two including types with one struct
  casts to union of module that is included in other module (#3323)  casts to union of module that is included in other module (#3323)  casts to union of module that is included in other module (#3323)  casts to union of module that is included in other module (#3323)  casts to union of module that is included in other module (#3323)  casts to union of module that is included in other module (#3323)  casts to union of module that is included in other module (#3323)  casts to union of module that is included in other module (#3323)  casts to union of module that is included in other module (#3323)
  casts to union of module that is included in other module (#3323)
  expands modules to its including types (2) (#1916)
  expands modules to its including types (2) (#1916)
  codegens pointer of module with method with two including types
  codegens pointer of module with method with two including types
  declares proc with module type and invoke it with two different types that return themselves
  declares proc with module type and invoke it with two different types that return themselves
  can instantiate generic module
  can instantiate generic module
  declares and includes generic module, in macros T is a tuple literal
  declares and includes generic module, in macros T is a tuple literal
  codegens module with virtual type
  codegens module with virtual type
  codegens dispatch of union with module (#3647)
  codegens dispatch of union with module (#3647)
  casts to union of generic module that is included in other module (#3323)  casts to union of generic module that is included in other module (#3323)  casts to union of generic module that is included in other module (#3323)  casts to union of generic module that is included in other module (#3323)  casts to union of generic module that is included in other module (#3323)  casts to union of generic module that is included in other module (#3323)  casts to union of generic module that is included in other module (#3323)  casts to union of generic module that is included in other module (#3323)  casts to union of generic module that is included in other module (#3323)
  casts to union of generic module that is included in other module (#3323)
  codegens pointer of module with block  codegens pointer of module with block  codegens pointer of module with block  codegens pointer of module with block  codegens pointer of module with block  codegens pointer of module with block  codegens pointer of module with block  codegens pointer of module with block  codegens pointer of module with block
  codegens pointer of module with block
  codegens proc of module when generic type includes it
  codegens proc of module when generic type includes it
  declares proc with module type
  declares proc with module type
Code gen: def
  call functions defined in any order
  call functions defined in any order
  uses previous argument in default value (#1062)
  uses previous argument in default value (#1062)
  codegens with and without default arguments
  codegens with and without default arguments
  looks up matches in super classes and merges them with subclasses
  looks up matches in super classes and merges them with subclasses
  codegens recursive type with union
  codegens recursive type with union
  codegens dispatch with single def when discarding unallocated ones (2)
  codegens dispatch with single def when discarding unallocated ones (2)
  builds infinite recursive function
  builds infinite recursive function
  puts union before single type in matches preferences
  puts union before single type in matches preferences
  codegens with related types
  codegens with related types
  codegens return nil when nilable type (2)
  codegens return nil when nilable type (2)
  codegens union to union assignment of mutable arg (#3691)
  codegens union to union assignment of mutable arg (#3691)
  codegens return nil when nilable type (1)
  codegens return nil when nilable type (1)
  codegens call with args
  codegens call with args
  codegens dispatch without obj, bug 1
  codegens dispatch without obj, bug 1
  dispatches on virtual type implementing generic module (related to bug #165)
  dispatches on virtual type implementing generic module (related to bug #165)
  codegens and doesn't break if obj is int and there's a mutation  codegens and doesn't break if obj is int and there's a mutation  codegens and doesn't break if obj is int and there's a mutation  codegens and doesn't break if obj is int and there's a mutation  codegens and doesn't break if obj is int and there's a mutation  codegens and doesn't break if obj is int and there's a mutation  codegens and doesn't break if obj is int and there's a mutation  codegens and doesn't break if obj is int and there's a mutation  codegens and doesn't break if obj is int and there's a mutation
  codegens and doesn't break if obj is int and there's a mutation
  uses dispatch call type for phi (#3529)
  uses dispatch call type for phi (#3529)
  unifies all calls to same def  unifies all calls to same def  unifies all calls to same def  unifies all calls to same def  unifies all calls to same def  unifies all calls to same def  unifies all calls to same def  unifies all calls to same def  unifies all calls to same def
  unifies all calls to same def
  codegens dispatch without obj, bug 1
  codegens dispatch without obj, bug 1
  codegens dispatch with single def when discarding unallocated ones (1)
  codegens dispatch with single def when discarding unallocated ones (1)
  codegens recursive nasty code
  codegens recursive nasty code
  use target def type as return type  use target def type as return type  use target def type as return type  use target def type as return type  use target def type as return type  use target def type as return type  use target def type as return type  use target def type as return type  use target def type as return type
  use target def type as return type
  runs empty def
  runs empty def
  codegens empty def
  codegens empty def
  codegens dispatch on static method
  codegens dispatch on static method
  can match N type argument of static array (#1203)
  can match N type argument of static array (#1203)
  codegens dispatch with nilable reference union type
  codegens dispatch with nilable reference union type
  codegens def which changes type of arg
  codegens def which changes type of arg
  allows to change argument values
  allows to change argument values
  codegens bug #119  codegens bug #119  codegens bug #119  codegens bug #119  codegens bug #119  codegens bug #119  codegens bug #119  codegens bug #119  codegens bug #119
  codegens bug #119
  codegens with and without many default arguments
  codegens with and without many default arguments
  codegens with interesting default argument
  codegens with interesting default argument
  codegens call without args
  codegens call without args
  doesn't crash on private def as last expression
  doesn't crash on private def as last expression
  codegens yield with destructing tuple having unreachable element
  codegens yield with destructing tuple having unreachable element
  call external function 'putchar'
  call external function 'putchar'
  fixes #230: include original owner in mangled def
  fixes #230: include original owner in mangled def
  uses self
  uses self
  uses var after external
  uses var after external
expand
  expands macro control {% if %}
  expands macro control {% if %}
  expands macro expression inside enum
  expands macro expression inside enum
  doesn't expand normal call
  doesn't expand normal call
  expands macro expression inside private struct
  expands macro expression inside private struct
  expands macro expression inside def of private module
  expands macro expression inside def of private module
  doesn't expand macro expression with cursor out of end
  doesn't expand macro expression with cursor out of end
  expands macro control {% for %} with cursor at end of it
  expands macro control {% for %} with cursor at end of it
  expands macro control {% for %} with cursor inside it
  expands macro control {% for %} with cursor inside it
  expands macro of module with cursor at module name
  expands macro of module with cursor at module name
  expands macros with 3 level
  expands macros with 3 level
  expands macro expression {{ ... }} with cursor inside it
  expands macro expression {{ ... }} with cursor inside it
  expands macro expression inside private def
  expands macro expression inside private def
  expands macro expression inside C union
  expands macro expression inside C union
  expands macro expression inside def of private struct
  expands macro expression inside def of private struct
  doesn't expand macro expression
  doesn't expand macro expression
  doesn't expand macro expression
  doesn't expand macro expression
  expands simple macro with cursor inside it
  expands simple macro with cursor inside it
  expands macro control {% if %} with indent
  expands macro control {% if %} with indent
  expands macro expression {% ... %}
  expands macro expression {% ... %}
  expands macro expression {{ ... }} with cursor end of it
  expands macro expression {{ ... }} with cursor end of it
  expands macro expression inside def
  expands macro expression inside def
  expands macro with doc
  expands macro with doc
  expands macro expression inside module
  expands macro expression inside module
  expands macro expression inside struct
  expands macro expression inside struct
  expands macro control {% if %} with cursor inside it
  expands macro control {% if %} with cursor inside it
  expands macro expression inside private module
  expands macro expression inside private module
  expands macro of module with cursor at dot
  expands macro of module with cursor at dot
  expands macro expression inside def of nested module
  expands macro expression inside def of nested module
  expands macro expression inside C struct
  expands macro expression inside C struct
  expands complex macro
  expands complex macro
  expands macro expression inside C struct of private lib
  expands macro expression inside C struct of private lib
  expands macro expression inside def of module
  expands macro expression inside def of module
  expands macro control {% if %} with cursor at end of it
  expands macro control {% if %} with cursor at end of it
  expands macro expression {% ... %} with cursor at end of it
  expands macro expression {% ... %} with cursor at end of it
  expands macro expression inside lib
  expands macro expression inside lib
  expands simple macro
  expands simple macro
  expands macro expression inside private enum
  expands macro expression inside private enum
  expands macro expression inside def of nested private module
  expands macro expression inside def of nested private module
  expands macro expression inside fun
  expands macro expression inside fun
  expands macro expression inside def of private enum
  expands macro expression inside def of private enum
  expands macro expression inside class
  expands macro expression inside class
  expands macro expression inside private lib
  expands macro expression inside private lib
  expands macro of module
  expands macro of module
  expands macro control {% for %} with indent
  expands macro control {% for %} with indent
  expands macro of module inside module
  expands macro of module inside module
  expands macro expression {{ ... }}
  expands macro expression {{ ... }}
  expands macro control {% for %}
  expands macro control {% for %}
  expands macros with 2 level
  expands macros with 2 level
  expands macro expression inside C union of private lib
  expands macro expression inside C union of private lib
  expands macro expression inside private class
  expands macro expression inside private class
  expands macro expression inside def of private module
  expands macro expression inside def of private module
  expands simple macro with cursor at end of it
  expands simple macro with cursor at end of it
  expands macro expression inside def of private class
  expands macro expression inside def of private class
Crystal::Repl::Interpreter
  constants
    returns nil in the assignment
    returns nil in the assignment
    interprets self inside constant inside class
    interprets self inside constant inside class
    hoists constants
    hoists constants
    interprets complex constant
    interprets complex constant
    interprets constant literal
    interprets constant literal
  magic constants
    does line number
    does line number
Semantic: named args
  matches specific overload with named arguments (2) (#2753)
  matches specific overload with named arguments (2) (#2753)
  errors if named arg not found
  errors if named arg not found
  matches specific overload with named arguments (#2753)
  matches specific overload with named arguments (#2753)
  sends two regular arguments as named arguments in inverted position (2)
  sends two regular arguments as named arguments in inverted position (2)
  uses bare splat in new
  uses bare splat in new
  says no overload matches with named arg
  says no overload matches with named arg
  doesn't include arguments with default values in missing arguments error
  doesn't include arguments with default values in missing arguments error
  errors if named arg already specified
  errors if named arg already specified
  errors if named arg matches splat argument
  errors if named arg matches splat argument
  sends one regular argument as named argument
  sends one regular argument as named argument
  errors if missing two arguments
  errors if missing two arguments
  errors if missing one argument
  errors if missing one argument
  says correct error when forwarding named args (#7491)
  says correct error when forwarding named args (#7491)
  sends two regular arguments as named arguments
  sends two regular arguments as named arguments
  errors if named arg already specified, but multiple overloads (#7281)
  errors if named arg already specified, but multiple overloads (#7281)
  overloads based on required named args, with restrictions
  overloads based on required named args, with restrictions
  errors if named arg matches single splat argument
  errors if named arg matches single splat argument
  errors if doesn't pass named arg restriction
  errors if doesn't pass named arg restriction
  overloads based on required named args
  overloads based on required named args
  errors if named arg already specified
  errors if named arg already specified
  errors if named arg not found in new
  errors if named arg not found in new
  allows named arg if there's a splat
  allows named arg if there's a splat
  gives correct error message with external names (#3934)
  gives correct error message with external names (#3934)
  sends two regular arguments as named arguments in inverted position (1)
  sends two regular arguments as named arguments in inverted position (1)
  passes #2696
  passes #2696
  errors if named arg already specified but in same position
  errors if named arg already specified but in same position
  gives correct error message for missing args after *
  gives correct error message for missing args after *
  doesn't fail on named argument with NoReturn type (#7760)
  doesn't fail on named argument with NoReturn type (#7760)
Semantic: responds_to?
  restricts other types inside if else
  restricts other types inside if else
  restricts type inside if scope 1
  restricts type inside if scope 1
  is bool
  is bool
  restricts virtual generic superclass to subtypes
  restricts virtual generic superclass to subtypes
  restricts in assignment
  restricts in assignment
  restricts virtual generic module to including types (#8334)
  restricts virtual generic module to including types (#8334)
Code gen: struct
  sets instance var to proc  sets instance var to proc  sets instance var to proc  sets instance var to proc  sets instance var to proc  sets instance var to proc  sets instance var to proc  sets instance var to proc����������������  sets instance var to proc
  sets instance var to proc
  codegens struct property setter
  codegens struct property setter
  can access member of uninitialized struct behind type (#8774)
  can access member of uninitialized struct behind type (#8774)
  codegens struct access with -> and then .
  codegens struct access with -> and then .
  codegens assign struct to union
  codegens assign struct to union
  codegens struct set inside struct
  codegens struct set inside struct
  codegens passing pointerof(struct) to fun
  codegens passing pointerof(struct) to fun
  passes struct to method (2)
  passes struct to method (2)
  automatically converts by invoking to_unsafe
  automatically converts by invoking to_unsafe
  automatically converts numeric type in struct field assignment
  automatically converts numeric type in struct field assignment
  codegens pointer malloc of struct
  codegens pointer malloc of struct
  automatically converts numeric union type in struct field assignment
  automatically converts numeric union type in struct field assignment
  can access instance var from the outside (#1092)
  can access instance var from the outside (#1092)
  allows using named arguments for new
  allows using named arguments for new
  passes struct to method (1)
  passes struct to method (1)
  automatically converts nil to pointer
  automatically converts nil to pointer
  codegens set struct value with constant
  codegens set struct value with constant
  codegens struct property setter via pointer
  codegens struct property setter via pointer
  builds struct setter with fun type (2)
  builds struct setter with fun type (2)
  codegens struct property setter via pointer
  codegens struct property setter via pointer
  codegens struct get inside struct
  codegens struct get inside struct
  does to_s  does to_s  does to_s  does to_s  does to_s  does to_s  does to_s��������������  does to_s��  does to_s
  does to_s
  codegens struct property default value
  codegens struct property default value
  builds struct setter with fun type (1)
  builds struct setter with fun type (1)
  codegens union inside struct
  codegens union inside struct
  yields struct via ->
  yields struct via ->
Code gen: pointer
  codegens nilable pointer type (2)
  codegens nilable pointer type (2)
  compares pointers through typedef
  compares pointers through typedef
  generates correct code for Pointer.malloc(0) (#2905)
  generates correct code for Pointer.malloc(0) (#2905)
  can assign nil to void pointer
  can assign nil to void pointer
  can use typedef pointer value get and set (#630)
  can use typedef pointer value get and set (#630)
  can pass any pointer to something expecting void* in lib call, with to_unsafe
  can pass any pointer to something expecting void* in lib call, with to_unsafe
  codegens pointer as if condition inside union (1)
  codegens pointer as if condition inside union (1)
  calculates pointer diff
  calculates pointer diff
  codegens nilable pointer type dispatch (2)
  codegens nilable pointer type dispatch (2)
  get pointer and value of it
  get pointer and value of it
  sets value of pointer to struct
  sets value of pointer to struct
  changes through var and reads from pointer
  changes through var and reads from pointer
  get value of pointer to union
  get value of pointer to union
  codegens nilable pointer type (1)
  codegens nilable pointer type (1)
  set pointer value
  set pointer value
  sets value of pointer to union
  sets value of pointer to union
  does pointerof class variable
  does pointerof class variable
  gets pointer to constant  gets pointer to constant  gets pointer to constant������  gets pointer to constant  gets pointer to constant����  gets pointer to constant��  gets pointer to constant  gets pointer to constant����  gets pointer to constant
  gets pointer to constant
  assigns nil and pointer to nilable pointer type
  assigns nil and pointer to nilable pointer type
  gets pointer of argument that is never assigned to
  gets pointer of argument that is never assigned to
  codegens null pointer as if condition
  codegens null pointer as if condition
  codegens nilable pointer type dispatch (1)
  codegens nilable pointer type dispatch (1)
  codegens pointer cast
  codegens pointer cast
  codegens realloc
  codegens realloc
  increments pointer
  increments pointer
  codegens pointer as if condition
  codegens pointer as if condition
  can dereference pointer to func
  can dereference pointer to func
  passes arguments correctly for typedef metaclass (#8544)
  passes arguments correctly for typedef metaclass (#8544)
  gets pointer of instance variable in virtual type
  gets pointer of instance variable in virtual type
  passes pointer of pointer to method
  passes pointer of pointer to method
  does pointerof read variable
  does pointerof read variable
  uses correct llvm module for typedef metaclass (#2877)
  uses correct llvm module for typedef metaclass (#2877)
  takes pointerof lib external var  takes pointerof lib external var  takes pointerof lib external var  takes pointerof lib external var  takes pointerof lib external var����������  takes pointerof lib external var  takes pointerof lib external var����  takes pointerof lib external var��  takes pointerof lib external var
  takes pointerof lib external var
  codegens pointer as if condition inside union (2)
  codegens pointer as if condition inside union (2)
  creates pointer by address
  creates pointer by address
  does pointerof class variable with class
  does pointerof class variable with class
  can pass any pointer to something expecting void* in lib call
  can pass any pointer to something expecting void* in lib call
  codegens pointer cast to Nil (#8015)
  codegens pointer cast to Nil (#8015)
  get pointer of instance var
  get pointer of instance var
  codegens malloc
  codegens malloc
Crystal::Repl::Interpreter
  typeof
    interprets typeof instance type
    interprets typeof instance type
    interprets typeof metaclass type
    interprets typeof metaclass type
    interprets typeof virtual type
    interprets typeof virtual type
Crystal::Repl::Interpreter
  control flow
    interprets if pointer, true
    interprets if pointer, true
    interprets return Nil
    interprets return Nil
    interprets break inside while inside block
    interprets break inside while inside block
    interprets while, returns nil
    interprets while, returns nil
    interprets if bool (false)
    interprets if bool (false)
    interprets break inside while
    interprets break inside while
    discards if
    discards if
    interprets break with value inside while (through normal flow)
    interprets break with value inside while (through normal flow)
    interprets if union type with nil, false
    interprets if union type with nil, false
    interprets break inside nested while
    interprets break inside nested while
    interprets if union type with bool, false
    interprets if union type with bool, false
    interprets break with value inside while (through break)
    interprets break with value inside while (through break)
    interprets until
    interprets until
    interprets if (true literal)
    interprets if (true literal)
    interprets if (int type)
    interprets if (int type)
    interprets if (false literal)
    interprets if (false literal)
    interprets while
    interprets while
    interprets next inside while inside block
    interprets next inside while inside block
    interprets if bool (true)
    interprets if bool (true)
    discards while
    discards while
    interprets return implicit nil and Int32
    interprets return implicit nil and Int32
    interprets return
    interprets return
    interprets if union type with bool, true
    interprets if union type with bool, true
    interprets if (nil literal)
    interprets if (nil literal)
    interprets unless
    interprets unless
    interprets return Nil with explicit return (#12178)
    interprets return Nil with explicit return (#12178)
    interprets if (nil type)
    interprets if (nil type)
    interprets next inside while
    interprets next inside while
    interprets if pointer, false
    interprets if pointer, false
Semantic: module
  calls super on included generic module and finds type var
  calls super on included generic module and finds type var
  uses :Module name for modules in errors
  uses :Module name for modules in errors
  errors if including generic module and not specifying type vars
  errors if including generic module and not specifying type vars
  correctly types type var in included module, with a restriction with a free var (bug)
  correctly types type var in included module, with a restriction with a free var (bug)
  includes but not a module
  includes but not a module
  gives helpful error message when generic type var is missing
  gives helpful error message when generic type var is missing
  instantiates generic variadic module, accesses T from instance method
  instantiates generic variadic module, accesses T from instance method
  errors when extending module that defines instance vars (#4065)
  errors when extending module that defines instance vars (#4065)
  extends generic module from generic class and calls class method (#7167)
  extends generic module from generic class and calls class method (#7167)
  includes generic module with self (check argument superclass type, success)
  includes generic module with self (check argument superclass type, success)
  includes generic module with self (check argument type, success)
  includes generic module with self (check argument type, success)
  errors if reopening generic module with different type vars (2)
  errors if reopening generic module with different type vars (2)
  errors when extending self and self defines instance vars (#9568)
  errors when extending self and self defines instance vars (#9568)
  errors if reopening generic module with different splat index
  errors if reopening generic module with different splat index
  uses type declaration inside module and gives error
  uses type declaration inside module and gives error
  declares module automatically if not previously declared when declaring a class
  declares module automatically if not previously declared when declaring a class
  gives helpful error message when generic type var is missing in block spec
  gives helpful error message when generic type var is missing in block spec
  allows overloading with included generic module
  allows overloading with included generic module
  gives error with cyclic include between non-generic and generic module
  gives error with cyclic include between non-generic and generic module
  doesn't look up initialize past module that defines initialize (#7007)
  doesn't look up initialize past module that defines initialize (#7007)
  includes generic module with self (check argument superclass type, success)
  includes generic module with self (check argument superclass type, success)
  instantiates generic variadic module, accesses T from class method
  instantiates generic variadic module, accesses T from class method
  includes generic module and errors in call
  includes generic module and errors in call
  inherits instance var type annotation from generic to generic to concrete
  inherits instance var type annotation from generic to generic to concrete
  gives error when trying to instantiate with new
  gives error when trying to instantiate with new
  types pointer of module with generic type
  types pointer of module with generic type
  instantiates generic variadic module, accesses T from instance method through generic include
  instantiates generic variadic module, accesses T from instance method through generic include
  calls super on included generic module and finds type var (2)
  calls super on included generic module and finds type var (2)
  works with range and map
  works with range and map
  includes generic module with another generic type
  includes generic module with another generic type
  gives error with cyclic include, generic module
  gives error with cyclic include, generic module
  gives error when including instantiation of self, generic module
  gives error when including instantiation of self, generic module
  errors when extending module that defines instance vars (2) (#4065)
  errors when extending module that defines instance vars (2) (#4065)
  types union of module and class that includes it
  types union of module and class that includes it
  reports can't use instance variables inside module
  reports can't use instance variables inside module
  errors if reopening generic module with different splat index (2)
  errors if reopening generic module with different splat index (2)
  uses type declaration inside module
  uses type declaration inside module
  can restrict module with module (#3029)
  can restrict module with module (#3029)
  includes generic module with type
  includes generic module with type
  types pointer of module with method
  types pointer of module with method
  includes module but wrong number of arguments
  includes module but wrong number of arguments
  types proc of module with generic class
  types proc of module with generic class
  includes module in a class
  includes module in a class
  includes module in a module
  includes module in a module
  types pointer of module with generic type
  types pointer of module with generic type
  extends self
  extends self
  initializes variable in module
  initializes variable in module
  inherits instance var type annotation from generic to concrete with T
  inherits instance var type annotation from generic to concrete with T
  errors when extending generic module that defines instance vars
  errors when extending generic module that defines instance vars
  can't reopen as struct
  can't reopen as struct
  gives error with cyclic include
  gives error with cyclic include
  gives error with cyclic include between non-generic and generic module (2)
  gives error with cyclic include between non-generic and generic module (2)
  includes generic module with self
  includes generic module with self
  types pointer of module
  types pointer of module
  errors when extending self and self defines instance vars (2) (#9568)
  errors when extending self and self defines instance vars (2) (#9568)
  types proc of module after type changes
  types proc of module after type changes
  can instantiate generic module
  can instantiate generic module
  extends generic module from generic module and calls class method (#7167)
  extends generic module from generic module and calls class method (#7167)
  includes generic module with self (check return type, error)
  includes generic module with self (check return type, error)
  errors when recursively extending module that defines instance vars (2)
  errors when recursively extending module that defines instance vars (2)
  can't pass module class to virtual metaclass (#6113)
  can't pass module class to virtual metaclass (#6113)
  includes module with Union(T*)
  includes module with Union(T*)
  extends module from generic class and calls class method (#7167)
  extends module from generic class and calls class method (#7167)
  finds in module when included
  finds in module when included
  types pointer of module with method with two including types
  types pointer of module with method with two including types
  declares module automatically if not previously declared when declaring a module
  declares module automatically if not previously declared when declaring a module
  finds types close to included module
  finds types close to included module
  includes generic module explicitly and errors
  includes generic module explicitly and errors
  includes generic module explicitly
  includes generic module explicitly
  instantiates generic variadic module, accesses T from class method through generic extend
  instantiates generic variadic module, accesses T from class method through generic extend
  errors when recursively extending module that defines instance vars
  errors when recursively extending module that defines instance vars
  gives error when trying to instantiate with allocate
  gives error when trying to instantiate with allocate
  errors if declares module inside if
  errors if declares module inside if
  includes generic module with self (check return subclass type, error)
  includes generic module with self (check return subclass type, error)
  gives error when including self
  gives error when including self
  type def does not reopen type from parent namespace (#11181)
  type def does not reopen type from parent namespace (#11181)
  includes generic module with self (check return type, success)
  includes generic module with self (check return type, success)
  finds nested type inside method in block inside module
  finds nested type inside method in block inside module
  finds constant in generic module included in another module
  finds constant in generic module included in another module
  includes generic module with self, and inherits it
  includes generic module with self, and inherits it
  can use generic module as instance variable type
  can use generic module as instance variable type
  doesn't lookup type in ancestor when matches in current type (#2982)
  doesn't lookup type in ancestor when matches in current type (#2982)
  initializes variable in module, recursive
  initializes variable in module, recursive
  gives error when including self, generic module
  gives error when including self, generic module
  calls super on included generic module
  calls super on included generic module
  instantiates generic variadic module, accesses T from instance method through generic include, more args
  instantiates generic variadic module, accesses T from instance method through generic include, more args
  works with int including enumerable
  works with int including enumerable
  includes generic module with self (check return subclass type, success)
  includes generic module with self (check return subclass type, success)
  errors if reopening non-generic module as generic
  errors if reopening non-generic module as generic
  works ok in a case where a typed-def type has an underlying type that has an included generic module (bug)
  works ok in a case where a typed-def type has an underlying type that has an included generic module (bug)
  can use generic module as instance variable type (2)
  can use generic module as instance variable type (2)
  inherits instance var type annotation from generic to concrete
  inherits instance var type annotation from generic to concrete
  can't reopen as class
  can't reopen as class
  uses type declaration inside module, recursive, and gives error
  uses type declaration inside module, recursive, and gives error
  extends a module
  extends a module
  includes module but not generic
  includes module but not generic
  errors when extending generic module that defines instance vars (2)
  errors when extending generic module that defines instance vars (2)
  errors if reopening generic module with different type vars
  errors if reopening generic module with different type vars
  instantiates generic variadic module, accesses T from instance method, more args
  instantiates generic variadic module, accesses T from instance method, more args
  errors if reopening generic module with different splat index (3)
  errors if reopening generic module with different splat index (3)
  includes generic module with self (check argument type, error)
  includes generic module with self (check argument type, error)
  errors when extending self and self defines instance vars (3) (#9568)
  errors when extending self and self defines instance vars (3) (#9568)
  finds class method in block
  finds class method in block
  finds inner class from inherited one (#476)
  finds inner class from inherited one (#476)
  includes module but can't access metaclass methods
  includes module but can't access metaclass methods
Crystal::Repl::Interpreter
  instance_alignof
    interprets instance_alignof typeof
    interprets instance_alignof typeof
  instance_sizeof
    interprets instance_sizeof typeof
    interprets instance_sizeof typeof
  alignof
    interprets alignof typeof
    interprets alignof typeof
  sizeof
    interprets sizeof typeof
    interprets sizeof typeof
Crystal::Repl::Interpreter
  named tuple
    interprets named tuple literal and access by known index
    interprets named tuple literal and access by known index
    interprets named tuple metaclass indexer
    interprets named tuple metaclass indexer
    discards named tuple (#12383)
    discards named tuple (#12383)
Lexer
  lexes "offsetof"
  lexes "offsetof"
  says syntax error on "4f33"
  says syntax error on "4f33"
  lexes "while!"
  lexes "while!"
  lexes ":<="
  lexes ":<="
  says syntax error on "9999999999999999999_i32"
  says syntax error on "9999999999999999999_i32"
  says syntax error on "-0e_12"
  says syntax error on "-0e_12"
  lexes ""
  lexes ""
  lexes "\8"
  lexes "\8"
  says syntax error on "4f22"
  says syntax error on "4f22"
  says syntax error on "$0?"
  says syntax error on "$0?"
  lexes "0_f32"
  lexes "0_f32"
  says syntax error on "4i33"
  says syntax error on "4i33"
  lexes "&*"
  lexes "&*"
  lexes "0x3fffffffffffffff"
  lexes "0x3fffffffffffffff"
  lexes "as?"
  lexes "as?"
  says syntax error on "-0_u64"
  says syntax error on "-0_u64"
  lexes "&-="
  lexes "&-="
  says syntax error on "\"\\xz\""
  says syntax error on "\"\\xz\""
  says syntax error on "-32769_i16"
  says syntax error on "-32769_i16"
  lexes "}"
  lexes "}"
  lexes "def!"
  lexes "def!"
  says syntax error on "18446744073709551616_i32"
  says syntax error on "18446744073709551616_i32"
  lexes "\xFF"
  lexes "\xFF"
  lexes "0.5"
  lexes "0.5"
  lexes ":&**"
  lexes ":&**"
  lexes "else"
  lexes "else"
  lexes "0x7fffffffffffffff"
  lexes "0x7fffffffffffffff"
  lexes "0f32"
  lexes "0f32"
  lexes "1.0"
  lexes "1.0"
  says syntax error on "\"\\400\""
  says syntax error on "\"\\400\""
  lexes "@["
  lexes "@["
  lexes "-9223372036854775808"
  lexes "-9223372036854775808"
  says syntax error on "0xFF_i8"
  says syntax error on "0xFF_i8"
  lexes "return"
  lexes "return"
  lexes "0o1000000000000000000000"
  lexes "0o1000000000000000000000"
  lexes "="
  lexes "="
  says syntax error on "\"hi\\"
  says syntax error on "\"hi\\"
  lexes "9223372036854775807"
  lexes "9223372036854775807"
  lexes "://"
  lexes "://"
  lexes "0x1_i64"
  lexes "0x1_i64"
  lexes "1.0f32"
  lexes "1.0f32"
  lexes "&+="
  lexes "&+="
  says syntax error on "0b100000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000"
  says syntax error on "0b100000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000"
  says syntax error on "2147483648_i32"
  says syntax error on "2147483648_i32"
  says syntax error on "0x1afafafafafafafafafafafi32"
  says syntax error on "0x1afafafafafafafafafafafi32"
  says syntax error on "0o73_f64"
  says syntax error on "0o73_f64"
  lexes regex after \n
  lexes regex after \n
  says syntax error on "'\\u{DFFF}'"
  says syntax error on "'\\u{DFFF}'"
  lexes "else!"
  lexes "else!"
  lexes "/"
  lexes "/"
  lexes "0o1000000000000000000000"
  lexes "0o1000000000000000000000"
  lexes "\n\n\n"
  lexes "\n\n\n"
  lexes "true"
  lexes "true"
  lexes "*="
  lexes "*="
  lexes "1_u16"
  lexes "1_u16"
  lexes "0b100000000000000000000000000000000"
  lexes "0b100000000000000000000000000000000"
  lexes __FILE__
  lexes __FILE__
  lexes "+1.0f32"
  lexes "+1.0f32"
  lexes ":<=>"
  lexes ":<=>"
  says syntax error on "-0x80000000000000000000000000000000"
  says syntax error on "-0x80000000000000000000000000000000"
  says syntax error on "4i12"
  says syntax error on "4i12"
  lexes "alias"
  lexes "alias"
  lexes "$10?"
  lexes "$10?"
  lexes "1e+23_f32"
  lexes "1e+23_f32"
  lexes "<=>"
  lexes "<=>"
  lexes "+1_i128"
  lexes "+1_i128"
  lexes ">>"
  lexes ">>"
  lexes "+0.5"
  lexes "+0.5"
  lexes "with"
  lexes "with"
  says syntax error on "00"
  says syntax error on "00"
  lexes "{%"
  lexes "{%"
  lexes "1_000"
  lexes "1_000"
  lexes "if"
  lexes "if"
  lexes dot and ident
  lexes dot and ident
  lexes "[]"
  lexes "[]"
  lexes "\1"
  lexes "\1"
  lexes "&*="
  lexes "&*="
  lexes "-1_i64"
  lexes "-1_i64"
  lexes "0b1111111111111111111111111111111"
  lexes "0b1111111111111111111111111111111"
  says syntax error on "-2147483649_i32"
  says syntax error on "-2147483649_i32"
  says syntax error on "0o200000_00000000_00000000_u64"
  says syntax error on "0o200000_00000000_00000000_u64"
  lexes "||"
  lexes "||"
  says syntax error on "128_i8"
  says syntax error on "128_i8"
  lexes "0b001111111111111111111111111111111111111111111111111111111111111111"
  lexes "0b001111111111111111111111111111111111111111111111111111111111111111"
  says syntax error on "2e"
  says syntax error on "2e"
  says syntax error on "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
  says syntax error on "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
  says syntax error on "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
  says syntax error on "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
  lexes ":&*"
  lexes ":&*"
  lexes "==="
  lexes "==="
  lexes "$foo123"
  lexes "$foo123"
  lexes "**"
  lexes "**"
  lexes "1_i64"
  lexes "1_i64"
  lexes "while"
  lexes "while"
  lexes "nil?"
  lexes "nil?"
  lexes "0x7fffffff"
  lexes "0x7fffffff"
  says syntax error on "4i3"
  says syntax error on "4i3"
  lexes "self"
  lexes "self"
  lexes "yield!"
  lexes "yield!"
  lexes "1_234.567_890"
  lexes "1_234.567_890"
  lexes "lib"
  lexes "lib"
  lexes "@@foo"
  lexes "@@foo"
  lexes "1.2e+23_f64"
  lexes "1.2e+23_f64"
  lexes "1i32"
  lexes "1i32"
  lexes "of"
  lexes "of"
  lexes "1_u32"
  lexes "1_u32"
  says syntax error on "0o7777777777777777777777777777777777777777777777777"
  says syntax error on "0o7777777777777777777777777777777777777777777777777"
  lexes "0i8"
  lexes "0i8"
  lexes "1i8"
  lexes "1i8"
  says syntax error on "18446744073709551616"
  says syntax error on "18446744073709551616"
  says syntax error on "2e8i8"
  says syntax error on "2e8i8"
  lexes symbol followed by ==
  lexes symbol followed by ==
  says syntax error on "4i65"
  says syntax error on "4i65"
  lexes "macro"
  lexes "macro"
  says syntax error on "-1_u128"
  says syntax error on "-1_u128"
  lexes "1_u8"
  lexes "1_u8"
  lexes "0o123_i64"
  lexes "0o123_i64"
  says syntax error on "0x8000000000000000i64"
  says syntax error on "0x8000000000000000i64"
  lexes "private"
  lexes "private"
  lexes "responds_to?"
  lexes "responds_to?"
  says syntax error on "-1_u32"
  says syntax error on "-1_u32"
  lexes "class?"
  lexes "class?"
  lexes "module"
  lexes "module"
  lexes "0b1010"
  lexes "0b1010"
  lexes "do!"
  lexes "do!"
  lexes "union"
  lexes "union"
  says syntax error on "4F32"
  says syntax error on "4F32"
  lexes "&-"
  lexes "&-"
  lexes ">>="
  lexes ">>="
  lexes "->"
  lexes "->"
  invalid byte sequence
  invalid byte sequence
  lexes "-1.0f32"
  lexes "-1.0f32"
  lexes "1_234.567_890_f32"
  lexes "1_234.567_890_f32"
  lexes "0xffff_ffff_ffff_ffff"
  lexes "0xffff_ffff_ffff_ffff"
  lexes ":"
  lexes ":"
  lexes "=~"
  lexes "=~"
  lexes __DIR__
  lexes __DIR__
  lexes ":[]="
  lexes ":[]="
  lexes "0b11111111_11111111_11111111_11111111_11111111_11111111_11111111_11111111"
  lexes "0b11111111_11111111_11111111_11111111_11111111_11111111_11111111_11111111"
  says syntax error on "65536_u16"
  says syntax error on "65536_u16"
  lexes "-0.0f32"
  lexes "-0.0f32"
  lexes "super"
  lexes "super"
  says syntax error on "0o40000000000i32"
  says syntax error on "0o40000000000i32"
  lexes "in"
  lexes "in"
  lexes "unless!"
  lexes "unless!"
  lexes "+1234"
  lexes "+1234"
  lexes "class!"
  lexes "class!"
  says syntax error on "-999999999999999999999999999999999999999"
  says syntax error on "-999999999999999999999999999999999999999"
  lexes "return!"
  lexes "return!"
  lexes "-0x80000000000000000000000000000000_i128"
  lexes "-0x80000000000000000000000000000000_i128"
  lexes ":foo?"
  lexes ":foo?"
  says syntax error on "2ef32"
  says syntax error on "2ef32"
  lexes "1e-23"
  lexes "1e-23"
  lexes "uninitialized"
  lexes "uninitialized"
  says syntax error on "0o12345671234567_12345671234567_i8"
  says syntax error on "0o12345671234567_12345671234567_i8"
  says syntax error on "'\\u{110000}'"
  says syntax error on "'\\u{110000}'"
  says syntax error on "0b11_f32"
  says syntax error on "0b11_f32"
  says syntax error on "/foo"
  says syntax error on "/foo"
  lexes "1f32"
  lexes "1f32"
  lexes ":!"
  lexes ":!"
  lexes ">="
  lexes ">="
  lexes "with_1"
  lexes "with_1"
  lexes "0x3🔮"
  lexes "0x3🔮"
  says syntax error on "-3_"
  says syntax error on "-3_"
  lexes "<"
  lexes "<"
  lexes ".."
  lexes ".."
  lexes ">"
  lexes ">"
  says syntax error on "1_.1"
  says syntax error on "1_.1"
  lexes ":==="
  lexes ":==="
  lexes "<<="
  lexes "<<="
  lexes "0xFFFFFFFF"
  lexes "0xFFFFFFFF"
  lexes ":>="
  lexes ":>="
  lexes "as"
  lexes "as"
  lexes '\a'
  lexes '\a'
  lexes "%="
  lexes "%="
  lexes "select"
  lexes "select"
  lexes "unless?"
  lexes "unless?"
  lexes "-0o123"
  lexes "-0o123"
  lexes "pointerof"
  lexes "pointerof"
  lexes '\0'
  lexes '\0'
  says syntax error on "-0x80000000000000000000000000000001"
  says syntax error on "-0x80000000000000000000000000000001"
  lexes symbol followed by !=
  lexes symbol followed by !=
  says syntax error on "4i22"
  says syntax error on "4i22"
  lexes "0xabcdef"
  lexes "0xabcdef"
  lexes "+0"
  lexes "+0"
  lexes '\r'
  lexes '\r'
  lexes "1_i16"
  lexes "1_i16"
  lexes "?"
  lexes "?"
  lexes "with_underscores"
  lexes "with_underscores"
  lexes ":&"
  lexes ":&"
  lexes "0🔮"
  lexes "0🔮"
  lexes ":>"
  lexes ":>"
  lexes "@foo"
  lexes "@foo"
  lexes "true?"
  lexes "true?"
  says syntax error on "\"\\x1z\""
  says syntax error on "\"\\x1z\""
  lexes "//"
  lexes "//"
  says syntax error on ":+1"
  says syntax error on ":+1"
  lexes "return?"
  lexes "return?"
  lexes "1u64"
  lexes "1u64"
  lexes "2147483648"
  lexes "2147483648"
  lexes "-0xFFFF"
  lexes "-0xFFFF"
  says syntax error on "0F32"
  says syntax error on "0F32"
  lexes "verbatim"
  lexes "verbatim"
  lexes "1i64"
  lexes "1i64"
  says syntax error on "-9999999999999999999"
  says syntax error on "-9999999999999999999"
  lexes "next?"
  lexes "next?"
  says syntax error on "0_12"
  says syntax error on "0_12"
  lexes "do"
  lexes "do"
  lexes "14146167139683460000"
  lexes "14146167139683460000"
  lexes space after keyword
  lexes space after keyword
  lexes "0b111111111111111111111111111111111111111111111111111111111111111"
  lexes "0b111111111111111111111111111111111111111111111111111111111111111"
  lexes "0o001777777777777777777777"
  lexes "0o001777777777777777777777"
  lexes "!~"
  lexes "!~"
  lexes "/="
  lexes "/="
  lexes "next!"
  lexes "next!"
  lexes "-2147483649"
  lexes "-2147483649"
  says syntax error on "256_u8"
  says syntax error on "256_u8"
  lexes "//="
  lexes "//="
  lexes "]"
  lexes "]"
  lexes "begin?"
  lexes "begin?"
  lexes ":*"
  lexes ":*"
  lexes ":かたな"
  lexes ":かたな"
  lexes "Foo"
  lexes "Foo"
  lexes "unless"
  lexes "unless"
  lexes "1i128hello"
  lexes "1i128hello"
  lexes "*"
  lexes "*"
  lexes "%}"
  lexes "%}"
  lexes ":\"foo\""
  lexes ":\"foo\""
  lexes "-0x8000000000000000_i64"
  lexes "-0x8000000000000000_i64"
  lexes 'a'
  lexes 'a'
  lexes "=>"
  lexes "=>"
  lexes "if?"
  lexes "if?"
  lexes "1_i32"
  lexes "1_i32"
  lexes "_"
  lexes "_"
  lexes "class"
  lexes "class"
  says syntax error on "-9223372036854775809_i64"
  says syntax error on "-9223372036854775809_i64"
  lexes ":foo"
  lexes ":foo"
  says syntax error on "0o1234567123456712345671234567u64"
  says syntax error on "0o1234567123456712345671234567u64"
  lexes char with unicode codepoint
  lexes char with unicode codepoint
  lexes "0o123"
  lexes "0o123"
  says syntax error on "4u65"
  says syntax error on "4u65"
  says syntax error on "-.42"
  says syntax error on "-.42"
  lexes "1"
  lexes "1"
  lexes "0o37777777777"
  lexes "0o37777777777"
  says syntax error on "0x1afafafafafafafafafafaf"
  says syntax error on "0x1afafafafafafafafafafaf"
  lexes heredoc start
  lexes heredoc start
  says syntax error on "0x10000_0000_0000_0000"
  says syntax error on "0x10000_0000_0000_0000"
  lexes "for"
  lexes "for"
  lexes "<<"
  lexes "<<"
  lexes "abstract"
  lexes "abstract"
  lexes "1.0f32"
  lexes "1.0f32"
  lexes "["
  lexes "["
  lexes ":[]?"
  lexes ":[]?"
  lexes symbol with quote
  lexes symbol with quote
  lexes "9223372036854775808"
  lexes "9223372036854775808"
  lexes ":<<"
  lexes ":<<"
  lexes "ensure"
  lexes "ensure"
  lexes regex after \r\n
  lexes regex after \r\n
  lexes '\f'
  lexes '\f'
  lexes "1.0f64"
  lexes "1.0f64"
  lexes "require"
  lexes "require"
  lexes "ident"
  lexes "ident"
  lexes "1e+23"
  lexes "1e+23"
  lexes "1_u128"
  lexes "1_u128"
  lexes ";"
  lexes ";"
  says syntax error on "0b🔮"
  says syntax error on "0b🔮"
  lexes char with unicode codepoint and curly with six hex digits
  lexes char with unicode codepoint and curly with six hex digits
  lexes "-1_i128"
  lexes "-1_i128"
  lexes "fun"
  lexes "fun"
  lexes "false"
  lexes "false"
  says syntax error on "0o200_i8"
  says syntax error on "0o200_i8"
  lexes "0o40000000000"
  lexes "0o40000000000"
  lexes "fooBar"
  lexes "fooBar"
  lexes "-9223372036854775809_i128"
  lexes "-9223372036854775809_i128"
  lexes "def"
  lexes "def"
  lexes "-0x80000001"
  lexes "-0x80000001"
  lexes "$23?"
  lexes "$23?"
  lexes "0o777777777777777777777"
  lexes "0o777777777777777777777"
  lexes '\b'
  lexes '\b'
  lexes "0o177777_77777777_77777777"
  lexes "0o177777_77777777_77777777"
  lexes "1_i128"
  lexes "1_i128"
  lexes "0xffffffff"
  lexes "0xffffffff"
  lexes "false?"
  lexes "false?"
  lexes "is_a?"
  lexes "is_a?"
  lexes symbol followed by ===
  lexes symbol followed by ===
  lexes "0b11111111111111111111111111111111"
  lexes "0b11111111111111111111111111111111"
  says syntax error on "0x100000000i32"
  says syntax error on "0x100000000i32"
  lexes "typeof"
  lexes "typeof"
  lexes "\110"
  lexes "\110"
  says syntax error on "2e+-2"
  says syntax error on "2e+-2"
  says syntax error on "4294967296_u32"
  says syntax error on "4294967296_u32"
  lexes "yield"
  lexes "yield"
  lexes "0o17777777777"
  lexes "0o17777777777"
  lexes "0xFFFF"
  lexes "0xFFFF"
  lexes ":|"
  lexes ":|"
  says syntax error on "'\\1'"
  says syntax error on "'\\1'"
  lexes "$?"
  lexes "$?"
  lexes "1u128"
  lexes "1u128"
  lexes char with unicode codepoint and curly
  lexes char with unicode codepoint and curly
  lexes '\v'
  lexes '\v'
  says syntax error on "2e+f32"
  says syntax error on "2e+f32"
  lexes "1.2e+23_f32"
  lexes "1.2e+23_f32"
  lexes "340282366920938463463374607431768211455_u128"
  lexes "340282366920938463463374607431768211455_u128"
  lexes "begin!"
  lexes "begin!"
  lexes ":<"
  lexes ":<"
  lexes "out"
  lexes "out"
  lexes "0x80000001"
  lexes "0x80000001"
  says syntax error on "0b1000000000000000000000000000000000000000000000000000000000000000i64"
  says syntax error on "0b1000000000000000000000000000000000000000000000000000000000000000i64"
  lexes "bar!"
  lexes "bar!"
  lexes "$FOO"
  lexes "$FOO"
  lexes "9223372036854775808_i128"
  lexes "9223372036854775808_i128"
  lexes "instance_sizeof"
  lexes "instance_sizeof"
  says syntax error on "4.0_u32"
  says syntax error on "4.0_u32"
  lexes '\''
  lexes '\''
  lexes "struct"
  lexes "struct"
  lexes "asm"
  lexes "asm"
  lexes "0e40"
  lexes "0e40"
  lexes "1u8"
  lexes "1u8"
  says syntax error on "340282366920938463463374607431768211456"
  says syntax error on "340282366920938463463374607431768211456"
  lexes comment at the end
  lexes comment at the end
  lexes "1.2e+23"
  lexes "1.2e+23"
  lexes "nil"
  lexes "nil"
  says syntax error on "118446744073709551616"
  says syntax error on "118446744073709551616"
  says syntax error on "-9223372036854775809"
  says syntax error on "-9223372036854775809"
  lexes "0o17777777777_i32"
  lexes "0o17777777777_i32"
  lexes "while?"
  lexes "while?"
  doesn't raise if many slash r with slash n
  doesn't raise if many slash r with slash n
  lexes ":=~"
  lexes ":=~"
  lexes utf-8 char
  lexes utf-8 char
  lexes "^="
  lexes "^="
  lexes "$foo"
  lexes "$foo"
  lexes "-@foo"
  lexes "-@foo"
  says syntax error on "-0u64"
  says syntax error on "-0u64"
  lexes "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF_u128"
  lexes "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF_u128"
  lexes "$_foo"
  lexes "$_foo"
  lexes "&+"
  lexes "&+"
  lexes "break?"
  lexes "break?"
  lexes "&="
  lexes "&="
  lexes "-"
  lexes "-"
  lexes "end"
  lexes "end"
  lexes "{"
  lexes "{"
  lexes != after identifier (#4815)
  lexes != after identifier (#4815)
  lexes __LINE__
  lexes __LINE__
  lexes utf-8 multibyte char
  lexes utf-8 multibyte char
  lexes not instance var
  lexes not instance var
  lexes "0x10000_0000_0000_0000_i128"
  lexes "0x10000_0000_0000_0000_i128"
  lexes "0x00ffffffffffffffff"
  lexes "0x00ffffffffffffffff"
  lexes ":!="
  lexes ":!="
  lexes "=="
  lexes "=="
  lexes "until"
  lexes "until"
  lexes "|="
  lexes "|="
  lexes " "
  lexes " "
  lexes "protected"
  lexes "protected"
  lexes "when"
  lexes "when"
  lexes "2_e2"
  lexes "2_e2"
  lexes "sizeof"
  lexes "sizeof"
  lexes "1u32"
  lexes "1u32"
  lexes ":&-"
  lexes ":&-"
  lexes "next"
  lexes "next"
  lexes "0x100000000"
  lexes "0x100000000"
  lexes "&"
  lexes "&"
  lexes "+"
  lexes "+"
  lexes "118446744073709551616_u128"
  lexes "118446744073709551616_u128"
  lexes "|"
  lexes "|"
  lexes comment and token
  lexes comment and token
  lexes "[]?"
  lexes "[]?"
  lexes symbol with backslash (#2187)
  lexes symbol with backslash (#2187)
  lexes "end!"
  lexes "end!"
  lexes "2147483648.foo"
  lexes "2147483648.foo"
  says syntax error on "/\\"
  says syntax error on "/\\"
  says syntax error on ":\"foo"
  says syntax error on ":\"foo"
  lexes "10000000000000000000_u64"
  lexes "10000000000000000000_u64"
  lexes "1.0f32hello"
  lexes "1.0f32hello"
  lexes "1f64"
  lexes "1f64"
  lexes "0xFFFF_u64"
  lexes "0xFFFF_u64"
  says syntax error on ".42"
  says syntax error on ".42"
  lexes "\n"
  lexes "\n"
  lexes "false!"
  lexes "false!"
  lexes ":foo!"
  lexes ":foo!"
  lexes "0b0_1"
  lexes "0b0_1"
  lexes "include"
  lexes "include"
  lexes "|"
  lexes "|"
  lexes "$10"
  lexes "$10"
  says syntax error on "-1_u16"
  says syntax error on "-1_u16"
  says syntax error on "0o200000_00000000_00000000"
  says syntax error on "0o200000_00000000_00000000"
  lexes "something"
  lexes "something"
  lexes "1_i64"
  lexes "1_i64"
  lexes "0xffffffffffffffff"
  lexes "0xffffffffffffffff"
  lexes "~"
  lexes "~"
  lexes ":+"
  lexes ":+"
  lexes "nil!"
  lexes "nil!"
  lexes float then zero (bug)
  lexes float then zero (bug)
  lexes "break!"
  lexes "break!"
  lexes "\t"
  lexes "\t"
  lexes "0b1000000000000000000000000000000000000000000000000000000000000000"
  lexes "0b1000000000000000000000000000000000000000000000000000000000000000"
  lexes "1i128"
  lexes "1i128"
  says syntax error on "-11111111111111111111"
  says syntax error on "-11111111111111111111"
  lexes "!="
  lexes "!="
  lexes "else?"
  lexes "else?"
  lexes "enum"
  lexes "enum"
  lexes "-1234"
  lexes "-1234"
  says syntax error on "1__1"
  says syntax error on "1__1"
  lexes "1hello"
  lexes "1hello"
  says syntax error on "-129_i8"
  says syntax error on "-129_i8"
  lexes "\10"
  lexes "\10"
  lexes "0i32"
  lexes "0i32"
  lexes ","
  lexes ","
  lexes "18446744073709551615"
  lexes "18446744073709551615"
  doesn't raise if slash r with slash n
  doesn't raise if slash r with slash n
  lexes "extend"
  lexes "extend"
  lexes "annotation"
  lexes "annotation"
  says syntax error on "0b100000000000000000000000000000000000000000000000000000000000000000"
  says syntax error on "0b100000000000000000000000000000000000000000000000000000000000000000"
  lexes "def?"
  lexes "def?"
  says syntax error on "0x1afafafafafafafafafafafu64"
  says syntax error on "0x1afafafafafafafafafafafu64"
  lexes "[]="
  lexes "[]="
  lexes "&**"
  lexes "&**"
  says syntax error on "0b10000000_i8"
  says syntax error on "0b10000000_i8"
  lexes "<="
  lexes "<="
  lexes "+0xFFFF"
  lexes "+0xFFFF"
  lexes ":=="
  lexes ":=="
  lexes "-="
  lexes "-="
  says syntax error on "4u12"
  says syntax error on "4u12"
  lexes "0b1_i64"
  lexes "0b1_i64"
  lexes ":&+"
  lexes ":&+"
  lexes "2e01"
  lexes "2e01"
  lexes "1i16"
  lexes "1i16"
  lexes "0x8000000000000000"
  lexes "0x8000000000000000"
  lexes "foo?"
  lexes "foo?"
  lexes "+1"
  lexes "+1"
  lexes "break"
  lexes "break"
  lexes "0_i32"
  lexes "0_i32"
  lexes "$1"
  lexes "$1"
  lexes space after char
  lexes space after char
  lexes "then"
  lexes "then"
  says syntax error on "0b_10"
  says syntax error on "0b_10"
  says syntax error on "0b100000000000000000000000000000000i32"
  says syntax error on "0b100000000000000000000000000000000i32"
  lexes "-0xFFFFFFFF"
  lexes "-0xFFFFFFFF"
  lexes "^"
  lexes "^"
  lexes "&+@foo"
  lexes "&+@foo"
  lexes "do?"
  lexes "do?"
  says syntax error on "0b100000000000000000000000000000000000000000000000000000000000000000u64"
  says syntax error on "0b100000000000000000000000000000000000000000000000000000000000000000u64"
  says syntax error on "'\\u{}'"
  says syntax error on "'\\u{}'"
  lexes "$1?"
  lexes "$1?"
  lexes "\x12"
  lexes "\x12"
  lexes "elsif"
  lexes "elsif"
  says syntax error on "0xfffffffffffffffff_u64"
  says syntax error on "0xfffffffffffffffff_u64"
  lexes "1e23"
  lexes "1e23"
  lexes "0o700000000000000000000"
  lexes "0o700000000000000000000"
  lexes "rescue"
  lexes "rescue"
  lexes "&&="
  lexes "&&="
  says syntax error on "\r1"
  says syntax error on "\r1"
  says syntax error on "'\\uD800'"
  says syntax error on "'\\uD800'"
  lexes '\n'
  lexes '\n'
  lexes "+@foo"
  lexes "+@foo"
  says syntax error on "4u3"
  says syntax error on "4u3"
  lexes "1i64hello"
  lexes "1i64hello"
  lexes ":!~"
  lexes ":!~"
  lexes "0"
  lexes "0"
  lexes "!"
  lexes "!"
  says syntax error on "-0o7777777777777777777777777777777777777777777777777"
  says syntax error on "-0o7777777777777777777777777777777777777777777777777"
  says syntax error on "9223372036854775808_i64"
  says syntax error on "9223372036854775808_i64"
  lexes "-0b1010"
  lexes "-0b1010"
  lexes "true!"
  lexes "true!"
  lexes ":**"
  lexes ":**"
  says syntax error on "0123"
  says syntax error on "0123"
  lexes ":%"
  lexes ":%"
  lexes "1_i8"
  lexes "1_i8"
  lexes "1E40"
  lexes "1E40"
  lexes ":^"
  lexes ":^"
  lexes "end?"
  lexes "end?"
  says syntax error on "-99999999999999999999"
  says syntax error on "-99999999999999999999"
  lexes "18446744073709551616_u128"
  lexes "18446744073709551616_u128"
  lexes "**="
  lexes "**="
  lexes "170141183460469231731687303715884105727_i128"
  lexes "170141183460469231731687303715884105727_i128"
  lexes "0b1111111111111111111111111111111_i32"
  lexes "0b1111111111111111111111111111111_i32"
  says syntax error on "0b100000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000_u64"
  says syntax error on "0b100000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000_u64"
  lexes ":[]"
  lexes ":[]"
  says syntax error on "2e+"
  says syntax error on "2e+"
  says syntax error on "0x10000_0000_0000_0000_u64"
  says syntax error on "0x10000_0000_0000_0000_u64"
  lexes "elsif?"
  lexes "elsif?"
  lexes "1234"
  lexes "1234"
  lexes "%"
  lexes "%"
  lexes ":foo="
  lexes ":foo="
  lexes "yield?"
  lexes "yield?"
  lexes "+="
  lexes "+="
  lexes ":-"
  lexes ":-"
  lexes "0x7fffffff_i32"
  lexes "0x7fffffff_i32"
  says syntax error on "'\\"
  says syntax error on "'\\"
  lexes "1u16"
  lexes "1u16"
  lexes "1.0hello"
  lexes "1.0hello"
  lexes "1i64"
  lexes "1i64"
  lexes "..."
  lexes "..."
  lexes "||="
  lexes "||="
  lexes "case"
  lexes "case"
  lexes "+0o123"
  lexes "+0o123"
  says syntax error on "18446744073709551616_u64"
  says syntax error on "18446744073709551616_u64"
  lexes "begin"
  lexes "begin"
  lexes '\0'
  lexes '\0'
  lexes "-1"
  lexes "-1"
  lexes "+1_i64"
  lexes "+1_i64"
  lexes ")"
  lexes ")"
  lexes "type"
  lexes "type"
  says syntax error on "118446744073709551616_u64"
  says syntax error on "118446744073709551616_u64"
  says syntax error on "0o1000000000000000000000i64"
  says syntax error on "0o1000000000000000000000i64"
  lexes "-0.5"
  lexes "-0.5"
  lexes "!@foo"
  lexes "!@foo"
  says syntax error on "'\\u{D800}'"
  says syntax error on "'\\u{D800}'"
  lexes "100_000"
  lexes "100_000"
  says syntax error on "2e+_2"
  says syntax error on "2e+_2"
  says syntax error on "$01"
  says syntax error on "$01"
  says syntax error on "32768_i16"
  says syntax error on "32768_i16"
  lexes "12341234🔮"
  lexes "12341234🔮"
  says syntax error on "'"
  says syntax error on "'"
  says syntax error on "4u33"
  says syntax error on "4u33"
  lexes "\4"
  lexes "\4"
  lexes "+1.0"
  lexes "+1.0"
  says syntax error on "-1_u8"
  says syntax error on "-1_u8"
  lexes ":>>"
  lexes ":>>"
  lexes '\t'
  lexes '\t'
  says syntax error on "4f65"
  says syntax error on "4f65"
  says syntax error on "4u22"
  says syntax error on "4u22"
  lexes "."
  lexes "."
  lexes "$~"
  lexes "$~"
  lexes char with unicode codepoint and curly with zeros
  lexes char with unicode codepoint and curly with zeros
  says syntax error on "2e+e"
  says syntax error on "2e+e"
  lexes "❨╯°□°❩╯︵┻━┻"
  lexes "❨╯°□°❩╯︵┻━┻"
  says syntax error on "-170141183460469231731687303715884105729"
  says syntax error on "-170141183460469231731687303715884105729"
  lexes "&&"
  lexes "&&"
  lexes "elsif!"
  lexes "elsif!"
  lexes "+0b1010"
  lexes "+0b1010"
  says syntax error on "2e+@foo"
  says syntax error on "2e+@foo"
  lexes "if!"
  lexes "if!"
  lexes "-0"
  lexes "-0"
  says syntax error on "10e_10"
  says syntax error on "10e_10"
  says syntax error on "-1_u64"
  says syntax error on "-1_u64"
  lexes '\\'
  lexes '\\'
  lexes "{{"
  lexes "{{"
  lexes "-1.0"
  lexes "-1.0"
  lexes "1e23f64"
  lexes "1e23f64"
  lexes "::"
  lexes "::"
  says syntax error on "0o1234567123456712345671234567"
  says syntax error on "0o1234567123456712345671234567"
  lexes "&-@foo"
  lexes "&-@foo"
  says syntax error on "4F64"
  says syntax error on "4F64"
  says syntax error on "01_i64"
  says syntax error on "01_i64"
  lexes "170141183460469231731687303715884105728_u128"
  lexes "170141183460469231731687303715884105728_u128"
  lexes ":~"
  lexes ":~"
  lexes "1_u64"
  lexes "1_u64"
  lexes "1.foo"
  lexes "1.foo"
  says syntax error on "'\\uFEDZ'"
  says syntax error on "'\\uFEDZ'"
  lexes ":/"
  lexes ":/"
  lexes "("
  lexes "("
  says syntax error on "'\\uDFFF'"
  says syntax error on "'\\uDFFF'"
Semantic: macro
  can return virtual class type in macro def
  can return virtual class type in macro def
  doesn't error when adding macro call to constant (#2457)
  doesn't error when adding macro call to constant (#2457)
  errors if missing one argument
  errors if missing one argument
  allows specifying self as macro def return type (2)
  allows specifying self as macro def return type (2)
  finds metaclass instance of instance method (#4739)
  finds metaclass instance of instance method (#4739)
  errors if named arg matches splat parameter
  errors if named arg matches splat parameter
  solves named macro expression arguments before macro expansion (type) (#2423)
  solves named macro expression arguments before macro expansion (type) (#2423)
  solves macro expression arguments before macro expansion (type)
  solves macro expression arguments before macro expansion (type)
  finds generic in macro code
  finds generic in macro code
  @caller
    provides access to the `Call` information
    provides access to the `Call` information
    returns an array of each call
    returns an array of each call
    returns nil if no stack is available
    returns nil if no stack is available
  skip_file macro directive
    skips expanding the rest of the current file
    skips expanding the rest of the current file
    skips file inside an if macro expression
    skips file inside an if macro expression
  finds generic in macro code using free var
  finds generic in macro code using free var
  types macro def that calls another method
  types macro def that calls another method
  executes MultiAssign with ArrayLiteral value
  executes MultiAssign with ArrayLiteral value
  finds generic type argument of included module with self
  finds generic type argument of included module with self
  doesn't die on && inside if (bug)
  doesn't die on && inside if (bug)
  allows declaring class with macro if
  allows declaring class with macro if
  solves macro expression arguments before macro expansion (constant)
  solves macro expression arguments before macro expansion (constant)
  says missing argument because positional args don't match past splat
  says missing argument because positional args don't match past splat
  doesn't crash on syntax error inside macro (regression, #8038)
  doesn't crash on syntax error inside macro (regression, #8038)
  finds macro in included module at class level (#4639)
  finds macro in included module at class level (#4639)
  can lookup type parameter when macro is called inside class (#5343)
  can lookup type parameter when macro is called inside class (#5343)
  raise
    inside method
      without node
        renders both frames (#7147)
        renders both frames (#7147)
    inside macro
      without node
        supports an empty message (#8631)
        supports an empty message (#8631)
        renders both frames (#7147)
        renders both frames (#7147)
        does not contain `expanding macro`
        does not contain `expanding macro`
      with node
        renders both frames (#7147)
        renders both frames (#7147)
        pointing at the correct node in complex/nested macro (#7147)
        pointing at the correct node in complex/nested macro (#7147)
        points to caller when missing node location information (#7147)
        points to caller when missing node location information (#7147)
        contains the message and not `expanding macro` (#5669)
        contains the message and not `expanding macro` (#5669)
  finds macro and method at the same scope
  finds macro and method at the same scope
  declares rescue variable inside for macro
  declares rescue variable inside for macro
  errors if named arg matches single splat parameter
  errors if named arg matches single splat parameter
  types macro
  types macro
  checks if macro expansion returns (#821)
  checks if macro expansion returns (#821)
  does macro verbatim inside macro
  does macro verbatim inside macro
  show macro trace in errors (1)
  show macro trace in errors (1)
  finds macro in inherited generic class
  finds macro in inherited generic class
  expands macro with block
  expands macro with block
  can use macro in instance var initializer (#7666)
  can use macro in instance var initializer (#7666)
  types macro def with argument
  types macro def with argument
  expands macro with block and argument to yield
  expands macro with block and argument to yield
  errors if declares macro inside if
  errors if declares macro inside if
  assigns to underscore in MultiAssign
  assigns to underscore in MultiAssign
  allows union return types for macro def
  allows union return types for macro def
  transforms with {{yield}} and call
  transforms with {{yield}} and call
  preserves correct self in restriction when macro def is to be instantiated in subtypes (#5044)
  preserves correct self in restriction when macro def is to be instantiated in subtypes (#5044)
  types macro def that calls another method inside a class
  types macro def that calls another method inside a class
  looks up argument types in macro owner, not in subclass (#2395)
  looks up argument types in macro owner, not in subclass (#2395)
  gives correct error when method is invoked but macro exists at the same scope
  gives correct error when method is invoked but macro exists at the same scope
  can return class type in macro def
  can return class type in macro def
  clones default value before expanding
  clones default value before expanding
  can override macro (#2773)
  can override macro (#2773)
  finds metaclass instance of instance method (#4639)
  finds metaclass instance of instance method (#4639)
  errors if using macro that is defined later
  errors if using macro that is defined later
  assigns to underscore
  assigns to underscore
  works inside proc literal (#2984)
  works inside proc literal (#2984)
  can't define new variables (#466)
  can't define new variables (#466)
  solves named macro expression arguments before macro expansion (constant) (#2423)
  solves named macro expression arguments before macro expansion (constant) (#2423)
  allows subclasses of return type for macro def
  allows subclasses of return type for macro def
  allows declaring class with macro for
  allows declaring class with macro for
  can specify tuple as return type
  can specify tuple as return type
  finds method before macro (#236)
  finds method before macro (#236)
  finds var in proc for macros
  finds var in proc for macros
  finds generic type argument of included module
  finds generic type argument of included module
  has correct location after expanding assignment after instance var
  has correct location after expanding assignment after instance var
  allows declaring class with inline macro expression (#1333)
  allows declaring class with inline macro expression (#1333)
  double splat and regular args
  double splat and regular args
  errors if missing two arguments
  errors if missing two arguments
  declares variable for macro with out
  declares variable for macro with out
  allows specifying self as macro def return type
  allows specifying self as macro def return type
  errors if named arg already specified
  errors if named arg already specified
  gets named arguments in double splat
  gets named arguments in double splat
  uses bare *, doesn't let more args
  uses bare *, doesn't let more args
  doesn't include parameters with default values in missing arguments error
  doesn't include parameters with default values in missing arguments error
  types macro def
  types macro def
  uses bare *
  uses bare *
  errors if applying protected modifier to macro
  errors if applying protected modifier to macro
  errors if macro uses undefined variable
  errors if macro uses undefined variable
  show macro trace in errors (2)
  show macro trace in errors (2)
  types macro def that calls another method inside a class
  types macro def that calls another method inside a class
  finds type for global path shared with free var
  finds type for global path shared with free var
  expands multiline macro expression in verbatim (#6643)
  expands multiline macro expression in verbatim (#6643)
  errors if find macros but missing argument
  errors if find macros but missing argument
  finds macro in module in Object
  finds macro in module in Object
  finds free type vars
  finds free type vars
  errors if non-existent named arg
  errors if non-existent named arg
  errors if requires inside if through macro expansion
  errors if requires inside if through macro expansion
  finds macro in included generic module
  finds macro in included generic module
  uses uninitialized variable with macros
  uses uninitialized variable with macros
  uses bare *, doesn't let more args
  uses bare *, doesn't let more args
  cannot lookup type defined in caller class
  cannot lookup type defined in caller class
  applies visibility modifier only to first level
  applies visibility modifier only to first level
  unpacks to underscore within block parameters inside macros
  unpacks to underscore within block parameters inside macros
  unpacks block parameters inside macros (#13742)
  unpacks block parameters inside macros (#13742)
  can access variable inside macro expansion (#2057)
  can access variable inside macro expansion (#2057)
  allows named args after splat
  allows named args after splat
  doesn't affect self restrictions outside the macro def being instantiated in subtypes
  doesn't affect self restrictions outside the macro def being instantiated in subtypes
  evaluates yield expression (#2924)
  evaluates yield expression (#2924)
  can use macro in instance var initializer (just assignment) (#7666)
  can use macro in instance var initializer (just assignment) (#7666)
  errors if macro def type not found
  errors if macro def type not found
  uses splat and double splat
  uses splat and double splat
  finds macro through alias (#2706)
  finds macro through alias (#2706)
  errors when trying to define def inside def with macro expansion
  errors when trying to define def inside def with macro expansion
  shows correct error message in macro expansion (#7083)
  shows correct error message in macro expansion (#7083)
  allows generic return types for macro def
  allows generic return types for macro def
  finds macro in included module
  finds macro in included module
  does macro verbatim outside macro
  does macro verbatim outside macro
  allows return values that include the return type of the macro def
  allows return values that include the return type of the macro def
  gives precise location info when doing yield inside macro
  gives precise location info when doing yield inside macro
  can define constant via macro included
  can define constant via macro included
  executes OpAssign (#9356)
  executes OpAssign (#9356)
  declares multi-assign vars for macro
  declares multi-assign vars for macro
  errors if find macros but wrong arguments
  errors if find macros but wrong arguments
  expands macro with break inside while (#1852)
  expands macro with break inside while (#1852)
  errors if macro def type doesn't match found
  errors if macro def type doesn't match found
  finds macro and method at the same scope inside included module
  finds macro and method at the same scope inside included module
  executes MultiAssign
  executes MultiAssign
  errors if requires inside class through macro expansion
  errors if requires inside class through macro expansion
  matches with default value after splat
  matches with default value after splat
Crystal::Doc::Generator
  .anchor_link
    generates the correct anchor link
    generates the correct anchor link
Lexer doc
  resets doc after non newline or space token
  resets doc after non newline or space token
  lexes with doc enabled but without docs
  lexes with doc enabled but without docs
  lexes with doc enabled and docs
  lexes with doc enabled and docs
  lexes with doc enabled and docs, two line comment with leading whitespace
  lexes with doc enabled and docs, two line comment with leading whitespace
  lexes without doc enabled
  lexes without doc enabled
  lexes with doc enabled and docs, one line comment with two newlines and another comment
  lexes with doc enabled and docs, one line comment with two newlines and another comment
  lexes with doc enabled and docs, two line comment
  lexes with doc enabled and docs, two line comment
Semantic: concrete_types
  VirtualType with concrete base
  VirtualType with concrete base
  ModuleType
  ModuleType
  GenericModuleInstanceType
  GenericModuleInstanceType
  VirtualMetaclassType with abstract base
  VirtualMetaclassType with abstract base
  UnionType of structs
  UnionType of structs
  VirtualMetaclassType with concrete base
  VirtualMetaclassType with concrete base
  VirtualType with abstract base
  VirtualType with abstract base
Code gen: asm
  codegens with two inputs
  codegens with two inputs
  codegens with intel dialect
  codegens with intel dialect
  codegens with one input
  codegens with one input
  codegens without inputs
  codegens without inputs
  passes correct string length to LLVM
  passes correct string length to LLVM
  codegens with two outputs
  codegens with two outputs
Semantic: sizeof
  errors on sizeof uninstantiated generic type (#6415)
  errors on sizeof uninstantiated generic type (#6415)
  gives error if using instance_sizeof on an abstract struct with multiple subtypes (#11855)
  gives error if using instance_sizeof on an abstract struct with multiple subtypes (#11855)
  types instance_alignof
  types instance_alignof
  types alignof
  types alignof
  gives error if using instance_sizeof on a struct
  gives error if using instance_sizeof on a struct
  types alignof NoReturn (missing type) (#5717)
  types alignof NoReturn (missing type) (#5717)
  gives error if using instance_sizeof on an abstract struct (#11855)
  gives error if using instance_sizeof on an abstract struct (#11855)
  types instance_sizeof
  types instance_sizeof
  types sizeof
  types sizeof
  gives error if using instance_sizeof on a generic type without type vars
  gives error if using instance_sizeof on a generic type without type vars
  types sizeof NoReturn (missing type) (#5717)
  types sizeof NoReturn (missing type) (#5717)
  gives error if using instance_sizeof on something that's not a class
  gives error if using instance_sizeof on something that's not a class
  types instance_sizeof NoReturn (missing type) (#5717)
  types instance_sizeof NoReturn (missing type) (#5717)
  types instance_alignof NoReturn (missing type) (#5717)
  types instance_alignof NoReturn (missing type) (#5717)
  gives error if using instance_sizeof on a metaclass
  gives error if using instance_sizeof on a metaclass
  gives error if using instance_sizeof on a union type (#8349)
  gives error if using instance_sizeof on a union type (#8349)
  gives error if using instance_sizeof on a module
  gives error if using instance_sizeof on a module
Code gen: struct
  codegens virtual structs union (2)
  codegens virtual structs union (2)
  allows assigning to struct argument (bug)
  allows assigning to struct argument (bug)
  returns struct as a copy
  returns struct as a copy
  creates structs with instance var
  creates structs with instance var
  creates struct in def
  creates struct in def
  uses nilable struct
  uses nilable struct
  can cast virtual struct to specific struct  can cast virtual struct to specific struct  can cast virtual struct to specific struct  can cast virtual struct to specific struct  can cast virtual struct to specific struct  can cast virtual struct to specific struct������������  can cast virtual struct to specific struct��  can cast virtual struct to specific struct��  can cast virtual struct to specific struct
  can cast virtual struct to specific struct
  casts virtual struct to base type, only one subclass (#2885)
  casts virtual struct to base type, only one subclass (#2885)
  can call new on abstract struct with single child (#7309)
  can call new on abstract struct with single child (#7309)
  codegens virtual struct metaclass (#2551) (3)
  codegens virtual struct metaclass (#2551) (3)
  codegens virtual struct metaclass (#2551) (2)
  codegens virtual struct metaclass (#2551) (2)
  assigning a struct makes a copy (1)
  assigning a struct makes a copy (1)
  codegens virtual struct with pointer
  codegens virtual struct with pointer
  returns self
  returns self
  codegens virtual struct
  codegens virtual struct
  passes a struct as a parameter makes a copy
  passes a struct as a parameter makes a copy
  codegens virtual struct metaclass (#2551) (4)  codegens virtual struct metaclass (#2551) (4)  codegens virtual struct metaclass (#2551) (4)  codegens virtual struct metaclass (#2551) (4)  codegens virtual struct metaclass (#2551) (4)  codegens virtual struct metaclass (#2551) (4)������������  codegens virtual struct metaclass (#2551) (4)��  codegens virtual struct metaclass (#2551) (4)��  codegens virtual struct metaclass (#2551) (4)
  codegens virtual struct metaclass (#2551) (4)
  passes a generic struct as a parameter makes a copy
  passes a generic struct as a parameter makes a copy
  returns self with block
  returns self with block
  assigning a struct makes a copy (2)
  assigning a struct makes a copy (2)
  codegens virtual structs union (1)
  codegens virtual structs union (1)
  codegens struct assigned to underscore (#1842)
  codegens struct assigned to underscore (#1842)
  creates structs
  creates structs
  codegens virtual struct metaclass (#2551) (1)
  codegens virtual struct metaclass (#2551) (1)
  mutates a  virtual struct
  mutates a  virtual struct
  declares const struct  declares const struct  declares const struct  declares const struct  declares const struct  declares const struct  declares const struct��������������  declares const struct��  declares const struct
  declares const struct
  uses struct in if  uses struct in if  uses struct in if  uses struct in if  uses struct in if  uses struct in if  uses struct in if��������������  uses struct in if��  uses struct in if
  uses struct in if
  does phi of struct
  does phi of struct
Semantic: lib
  errors if second argument is not a string
  errors if second argument is not a string
  defines lib funs before funs with body
  defines lib funs before funs with body
  types a varargs external
  types a varargs external
  errors if defining incompatible funs with the same name in different libs (#3045)
  errors if defining incompatible funs with the same name in different libs (#3045)
  can use out with named args
  can use out with named args
  raises on undefined fun
  raises on undefined fun
  reports error on fun argument type not primitive like, Nil (#2994)
  reports error on fun argument type not primitive like, Nil (#2994)
  reports redefinition of fun with different signature
  reports redefinition of fun with different signature
  types lib var get with forward declaration
  types lib var get with forward declaration
  raises wrong argument type
  raises wrong argument type
  errors if wrong number of arguments for CallConvention
  errors if wrong number of arguments for CallConvention
  errors if assigning void lib call to var (#4414)
  errors if assigning void lib call to var (#4414)
  errors if using named args with variadic function
  errors if using named args with variadic function
  errors if invoking to_i32! and got error in that call
  errors if invoking to_i32! and got error in that call
  errors if lib named arg is not a String
  errors if lib named arg is not a String
  errors if CallConvention argument is not a string
  errors if CallConvention argument is not a string
  types lib var set
  types lib var set
  errors if third argument is not a bool
  errors if third argument is not a bool
  errors if using out with varargs
  errors if using out with varargs
  errors if unknown named arg
  errors if unknown named arg
  errors if using void via typedef as parameter (related to #508)
  errors if using void via typedef as parameter (related to #508)
  passes int as another integer type with literal
  passes int as another integer type with literal
  defined fun with aliased type
  defined fun with aliased type
  disallows passing nil or pointer to arg expecting pointer
  disallows passing nil or pointer to arg expecting pointer
  gathers link annotations from macro expression
  gathers link annotations from macro expression
  errors if defining incompatible funs with the same name in the same lib (#3045)
  errors if defining incompatible funs with the same name in the same lib (#3045)
  reports error on struct field type not primitive like
  reports error on struct field type not primitive like
  error if passing non primitive type as varargs invoking to_unsafe
  error if passing non primitive type as varargs invoking to_unsafe
  errors if missing arguments
  errors if missing arguments
  errors if parameter already specified
  errors if parameter already specified
  supports forward references with struct inside struct (#399)
  supports forward references with struct inside struct (#399)
  reports error on fun return type not primitive like
  reports error on fun return type not primitive like
  reopens lib and adds more link annotations
  reopens lib and adds more link annotations
  can use tuple as fun return
  can use tuple as fun return
  reports error when changing instance var type and something breaks
  reports error when changing instance var type and something breaks
  errors if invoking to_i32! and got wrong type
  errors if invoking to_i32! and got wrong type
  error if passing non primitive type as varargs
  error if passing non primitive type as varargs
  errors if missing argument
  errors if missing argument
  errors if using void as parameter (related to #508)
  errors if using void as parameter (related to #508)
  types fun returning nil as nil
  types fun returning nil as nil
  allows invoking lib call without obj inside lib
  allows invoking lib call without obj inside lib
  can use named args
  can use named args
  errors if dll argument contains directory separators
  errors if dll argument contains directory separators
  errors if too many link arguments
  errors if too many link arguments
  reports error if using out with an already declared variable
  reports error if using out with an already declared variable
  passes float as another integer type in variable
  passes float as another integer type in variable
  passes int as another integer type in variable
  passes int as another integer type in variable
  reports error when changing var type and something breaks
  reports error when changing var type and something breaks
  supports forward references (#399)
  supports forward references (#399)
  overrides definition of fun
  overrides definition of fun
  types lib var get
  types lib var get
  reports error out can only be used with lib funs
  reports error out can only be used with lib funs
  errors if using unknown named param
  errors if using unknown named param
  reports error on fun argument type not primitive like
  reports error on fun argument type not primitive like
  errors if dll argument does not end with '.dll'
  errors if dll argument does not end with '.dll'
  reports error out can only be used with lib funs in named argument
  reports error out can only be used with lib funs in named argument
  reopens lib and adds same link annotations
  reopens lib and adds same link annotations
  allows passing splat to LibC fun
  allows passing splat to LibC fun
  errors if using out with non-pointer
  errors if using out with non-pointer
  doesn't try to invoke unsafe for c struct/union (#1362)
  doesn't try to invoke unsafe for c struct/union (#1362)
  errors if CallConvention argument is not a valid string
  errors if CallConvention argument is not a valid string
  errors if using out with void pointer (#2424)
  errors if using out with void pointer (#2424)
  can use macros inside struct
  can use macros inside struct
  can use macros inside lib
  can use macros inside lib
  errors if redefining fun with different signature (#2468)
  errors if redefining fun with different signature (#2468)
  specifies a call convention
  specifies a call convention
  errors if passing void lib call to call argument (#4414)
  errors if passing void lib call to call argument (#4414)
  errors if missing link arguments
  errors if missing link arguments
  can list lib functions at the top level (#12395)
  can list lib functions at the top level (#12395)
  errors if defines def on lib
  errors if defines def on lib
  error if passing type to LibC with to_unsafe but type doesn't match
  error if passing type to LibC with to_unsafe but type doesn't match
  errors if first argument is not a string
  errors if first argument is not a string
  warns if @[Link(static: true)] is specified
  warns if @[Link(static: true)] is specified
  errors if using out with void pointer through type
  errors if using out with void pointer through type
  allows passing double splat to LibC fun
  allows passing double splat to LibC fun
  types fun returning void as nil
  types fun returning void as nil
  types fun returning nothing as nil
  types fun returning nothing as nil
  allows invoking out with underscore 
  allows invoking out with underscore 
  clears annotations after lib
  clears annotations after lib
  specifies a call convention to a lib
  specifies a call convention to a lib
  errors if lib already specified with positional argument
  errors if lib already specified with positional argument
  reports error on typedef type not primitive like
  reports error on typedef type not primitive like
  warns if Link annotations use positional arguments
  warns if Link annotations use positional arguments
  allows dll argument
  allows dll argument
  raises wrong number of arguments
  raises wrong number of arguments
  correctly attached link flags if there's a macro if
  correctly attached link flags if there's a macro if
  errors if fourth argument is not a bool
  errors if fourth argument is not a bool
  errors if lib fun call is part of dispatch
  errors if lib fun call is part of dispatch
Code gen: macro
  doesn't override local variable when using macro variable (2)
  doesn't override local variable when using macro variable (2)
  codegens macro def with default arg (similar to #496)
  codegens macro def with default arg (similar to #496)
  recalculates method when virtual metaclass type is added  recalculates method when virtual metaclass type is added  recalculates method when virtual metaclass type is added  recalculates method when virtual metaclass type is added  recalculates method when virtual metaclass type is added  recalculates method when virtual metaclass type is added  recalculates method when virtual metaclass type is added  recalculates method when virtual metaclass type is added����������������  recalculates method when virtual metaclass type is added
  recalculates method when virtual metaclass type is added
  determines if overrides, through another class (true)
  determines if overrides, through another class (true)
  expands macro with op assign inside assign (#5568)  expands macro with op assign inside assign (#5568)  expands macro with op assign inside assign (#5568)  expands macro with op assign inside assign (#5568)  expands macro with op assign inside assign (#5568)  expands macro with op assign inside assign (#5568)��  expands macro with op assign inside assign (#5568)��������  expands macro with op assign inside assign (#5568)������  expands macro with op assign inside assign (#5568)
  expands macro with op assign inside assign (#5568)
  expands macro as class method
  expands macro as class method
  codegens macro with comment (bug) (#1396)
  codegens macro with comment (bug) (#1396)
  expands @def in inline macro
  expands @def in inline macro
  doesn't replace %s in string (#2178)
  doesn't replace %s in string (#2178)
  expands macro that yields
  expands macro that yields
  can use constants
  can use constants
  can use macro inside array literal  can use macro inside array literal  can use macro inside array literal  can use macro inside array literal  can use macro inside array literal  can use macro inside array literal  can use macro inside array literal��������������  can use macro inside array literal��  can use macro inside array literal
  can use macro inside array literal
  transforms hooks (bug)
  transforms hooks (bug)
  determines if overrides, with macro method (false)
  determines if overrides, with macro method (false)
  expands def macro with @type.instance_vars
  expands def macro with @type.instance_vars
  expands def macro with var
  expands def macro with var
  gets default value of instance variable
  gets default value of instance variable
  keeps line number with no block
  keeps line number with no block
  expands @type.name in virtual metaclass (2)
  expands @type.name in virtual metaclass (2)
  executes with named arguments for positional arg (3)
  executes with named arguments for positional arg (3)
  replaces %s inside string inside interpolation (#2178)  replaces %s inside string inside interpolation (#2178)  replaces %s inside string inside interpolation (#2178)  replaces %s inside string inside interpolation (#2178)  replaces %s inside string inside interpolation (#2178)  replaces %s inside string inside interpolation (#2178)��������  replaces %s inside string inside interpolation (#2178)������  replaces %s inside string inside interpolation (#2178)��  replaces %s inside string inside interpolation (#2178)
  replaces %s inside string inside interpolation (#2178)
  can refer to union (1)
  can refer to union (1)
  codegens macro def with splat (#496)
  codegens macro def with splat (#496)
  initializes instance var in macro
  initializes instance var in macro
  determines if method exists (true)
  determines if method exists (true)
  expands inline macro for
  expands inline macro for
  surrounds {{yield}} with begin/end
  surrounds {{yield}} with begin/end
  gets constant
  gets constant
  keeps line number with a block
  keeps line number with a block
  expands def macro with @type.instance_vars with virtual
  expands def macro with @type.instance_vars with virtual
  expands macro and resolves type correctly
  expands macro and resolves type correctly
  receives &block
  receives &block
  determines if overrides (true)
  determines if overrides (true)
  expands def macro with @type.name with virtual (2)
  expands def macro with @type.name with virtual (2)
  expands def macro with instance var and method call (bug)
  expands def macro with instance var and method call (bug)
  responds correctly to has_constant? with @top_level
  responds correctly to has_constant? with @top_level
  expands macro defined in base class
  expands macro defined in base class
  expands def macro with @type.name
  expands def macro with @type.name
  determines if method exists (false)
  determines if method exists (false)
  does block unpacking inside macro expression (#13707)
  does block unpacking inside macro expression (#13707)
  can access type variables of a tuple
  can access type variables of a tuple
  initializes class var in macro
  initializes class var in macro
  correctly recomputes call (bug)
  correctly recomputes call (bug)
  can access type variables of a module
  can access type variables of a module
  expands macro defined in class
  expands macro defined in class
  can refer to union (2)
  can refer to union (2)
  expands def macro with @type.instance_vars with subclass
  expands def macro with @type.instance_vars with subclass
  copies base macro def to sub-subtype even after it was copied to a subtype (#448)
  copies base macro def to sub-subtype even after it was copied to a subtype (#448)
  expands macro def with return (#1040)
  expands macro def with return (#1040)
  can refer to abstract (1)
  can refer to abstract (1)
  executes all_subclasses
  executes all_subclasses
  executes subclasses
  executes subclasses
  runs macro with arg and splat
  runs macro with arg and splat
  forwards file location
  forwards file location
  replaces %s inside string inside interpolation, with braces (#2178)  replaces %s inside string inside interpolation, with braces (#2178)  replaces %s inside string inside interpolation, with braces (#2178)  replaces %s inside string inside interpolation, with braces (#2178)  replaces %s inside string inside interpolation, with braces (#2178)  replaces %s inside string inside interpolation, with braces (#2178)  replaces %s inside string inside interpolation, with braces (#2178)��������������  replaces %s inside string inside interpolation, with braces (#2178)��  replaces %s inside string inside interpolation, with braces (#2178)
  replaces %s inside string inside interpolation, with braces (#2178)
  gets default value of instance variable of inherited type that also includes module
  gets default value of instance variable of inherited type that also includes module
  gets methods
  gets methods
  passes #826
  passes #826
  expands macro that invokes another macro
  expands macro that invokes another macro
  executes with named arguments for positional arg (1)
  executes with named arguments for positional arg (1)
  runs macro with splat
  runs macro with splat
  determines if overrides (false)
  determines if overrides (false)
  expands @type.name in virtual metaclass (1)
  expands @type.name in virtual metaclass (1)
  forwards dir location
  forwards dir location
  can use macro inside hash literal  can use macro inside hash literal  can use macro inside hash literal  can use macro inside hash literal  can use macro inside hash literal  can use macro inside hash literal  can use macro inside hash literal  can use macro inside hash literal����������������  can use macro inside hash literal
  can use macro inside hash literal
  gets enum members with @type.constants
  gets enum members with @type.constants
  gets correct class name when there are classes in the middle
  gets correct class name when there are classes in the middle
  retains original yield expression (#2923)
  retains original yield expression (#2923)
  access to the program with @top_level
  access to the program with @top_level
  expands macro with default arg and splat (3) (#784)
  expands macro with default arg and splat (3) (#784)
  expands macro with default arg and splat (#784)
  expands macro with default arg and splat (#784)
  fixes empty types of macro expansions (#1379)
  fixes empty types of macro expansions (#1379)
  expands macro
  expands macro
  doesn't replace %q() (#2178)
  doesn't replace %q() (#2178)
  can refer to @type
  can refer to @type
  can refer to abstract (2)
  can refer to abstract (2)
  declares constant in macro (#838)
  declares constant in macro (#838)
  correctly resolves constant inside block in macro def
  correctly resolves constant inside block in macro def
  errors if dynamic constant assignment after macro expansion
  errors if dynamic constant assignment after macro expansion
  uses indexed macro variable
  uses indexed macro variable
  uses invocation context
  uses invocation context
  expands @def in macro
  expands @def in macro
  expands macro with escaped quotes (#895)
  expands macro with escaped quotes (#895)
  can iterate union types
  can iterate union types
  gets default value of instance variable of generic type  gets default value of instance variable of generic type  gets default value of instance variable of generic type  gets default value of instance variable of generic type  gets default value of instance variable of generic type  gets default value of instance variable of generic type  gets default value of instance variable of generic type��������������  gets default value of instance variable of generic type��  gets default value of instance variable of generic type
  gets default value of instance variable of generic type
  can refer to types
  can refer to types
  expands inline macro if (true)
  expands inline macro if (true)
  finds macro from virtual type
  finds macro from virtual type
  uses indexed macro variable with many keys
  uses indexed macro variable with many keys
  doesn't reuse macro nodes (bug)
  doesn't reuse macro nodes (bug)
  devirtualizes @type
  devirtualizes @type
  keeps heredoc contents inside macro
  keeps heredoc contents inside macro
  gets enum members as constants
  gets enum members as constants
  executes with named arguments
  executes with named arguments
  accepts compile-time flags
  accepts compile-time flags
  expands inline macro if (false)
  expands inline macro if (false)
  expands def macro
  expands def macro
  can access type variables
  can access type variables
  expands inline macro
  expands inline macro
  can access type variables of a generic type
  can access type variables of a generic type
  types macro expansion bug (#1734)
  types macro expansion bug (#1734)
  expands def macro with @type.name with virtual
  expands def macro with @type.name with virtual
  expands macro with arguments
  expands macro with arguments
  forwards line number
  forwards line number
  says that enum has Flags annotation
  says that enum has Flags annotation
  checks if macro expansion returns (#821)
  checks if macro expansion returns (#821)
  implicitly marks method as macro def when using @type
  implicitly marks method as macro def when using @type
  executes with named arguments for positional arg (2)
  executes with named arguments for positional arg (2)
  allows overriding macro definition when redefining base class
  allows overriding macro definition when redefining base class
  doesn't override local variable when using macro variable
  doesn't override local variable when using macro variable
  expands Path with resolve method
  expands Path with resolve method
  can access free variables
  can access free variables
  determines if variable has default value
  determines if variable has default value
  uses tuple T in method with free vars
  uses tuple T in method with free vars
  doesn't skip abstract classes when defining macro methods
  doesn't skip abstract classes when defining macro methods
  resolves alias in macro
  resolves alias in macro
  finds macro in class
  finds macro in class
  can access type variables that are not types
  can access type variables that are not types
  determines if overrides, through module (true)
  determines if overrides, through module (true)
  stringifies type without virtual marker
  stringifies type without virtual marker
  expands macro with default arg and splat (2) (#784)
  expands macro with default arg and splat (2) (#784)
  says that enum doesn't have Flags annotation
  says that enum doesn't have Flags annotation
  keeps heredoc contents with interpolation inside macro  keeps heredoc contents with interpolation inside macro  keeps heredoc contents with interpolation inside macro  keeps heredoc contents with interpolation inside macro  keeps heredoc contents with interpolation inside macro  keeps heredoc contents with interpolation inside macro������������  keeps heredoc contents with interpolation inside macro��  keeps heredoc contents with interpolation inside macro��  keeps heredoc contents with interpolation inside macro
  keeps heredoc contents with interpolation inside macro
  allows macro with default arguments
  allows macro with default arguments
  expands macro as class method and accesses @type
  expands macro as class method and accesses @type
read_file?
  with relative path
    reads file (doesn't exist)
    reads file (doesn't exist)
  with absolute path
    reads file (doesn't exist)
    reads file (doesn't exist)
Semantic: warnings
  abstract def positional parameter name mismatch
    respects external names of positional parameters (1)
    respects external names of positional parameters (1)
    detects mismatch with single parameter
    detects mismatch with single parameter
    detects multiple mismatches
    detects multiple mismatches
    respects external names of positional parameters (2)
    respects external names of positional parameters (2)
    continues warning if implementation with matching parameters is not found (#12150)
      single splat
      single splat
      double splat
      double splat
      not a full implementation
      not a full implementation
    doesn't warn if current type is a module (#12266)
    doesn't warn if current type is a module (#12266)
    doesn't compare positional parameters to single splat
    doesn't compare positional parameters to single splat
    doesn't compare single splats
    doesn't compare single splats
    detects mismatch within many parameters
    detects mismatch within many parameters
    doesn't warn if external parameter name matches (1)
    doesn't warn if external parameter name matches (1)
    informs warnings once per matching overload (1)
    informs warnings once per matching overload (1)
    doesn't warn if current type is abstract (#12266)
    doesn't warn if current type is abstract (#12266)
    stops warning after implementation with matching parameters is found (#12150)
      different single splats
      different single splats
      contravariant restrictions
      contravariant restrictions
      exact match
      exact match
      reordered named parameters
      reordered named parameters
    informs warnings once per matching overload (2)
    informs warnings once per matching overload (2)
    doesn't warn if external parameter name matches (2)
    doesn't warn if external parameter name matches (2)
  deprecated macros
    detects deprecated generic class macros
    detects deprecated generic class macros
    detects deprecated macros with named arguments
    detects deprecated macros with named arguments
    detects deprecated module macros
    detects deprecated module macros
    deprecation reason is optional
    deprecation reason is optional
    informs warnings once per call site location (a)
    informs warnings once per call site location (a)
    informs warnings once per call site location (b)
    informs warnings once per call site location (b)
    errors if too many arguments
    errors if too many arguments
    ignore deprecation excluded locations
    ignore deprecation excluded locations
    detects deprecated class macros
    detects deprecated class macros
    errors if invalid argument type
    errors if invalid argument type
    detects top-level deprecated macros
    detects top-level deprecated macros
    errors if invalid named argument
    errors if invalid named argument
  deprecated constants
    detects deprecated constants in type declarations (1)
    detects deprecated constants in type declarations (1)
    detects deprecated constants in type declarations (3)
    detects deprecated constants in type declarations (3)
    detects deprecated constants inside macros
    detects deprecated constants inside macros
    detects deprecated constants
    detects deprecated constants
    detects deprecated constants in type declarations (2)
    detects deprecated constants in type declarations (2)
  exposes syntax warnings
  exposes syntax warnings
  exposes syntax warnings after macro interpolation
  exposes syntax warnings after macro interpolation
  deprecated methods
    ignore deprecation excluded locations
    ignore deprecation excluded locations
    detects deprecated class methods
    detects deprecated class methods
    informs warnings once per call site location (a)
    informs warnings once per call site location (a)
    detects deprecated initialize with named arguments
    detects deprecated initialize with named arguments
    informs warnings once per yield
    informs warnings once per yield
    errors if too many arguments
    errors if too many arguments
    detects deprecated instance methods
    detects deprecated instance methods
    deprecation reason is optional
    deprecation reason is optional
    detects deprecated initialize
    detects deprecated initialize
    detects deprecated generic instance methods
    detects deprecated generic instance methods
    errors if invalid named arguments
    errors if invalid named arguments
    detects deprecated module methods
    detects deprecated module methods
    ignores nested calls to deprecated methods
    ignores nested calls to deprecated methods
    detects deprecated methods with named arguments
    detects deprecated methods with named arguments
    errors if invalid argument type
    errors if invalid argument type
    detects deprecated generic class methods
    detects deprecated generic class methods
    informs warnings once per call site location (b)
    informs warnings once per call site location (b)
    informs warnings once per target type
    informs warnings once per target type
    detects top-level deprecated methods
    detects top-level deprecated methods
  deprecated annotations
    detects deprecated annotations
    detects deprecated annotations
    detects deprecated namespaced annotations
    detects deprecated namespaced annotations
Crystal::Repl::Interpreter
  multidispatch
    does multidispatch on virtual metaclass type (1)
    does multidispatch on virtual metaclass type (1)
    doesn't compile block if it's not used (no yield)
    doesn't compile block if it's not used (no yield)
    does multidispatch with captured block (#12217)
    does multidispatch with captured block (#12217)
    downcasts self from union to struct (pass pointer to self)
    downcasts self from union to struct (pass pointer to self)
    does multidispatch on virtual metaclass type (2)
    does multidispatch on virtual metaclass type (2)
    passes self as pointer when doing multidispatch
    passes self as pointer when doing multidispatch
    does dispatch on one argument with struct receiver, and modifies it
    does dispatch on one argument with struct receiver, and modifies it
    does dispatch on one argument with block
    does dispatch on one argument with block
    passes self as pointer when doing multidispatch (2)
    passes self as pointer when doing multidispatch (2)
    initialize multidispatch
    initialize multidispatch
    does dispatch on receiver type and argument type
    does dispatch on receiver type and argument type
    does multidispatch with mandatory named arguments
    does multidispatch with mandatory named arguments
    does dispatch on one argument inside module with explicit receiver
    does dispatch on one argument inside module with explicit receiver
    casts multidispatch argument to the def's arg type
    casts multidispatch argument to the def's arg type
    does dispatch on virtual type
    does dispatch on virtual type
    does dispatch on receiver type
    does dispatch on receiver type
    does dispatch on one argument
    does dispatch on one argument
    does dispatch on receiver type and argument type, multiple times
    does dispatch on receiver type and argument type, multiple times
    does dispatch on one argument inside module with implicit self
    does dispatch on one argument inside module with implicit self
Normalize: range literal
  normalizes not exclusive
  normalizes not exclusive
  normalizes exclusive
  normalizes exclusive
Semantic: pointer
  detects recursive pointerof expansion (2) (#1654)
  detects recursive pointerof expansion (2) (#1654)
  create pointer by address
  create pointer by address
  types realloc
  types realloc
  doesn't crash if pointerof expansion type has generic splat parameter (#11808)
  doesn't crash if pointerof expansion type has generic splat parameter (#11808)
  types pointer of constant
  types pointer of constant
  errors with non-matching generic value with value=, union of generic types (#10544)
  errors with non-matching generic value with value=, union of generic types (#10544)
  type pointer casting of object type
  type pointer casting of object type
  can pass any pointer to something expecting void* in lib call
  can pass any pointer to something expecting void* in lib call
  pointer of value error
  pointer of value error
  type pointer casting
  type pointer casting
  allows using pointer with subclass
  allows using pointer with subclass
  types int pointer
  types int pointer
  can assign nil to void pointer
  can assign nil to void pointer
  detects recursive pointerof expansion (#551) (#553)
  detects recursive pointerof expansion (#551) (#553)
  errors with non-matching generic value with value= (#10211)
  errors with non-matching generic value with value= (#10211)
  can't do Pointer.malloc without type var
  can't do Pointer.malloc without type var
  detects recursive pointerof expansion (3)
  detects recursive pointerof expansion (3)
  takes pointerof lib external var
  takes pointerof lib external var
  pointer of class raises error
  pointer of class raises error
  types pointer add
  types pointer add
  errors if doing Pointer.allocate
  errors if doing Pointer.allocate
  can assign pointerof virtual type (#8216)
  can assign pointerof virtual type (#8216)
  types Pointer.malloc
  types Pointer.malloc
  types pointer diff
  types pointer diff
  says undefined variable (#7556)
  says undefined variable (#7556)
  pointer malloc creates new type
  pointer malloc creates new type
  can pass any pointer to something expecting void* in lib call, with to_unsafe
  can pass any pointer to something expecting void* in lib call, with to_unsafe
  detects recursive pointerof expansion (4)
  detects recursive pointerof expansion (4)
  types pointer value on typedef
  types pointer value on typedef
  errors with non-matching generic value with value=, generic type (#10211)
  errors with non-matching generic value with value=, generic type (#10211)
  types pointer value
  types pointer value

Pending:
  Code gen: class codegens assignment of generic metaclasses (2) (#10394)
  Code gen: class codegens assignment of generic metaclasses (1) (#10394)
  Code gen: primitives sums two numbers out of an [] of Number
  Code gen: primitives codegens pointer of int
  Semantic: cast casts from union to incompatible union gives error
  Semantic: primitives types pointer of int
  Semantic: multi assign strict_multi_assign errors if assigning tuple to more targets
  Semantic: instance var doesn't infer type to be nilable if using self.class in call in assign
  Crystal::Repl::Interpreter integration does XML
  Semantic: recursive struct check errors on recursive abstract struct through module (#11384)
  Code gen: lib codegens lib var set and get
  Semantic: def overload restricts on generic type without type arg
  Semantic: def overload restricts on generic type with free type arg
  Crystal::Doc::MarkdDocRenderer expand_code_links doesn't find wrong kind of sibling methods
  Crystal::Doc::MarkdDocRenderer expand_code_links doesn't find wrong kind of methods
  Semantic: pointer allows using pointer with subclass

Finished in 44:46 minutes
12558 examples, 0 failures, 0 errors, 16 pending
Randomized with seed: 76473
��make[2]: Leaving directory '/build/reproducible-path/crystal-1.14.0+dfsg'
make release=1 verbose=1 progress=1 threads=20 CRYSTAL_CONFIG_PATH="lib:/usr/lib/crystal/lib" CRYSTAL_CACHE_DIR="/tmp/crystal" interpreter=1 std_spec
make[2]: Entering directory '/build/reproducible-path/crystal-1.14.0+dfsg'
Using /usr/bin/llvm-config-19 [version=19.1.7]
./bin/crystal build -D strict_multi_assign -D preview_overload_order --release --progress --threads 20 --link-flags="-Wl,-z,relro"  --exclude-warnings spec/std --exclude-warnings spec/compiler --exclude-warnings spec/primitives -o .build/std_spec spec/std_spec.cr
Using compiled compiler at .build/crystal
[1/13] Parse                             
[1/13] Parse                             
[2/13] Semantic (top level)              
[2/13] Semantic (top level)              
[3/13] Semantic (new)                    
[3/13] Semantic (new)                    
[4/13] Semantic (type declarations)      
[4/13] Semantic (type declarations)      
[5/13] Semantic (abstract def check)     
[5/13] Semantic (abstract def check)     
[6/13] Semantic (restrictions augmenter) 
[6/13] Semantic (restrictions augmenter) 
[7/13] Semantic (ivars initializers)     
[7/13] Semantic (ivars initializers)     
[8/13] Semantic (cvars initializers)     
[8/13] Semantic (cvars initializers)     
[9/13] Semantic (main)                   
[9/13] Semantic (main)                   
[10/13] Semantic (cleanup)                
[10/13] Semantic (cleanup)                
[11/13] Semantic (recursive struct check) 
[11/13] Semantic (recursive struct check) 
[12/13] Codegen (crystal)                 
[12/13] Codegen (crystal)                 
[13/13] Codegen (bc+obj)                  
[13/13] [0/1] Codegen (bc+obj)                  
[13/13] [1/1] Codegen (bc+obj)                  
[13/13] [1/1] Codegen (bc+obj)                  
[14/13] Codegen (linking)                 
[14/13] Codegen (linking)                 
                                       
.build/std_spec -v --order=random   
0.2.5
Randomized with seed: 26192
Number
  converts from Int64 to Float64
  converts from Int64 to Float64
  converts from Float32 to UInt64
  converts from Float32 to UInt64
  converts from Int64 to UInt8
  converts from Int64 to UInt8
  converts from Float64 to UInt8
  converts from Float64 to UInt8
  converts from Int128 to UInt16
  converts from Int128 to UInt16
  converts from Int32 to UInt128
  converts from Int32 to UInt128
  converts from UInt32 to Int64
  converts from UInt32 to Int64
  converts from Int128 to Int16
  converts from Int128 to Int16
  converts from Int16 to Int16
  converts from Int16 to Int16
  division between Float64 / Float64 returns Float64
  division between Float64 / Float64 returns Float64
  converts from Int8 to UInt8
  converts from Int8 to UInt8
  division between Int8 / UInt8 returns Float64
  division between Int8 / UInt8 returns Float64
  floor_division UInt8 // Int8 returns UInt8
  floor_division UInt8 // Int8 returns UInt8
  converts from Float32 to UInt16
  converts from Float32 to UInt16
  floor_division UInt16 // Int16 returns UInt16
  floor_division UInt16 // Int16 returns UInt16
  converts from UInt128 to Int16
  converts from UInt128 to Int16
  converts from UInt64 to UInt128
  converts from UInt64 to UInt128
  #round_away
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  floor_division Float64 // UInt16 returns Float64
  floor_division Float64 // UInt16 returns Float64
  converts from Int32 to Int32
  converts from Int32 to Int32
  converts from Int32 to Int8
  converts from Int32 to Int8
  converts from Int64 to UInt16
  converts from Int64 to UInt16
  floor_division Int32 // UInt8 returns Int32
  floor_division Int32 // UInt8 returns Int32
  converts from Int64 to Float32
  converts from Int64 to Float32
  floor_division Int128 // Int32 returns Int128
  floor_division Int128 // Int32 returns Int128
  converts from UInt128 to Int64
  converts from UInt128 to Int64
  converts from UInt64 to Int128
  converts from UInt64 to Int128
  floor_division UInt64 // Float32 returns UInt64
  floor_division UInt64 // Float32 returns UInt64
  floor_division Int128 // UInt128 returns Int128
  floor_division Int128 // UInt128 returns Int128
  converts from UInt64 to Int16
  converts from UInt64 to Int16
  converts from UInt32 to Int32
  converts from UInt32 to Int32
  converts from UInt8 to Int32
  converts from UInt8 to Int32
  converts from Int16 to UInt64
  converts from Int16 to UInt64
  converts from Int64 to Int64
  converts from Int64 to Int64
  converts from Int16 to UInt8
  converts from Int16 to UInt8
  converts from UInt8 to Int16
  converts from UInt8 to Int16
  converts from Float32 to UInt128
  converts from Float32 to UInt128
  converts from UInt32 to UInt32
  converts from UInt32 to UInt32
  division between Int128 / Int128 returns Float64
  division between Int128 / Int128 returns Float64
  converts from UInt8 to Float32
  converts from UInt8 to Float32
  converts from Int128 to UInt32
  converts from Int128 to UInt32
  converts from Int16 to UInt64
  converts from Int16 to UInt64
  division between Int64 / Float32 returns Float32
  division between Int64 / Float32 returns Float32
  converts from UInt128 to Float64
  converts from UInt128 to Float64
  floor_division Float32 // Float32 returns Float32
  floor_division Float32 // Float32 returns Float32
  gives the square of a value
  gives the square of a value
  floor_division UInt32 // Int16 returns UInt32
  floor_division UInt32 // Int16 returns UInt32
  unchecked initialize from value to UInt64
  unchecked initialize from value to UInt64
  division between UInt128 / UInt64 returns Float64
  division between UInt128 / UInt64 returns Float64
  floor_division UInt8 // Float32 returns UInt8
  floor_division UInt8 // Float32 returns UInt8
  floor_division Int128 // Float32 returns Int128
  floor_division Int128 // Float32 returns Int128
  initialize from value to Int32
  initialize from value to Int32
  floor_division Float32 // Int32 returns Float32
  floor_division Float32 // Int32 returns Float32
  converts from UInt16 to Int8
  converts from UInt16 to Int8
  division between Int64 / Int128 returns Float64
  division between Int64 / Int128 returns Float64
  division between Int16 / Int128 returns Float64
  division between Int16 / Int128 returns Float64
  converts from UInt128 to UInt32
  converts from UInt128 to UInt32
  converts from Int8 to UInt16
  converts from Int8 to UInt16
  floor_division UInt128 // UInt8 returns UInt128
  floor_division UInt128 // UInt8 returns UInt128
  floor_division Int16 // UInt64 returns Int16
  floor_division Int16 // UInt64 returns Int16
  converts from Float64 to Int64
  converts from Float64 to Int64
  unchecked initialize from value to Float32
  unchecked initialize from value to Float32
  division between Int32 / UInt16 returns Float64
  division between Int32 / UInt16 returns Float64
  floor_division UInt64 // UInt128 returns UInt64
  floor_division UInt64 // UInt128 returns UInt64
  compare the numbers
  compare the numbers
  converts from UInt64 to Float64
  converts from UInt64 to Float64
  converts from UInt64 to UInt32
  converts from UInt64 to UInt32
  converts from UInt8 to Float64
  converts from UInt8 to Float64
  unchecked initialize from value to Int128
  unchecked initialize from value to Int128
  converts from UInt64 to UInt8
  converts from UInt64 to UInt8
  division between Int64 / Int16 returns Float64
  division between Int64 / Int16 returns Float64
  division between Int128 / UInt16 returns Float64
  division between Int128 / UInt16 returns Float64
  division between Float64 / Int16 returns Float64
  division between Float64 / Int16 returns Float64
  converts from UInt32 to Int8
  converts from UInt32 to Int8
  converts from UInt32 to UInt16
  converts from UInt32 to UInt16
  converts from UInt16 to Int128
  converts from UInt16 to Int128
  converts from UInt64 to Float32
  converts from UInt64 to Float32
  division between UInt32 / UInt32 returns Float64
  division between UInt32 / UInt32 returns Float64
  floor_division UInt8 // UInt64 returns UInt8
  floor_division UInt8 // UInt64 returns UInt8
  floor_division UInt128 // Int8 returns UInt128
  floor_division UInt128 // Int8 returns UInt128
  converts from UInt64 to Int64
  converts from UInt64 to Int64
  converts from UInt32 to Int32
  converts from UInt32 to Int32
  converts from Float32 to Float64
  converts from Float32 to Float64
  converts from Int16 to Float64
  converts from Int16 to Float64
  converts from UInt8 to UInt8
  converts from UInt8 to UInt8
  division between Float64 / Int8 returns Float64
  division between Float64 / Int8 returns Float64
  converts from Int128 to Int128
  converts from Int128 to Int128
  floor_division UInt32 // Float64 returns UInt32
  floor_division UInt32 // Float64 returns UInt32
  converts from Float32 to UInt8
  converts from Float32 to UInt8
  division between Int64 / UInt128 returns Float64
  division between Int64 / UInt128 returns Float64
  converts from UInt16 to Int32
  converts from UInt16 to Int32
  converts from Int8 to UInt32
  converts from Int8 to UInt32
  division between Float32 / Int32 returns Float32
  division between Float32 / Int32 returns Float32
  converts from Float32 to UInt32
  converts from Float32 to UInt32
  #round
    rounds to nearest integer
    rounds to nearest integer
    rounding modes
      ties_away
      ties_away
      ties_even
      ties_even
      to_negative
      to_negative
      to_positive
      to_positive
      default (=ties_even)
      default (=ties_even)
      to_zero
      to_zero
    infinity Float32
    infinity Float32
    assert
    assert
    edge cases
    edge cases
    handle medium amount of digits
    handle medium amount of digits
    accepts unsigned precision
    accepts unsigned precision
    negative digits
    negative digits
    rounds to digits
    rounds to digits
    base
      8
      8
      2
      2
    with digits
      ties_even
      ties_even
      to_zero
      to_zero
      ties_away
      ties_away
      to_negative
      to_negative
      to_positive
      to_positive
    preserves type
    preserves type
    infinity Float64
    infinity Float64
    nan
    nan
  converts from Float32 to Float32
  converts from Float32 to Float32
  division between UInt32 / Float32 returns Float32
  division between UInt32 / Float32 returns Float32
  converts from UInt128 to Int64
  converts from UInt128 to Int64
  converts from Int8 to Int128
  converts from Int8 to Int128
  floor_division UInt32 // UInt8 returns UInt32
  floor_division UInt32 // UInt8 returns UInt32
  converts from Int32 to Int32
  converts from Int32 to Int32
  converts from Int128 to Int16
  converts from Int128 to Int16
  floor_division Float64 // Int8 returns Float64
  floor_division Float64 // Int8 returns Float64
  division between Int32 / Int32 returns Float64
  division between Int32 / Int32 returns Float64
  floor_division Int16 // Int8 returns Int16
  floor_division Int16 // Int8 returns Int16
  converts from UInt32 to UInt16
  converts from UInt32 to UInt16
  floor_division Int32 // UInt32 returns Int32
  floor_division Int32 // UInt32 returns Int32
  division between UInt8 / Int128 returns Float64
  division between UInt8 / Int128 returns Float64
  converts from Float64 to Int64
  converts from Float64 to Int64
  division between Int8 / Int8 returns Float64
  division between Int8 / Int8 returns Float64
  floor_division UInt32 // Float32 returns UInt32
  floor_division UInt32 // Float32 returns UInt32
  converts from Float64 to UInt128
  converts from Float64 to UInt128
  division between UInt8 / UInt64 returns Float64
  division between UInt8 / UInt64 returns Float64
  converts from UInt32 to Int64
  converts from UInt32 to Int64
  converts from UInt64 to Float32
  converts from UInt64 to Float32
  converts from Float64 to UInt16
  converts from Float64 to UInt16
  unchecked initialize from value to UInt128
  unchecked initialize from value to UInt128
  floor_division UInt32 // UInt16 returns UInt32
  floor_division UInt32 // UInt16 returns UInt32
  converts from Int8 to UInt64
  converts from Int8 to UInt64
  initialize from value to Int64
  initialize from value to Int64
  converts from Int64 to UInt8
  converts from Int64 to UInt8
  converts from Int16 to Float32
  converts from Int16 to Float32
  floor_division Int8 // Int8 returns Int8
  floor_division Int8 // Int8 returns Int8
  converts from Int64 to Int16
  converts from Int64 to Int16
  floor_division UInt128 // Int128 returns UInt128
  floor_division UInt128 // Int128 returns UInt128
  converts from Float32 to Int32
  converts from Float32 to Int32
  converts from UInt64 to Int8
  converts from UInt64 to Int8
  converts from Int16 to UInt32
  converts from Int16 to UInt32
  floor_division UInt16 // UInt16 returns UInt16
  floor_division UInt16 // UInt16 returns UInt16
  floor_division Int32 // Int16 returns Int32
  floor_division Int32 // Int16 returns Int32
  division between UInt128 / Float64 returns Float64
  division between UInt128 / Float64 returns Float64
  division between Float64 / UInt32 returns Float64
  division between Float64 / UInt32 returns Float64
  floor_division UInt32 // UInt128 returns UInt32
  floor_division UInt32 // UInt128 returns UInt32
  converts from Float64 to Int8
  converts from Float64 to Int8
  division between UInt8 / Float32 returns Float32
  division between UInt8 / Float32 returns Float32
  converts from Float64 to Int32
  converts from Float64 to Int32
  converts from Int32 to Int128
  converts from Int32 to Int128
  division between UInt16 / UInt128 returns Float64
  division between UInt16 / UInt128 returns Float64
  converts from UInt32 to Float32
  converts from UInt32 to Float32
  converts from Int32 to UInt64
  converts from Int32 to UInt64
  converts from Int128 to UInt8
  converts from Int128 to UInt8
  converts from Int64 to UInt128
  converts from Int64 to UInt128
  converts from Float64 to Float32
  converts from Float64 to Float32
  converts from UInt8 to UInt16
  converts from UInt8 to UInt16
  initialize from value to UInt64
  initialize from value to UInt64
  divides and calculates the modulo
  divides and calculates the modulo
  floor_division UInt128 // Float64 returns UInt128
  floor_division UInt128 // Float64 returns UInt128
  division between UInt16 / UInt16 returns Float64
  division between UInt16 / UInt16 returns Float64
  division between UInt64 / UInt32 returns Float64
  division between UInt64 / UInt32 returns Float64
  converts from Int128 to UInt128
  converts from Int128 to UInt128
  #step
    "Float by Int" iterator
    "Float by Int" iterator
    by zero yielding
    by zero yielding
    by zero iterator
    by zero iterator
    "towards limit [max-3, max-1, max)" iterator
    "towards limit [max-3, max-1, max)" iterator
    "at max Int" yielding
    "at max Int" yielding
    "single value Float" yielding
    "single value Float" yielding
    "missing end Int" iterator
    "missing end Int" iterator
    whole range
      "UInt8 upwards" iterator
      "UInt8 upwards" iterator
      "Int8 upwards" iterator
      "Int8 upwards" iterator
      "Int8 downwards" iterator
      "Int8 downwards" iterator
      "Int16 upwards" iterator
      "Int16 upwards" iterator
      "UInt8 downwards" yielding
      "UInt8 downwards" yielding
      assert
      assert
      "UInt8 upwards" yielding
      "UInt8 upwards" yielding
      "Int16 upwards" yielding
      "Int16 upwards" yielding
      "Int8 downwards" yielding
      "Int8 downwards" yielding
      "Int16 downwards" yielding
      "Int16 downwards" yielding
      "Int8 upwards" yielding
      "Int8 upwards" yielding
      "Int16 downwards" iterator
      "Int16 downwards" iterator
      assert
      assert
      "UInt8 downwards" iterator
      "UInt8 downwards" iterator
      assert
      assert
    "downto UInt" yielding
    "downto UInt" yielding
    "empty if `self` can't be compared" yielding
    "empty if `self` can't be compared" yielding
    "Int by Float" yielding
    "Int by Float" yielding
    "by Float" iterator
    "by Float" iterator
    "negative by Int" iterator
    "negative by Int" iterator
    "by Float" yielding
    "by Float" yielding
    "Float by Int" yielding
    "Float by Int" yielding
    "negative Int" iterator
    "negative Int" iterator
    "downto Int" iterator
    "downto Int" iterator
    "downto Float by" yielding
    "downto Float by" yielding
    "negative by Float" iterator
    "negative by Float" iterator
    "single value Int by Float" yielding
    "single value Int by Float" yielding
    "negative Int" yielding
    "negative Int" yielding
    "over min Int" iterator
    "over min Int" iterator
    "Float to Int by" iterator
    "Float to Int by" iterator
    "downto UInt by" yielding
    "downto UInt by" yielding
    "negative by Float" yielding
    "negative by Float" yielding
    "negative Float" yielding
    "negative Float" yielding
    "over zero Int" yielding
    "over zero Int" yielding
    "missing end UInt" iterator
    "missing end UInt" iterator
    "Int to Float" iterator
    "Int to Float" iterator
    "Float to Int by" yielding
    "Float to Int by" yielding
    "downto Int" yielding
    "downto Int" yielding
    "single value by Float" yielding
    "single value by Float" yielding
    "missing end Float" yielding
    "missing end Float" yielding
    "single value by Int" iterator
    "single value by Int" iterator
    "at min Int" iterator
    "at min Int" iterator
    "single value Int" iterator
    "single value Int" iterator
    "Int to Float by" iterator
    "Int to Float by" iterator
    "at min Int" yielding
    "at min Int" yielding
    "negative by Float half" iterator
    "negative by Float half" iterator
    "over max Int" yielding
    "over max Int" yielding
    "empty if `to` can't be compared" iterator
    "empty if `to` can't be compared" iterator
    "empty if `by` and `to` are opposed" iterator
    "empty if `by` and `to` are opposed" iterator
    "downto Float by" iterator
    "downto Float by" iterator
    "missing end Float" iterator
    "missing end Float" iterator
    "downto UInt" iterator
    "downto UInt" iterator
    "Int to Float by" yielding
    "Int to Float by" yielding
    "over min Int" yielding
    "over min Int" yielding
    "downto Int by" yielding
    "downto Int by" yielding
    "empty if `to` can't be compared by" yielding
    "empty if `to` can't be compared by" yielding
    "by Float half" iterator
    "by Float half" iterator
    "downto Float" yielding
    "downto Float" yielding
    "single value Float by Int" yielding
    "single value Float by Int" yielding
    "by Int" iterator
    "by Int" iterator
    "empty if `self` can't be compared by" iterator
    "empty if `self` can't be compared by" iterator
    "single value Float by Int" iterator
    "single value Float by Int" iterator
    "basic Int" iterator
    "basic Int" iterator
    "Int to Float" yielding
    "Int to Float" yielding
    "basic Float" iterator
    "basic Float" iterator
    "by Int" yielding
    "by Int" yielding
    "single value by Int" yielding
    "single value by Int" yielding
    "empty if `to` can't be compared" yielding
    "empty if `to` can't be compared" yielding
    "missing end UInt" yielding
    "missing end UInt" yielding
    "downto Int by" iterator
    "downto Int by" iterator
    "over zero Int" iterator
    "over zero Int" iterator
    "single value by Float" iterator
    "single value by Float" iterator
    "at max Int" iterator
    "at max Int" iterator
    "by Float half" yielding
    "by Float half" yielding
    without limit
      iterator
        raises overflow error
        raises overflow error
        basic
        basic
      yielding
        basic
        basic
        raises overflow error
        raises overflow error
    "basic Int" yielding
    "basic Int" yielding
    "over zero Float" iterator
    "over zero Float" iterator
    "single value Float" iterator
    "single value Float" iterator
    "single value Int by Float" iterator
    "single value Int by Float" iterator
    "over max Int" iterator
    "over max Int" iterator
    exclusive
      "single value Float" yielding
      "single value Float" yielding
      "single value Int" iterator
      "single value Int" iterator
      "basic Float" iterator
      "basic Float" iterator
      "basic Int" yielding
      "basic Int" yielding
      "basic Float" yielding
      "basic Float" yielding
      "basic Int" iterator
      "basic Int" iterator
      "single value Float" iterator
      "single value Float" iterator
      "single value Int" yielding
      "single value Int" yielding
    "missing end Int" yielding
    "missing end Int" yielding
    "towards limit [max-4, max-2, max)" iterator
    "towards limit [max-4, max-2, max)" iterator
    "negative Float" iterator
    "negative Float" iterator
    "downto Float" iterator
    "downto Float" iterator
    "empty if `self` can't be compared by" yielding
    "empty if `self` can't be compared by" yielding
    "towards limit [max-4, max-2, max)" yielding
    "towards limit [max-4, max-2, max)" yielding
    "Float to Int" iterator
    "Float to Int" iterator
    "single value Int" yielding
    "single value Int" yielding
    "empty if `self` can't be compared" iterator
    "empty if `self` can't be compared" iterator
    "towards limit [max-4, max-2, max]" yielding
    "towards limit [max-4, max-2, max]" yielding
    "over zero Float" yielding
    "over zero Float" yielding
    "towards limit [max-3, max-1, max)" yielding
    "towards limit [max-3, max-1, max)" yielding
    "Float to Int" yielding
    "Float to Int" yielding
    "basic Float" yielding
    "basic Float" yielding
    "empty if `by` and `to` are opposed" yielding
    "empty if `by` and `to` are opposed" yielding
    "negative by Int" yielding
    "negative by Int" yielding
    "negative by Float half" yielding
    "negative by Float half" yielding
    "towards limit [max-4, max-2, max]" iterator
    "towards limit [max-4, max-2, max]" iterator
    "empty if `to` can't be compared by" iterator
    "empty if `to` can't be compared by" iterator
    "downto UInt by" iterator
    "downto UInt by" iterator
    "Int by Float" iterator
    "Int by Float" iterator
  division between Float64 / Int64 returns Float64
  division between Float64 / Int64 returns Float64
  converts from Int64 to UInt32
  converts from Int64 to UInt32
  converts from UInt64 to UInt32
  converts from UInt64 to UInt32
  division between Int16 / UInt64 returns Float64
  division between Int16 / UInt64 returns Float64
  converts from UInt16 to Int64
  converts from UInt16 to Int64
  converts from UInt64 to Int16
  converts from UInt64 to Int16
  division between Int128 / Int16 returns Float64
  division between Int128 / Int16 returns Float64
  division between UInt64 / UInt128 returns Float64
  division between UInt64 / UInt128 returns Float64
  converts from Float32 to Int8
  converts from Float32 to Int8
  floor_division Float64 // Int64 returns Float64
  floor_division Float64 // Int64 returns Float64
  division between UInt16 / Float64 returns Float64
  division between UInt16 / Float64 returns Float64
  converts from UInt32 to Float64
  converts from UInt32 to Float64
  creates a slice
  creates a slice
  division between Int16 / UInt8 returns Float64
  division between Int16 / UInt8 returns Float64
  floor_division Int64 // UInt16 returns Int64
  floor_division Int64 // UInt16 returns Int64
  division between Float64 / UInt16 returns Float64
  division between Float64 / UInt16 returns Float64
  division between UInt16 / Float32 returns Float32
  division between UInt16 / Float32 returns Float32
  converts from UInt128 to UInt16
  converts from UInt128 to UInt16
  division between Int32 / Int16 returns Float64
  division between Int32 / Int16 returns Float64
  unchecked initialize from value to UInt32
  unchecked initialize from value to UInt32
  #positive?
  #positive?
  converts from Float64 to Int32
  converts from Float64 to Int32
  division between UInt16 / Int8 returns Float64
  division between UInt16 / Int8 returns Float64
  floor_division Int64 // Int8 returns Int64
  floor_division Int64 // Int8 returns Int64
  division between Int32 / Float32 returns Float32
  division between Int32 / Float32 returns Float32
  division between UInt128 / UInt16 returns Float64
  division between UInt128 / UInt16 returns Float64
  division between UInt8 / Float64 returns Float64
  division between UInt8 / Float64 returns Float64
  division between UInt16 / UInt8 returns Float64
  division between UInt16 / UInt8 returns Float64
  floor_division UInt8 // Int128 returns UInt8
  floor_division UInt8 // Int128 returns UInt8
  division between Int32 / UInt128 returns Float64
  division between Int32 / UInt128 returns Float64
  division between Int16 / UInt16 returns Float64
  division between Int16 / UInt16 returns Float64
  floor_division UInt8 // Int64 returns UInt8
  floor_division UInt8 // Int64 returns UInt8
  division between Float32 / Int64 returns Float32
  division between Float32 / Int64 returns Float32
  converts from UInt16 to Int16
  converts from UInt16 to Int16
  converts from Int8 to Float64
  converts from Int8 to Float64
  division between Int8 / Int128 returns Float64
  division between Int8 / Int128 returns Float64
  floor_division UInt16 // Int128 returns UInt16
  floor_division UInt16 // Int128 returns UInt16
  converts from Int128 to Int128
  converts from Int128 to Int128
  converts from UInt64 to Int32
  converts from UInt64 to Int32
  converts from UInt64 to Int32
  converts from UInt64 to Int32
  converts from Float32 to Float32
  converts from Float32 to Float32
  division between UInt64 / Int8 returns Float64
  division between UInt64 / Int8 returns Float64
  division between UInt64 / Int64 returns Float64
  division between UInt64 / Int64 returns Float64
  division between Int64 / Int32 returns Float64
  division between Int64 / Int32 returns Float64
  floor_division Int32 // UInt16 returns Int32
  floor_division Int32 // UInt16 returns Int32
  floor_division Float32 // UInt128 returns Float32
  floor_division Float32 // UInt128 returns Float32
  converts from Int32 to Float32
  converts from Int32 to Float32
  division between UInt16 / Int32 returns Float64
  division between UInt16 / Int32 returns Float64
  floor_division Int64 // Int32 returns Int64
  floor_division Int64 // Int32 returns Int64
  division between Int8 / UInt32 returns Float64
  division between Int8 / UInt32 returns Float64
  converts from UInt128 to Float32
  converts from UInt128 to Float32
  converts from Float32 to Int16
  converts from Float32 to Int16
  converts from UInt64 to UInt64
  converts from UInt64 to UInt64
  division between Float64 / Float64 returns Float64
  division between Float64 / Float64 returns Float64
  floor_division UInt128 // UInt128 returns UInt128
  floor_division UInt128 // UInt128 returns UInt128
  converts from UInt16 to UInt64
  converts from UInt16 to UInt64
  converts from Int16 to Int16
  converts from Int16 to Int16
  converts from UInt64 to Int64
  converts from UInt64 to Int64
  converts from UInt8 to Int8
  converts from UInt8 to Int8
  division between UInt32 / Int8 returns Float64
  division between UInt32 / Int8 returns Float64
  floor_division Int32 // Int8 returns Int32
  floor_division Int32 // Int8 returns Int32
  division between UInt16 / Int64 returns Float64
  division between UInt16 / Int64 returns Float64
  division between UInt64 / Float32 returns Float32
  division between UInt64 / Float32 returns Float32
  floor_division Float32 // Int8 returns Float32
  floor_division Float32 // Int8 returns Float32
  converts from Float32 to Float64
  converts from Float32 to Float64
  #zero?
  #zero?
  division between Int64 / UInt8 returns Float64
  division between Int64 / UInt8 returns Float64
  converts from UInt32 to Int16
  converts from UInt32 to Int16
  division between Float64 / UInt128 returns Float64
  division between Float64 / UInt128 returns Float64
  converts from Int16 to UInt16
  converts from Int16 to UInt16
  converts from UInt128 to UInt128
  converts from UInt128 to UInt128
  converts from UInt8 to Int8
  converts from UInt8 to Int8
  floor_division UInt32 // UInt32 returns UInt32
  floor_division UInt32 // UInt32 returns UInt32
  division between Int16 / Int64 returns Float64
  division between Int16 / Int64 returns Float64
  division between UInt128 / UInt8 returns Float64
  division between UInt128 / UInt8 returns Float64
  division between Int16 / Int8 returns Float64
  division between Int16 / Int8 returns Float64
  converts from UInt8 to Int16
  converts from UInt8 to Int16
  division between UInt64 / Float64 returns Float64
  division between UInt64 / Float64 returns Float64
  floor_division UInt64 // UInt8 returns UInt64
  floor_division UInt64 // UInt8 returns UInt64
  converts from UInt128 to Int128
  converts from UInt128 to Int128
  converts from Int128 to Int8
  converts from Int128 to Int8
  converts from Float64 to UInt32
  converts from Float64 to UInt32
  converts from Int64 to Int8
  converts from Int64 to Int8
  floor_division UInt32 // Int64 returns UInt32
  floor_division UInt32 // Int64 returns UInt32
  converts from Int64 to Int64
  converts from Int64 to Int64
  floor_division UInt16 // Float32 returns UInt16
  floor_division UInt16 // Float32 returns UInt16
  division between Int8 / Float32 returns Float32
  division between Int8 / Float32 returns Float32
  floor_division Float32 // UInt64 returns Float32
  floor_division Float32 // UInt64 returns Float32
  converts from UInt16 to UInt16
  converts from UInt16 to UInt16
  division between Int32 / Float64 returns Float64
  division between Int32 / Float64 returns Float64
  division between UInt8 / Int64 returns Float64
  division between UInt8 / Int64 returns Float64
  converts from Int128 to Int64
  converts from Int128 to Int64
  converts from Int128 to UInt32
  converts from Int128 to UInt32
  floor_division UInt32 // Int128 returns UInt32
  floor_division UInt32 // Int128 returns UInt32
  floor_division Int32 // Int32 returns Int32
  floor_division Int32 // Int32 returns Int32
  unchecked initialize from value to Int32
  unchecked initialize from value to Int32
  converts from UInt8 to Int128
  converts from UInt8 to Int128
  division between Float32 / Int8 returns Float32
  division between Float32 / Int8 returns Float32
  floor_division Float64 // UInt32 returns Float64
  floor_division Float64 // UInt32 returns Float64
  floor_division Int32 // UInt128 returns Int32
  floor_division Int32 // UInt128 returns Int32
  floor_division UInt64 // Int128 returns UInt64
  floor_division UInt64 // Int128 returns UInt64
  converts from Int16 to Int8
  converts from Int16 to Int8
  converts from Int128 to UInt64
  converts from Int128 to UInt64
  converts from UInt64 to UInt16
  converts from UInt64 to UInt16
  division between UInt128 / Float32 returns Float32
  division between UInt128 / Float32 returns Float32
  division between Float32 / Float64 returns Float64
  division between Float32 / Float64 returns Float64
  floor_division UInt64 // Int8 returns UInt64
  floor_division UInt64 // Int8 returns UInt64
  converts from Float32 to Int64
  converts from Float32 to Int64
  floor_division Int128 // UInt64 returns Int128
  floor_division Int128 // UInt64 returns Int128
  converts from Int8 to Float32
  converts from Int8 to Float32
  floor_division Float32 // Int64 returns Float32
  floor_division Float32 // Int64 returns Float32
  division between UInt64 / Int128 returns Float64
  division between UInt64 / Int128 returns Float64
  floor_division Int16 // Int32 returns Int16
  floor_division Int16 // Int32 returns Int16
  converts from UInt128 to Int8
  converts from UInt128 to Int8
  converts from Float64 to Float32
  converts from Float64 to Float32
  floor_division Int16 // UInt8 returns Int16
  floor_division Int16 // UInt8 returns Int16
  floor_division UInt16 // UInt32 returns UInt16
  floor_division UInt16 // UInt32 returns UInt16
  converts from Int128 to Int32
  converts from Int128 to Int32
  converts from UInt16 to Int8
  converts from UInt16 to Int8
  division between Float32 / Float32 returns Float32
  division between Float32 / Float32 returns Float32
  floor_division Int8 // UInt16 returns Int8
  floor_division Int8 // UInt16 returns Int8
  converts from Float64 to Float64
  converts from Float64 to Float64
  converts from Int64 to Float64
  converts from Int64 to Float64
  division between UInt32 / Int128 returns Float64
  division between UInt32 / Int128 returns Float64
  converts from UInt64 to Int128
  converts from UInt64 to Int128
  division between UInt32 / UInt16 returns Float64
  division between UInt32 / UInt16 returns Float64
  converts from Int32 to UInt16
  converts from Int32 to UInt16
  division between Int128 / UInt8 returns Float64
  division between Int128 / UInt8 returns Float64
  converts from UInt32 to UInt64
  converts from UInt32 to UInt64
  initialize from value to Int128
  initialize from value to Int128
  floor_division Float32 // UInt16 returns Float32
  floor_division Float32 // UInt16 returns Float32
  converts from Int32 to Int128
  converts from Int32 to Int128
  converts from Int8 to Int8
  converts from Int8 to Int8
  division between UInt32 / Int16 returns Float64
  division between UInt32 / Int16 returns Float64
  converts from Int64 to Float32
  converts from Int64 to Float32
  division between Float32 / Int16 returns Float32
  division between Float32 / Int16 returns Float32
  converts from Int128 to Int32
  converts from Int128 to Int32
  division between Int8 / UInt16 returns Float64
  division between Int8 / UInt16 returns Float64
  division between UInt64 / Int32 returns Float64
  division between UInt64 / Int32 returns Float64
  converts from UInt128 to UInt16
  converts from UInt128 to UInt16
  converts from Int32 to UInt8
  converts from Int32 to UInt8
  creates an array with [] and some elements
  creates an array with [] and some elements
  division between Int16 / UInt32 returns Float64
  division between Int16 / UInt32 returns Float64
  converts from Int16 to UInt32
  converts from Int16 to UInt32
  converts from UInt32 to Int16
  converts from UInt32 to Int16
  division between Int64 / Int8 returns Float64
  division between Int64 / Int8 returns Float64
  converts from UInt128 to UInt8
  converts from UInt128 to UInt8
  floor_division UInt16 // UInt8 returns UInt16
  floor_division UInt16 // UInt8 returns UInt16
  floor_division Int128 // Int128 returns Int128
  floor_division Int128 // Int128 returns Int128
  floor_division Int8 // UInt32 returns Int8
  floor_division Int8 // UInt32 returns Int8
  converts from UInt64 to UInt8
  converts from UInt64 to UInt8
  converts from UInt16 to UInt128
  converts from UInt16 to UInt128
  floor_division Int64 // UInt128 returns Int64
  floor_division Int64 // UInt128 returns Int64
  converts from UInt128 to Int128
  converts from UInt128 to Int128
  converts from Float64 to UInt128
  converts from Float64 to UInt128
  gives the sign
  gives the sign
  unchecked initialize from value to Int8
  unchecked initialize from value to Int8
  converts from UInt8 to UInt32
  converts from UInt8 to UInt32
  floor_division Int128 // UInt32 returns Int128
  floor_division Int128 // UInt32 returns Int128
  converts from UInt128 to UInt8
  converts from UInt128 to UInt8
  floor_division Int128 // Int64 returns Int128
  floor_division Int128 // Int64 returns Int128
  creates a static array
  creates a static array
  unchecked initialize from value to UInt8
  unchecked initialize from value to UInt8
  converts from Int32 to UInt128
  converts from Int32 to UInt128
  division between UInt8 / Int16 returns Float64
  division between UInt8 / Int16 returns Float64
  converts from Int64 to Int16
  converts from Int64 to Int16
  converts from Int8 to Int16
  converts from Int8 to Int16
  division between Int64 / UInt16 returns Float64
  division between Int64 / UInt16 returns Float64
  converts from Int32 to UInt32
  converts from Int32 to UInt32
  floor_division Float32 // Float64 returns Float32
  floor_division Float32 // Float64 returns Float32
  division between Int8 / UInt64 returns Float64
  division between Int8 / UInt64 returns Float64
  converts from UInt16 to UInt32
  converts from UInt16 to UInt32
  converts from UInt16 to UInt16
  converts from UInt16 to UInt16
  converts from UInt128 to UInt64
  converts from UInt128 to UInt64
  division between Int16 / Float32 returns Float32
  division between Int16 / Float32 returns Float32
  converts from Int128 to Float32
  converts from Int128 to Float32
  converts from UInt32 to UInt64
  converts from UInt32 to UInt64
  converts from Int128 to UInt16
  converts from Int128 to UInt16
  floor_division UInt16 // Int8 returns UInt16
  floor_division UInt16 // Int8 returns UInt16
  floor_division UInt64 // Int64 returns UInt64
  floor_division UInt64 // Int64 returns UInt64
  division between Int64 / Int64 returns Float64
  division between Int64 / Int64 returns Float64
  division between Int128 / UInt32 returns Float64
  division between Int128 / UInt32 returns Float64
  division between Int8 / UInt128 returns Float64
  division between Int8 / UInt128 returns Float64
  division between Int8 / Float64 returns Float64
  division between Int8 / Float64 returns Float64
  division between Int8 / Int32 returns Float64
  division between Int8 / Int32 returns Float64
  converts from Int8 to Int128
  converts from Int8 to Int128
  converts from UInt32 to Float64
  converts from UInt32 to Float64
  converts from UInt16 to Float32
  converts from UInt16 to Float32
  converts from Int8 to Int32
  converts from Int8 to Int32
  initialize from value to Float32
  initialize from value to Float32
  floor_division Int128 // Int8 returns Int128
  floor_division Int128 // Int8 returns Int128
  converts from Int16 to Float32
  converts from Int16 to Float32
  converts from Float32 to Int8
  converts from Float32 to Int8
  converts from UInt32 to UInt32
  converts from UInt32 to UInt32
  floor_division Int8 // Int128 returns Int8
  floor_division Int8 // Int128 returns Int8
  floor_division Float64 // Int16 returns Float64
  floor_division Float64 // Int16 returns Float64
  division between Float64 / Float32 returns Float64
  division between Float64 / Float32 returns Float64
  converts from UInt32 to Int128
  converts from UInt32 to Int128
  division between UInt16 / UInt32 returns Float64
  division between UInt16 / UInt32 returns Float64
  converts from Int128 to Float64
  converts from Int128 to Float64
  floor_division UInt8 // Int16 returns UInt8
  floor_division UInt8 // Int16 returns UInt8
  converts from Int32 to Int16
  converts from Int32 to Int16
  floor_division Int64 // Float64 returns Int64
  floor_division Int64 // Float64 returns Int64
  floor_division Int64 // UInt32 returns Int64
  floor_division Int64 // UInt32 returns Int64
  converts from UInt16 to Float64
  converts from UInt16 to Float64
  division between Int64 / Float64 returns Float64
  division between Int64 / Float64 returns Float64
  floor_division Int16 // Int64 returns Int16
  floor_division Int16 // Int64 returns Int16
  division between Float64 / UInt8 returns Float64
  division between Float64 / UInt8 returns Float64
  division between Int16 / Int16 returns Float64
  division between Int16 / Int16 returns Float64
  converts from Int128 to UInt8
  converts from Int128 to UInt8
  converts from UInt128 to Int16
  converts from UInt128 to Int16
  division between Int128 / Int64 returns Float64
  division between Int128 / Int64 returns Float64
  converts from Int64 to Int128
  converts from Int64 to Int128
  creates an array with [] and no elements
  creates an array with [] and no elements
  converts from Int32 to Float32
  converts from Int32 to Float32
  division between Int16 / Int32 returns Float64
  division between Int16 / Int32 returns Float64
  converts from UInt128 to UInt64
  converts from UInt128 to UInt64
  converts from Int32 to Int8
  converts from Int32 to Int8
  converts from UInt64 to UInt64
  converts from UInt64 to UInt64
  division between UInt128 / UInt32 returns Float64
  division between UInt128 / UInt32 returns Float64
  floor_division Int8 // UInt128 returns Int8
  floor_division Int8 // UInt128 returns Int8
  converts from UInt8 to UInt16
  converts from UInt8 to UInt16
  division between Float32 / UInt128 returns Float32
  division between Float32 / UInt128 returns Float32
  division between Float32 / UInt32 returns Float32
  division between Float32 / UInt32 returns Float32
  unchecked initialize from value to UInt16
  unchecked initialize from value to UInt16
  division between UInt32 / UInt128 returns Float64
  division between UInt32 / UInt128 returns Float64
  floor_division Int16 // Int128 returns Int16
  floor_division Int16 // Int128 returns Int16
  unchecked initialize from value to Int64
  unchecked initialize from value to Int64
  converts from Float64 to UInt32
  converts from Float64 to UInt32
  #negative?
  #negative?
  converts from Int16 to Float64
  converts from Int16 to Float64
  converts from Float32 to Int128
  converts from Float32 to Int128
  floor_division Int32 // UInt64 returns Int32
  floor_division Int32 // UInt64 returns Int32
  converts from Int32 to UInt8
  converts from Int32 to UInt8
  floor_division Float64 // Int32 returns Float64
  floor_division Float64 // Int32 returns Float64
  converts from Int128 to Float64
  converts from Int128 to Float64
  converts from Float64 to Int16
  converts from Float64 to Int16
  converts from UInt16 to Int64
  converts from UInt16 to Int64
  division between UInt64 / Int16 returns Float64
  division between UInt64 / Int16 returns Float64
  converts from UInt16 to Int32
  converts from UInt16 to Int32
  converts from Int16 to Int32
  converts from Int16 to Int32
  converts from Int128 to UInt64
  converts from Int128 to UInt64
  floor_division Float64 // Float32 returns Float64
  floor_division Float64 // Float32 returns Float64
  unchecked initialize from value to Int16
  unchecked initialize from value to Int16
  converts from UInt32 to UInt8
  converts from UInt32 to UInt8
  converts from Float64 to UInt64
  converts from Float64 to UInt64
  floor_division UInt16 // UInt64 returns UInt16
  floor_division UInt16 // UInt64 returns UInt16
  division between Int128 / Float32 returns Float32
  division between Int128 / Float32 returns Float32
  floor_division Int16 // Float64 returns Int16
  floor_division Int16 // Float64 returns Int16
  converts from Int16 to UInt128
  converts from Int16 to UInt128
  converts from Float32 to Int128
  converts from Float32 to Int128
  division between Float32 / UInt16 returns Float32
  division between Float32 / UInt16 returns Float32
  division between Float64 / Int128 returns Float64
  division between Float64 / Int128 returns Float64
  initialize from value to UInt32
  initialize from value to UInt32
  converts from Int16 to Int64
  converts from Int16 to Int64
  converts from UInt16 to Int128
  converts from UInt16 to Int128
  converts from UInt16 to Int16
  converts from UInt16 to Int16
  floor_division UInt16 // Int32 returns UInt16
  floor_division UInt16 // Int32 returns UInt16
  converts from UInt8 to Int64
  converts from UInt8 to Int64
  converts from Int128 to Int8
  converts from Int128 to Int8
  converts from Int64 to Int128
  converts from Int64 to Int128
  converts from Int8 to UInt8
  converts from Int8 to UInt8
  converts from Float32 to UInt128
  converts from Float32 to UInt128
  division between UInt8 / UInt8 returns Float64
  division between UInt8 / UInt8 returns Float64
  division between Int16 / Float64 returns Float64
  division between Int16 / Float64 returns Float64
  floor_division Float64 // UInt128 returns Float64
  floor_division Float64 // UInt128 returns Float64
  division between UInt8 / UInt16 returns Float64
  division between UInt8 / UInt16 returns Float64
  floor_division Int64 // Float32 returns Int64
  floor_division Int64 // Float32 returns Int64
  floor_division Float64 // UInt8 returns Float64
  floor_division Float64 // UInt8 returns Float64
  floor_division UInt16 // Int64 returns UInt16
  floor_division UInt16 // Int64 returns UInt16
  converts from Int8 to Int16
  converts from Int8 to Int16
  floor_division Int16 // Int16 returns Int16
  floor_division Int16 // Int16 returns Int16
  converts from Int8 to Int8
  converts from Int8 to Int8
  floor_division Int8 // Int64 returns Int8
  floor_division Int8 // Int64 returns Int8
  floor_division Float32 // UInt8 returns Float32
  floor_division Float32 // UInt8 returns Float32
  floor_division Int8 // Int16 returns Int8
  floor_division Int8 // Int16 returns Int8
  division between Float64 / Int32 returns Float64
  division between Float64 / Int32 returns Float64
  division between UInt32 / Int64 returns Float64
  division between UInt32 / Int64 returns Float64
  floor_division UInt8 // UInt128 returns UInt8
  floor_division UInt8 // UInt128 returns UInt8
  floor_division UInt8 // UInt16 returns UInt8
  floor_division UInt8 // UInt16 returns UInt8
  division between UInt16 / UInt64 returns Float64
  division between UInt16 / UInt64 returns Float64
  division between UInt8 / Int32 returns Float64
  division between UInt8 / Int32 returns Float64
  converts from UInt32 to Float32
  converts from UInt32 to Float32
  gives the absolute value
  gives the absolute value
  converts from Float32 to UInt8
  converts from Float32 to UInt8
  converts from Int8 to UInt32
  converts from Int8 to UInt32
  floor_division UInt128 // Float32 returns UInt128
  floor_division UInt128 // Float32 returns UInt128
  converts from Int8 to Int64
  converts from Int8 to Int64
  converts from UInt32 to UInt128
  converts from UInt32 to UInt128
  initialize from value to Float64
  initialize from value to Float64
  converts from Int16 to Int32
  converts from Int16 to Int32
  converts from Int16 to UInt8
  converts from Int16 to UInt8
  division between Int16 / UInt128 returns Float64
  division between Int16 / UInt128 returns Float64
  converts from UInt32 to UInt128
  converts from UInt32 to UInt128
  converts from Int16 to Int8
  converts from Int16 to Int8
  converts from Float32 to Int64
  converts from Float32 to Int64
  floor_division Int16 // Float32 returns Int16
  floor_division Int16 // Float32 returns Int16
  converts from Int128 to Int64
  converts from Int128 to Int64
  converts from UInt128 to Float64
  converts from UInt128 to Float64
  floor_division Float32 // UInt32 returns Float32
  floor_division Float32 // UInt32 returns Float32
  converts from UInt64 to UInt128
  converts from UInt64 to UInt128
  converts from Int64 to Int32
  converts from Int64 to Int32
  converts from Int32 to UInt32
  converts from Int32 to UInt32
  division between Int128 / Float64 returns Float64
  division between Int128 / Float64 returns Float64
  division between UInt32 / UInt8 returns Float64
  division between UInt32 / UInt8 returns Float64
  floor_division UInt128 // Int32 returns UInt128
  floor_division UInt128 // Int32 returns UInt128
  division between Float32 / UInt8 returns Float32
  division between Float32 / UInt8 returns Float32
  converts from UInt64 to Float64
  converts from UInt64 to Float64
  division between UInt64 / UInt64 returns Float64
  division between UInt64 / UInt64 returns Float64
  floor_division UInt64 // UInt32 returns UInt64
  floor_division UInt64 // UInt32 returns UInt64
  division between UInt8 / Int8 returns Float64
  division between UInt8 / Int8 returns Float64
  floor_division UInt8 // Float64 returns UInt8
  floor_division UInt8 // Float64 returns UInt8
  division between UInt32 / Float64 returns Float64
  division between UInt32 / Float64 returns Float64
  converts from Int8 to Float32
  converts from Int8 to Float32
  floor_division UInt64 // Float64 returns UInt64
  floor_division UInt64 // Float64 returns UInt64
  converts from UInt16 to Float32
  converts from UInt16 to Float32
  division between Int8 / Int64 returns Float64
  division between Int8 / Int64 returns Float64
  division between UInt32 / UInt64 returns Float64
  division between UInt32 / UInt64 returns Float64
  floor_division UInt64 // Int32 returns UInt64
  floor_division UInt64 // Int32 returns UInt64
  division between UInt8 / UInt128 returns Float64
  division between UInt8 / UInt128 returns Float64
  converts from Int16 to Int128
  converts from Int16 to Int128
  floor_division Int64 // UInt64 returns Int64
  floor_division Int64 // UInt64 returns Int64
  floor_division UInt128 // UInt64 returns UInt128
  floor_division UInt128 // UInt64 returns UInt128
  floor_division Float64 // Int128 returns Float64
  floor_division Float64 // Int128 returns Float64
  #round_even
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  converts from Float32 to UInt16
  converts from Float32 to UInt16
  converts from Int32 to Int64
  converts from Int32 to Int64
  converts from UInt16 to UInt8
  converts from UInt16 to UInt8
  floor_division Int16 // UInt32 returns Int16
  floor_division Int16 // UInt32 returns Int16
  converts from Float64 to Int128
  converts from Float64 to Int128
  converts from UInt128 to Int32
  converts from UInt128 to Int32
  converts from Float64 to Int8
  converts from Float64 to Int8
  floor_division Float64 // Float64 returns Float64
  floor_division Float64 // Float64 returns Float64
  converts from UInt8 to Int32
  converts from UInt8 to Int32
  division between Int32 / UInt32 returns Float64
  division between Int32 / UInt32 returns Float64
  division between Int8 / Int16 returns Float64
  division between Int8 / Int16 returns Float64
  converts from Int64 to Int32
  converts from Int64 to Int32
  floor_division UInt16 // UInt128 returns UInt16
  floor_division UInt16 // UInt128 returns UInt16
  floor_division UInt64 // UInt64 returns UInt64
  floor_division UInt64 // UInt64 returns UInt64
  floor_division UInt32 // Int8 returns UInt32
  floor_division UInt32 // Int8 returns UInt32
  division between UInt32 / Int32 returns Float64
  division between UInt32 / Int32 returns Float64
  floor_division UInt8 // Int32 returns UInt8
  floor_division UInt8 // Int32 returns UInt8
  initialize from value to Int16
  initialize from value to Int16
  division between Float32 / UInt64 returns Float32
  division between Float32 / UInt64 returns Float32
  converts from Int64 to UInt64
  converts from Int64 to UInt64
  converts from Int8 to Float64
  converts from Int8 to Float64
  floor_division Int8 // UInt8 returns Int8
  floor_division Int8 // UInt8 returns Int8
  division between Int32 / Int128 returns Float64
  division between Int32 / Int128 returns Float64
  converts from UInt16 to UInt32
  converts from UInt16 to UInt32
  floor_division Float32 // Int128 returns Float32
  floor_division Float32 // Int128 returns Float32
  significant
    10 base
    10 base
    8 base
    8 base
    preserves type
    preserves type
    2 base
    2 base
  converts from Float64 to UInt64
  converts from Float64 to UInt64
  converts from UInt8 to Float32
  converts from UInt8 to Float32
  division between UInt128 / Int128 returns Float64
  division between UInt128 / Int128 returns Float64
  division between Float64 / UInt64 returns Float64
  division between Float64 / UInt64 returns Float64
  floor_division UInt128 // Int64 returns UInt128
  floor_division UInt128 // Int64 returns UInt128
  converts from UInt8 to UInt64
  converts from UInt8 to UInt64
  floor_division UInt8 // UInt8 returns UInt8
  floor_division UInt8 // UInt8 returns UInt8
  converts from UInt8 to Int64
  converts from UInt8 to Int64
  division between Int128 / UInt128 returns Float64
  division between Int128 / UInt128 returns Float64
  converts from UInt16 to Float64
  converts from UInt16 to Float64
  floor_division Int128 // Float64 returns Int128
  floor_division Int128 // Float64 returns Int128
  division between UInt128 / Int8 returns Float64
  division between UInt128 / Int8 returns Float64
  division between UInt16 / Int128 returns Float64
  division between UInt16 / Int128 returns Float64
  floor_division Int64 // UInt8 returns Int64
  floor_division Int64 // UInt8 returns Int64
  converts from UInt128 to UInt128
  converts from UInt128 to UInt128
  converts from UInt8 to UInt64
  converts from UInt8 to UInt64
  floor_division Int128 // UInt8 returns Int128
  floor_division Int128 // UInt8 returns Int128
  division between Int32 / UInt64 returns Float64
  division between Int32 / UInt64 returns Float64
  converts from Int32 to Float64
  converts from Int32 to Float64
  floor_division UInt64 // Int16 returns UInt64
  floor_division UInt64 // Int16 returns UInt64
  converts from Int32 to Int16
  converts from Int32 to Int16
  converts from UInt32 to UInt8
  converts from UInt32 to UInt8
  floor_division UInt128 // UInt32 returns UInt128
  floor_division UInt128 // UInt32 returns UInt128
  division between UInt128 / Int16 returns Float64
  division between UInt128 / Int16 returns Float64
  converts from Int64 to UInt128
  converts from Int64 to UInt128
  converts from UInt128 to Int8
  converts from UInt128 to Int8
  converts from Int32 to UInt64
  converts from Int32 to UInt64
  floor_division Int128 // Int16 returns Int128
  floor_division Int128 // Int16 returns Int128
  initialize from value to UInt128
  initialize from value to UInt128
  converts from Int8 to UInt128
  converts from Int8 to UInt128
  converts from UInt16 to UInt8
  converts from UInt16 to UInt8
  division between Float32 / Int128 returns Float32
  division between Float32 / Int128 returns Float32
  division between Int64 / UInt64 returns Float64
  division between Int64 / UInt64 returns Float64
  converts from Float32 to UInt64
  converts from Float32 to UInt64
  floor_division Int32 // Int128 returns Int32
  floor_division Int32 // Int128 returns Int32
  initialize from value to Int8
  initialize from value to Int8
  converts from Float64 to Int16
  converts from Float64 to Int16
  floor_division UInt16 // Float64 returns UInt16
  floor_division UInt16 // Float64 returns UInt16
  floor_division Int16 // UInt128 returns Int16
  floor_division Int16 // UInt128 returns Int16
  converts from UInt128 to Int32
  converts from UInt128 to Int32
  converts from Int8 to Int64
  converts from Int8 to Int64
  division between Int32 / UInt8 returns Float64
  division between Int32 / UInt8 returns Float64
  division between Int64 / UInt32 returns Float64
  division between Int64 / UInt32 returns Float64
  floor_division UInt64 // UInt16 returns UInt64
  floor_division UInt64 // UInt16 returns UInt64
  converts from Int16 to UInt16
  converts from Int16 to UInt16
  converts from Int64 to Int8
  converts from Int64 to Int8
  converts from Float32 to Int16
  converts from Float32 to Int16
  unchecked initialize from value to Float64
  unchecked initialize from value to Float64
  converts from Float32 to Int32
  converts from Float32 to Int32
  converts from UInt8 to UInt128
  converts from UInt8 to UInt128
  converts from Int64 to UInt16
  converts from Int64 to UInt16
  floor_division Int8 // Float64 returns Int8
  floor_division Int8 // Float64 returns Int8
  floor_division Int16 // UInt16 returns Int16
  floor_division Int16 // UInt16 returns Int16
  initialize from value to UInt8
  initialize from value to UInt8
  converts from Int32 to Float64
  converts from Int32 to Float64
  floor_division Int128 // UInt16 returns Int128
  floor_division Int128 // UInt16 returns Int128
  converts from Int8 to UInt16
  converts from Int8 to UInt16
  floor_division Float32 // Int16 returns Float32
  floor_division Float32 // Int16 returns Float32
  converts from Float64 to UInt16
  converts from Float64 to UInt16
  converts from UInt8 to UInt8
  converts from UInt8 to UInt8
  converts from Int128 to UInt128
  converts from Int128 to UInt128
  converts from Int32 to Int64
  converts from Int32 to Int64
  converts from Int64 to UInt32
  converts from Int64 to UInt32
  division between UInt128 / Int32 returns Float64
  division between UInt128 / Int32 returns Float64
  converts from UInt64 to Int8
  converts from UInt64 to Int8
  floor_division Int32 // Int64 returns Int32
  floor_division Int32 // Int64 returns Int32
  converts from UInt32 to Int128
  converts from UInt32 to Int128
  converts from Int8 to UInt128
  converts from Int8 to UInt128
  floor_division UInt128 // Int16 returns UInt128
  floor_division UInt128 // Int16 returns UInt128
  converts from Int128 to Float32
  converts from Int128 to Float32
  converts from Int16 to Int128
  converts from Int16 to Int128
  converts from UInt16 to UInt128
  converts from UInt16 to UInt128
  converts from Int8 to UInt64
  converts from Int8 to UInt64
  division between UInt64 / UInt16 returns Float64
  division between UInt64 / UInt16 returns Float64
  division between UInt128 / Int64 returns Float64
  division between UInt128 / Int64 returns Float64
  division between Int32 / Int8 returns Float64
  division between Int32 / Int8 returns Float64
  converts from UInt128 to UInt32
  converts from UInt128 to UInt32
  converts from Int16 to Int64
  converts from Int16 to Int64
  division between Int32 / Int64 returns Float64
  division between Int32 / Int64 returns Float64
  floor_division UInt32 // UInt64 returns UInt32
  floor_division UInt32 // UInt64 returns UInt32
  converts from Int64 to UInt64
  converts from Int64 to UInt64
  converts from Float32 to UInt32
  converts from Float32 to UInt32
  converts from Int16 to UInt128
  converts from Int16 to UInt128
  floor_division Int64 // Int128 returns Int64
  floor_division Int64 // Int128 returns Int64
  floor_division Int32 // Float64 returns Int32
  floor_division Int32 // Float64 returns Int32
  converts from UInt8 to UInt32
  converts from UInt8 to UInt32
  converts from Float64 to Int128
  converts from Float64 to Int128
  floor_division Int8 // Float32 returns Int8
  floor_division Int8 // Float32 returns Int8
  converts from Float64 to UInt8
  converts from Float64 to UInt8
  floor_division Int8 // UInt64 returns Int8
  floor_division Int8 // UInt64 returns Int8
  division between Int128 / Int8 returns Float64
  division between Int128 / Int8 returns Float64
  converts from UInt32 to Int8
  converts from UInt32 to Int8
  division between UInt128 / UInt128 returns Float64
  division between UInt128 / UInt128 returns Float64
  converts from Int32 to UInt16
  converts from Int32 to UInt16
  floor_division UInt32 // Int32 returns UInt32
  floor_division UInt32 // Int32 returns UInt32
  division between Int128 / UInt64 returns Float64
  division between Int128 / UInt64 returns Float64
  floor_division Int32 // Float32 returns Int32
  floor_division Int32 // Float32 returns Int32
  division between UInt64 / UInt8 returns Float64
  division between UInt64 / UInt8 returns Float64
  converts from UInt128 to Float32
  converts from UInt128 to Float32
  converts from Int8 to Int32
  converts from Int8 to Int32
  floor_division UInt128 // UInt16 returns UInt128
  floor_division UInt128 // UInt16 returns UInt128
  floor_division Int8 // Int32 returns Int8
  floor_division Int8 // Int32 returns Int8
  floor_division UInt8 // UInt32 returns UInt8
  floor_division UInt8 // UInt32 returns UInt8
  converts from UInt8 to Int128
  converts from UInt8 to Int128
  converts from UInt8 to Float64
  converts from UInt8 to Float64
  floor_division Float64 // UInt64 returns Float64
  floor_division Float64 // UInt64 returns Float64
  division between UInt8 / UInt32 returns Float64
  division between UInt8 / UInt32 returns Float64
  converts from UInt8 to UInt128
  converts from UInt8 to UInt128
  floor_division Int64 // Int16 returns Int64
  floor_division Int64 // Int16 returns Int64
  division between UInt16 / Int16 returns Float64
  division between UInt16 / Int16 returns Float64
  division between Int128 / Int32 returns Float64
  division between Int128 / Int32 returns Float64
  floor_division Int64 // Int64 returns Int64
  floor_division Int64 // Int64 returns Int64
  converts from UInt16 to UInt64
  converts from UInt16 to UInt64
  converts from Float64 to Float64
  converts from Float64 to Float64
  converts from UInt64 to UInt16
  converts from UInt64 to UInt16
  initialize from value to UInt16
  initialize from value to UInt16
OAuth2::AccessToken::Bearer
  dumps to json
  dumps to json
  builds from json
  builds from json
  authenticates request
  authenticates request
  builds from json with unknown key (#4437)
  builds from json with unknown key (#4437)
  builds from json without token_type, assumes Bearer (#4503)
  builds from json without token_type, assumes Bearer (#4503)
  builds from json without expires_in (#4041)
  builds from json without expires_in (#4041)
Benchmark::IPS::Entry
  #set_cycles
    sets the number of cycles needed to make 100ms
    sets the number of cycles needed to make 100ms
    sets the cycles to 1 no matter what
    sets the cycles to 1 no matter what
  #human_mean
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #calculate_stats
    correctly calculates basic stats
    correctly calculates basic stats
  #human_iteration_time
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
HTTP::FormData::Parser
  parses formdata
  parses formdata
__umodti3
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
HTML
  .escape
    escapes dangerous characters from a string
    escapes dangerous characters from a string
    does not change a safe string
    does not change a safe string
  .unescape
    unescapes javascript example from a string
    unescapes javascript example from a string
    invalid utf-8
    invalid utf-8
    identity
    identity
    named entities
      multi codepoint
      multi codepoint
      invalid entities
      invalid entities
      end of string
      end of string
      without trailing semicolon
      without trailing semicolon
      entity with numerical characters
      entity with numerical characters
      simple named entities
      simple named entities
    empty entity
    empty entity
    numeric entities
      hex
      hex
      does not escape unicode surrogate characters
      does not escape unicode surrogate characters
      decimal
      decimal
      does not escape noncharacter codepoints
      does not escape noncharacter codepoints
      space characters
      space characters
      does not unescape characters above Char::MAX_CODEPOINT
      does not unescape characters above Char::MAX_CODEPOINT
      ISO-8859-1 replacement
      ISO-8859-1 replacement
      does not escape non-space unicode control characters
      does not escape non-space unicode control characters
      early termination
      early termination
      does not unescape Char::MAX_CODEPOINT
      does not unescape Char::MAX_CODEPOINT
      ignores leading zeros
      ignores leading zeros
HTTP::Params
  is alias for URI::Params
  is alias for URI::Params
PrettyPrint
  pretty prints fill 23..26
  pretty prints fill 23..26
  pretty prints tree alt 19..20
  pretty prints tree alt 19..20
  tail group
  tail group
  pretty prints tree 20..22
  pretty prints tree 20..22
  pretty prints hello 0..6
  pretty prints hello 0..6
  pretty prints width 0 indent 23
  pretty prints width 0 indent 23
  pretty prints width 5 indent 20
  pretty prints width 5 indent 20
  pretty prints strict pretty 6..6
  pretty prints strict pretty 6..6
  pretty prints tree alt 50..50
  pretty prints tree alt 50..50
  pretty prints strict pretty 10..10
  pretty prints strict pretty 10..10
  pretty prints tree 23..43
  pretty prints tree 23..43
  pretty prints tree alt 0..18
  pretty prints tree alt 0..18
  pretty prints strict pretty 8..8
  pretty prints strict pretty 8..8
  pretty prints strict pretty 0..4
  pretty prints strict pretty 0..4
  pretty prints strict pretty 11..31
  pretty prints strict pretty 11..31
  pretty prints fill 7..10
  pretty prints fill 7..10
  pretty prints strict pretty 9..9
  pretty prints strict pretty 9..9
  pretty prints strict pretty 5..5
  pretty prints strict pretty 5..5
  pretty prints tree alt 21..49
  pretty prints tree alt 21..49
  pretty prints hello 11..12
  pretty prints hello 11..12
  pretty prints fill 0..6
  pretty prints fill 0..6
  pretty prints fill 19..22
  pretty prints fill 19..22
  pretty prints strict pretty 32..32
  pretty prints strict pretty 32..32
  pretty prints hello 9..10
  pretty prints hello 9..10
  pretty prints strict pretty 7..7
  pretty prints strict pretty 7..7
  pretty prints fill 27..27
  pretty prints fill 27..27
  pretty prints fill 15..18
  pretty prints fill 15..18
  pretty prints hello 7..8
  pretty prints hello 7..8
  pretty prints hello 13..13
  pretty prints hello 13..13
  pretty prints tree 0..19
  pretty prints tree 0..19
  pretty prints width 7 indent 20
  pretty prints width 7 indent 20
  pretty prints width 6 indent 20
  pretty prints width 6 indent 20
  pretty prints fill 11..14
  pretty prints fill 11..14
  pretty prints tree 44..44
  pretty prints tree 44..44
Process::Status
  #signal_exit?
  #signal_exit?
  #exit_reason
    returns Aborted
    returns Aborted
    returns TerminalDisconnected
    returns TerminalDisconnected
    returns Breakpoint
    returns Breakpoint
    returns BadInstruction
    returns BadInstruction
    returns Normal
    returns Normal
    returns AccessViolation
    returns AccessViolation
    returns SessionEnded
    returns SessionEnded
    returns Interrupted
    returns Interrupted
    returns FloatException
    returns FloatException
    returns BadMemoryAccess
    returns BadMemoryAccess
  #exit_code
  #exit_code
  equality
  equality
  #inspect
    with exit signal
    with exit signal
    with exit status
    with exit status
  #success?
  #success?
  #signal_exit? with signal code
  #signal_exit? with signal code
  #to_s
    with exit status
    with exit status
    with exit signal
    with exit signal
  #normal_exit?
  #normal_exit?
  #exit_signal
  #exit_signal
  #normal_exit? with signal code
  #normal_exit? with signal code
Double
  **
    assert
    assert
    assert
    assert
    assert
    assert
Socket::UNIXAddress
  transforms into a C struct and back
  transforms into a C struct and back
  to_s
  to_s
  #==
  #==
  .parse
    parses absolute
    parses absolute
    fails with missing path
    fails with missing path
    parses relative subpath
    parses relative subpath
    relative with
    relative with
    parses relative dot
    parses relative dot
    parses relative
    parses relative
    ignores params
    ignores params
  raises when path is too long
  raises when path is too long
HTTP::Handler
  responds with not found if there's no next handler
  responds with not found if there's no next handler
URI
  .reserved?
  .reserved?
  .from_json
  .from_json
  .set_default_port
    treats scheme case insensitively
    treats scheme case insensitively
    unregisters port for scheme
    unregisters port for scheme
    registers port for scheme
    registers port for scheme
  #normalize
    removes default port
    removes default port
    prefixes relative path with colon with `./`
    prefixes relative path with colon with `./`
    normalizes scheme
    normalizes scheme
    doesn't modify instance
    doesn't modify instance
    removes dot notation from path
    removes dot notation from path
    normalizes host
    normalizes host
  #normalize!
    modifies the instance
    modifies the instance
  #query_params
    when there is no query parameters
      returns an empty instance of URI::Params
      returns an empty instance of URI::Params
    returns a URI::Params instance based on the query parameters
    returns a URI::Params instance based on the query parameters
  .default_port
    returns nil for unknown schemes
    returns nil for unknown schemes
    treats scheme case insensitively
    treats scheme case insensitively
    returns default port for well known schemes
    returns default port for well known schemes
  #relativize
    fragment
    fragment
    opaque base
    opaque base
    ignore base path with dot-segments
    ignore base path with dot-segments
    path relative references
    path relative references
    RFC 3986: 5.4.2. Abnormal Examples
    RFC 3986: 5.4.2. Abnormal Examples
    RFC 3986: 5.4.1. Normal Examples
    RFC 3986: 5.4.1. Normal Examples
    identical
    identical
    relative base
    relative base
    encoded characters
    encoded characters
    ...
    ...
    absolute URI references
    absolute URI references
  #hash
    assert
    assert
  #query_params=
    params with values
    params with values
    empty
    empty
  .parse
    unescaped @ in user/password should not confuse host
    unescaped @ in user/password should not confuse host
    `https://alice@www.example.com`
    `https://alice@www.example.com`
    assert
    assert
    `test:/test`
    `test:/test`
    `/foo`
    `/foo`
    `http://[::1]:81/`
    `http://[::1]:81/`
    `http://:8000/foo`
    `http://:8000/foo`
    `foo/another@url/[]and{}`
    `foo/another@url/[]and{}`
    `http://[fe80::1%25en0]:8080/`
    `http://[fe80::1%25en0]:8080/`
    `file:///C:/FooBar/Baz.txt`
    `file:///C:/FooBar/Baz.txt`
    `/foo?q=1`
    `/foo?q=1`
    `http:?`
    `http:?`
    `https://alice:pa55w0rd@www.example.com`
    `https://alice:pa55w0rd@www.example.com`
    `magnet:?xt=urn:btih:c12fe1c06bba254a9dc9f519b335aa7c1367a88a&dn`
    `magnet:?xt=urn:btih:c12fe1c06bba254a9dc9f519b335aa7c1367a88a&dn`
    `tcp://[2020::2020:20:2020:2020%25Windows%20Loves%20Spaces]:2020`
    `tcp://[2020::2020:20:2020:2020%25Windows%20Loves%20Spaces]:2020`
    `http://?`
    `http://?`
    assert
    assert
    `http://www.example.com`
    `http://www.example.com`
    assert
    assert
    `tel:+1-816-555-1212`
    `tel:+1-816-555-1212`
    `http://user@`
    `http://user@`
    `http://www.example.com:81`
    `http://www.example.com:81`
    assert
    assert
    `https://alice:@www.example.com`
    `https://alice:@www.example.com`
    `?a+b=c%2Bd`
    `?a+b=c%2Bd`
    `///foo`
    `///foo`
    `http://#`
    `http://#`
    `?query=http://example.com`
    `?query=http://example.com`
    `telnet://192.0.2.16:80/`
    `telnet://192.0.2.16:80/`
    `news:comp.infosystems.www.servers.unix`
    `news:comp.infosystems.www.servers.unix`
    `//user@foo/path?q=b`
    `//user@foo/path?q=b`
    `http://192.0.2.16:81/`
    `http://192.0.2.16:81/`
    `http:`
    `http:`
    `http://www.example.com/foo?`
    `http://www.example.com/foo?`
    `http://:8000`
    `http://:8000`
    `http:#`
    `http:#`
    `http://www.example.com/foo?q=1`
    `http://www.example.com/foo?q=1`
    `?q=1`
    `?q=1`
    `https://%3AD:%40_%40@www.example.com`
    `https://%3AD:%40_%40@www.example.com`
    `http://www.foo-bar.example.com`
    `http://www.foo-bar.example.com`
    `mysql://a,b,c/bar`
    `mysql://a,b,c/bar`
    `http:?#`
    `http:?#`
    `http://www.example.com:81/`
    `http://www.example.com:81/`
    `file://localhost/etc/fstab`
    `file://localhost/etc/fstab`
    `file:///etc/fstab`
    `file:///etc/fstab`
    `https://example.com./`
    `https://example.com./`
    `?q=1?`
    `?q=1?`
    `http://[::1]:81`
    `http://[::1]:81`
    `scheme://!$&'()*+,;=hello!:12/path`
    `scheme://!$&'()*+,;=hello!:12/path`
    `mailto:foo@example.org`
    `mailto:foo@example.org`
    `//foo`
    `//foo`
    `//user:pass@bitfission.com:8080/path?a=b#frag`
    `//user:pass@bitfission.com:8080/path?a=b#frag`
    `http://www.example.com/foo`
    `http://www.example.com/foo`
    `http:`
    `http:`
    `http://www.example.com/`
    `http://www.example.com/`
    `https://example.com.:8443/`
    `https://example.com.:8443/`
    `ldap://[2001:db8::7]/c=GB?objectClass?one`
    `ldap://[2001:db8::7]/c=GB?objectClass?one`
    `http://?#`
    `http://?#`
    `https://www.example.com/#top`
    `https://www.example.com/#top`
    bad urls
      assert
      assert
    `http://192.0.2.16:81`
    `http://192.0.2.16:81`
    `/path?a=b#frag`
    `/path?a=b#frag`
    `http://`
    `http://`
    `urn:oasis:names:specification:docbook:dtd:xml:4.1.2`
    `urn:oasis:names:specification:docbook:dtd:xml:4.1.2`
    `http://user@/foo`
    `http://user@/foo`
    `http://host/!$&'()*+,;=:@[hello]`
    `http://host/!$&'()*+,;=:@[hello]`
    `http://user:pass@bitfission.com:8080/path?a=b#frag`
    `http://user:pass@bitfission.com:8080/path?a=b#frag`
    `http:.`
    `http:.`
    `http:example.com/?q=foo`
    `http:example.com/?q=foo`
    `http:..`
    `http:..`
    `http://example.com//foo`
    `http://example.com//foo`
  .unreserved?
  .unreserved?
  .encode_www_form
    encodes "10%"
    encodes "10%"
    encodes " ?&=#+%!<>#\"{}|\\^[]`☺\t:/@$'()*,;"
    encodes " ?&=#+%!<>#\"{}|\\^[]`☺\t:/@$'()*,;"
    encodes ""
    encodes ""
    encodes "a b+"
    encodes "a b+"
    encodes "abc"
    encodes "abc"
    encodes "a b+"
    encodes "a b+"
    encodes "* foo=bar baz&hello/"
    encodes "* foo=bar baz&hello/"
    encodes "1%41"
    encodes "1%41"
  #opaque?
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #to_json
  #to_json
  .encode_path
  .encode_path
  #absolute?
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #to_s
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    preserves non-default port
    preserves non-default port
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    preserves port for unknown scheme
    preserves port for unknown scheme
    assert
    assert
    assert
    assert
    preserves port for nil scheme
    preserves port for nil scheme
    assert
    assert
    assert
    assert
  #request_target
    assert
    assert
    does not add '?' to the end if the query params are empty
    does not add '?' to the end if the query params are empty
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  .from_yaml
  .from_yaml
  .new
    with query params
    with query params
  .decode
    decodes "hello+world"
    decodes "hello+world"
    decodes "+%2B %20"
    decodes "+%2B %20"
    decodes "hello%2%2Bworld"
    decodes "hello%2%2Bworld"
    decodes "hello%2"
    decodes "hello%2"
    does not decode string when block returns true
    does not decode string when block returns true
    decodes "hello"
    decodes "hello"
    decodes "hello%2Bworld"
    decodes "hello%2Bworld"
    decodes "%27Stop%21%27+said+Fred"
    decodes "%27Stop%21%27+said+Fred"
    decodes "%e3%81%aa%e3%81%aa"
    decodes "%e3%81%aa%e3%81%aa"
    decodes "hello%"
    decodes "hello%"
    decodes "hello+world"
    decodes "hello+world"
    decodes "hello%2B"
    decodes "hello%2B"
    decodes "hello%20world"
    decodes "hello%20world"
    decodes "%E3%81%AA%E3%81%AA"
    decodes "%E3%81%AA%E3%81%AA"
  .unwrap_ipv6
  .unwrap_ipv6
  #hostname
    assert
    assert
    assert
    assert
    assert
    assert
  #==
    assert
    assert
  .encode_path_segment
  .encode_path_segment
  #resolve
    opaque URIs
    opaque URIs
    path relative references
    path relative references
    RFC 3986: 5.4.1. Normal Examples
    RFC 3986: 5.4.1. Normal Examples
    ...
    ...
    removes dot-segments
    removes dot-segments
    encoded characters
    encoded characters
    absolute URI references
    absolute URI references
    fragment
    fragment
    multiple slashes
    multiple slashes
    Extras
    Extras
    scheme-relative
    scheme-relative
    RFC 3986: 5.4.2. Abnormal Examples
    RFC 3986: 5.4.2. Abnormal Examples
    path-absolute URI references
    path-absolute URI references
    relative base
    relative base
  #userinfo
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #relative?
    assert
    assert
  .encode
    encodes "https://en.wikipedia.org/wiki/Crystal (programming language)"
    encodes "https://en.wikipedia.org/wiki/Crystal (programming language)"
    encodes "hello%2"
    encodes "hello%2"
    encodes "\n"
    encodes "\n"
    encodes "\xFF"
    encodes "\xFF"
    encodes "hello world"
    encodes "hello world"
    does not encode character when block returns true
    does not encode character when block returns true
    encodes "hello+world"
    encodes "hello+world"
    encodes "'Stop!' said Fred"
    encodes "'Stop!' said Fred"
    encodes "'Stop!' said Fred"
    encodes "'Stop!' said Fred"
    encodes "hello%"
    encodes "hello%"
    encodes "hello world"
    encodes "hello world"
    encodes "hello+"
    encodes "hello+"
    encodes "なな"
    encodes "なな"
    encodes "hello%2+world"
    encodes "hello%2+world"
    encodes "hello"
    encodes "hello"
  #to_yaml
  #to_yaml
  .decode_www_form
    decodes "1%41%42%43"
    decodes "1%41%42%43"
    decodes "abc"
    decodes "abc"
    decodes ""
    decodes ""
    encodes "hello+"
    encodes "hello+"
    encodes "'Stop!' said Fred"
    encodes "'Stop!' said Fred"
    decodes "a+b"
    decodes "a+b"
    decodes "123%45%6"
    decodes "123%45%6"
    encodes "hello+world"
    encodes "hello+world"
    decodes "%1"
    decodes "%1"
    decodes "%"
    decodes "%"
    decodes "1%41"
    decodes "1%41"
    decodes "+%2B %20"
    decodes "+%2B %20"
    encodes "hello%2+world"
    encodes "hello%2+world"
    decodes "a%20b"
    decodes "a%20b"
    decodes "%zzzzz"
    decodes "%zzzzz"
    decodes "%4a"
    decodes "%4a"
    decodes "%20%3F%26%3D%23%2B%25%21%3C%3E%23%22%7B%7D%7C%5C%5E%5B%5D%60%E2%98%BA%09%3A%2F%40%24%27%28%29%2A%2C%3B"
    decodes "%20%3F%26%3D%23%2B%25%21%3C%3E%23%22%7B%7D%7C%5C%5E%5B%5D%60%E2%98%BA%09%3A%2F%40%24%27%28%29%2A%2C%3B"
  #update_query_params
    commits changes to the URI::Object
    commits changes to the URI::Object
    returns self
    returns self
  #authority
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
UInt
  compares with <=>
  compares with <=>
  &-
    returns the wrapped negation
    returns the wrapped negation
__mulodi4
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
LLVM::ABI::X86_64
  size
    for pointer
    for pointer
    for integer
    for integer
    for struct
    for struct
    for array
    for array
    for float
    for float
    for double
    for double
    for packed struct
    for packed struct
  align
    for packed struct
    for packed struct
    for array
    for array
    for integer
    for integer
    for pointer
    for pointer
    for struct
    for struct
    for double
    for double
    for float
    for float
  abi_info
    does with structs between 64 and 128 bits
    does with structs between 64 and 128 bits
    does with structs less than 64 bits
    does with structs less than 64 bits
    does with structs larger than 128 bits
    does with structs larger than 128 bits
    does with primitives
    does with primitives
log/spec
  can get the entry matched by next
  can get the entry matched by next
  fails on non-consecutive logs
  fails on non-consecutive logs
  can capture from all sources
  can capture from all sources
  can capture with source pattern
  can capture with source pattern
  yield and returns the dsl
  yield and returns the dsl
  allows matching with regex
  allows matching with regex
  allows matching logs strictly
  allows matching logs strictly
  entries can be cleared
  entries can be cleared
  can capture in different checkers
  can capture in different checkers
  allows matching non-consecutive logs
  allows matching non-consecutive logs
  allows matching logs
  allows matching logs
  can get the entry matched by check
  can get the entry matched by check
  it does not capture below level
  it does not capture below level
  fails on non-empty logs
  fails on non-empty logs
MIME::Multipart::Builder
  generates valid multipart messages
  generates valid multipart messages
  .preamble
    accepts different data types
    accepts different data types
    raises when called after starting the body
    raises when called after starting the body
  #content_type
    calculates the content type
    calculates the content type
  .epilogue
    raises when called after finishing
    raises when called after finishing
    accepts different data types
    accepts different data types
    raises when called with no body parts
    raises when called with no body parts
  generates valid multipart messages with preamble and epilogue
  generates valid multipart messages with preamble and epilogue
  .body_part
    raises when called after epilogue
    raises when called after epilogue
    raises when called after finishing
    raises when called after finishing
    accepts different data types
    accepts different data types
  .finish
    raises if already finished
    raises if already finished
    raises if no body exists
    raises if no body exists
select
  select many receivers
  select many receivers
  non-blocking nil-on-close multi-channel
    types and exec when with nil if channel is closed while waiting (2)
    types and exec when with nil if channel is closed while waiting (2)
    exec else if no message was ready
    exec else if no message was ready
    types and exec when (1)
    types and exec when (1)
    types and exec when with nil if channel is closed while waiting (1)
    types and exec when with nil if channel is closed while waiting (1)
    types and exec when with nil if channel was closed (1)
    types and exec when with nil if channel was closed (1)
    types and exec when with nil if channel was closed (2)
    types and exec when with nil if channel was closed (2)
    types and exec when (2)
    types and exec when (2)
  select should work with send which started before receive, fixed #3862
  select should work with send which started before receive, fixed #3862
  non-blocking raise-on-close single-channel
    raises if channel was closed
    raises if channel was closed
    types and exec when if message was ready
    types and exec when if message was ready
    exec else if no message was ready
    exec else if no message was ready
  stress select with send/receive in multiple fibers
  stress select with send/receive in multiple fibers
  blocking nil-on-close multi-channel
    types and exec when with nil if channel was closed (2)
    types and exec when with nil if channel was closed (2)
    types and exec when with nil if channel is closed while waiting (1)
    types and exec when with nil if channel is closed while waiting (1)
    types and exec when (1)
    types and exec when (1)
    types and exec when (2)
    types and exec when (2)
    types and exec when with nil if channel is closed while waiting (2)
    types and exec when with nil if channel is closed while waiting (2)
    types and exec when with nil if channel was closed (1)
    types and exec when with nil if channel was closed (1)
  prioritize by order when entering in a select
  prioritize by order when entering in a select
  blocking raise-on-close multi-channel
    raises if channel was closed (1)
    raises if channel was closed (1)
    types and exec when (2)
    types and exec when (2)
    types and exec when (1)
    types and exec when (1)
    raises if channel was closed (2)
    raises if channel was closed (2)
  non-blocking nil-on-close single-channel
    types and exec when with nil if channel was closed
    types and exec when with nil if channel was closed
    types and exec when
    types and exec when
    exec else if no message was ready
    exec else if no message was ready
  non-blocking raise-on-close multi-channel
    types and exec when (1)
    types and exec when (1)
    types and exec when (2)
    types and exec when (2)
    exec else if no message was ready
    exec else if no message was ready
    raises if channel was closed (1)
    raises if channel was closed (1)
    raises if channel was closed (2)
    raises if channel was closed (2)
  select many senders
  select many senders
  select same channel multiple times
  select same channel multiple times
  select many receivers, senders
  select many receivers, senders
  blocking raise-on-close single-channel
    raises if channel was closed
    raises if channel was closed
    types and exec when
    types and exec when
  select fiber has one chance to be enqueued into scheduler (2)
  select fiber has one chance to be enqueued into scheduler (2)
  select fiber has one chance to be enqueued into scheduler (1)
  select fiber has one chance to be enqueued into scheduler (1)
  blocking nil-on-close single-channel
    types and exec when with nil if channel was closed
    types and exec when with nil if channel was closed
    types and exec when
    types and exec when
GC
  .stats
  .stats
  raises if calling enable when not disabled
  raises if calling enable when not disabled
  .prof_stats
  .prof_stats
  compiles GC.stats
  compiles GC.stats
JUnit Formatter
  reports successful results
  reports successful results
  encodes class names from the relative file path
  encodes class names from the relative file path
  report failure stacktrace if present
  report failure stacktrace if present
  outputs timestamp according to RFC 3339
  outputs timestamp according to RFC 3339
  reports mixed results
  reports mixed results
  reports skipped
  reports skipped
  report error stacktrace if present
  report error stacktrace if present
  escapes spec names
  escapes spec names
  reports errors
  reports errors
  reports failures
  reports failures
Complex
  to_s
  to_s
  Math
    log10
    log10
    exp
    exp
    sqrt
    sqrt
    log
    log
    log2
    log2
  clones
  clones
  polar
  polar
  test multiplicative_identity
  test multiplicative_identity
  i
  i
  /
    complex / number
    complex / number
    number / complex
    number / complex
    complex / complex
    complex / complex
  phase
  phase
  test zero?
  test zero?
  inv
  inv
  cis
  cis
  inspect
  inspect
  sign
    infinity
    infinity
    real zero
    real zero
    imaginary zero
    imaginary zero
    complex zero
    complex zero
    finite, non-zero
    finite, non-zero
    not-a-number
    not-a-number
  conj
  conj
  -
    complex - complex
    complex - complex
    complex - number
    complex - number
    - complex
    - complex
    number - complex
    number - complex
  ==
    complex == number
    complex == number
    complex == complex
    complex == complex
    number == complex
    number == complex
  *
    complex * complex
    complex * complex
    number * complex
    number * complex
    complex * number
    complex * number
  test additive_identity
  test additive_identity
  abs2
  abs2
  hashes real without imag like real only
  hashes real without imag like real only
  abs
  abs
  test zero
  test zero
  +
    number + complex
    number + complex
    complex + number
    complex + number
    complex + complex
    complex + complex
    + complex
    + complex
  rounds
  rounds
  as numbers
    division between Complex / UInt64 returns Complex
    division between Complex / UInt64 returns Complex
    division between UInt16 / Complex returns Complex
    division between UInt16 / Complex returns Complex
    converts from UInt8 to Complex
    converts from UInt8 to Complex
    division between Int8 / Complex returns Complex
    division between Int8 / Complex returns Complex
    division between Complex / UInt128 returns Complex
    division between Complex / UInt128 returns Complex
    converts from Int32 to Complex
    converts from Int32 to Complex
    converts from Complex to Int16
    converts from Complex to Int16
    converts from Float32 to Complex
    converts from Float32 to Complex
    converts from Complex to Int128
    converts from Complex to Int128
    converts from Float32 to Complex
    converts from Float32 to Complex
    converts from Complex to Int32
    converts from Complex to Int32
    converts from Complex to Float64
    converts from Complex to Float64
    converts from Complex to UInt64
    converts from Complex to UInt64
    converts from Int128 to Complex
    converts from Int128 to Complex
    division between Complex / Int128 returns Complex
    division between Complex / Int128 returns Complex
    converts from Complex to Int64
    converts from Complex to Int64
    division between Complex / Int32 returns Complex
    division between Complex / Int32 returns Complex
    division between Float64 / Complex returns Complex
    division between Float64 / Complex returns Complex
    converts from Complex to UInt8
    converts from Complex to UInt8
    division between Int128 / Complex returns Complex
    division between Int128 / Complex returns Complex
    converts from Int8 to Complex
    converts from Int8 to Complex
    division between Complex / Int16 returns Complex
    division between Complex / Int16 returns Complex
    division between Complex / UInt8 returns Complex
    division between Complex / UInt8 returns Complex
    division between Complex / Complex returns Complex
    division between Complex / Complex returns Complex
    division between Complex / UInt32 returns Complex
    division between Complex / UInt32 returns Complex
    converts from UInt64 to Complex
    converts from UInt64 to Complex
    converts from Complex to Int128
    converts from Complex to Int128
    converts from UInt64 to Complex
    converts from UInt64 to Complex
    converts from Int8 to Complex
    converts from Int8 to Complex
    converts from Int64 to Complex
    converts from Int64 to Complex
    converts from Complex to Float32
    converts from Complex to Float32
    converts from UInt8 to Complex
    converts from UInt8 to Complex
    division between Complex / UInt16 returns Complex
    division between Complex / UInt16 returns Complex
    converts from Complex to UInt128
    converts from Complex to UInt128
    division between Complex / Int8 returns Complex
    division between Complex / Int8 returns Complex
    converts from UInt16 to Complex
    converts from UInt16 to Complex
    division between Complex / Float32 returns Complex
    division between Complex / Float32 returns Complex
    division between Int16 / Complex returns Complex
    division between Int16 / Complex returns Complex
    converts from Complex to Int64
    converts from Complex to Int64
    converts from Complex to Int8
    converts from Complex to Int8
    division between Int64 / Complex returns Complex
    division between Int64 / Complex returns Complex
    converts from Int16 to Complex
    converts from Int16 to Complex
    converts from Complex to Int16
    converts from Complex to Int16
    converts from Complex to UInt8
    converts from Complex to UInt8
    division between Complex / Int64 returns Complex
    division between Complex / Int64 returns Complex
    division between UInt128 / Complex returns Complex
    division between UInt128 / Complex returns Complex
    converts from Complex to UInt16
    converts from Complex to UInt16
    converts from Int16 to Complex
    converts from Int16 to Complex
    division between Int32 / Complex returns Complex
    division between Int32 / Complex returns Complex
    converts from Complex to Complex
    converts from Complex to Complex
    converts from Complex to UInt32
    converts from Complex to UInt32
    converts from UInt128 to Complex
    converts from UInt128 to Complex
    converts from UInt16 to Complex
    converts from UInt16 to Complex
    division between UInt64 / Complex returns Complex
    division between UInt64 / Complex returns Complex
    converts from Int32 to Complex
    converts from Int32 to Complex
    division between Complex / Float64 returns Complex
    division between Complex / Float64 returns Complex
    converts from Int128 to Complex
    converts from Int128 to Complex
    converts from Complex to Int32
    converts from Complex to Int32
    converts from Float64 to Complex
    converts from Float64 to Complex
    division between Float32 / Complex returns Complex
    division between Float32 / Complex returns Complex
    converts from Float64 to Complex
    converts from Float64 to Complex
    converts from Complex to UInt64
    converts from Complex to UInt64
    converts from UInt32 to Complex
    converts from UInt32 to Complex
    converts from UInt128 to Complex
    converts from UInt128 to Complex
    converts from Complex to Float64
    converts from Complex to Float64
    converts from Complex to Int8
    converts from Complex to Int8
    converts from Complex to Complex
    converts from Complex to Complex
    converts from Int64 to Complex
    converts from Int64 to Complex
    converts from UInt32 to Complex
    converts from UInt32 to Complex
    division between UInt8 / Complex returns Complex
    division between UInt8 / Complex returns Complex
    converts from Complex to UInt16
    converts from Complex to UInt16
    division between UInt32 / Complex returns Complex
    division between UInt32 / Complex returns Complex
    converts from Complex to UInt32
    converts from Complex to UInt32
    converts from Complex to UInt128
    converts from Complex to UInt128
    converts from Complex to Float32
    converts from Complex to Float32
Big* as numbers
  floor_division BigInt // BigDecimal returns BigInt
  floor_division BigInt // BigDecimal returns BigInt
  floor_division UInt32 // BigFloat returns UInt32
  floor_division UInt32 // BigFloat returns UInt32
  floor_division UInt8 // BigInt returns UInt8
  floor_division UInt8 // BigInt returns UInt8
  converts from BigDecimal to Float64
  converts from BigDecimal to Float64
  division between BigFloat / Int64 returns BigFloat
  division between BigFloat / Int64 returns BigFloat
  converts from UInt32 to BigInt
  converts from UInt32 to BigInt
  converts from Float32 to BigDecimal
  converts from Float32 to BigDecimal
  division between UInt32 / BigRational returns BigRational
  division between UInt32 / BigRational returns BigRational
  division between Int64 / BigInt returns BigFloat
  division between Int64 / BigInt returns BigFloat
  converts from Float64 to BigFloat
  converts from Float64 to BigFloat
  converts from BigDecimal to UInt64
  converts from BigDecimal to UInt64
  converts from Int64 to BigDecimal
  converts from Int64 to BigDecimal
  floor_division BigRational // Float32 returns BigRational
  floor_division BigRational // Float32 returns BigRational
  floor_division Float64 // BigInt returns Float64
  floor_division Float64 // BigInt returns Float64
  division between Int32 / BigFloat returns BigFloat
  division between Int32 / BigFloat returns BigFloat
  division between BigDecimal / UInt128 returns BigDecimal
  division between BigDecimal / UInt128 returns BigDecimal
  converts from BigFloat to BigRational
  converts from BigFloat to BigRational
  converts from BigInt to UInt16
  converts from BigInt to UInt16
  division between BigInt / UInt32 returns BigFloat
  division between BigInt / UInt32 returns BigFloat
  converts from BigDecimal to Int16
  converts from BigDecimal to Int16
  converts from BigInt to BigInt
  converts from BigInt to BigInt
  floor_division BigInt // UInt32 returns BigInt
  floor_division BigInt // UInt32 returns BigInt
  converts from BigFloat to BigFloat
  converts from BigFloat to BigFloat
  converts from UInt64 to BigDecimal
  converts from UInt64 to BigDecimal
  division between Int128 / BigInt returns BigFloat
  division between Int128 / BigInt returns BigFloat
  converts from BigDecimal to BigFloat
  converts from BigDecimal to BigFloat
  division between Float64 / BigRational returns BigRational
  division between Float64 / BigRational returns BigRational
  division between BigRational / UInt16 returns BigRational
  division between BigRational / UInt16 returns BigRational
  division between BigDecimal / BigInt returns BigDecimal
  division between BigDecimal / BigInt returns BigDecimal
  division between BigRational / BigRational returns BigRational
  division between BigRational / BigRational returns BigRational
  floor_division BigDecimal // BigDecimal returns BigDecimal
  floor_division BigDecimal // BigDecimal returns BigDecimal
  converts from BigInt to Float64
  converts from BigInt to Float64
  converts from Int8 to BigFloat
  converts from Int8 to BigFloat
  converts from BigRational to BigRational
  converts from BigRational to BigRational
  converts from BigRational to Float32
  converts from BigRational to Float32
  division between BigRational / BigInt returns BigRational
  division between BigRational / BigInt returns BigRational
  division between Float32 / BigDecimal returns BigDecimal
  division between Float32 / BigDecimal returns BigDecimal
  converts from BigDecimal to Int8
  converts from BigDecimal to Int8
  converts from UInt32 to BigFloat
  converts from UInt32 to BigFloat
  division between BigInt / Int128 returns BigFloat
  division between BigInt / Int128 returns BigFloat
  converts from UInt64 to BigInt
  converts from UInt64 to BigInt
  converts from Int32 to BigDecimal
  converts from Int32 to BigDecimal
  division between BigDecimal / Int8 returns BigDecimal
  division between BigDecimal / Int8 returns BigDecimal
  converts from BigDecimal to UInt32
  converts from BigDecimal to UInt32
  division between BigRational / UInt8 returns BigRational
  division between BigRational / UInt8 returns BigRational
  floor_division BigRational // BigFloat returns BigRational
  floor_division BigRational // BigFloat returns BigRational
  converts from BigFloat to Int16
  converts from BigFloat to Int16
  division between UInt128 / BigRational returns BigRational
  division between UInt128 / BigRational returns BigRational
  converts from BigFloat to Int32
  converts from BigFloat to Int32
  division between BigRational / UInt32 returns BigRational
  division between BigRational / UInt32 returns BigRational
  floor_division BigFloat // UInt16 returns BigFloat
  floor_division BigFloat // UInt16 returns BigFloat
  converts from BigDecimal to Int32
  converts from BigDecimal to Int32
  converts from Int64 to BigFloat
  converts from Int64 to BigFloat
  division between BigInt / BigFloat returns BigFloat
  division between BigInt / BigFloat returns BigFloat
  converts from BigInt to UInt8
  converts from BigInt to UInt8
  converts from Int16 to BigRational
  converts from Int16 to BigRational
  initialize from value to BigFloat
  initialize from value to BigFloat
  division between BigFloat / Float64 returns BigFloat
  division between BigFloat / Float64 returns BigFloat
  floor_division BigRational // BigRational returns BigRational
  floor_division BigRational // BigRational returns BigRational
  floor_division BigRational // BigDecimal returns BigRational
  floor_division BigRational // BigDecimal returns BigRational
  floor_division UInt8 // BigRational returns UInt8
  floor_division UInt8 // BigRational returns UInt8
  converts from BigDecimal to BigInt
  converts from BigDecimal to BigInt
  converts from BigRational to BigFloat
  converts from BigRational to BigFloat
  division between BigInt / Int16 returns BigFloat
  division between BigInt / Int16 returns BigFloat
  floor_division BigFloat // Int64 returns BigFloat
  floor_division BigFloat // Int64 returns BigFloat
  division between UInt64 / BigRational returns BigRational
  division between UInt64 / BigRational returns BigRational
  converts from BigInt to BigInt
  converts from BigInt to BigInt
  division between BigDecimal / Int64 returns BigDecimal
  division between BigDecimal / Int64 returns BigDecimal
  converts from BigInt to BigDecimal
  converts from BigInt to BigDecimal
  converts from BigDecimal to Float64
  converts from BigDecimal to Float64
  converts from Int16 to BigFloat
  converts from Int16 to BigFloat
  converts from UInt8 to BigInt
  converts from UInt8 to BigInt
  converts from BigDecimal to BigFloat
  converts from BigDecimal to BigFloat
  converts from Int32 to BigFloat
  converts from Int32 to BigFloat
  division between BigInt / BigDecimal returns BigDecimal
  division between BigInt / BigDecimal returns BigDecimal
  division between BigDecimal / UInt64 returns BigDecimal
  division between BigDecimal / UInt64 returns BigDecimal
  floor_division BigInt // Float64 returns BigInt
  floor_division BigInt // Float64 returns BigInt
  division between BigFloat / Int32 returns BigFloat
  division between BigFloat / Int32 returns BigFloat
  division between BigFloat / BigFloat returns BigFloat
  division between BigFloat / BigFloat returns BigFloat
  floor_division BigDecimal // Int16 returns BigDecimal
  floor_division BigDecimal // Int16 returns BigDecimal
  converts from BigFloat to UInt8
  converts from BigFloat to UInt8
  division between BigFloat / UInt16 returns BigFloat
  division between BigFloat / UInt16 returns BigFloat
  floor_division UInt16 // BigInt returns UInt16
  floor_division UInt16 // BigInt returns UInt16
  division between Int16 / BigInt returns BigFloat
  division between Int16 / BigInt returns BigFloat
  floor_division BigDecimal // UInt64 returns BigDecimal
  floor_division BigDecimal // UInt64 returns BigDecimal
  converts from UInt64 to BigFloat
  converts from UInt64 to BigFloat
  floor_division UInt32 // BigDecimal returns UInt32
  floor_division UInt32 // BigDecimal returns UInt32
  floor_division Int16 // BigDecimal returns Int16
  floor_division Int16 // BigDecimal returns Int16
  division between Int32 / BigDecimal returns BigDecimal
  division between Int32 / BigDecimal returns BigDecimal
  division between UInt128 / BigDecimal returns BigDecimal
  division between UInt128 / BigDecimal returns BigDecimal
  floor_division BigInt // Int64 returns BigInt
  floor_division BigInt // Int64 returns BigInt
  converts from UInt8 to BigRational
  converts from UInt8 to BigRational
  division between BigDecimal / Int128 returns BigDecimal
  division between BigDecimal / Int128 returns BigDecimal
  converts from Int8 to BigFloat
  converts from Int8 to BigFloat
  division between BigFloat / Float32 returns BigFloat
  division between BigFloat / Float32 returns BigFloat
  converts from BigDecimal to UInt8
  converts from BigDecimal to UInt8
  converts from UInt64 to BigDecimal
  converts from UInt64 to BigDecimal
  converts from BigRational to BigDecimal
  converts from BigRational to BigDecimal
  converts from Int32 to BigInt
  converts from Int32 to BigInt
  converts from BigDecimal to UInt32
  converts from BigDecimal to UInt32
  converts from BigRational to UInt16
  converts from BigRational to UInt16
  floor_division BigFloat // Float64 returns BigFloat
  floor_division BigFloat // Float64 returns BigFloat
  floor_division BigFloat // Int16 returns BigFloat
  floor_division BigFloat // Int16 returns BigFloat
  converts from BigFloat to Float64
  converts from BigFloat to Float64
  converts from BigRational to UInt8
  converts from BigRational to UInt8
  division between UInt32 / BigDecimal returns BigDecimal
  division between UInt32 / BigDecimal returns BigDecimal
  floor_division BigFloat // UInt8 returns BigFloat
  floor_division BigFloat // UInt8 returns BigFloat
  floor_division BigFloat // UInt64 returns BigFloat
  floor_division BigFloat // UInt64 returns BigFloat
  converts from BigFloat to Int8
  converts from BigFloat to Int8
  converts from UInt32 to BigInt
  converts from UInt32 to BigInt
  floor_division BigDecimal // Float32 returns BigDecimal
  floor_division BigDecimal // Float32 returns BigDecimal
  floor_division Float64 // BigFloat returns Float64
  floor_division Float64 // BigFloat returns Float64
  division between Int32 / BigRational returns BigRational
  division between Int32 / BigRational returns BigRational
  division between BigDecimal / BigRational returns BigRational
  division between BigDecimal / BigRational returns BigRational
  floor_division UInt64 // BigFloat returns UInt64
  floor_division UInt64 // BigFloat returns UInt64
  division between Int32 / BigInt returns BigFloat
  division between Int32 / BigInt returns BigFloat
  floor_division Int8 // BigDecimal returns Int8
  floor_division Int8 // BigDecimal returns Int8
  converts from BigDecimal to UInt16
  converts from BigDecimal to UInt16
  division between Float32 / BigRational returns BigRational
  division between Float32 / BigRational returns BigRational
  converts from BigRational to Int32
  converts from BigRational to Int32
  converts from BigFloat to Int16
  converts from BigFloat to Int16
  converts from UInt16 to BigFloat
  converts from UInt16 to BigFloat
  division between UInt16 / BigRational returns BigRational
  division between UInt16 / BigRational returns BigRational
  converts from Int32 to BigInt
  converts from Int32 to BigInt
  division between BigInt / Int64 returns BigFloat
  division between BigInt / Int64 returns BigFloat
  converts from Float32 to BigDecimal
  converts from Float32 to BigDecimal
  converts from BigInt to UInt16
  converts from BigInt to UInt16
  floor_division Int32 // BigInt returns Int32
  floor_division Int32 // BigInt returns Int32
  division between BigRational / BigDecimal returns BigRational
  division between BigRational / BigDecimal returns BigRational
  floor_division UInt64 // BigDecimal returns UInt64
  floor_division UInt64 // BigDecimal returns UInt64
  division between Int64 / BigRational returns BigRational
  division between Int64 / BigRational returns BigRational
  division between BigFloat / Int8 returns BigFloat
  division between BigFloat / Int8 returns BigFloat
  converts from Float32 to BigRational
  converts from Float32 to BigRational
  converts from BigFloat to UInt32
  converts from BigFloat to UInt32
  converts from BigFloat to Int64
  converts from BigFloat to Int64
  division between Int16 / BigDecimal returns BigDecimal
  division between Int16 / BigDecimal returns BigDecimal
  converts from Int16 to BigRational
  converts from Int16 to BigRational
  converts from Float64 to BigRational
  converts from Float64 to BigRational
  converts from BigRational to BigInt
  converts from BigRational to BigInt
  converts from BigRational to Int8
  converts from BigRational to Int8
  converts from BigInt to Int16
  converts from BigInt to Int16
  converts from BigFloat to Float32
  converts from BigFloat to Float32
  converts from Int64 to BigRational
  converts from Int64 to BigRational
  converts from Int16 to BigInt
  converts from Int16 to BigInt
  converts from Int64 to BigDecimal
  converts from Int64 to BigDecimal
  converts from BigFloat to UInt8
  converts from BigFloat to UInt8
  converts from UInt32 to BigFloat
  converts from UInt32 to BigFloat
  floor_division BigDecimal // Float64 returns BigDecimal
  floor_division BigDecimal // Float64 returns BigDecimal
  converts from Int32 to BigFloat
  converts from Int32 to BigFloat
  converts from Float32 to BigInt
  converts from Float32 to BigInt
  converts from Int64 to BigFloat
  converts from Int64 to BigFloat
  division between BigRational / Int64 returns BigRational
  division between BigRational / Int64 returns BigRational
  division between BigRational / Float32 returns BigRational
  division between BigRational / Float32 returns BigRational
  floor_division Int64 // BigInt returns Int64
  floor_division Int64 // BigInt returns Int64
  division between UInt16 / BigDecimal returns BigDecimal
  division between UInt16 / BigDecimal returns BigDecimal
  floor_division Int32 // BigRational returns Int32
  floor_division Int32 // BigRational returns Int32
  division between BigDecimal / BigDecimal returns BigDecimal
  division between BigDecimal / BigDecimal returns BigDecimal
  floor_division BigDecimal // Int64 returns BigDecimal
  floor_division BigDecimal // Int64 returns BigDecimal
  converts from Int64 to BigInt
  converts from Int64 to BigInt
  floor_division UInt64 // BigInt returns UInt64
  floor_division UInt64 // BigInt returns UInt64
  converts from Int16 to BigInt
  converts from Int16 to BigInt
  floor_division BigFloat // BigRational returns BigFloat
  floor_division BigFloat // BigRational returns BigFloat
  division between Int16 / BigFloat returns BigFloat
  division between Int16 / BigFloat returns BigFloat
  division between UInt64 / BigDecimal returns BigDecimal
  division between UInt64 / BigDecimal returns BigDecimal
  division between BigRational / UInt128 returns BigRational
  division between BigRational / UInt128 returns BigRational
  division between BigDecimal / UInt8 returns BigDecimal
  division between BigDecimal / UInt8 returns BigDecimal
  converts from UInt8 to BigInt
  converts from UInt8 to BigInt
  floor_division Int8 // BigRational returns Int8
  floor_division Int8 // BigRational returns Int8
  floor_division Float32 // BigFloat returns Float32
  floor_division Float32 // BigFloat returns Float32
  division between BigDecimal / Float32 returns BigDecimal
  division between BigDecimal / Float32 returns BigDecimal
  converts from UInt8 to BigRational
  converts from UInt8 to BigRational
  converts from BigDecimal to BigDecimal
  converts from BigDecimal to BigDecimal
  floor_division BigInt // UInt64 returns BigInt
  floor_division BigInt // UInt64 returns BigInt
  converts from BigInt to Int16
  converts from BigInt to Int16
  converts from Int16 to BigDecimal
  converts from Int16 to BigDecimal
  converts from BigInt to Int8
  converts from BigInt to Int8
  division between UInt64 / BigInt returns BigFloat
  division between UInt64 / BigInt returns BigFloat
  floor_division UInt16 // BigFloat returns UInt16
  floor_division UInt16 // BigFloat returns UInt16
  division between BigInt / UInt64 returns BigFloat
  division between BigInt / UInt64 returns BigFloat
  floor_division BigRational // Int64 returns BigRational
  floor_division BigRational // Int64 returns BigRational
  converts from BigRational to BigFloat
  converts from BigRational to BigFloat
  converts from BigInt to BigRational
  converts from BigInt to BigRational
  division between BigRational / Float64 returns BigRational
  division between BigRational / Float64 returns BigRational
  converts from BigRational to Int64
  converts from BigRational to Int64
  converts from UInt8 to BigDecimal
  converts from UInt8 to BigDecimal
  division between BigDecimal / BigFloat returns BigDecimal
  division between BigDecimal / BigFloat returns BigDecimal
  floor_division BigRational // Int8 returns BigRational
  floor_division BigRational // Int8 returns BigRational
  floor_division Int16 // BigFloat returns Int16
  floor_division Int16 // BigFloat returns Int16
  floor_division BigDecimal // UInt16 returns BigDecimal
  floor_division BigDecimal // UInt16 returns BigDecimal
  converts from BigDecimal to BigRational
  converts from BigDecimal to BigRational
  floor_division UInt16 // BigRational returns UInt16
  floor_division UInt16 // BigRational returns UInt16
  floor_division BigRational // BigInt returns BigRational
  floor_division BigRational // BigInt returns BigRational
  floor_division UInt8 // BigFloat returns UInt8
  floor_division UInt8 // BigFloat returns UInt8
  division between Int8 / BigDecimal returns BigDecimal
  division between Int8 / BigDecimal returns BigDecimal
  floor_division Int64 // BigDecimal returns Int64
  floor_division Int64 // BigDecimal returns Int64
  floor_division BigRational // UInt16 returns BigRational
  floor_division BigRational // UInt16 returns BigRational
  converts from Float64 to BigDecimal
  converts from Float64 to BigDecimal
  converts from BigInt to UInt64
  converts from BigInt to UInt64
  floor_division BigDecimal // UInt32 returns BigDecimal
  floor_division BigDecimal // UInt32 returns BigDecimal
  floor_division Int16 // BigRational returns Int16
  floor_division Int16 // BigRational returns Int16
  converts from BigInt to Int8
  converts from BigInt to Int8
  converts from BigInt to UInt32
  converts from BigInt to UInt32
  converts from BigDecimal to UInt64
  converts from BigDecimal to UInt64
  division between BigFloat / UInt8 returns BigFloat
  division between BigFloat / UInt8 returns BigFloat
  floor_division UInt8 // BigDecimal returns UInt8
  floor_division UInt8 // BigDecimal returns UInt8
  floor_division UInt16 // BigDecimal returns UInt16
  floor_division UInt16 // BigDecimal returns UInt16
  floor_division BigFloat // UInt32 returns BigFloat
  floor_division BigFloat // UInt32 returns BigFloat
  division between BigInt / Int8 returns BigFloat
  division between BigInt / Int8 returns BigFloat
  converts from UInt16 to BigRational
  converts from UInt16 to BigRational
  initialize from value to BigInt
  initialize from value to BigInt
  converts from Int64 to BigInt
  converts from Int64 to BigInt
  floor_division BigDecimal // BigRational returns BigDecimal
  floor_division BigDecimal // BigRational returns BigDecimal
  converts from Int32 to BigRational
  converts from Int32 to BigRational
  converts from Int16 to BigFloat
  converts from Int16 to BigFloat
  converts from BigRational to Int8
  converts from BigRational to Int8
  converts from BigInt to BigRational
  converts from BigInt to BigRational
  converts from BigDecimal to Int16
  converts from BigDecimal to Int16
  converts from BigRational to UInt64
  converts from BigRational to UInt64
  converts from Int32 to BigDecimal
  converts from Int32 to BigDecimal
  converts from BigFloat to BigInt
  converts from BigFloat to BigInt
  converts from BigFloat to BigDecimal
  converts from BigFloat to BigDecimal
  converts from BigInt to BigFloat
  converts from BigInt to BigFloat
  floor_division BigDecimal // UInt8 returns BigDecimal
  floor_division BigDecimal // UInt8 returns BigDecimal
  converts from Float64 to BigFloat
  converts from Float64 to BigFloat
  floor_division BigRational // Float64 returns BigRational
  floor_division BigRational // Float64 returns BigRational
  division between Float32 / BigInt returns BigFloat
  division between Float32 / BigInt returns BigFloat
  floor_division BigFloat // Float32 returns BigFloat
  floor_division BigFloat // Float32 returns BigFloat
  division between UInt8 / BigDecimal returns BigDecimal
  division between UInt8 / BigDecimal returns BigDecimal
  division between BigFloat / UInt32 returns BigFloat
  division between BigFloat / UInt32 returns BigFloat
  floor_division Int64 // BigRational returns Int64
  floor_division Int64 // BigRational returns Int64
  converts from Float64 to BigDecimal
  converts from Float64 to BigDecimal
  converts from BigRational to Int32
  converts from BigRational to Int32
  converts from BigRational to Float64
  converts from BigRational to Float64
  division between BigRational / BigRational returns BigRational
  division between BigRational / BigRational returns BigRational
  floor_division BigInt // BigRational returns BigInt
  floor_division BigInt // BigRational returns BigInt
  floor_division Float32 // BigInt returns Float32
  floor_division Float32 // BigInt returns Float32
  division between BigInt / Float64 returns BigFloat
  division between BigInt / Float64 returns BigFloat
  converts from BigInt to Float64
  converts from BigInt to Float64
  converts from BigDecimal to UInt16
  converts from BigDecimal to UInt16
  converts from BigInt to UInt64
  converts from BigInt to UInt64
  converts from Int8 to BigDecimal
  converts from Int8 to BigDecimal
  converts from Int8 to BigRational
  converts from Int8 to BigRational
  division between Int128 / BigDecimal returns BigDecimal
  division between Int128 / BigDecimal returns BigDecimal
  converts from BigFloat to BigFloat
  converts from BigFloat to BigFloat
  converts from Int8 to BigRational
  converts from Int8 to BigRational
  converts from BigFloat to Int64
  converts from BigFloat to Int64
  floor_division BigInt // Int8 returns BigInt
  floor_division BigInt // Int8 returns BigInt
  converts from UInt16 to BigFloat
  converts from UInt16 to BigFloat
  converts from BigRational to UInt16
  converts from BigRational to UInt16
  floor_division BigRational // Int16 returns BigRational
  floor_division BigRational // Int16 returns BigRational
  floor_division BigFloat // BigFloat returns BigFloat
  floor_division BigFloat // BigFloat returns BigFloat
  converts from BigInt to Float32
  converts from BigInt to Float32
  division between BigFloat / Int128 returns BigFloat
  division between BigFloat / Int128 returns BigFloat
  converts from BigInt to Int64
  converts from BigInt to Int64
  converts from UInt32 to BigDecimal
  converts from UInt32 to BigDecimal
  converts from Float32 to BigInt
  converts from Float32 to BigInt
  converts from BigDecimal to Float32
  converts from BigDecimal to Float32
  converts from BigFloat to Float32
  converts from BigFloat to Float32
  floor_division Int32 // BigDecimal returns Int32
  floor_division Int32 // BigDecimal returns Int32
  division between UInt8 / BigFloat returns BigFloat
  division between UInt8 / BigFloat returns BigFloat
  division between BigInt / UInt8 returns BigFloat
  division between BigInt / UInt8 returns BigFloat
  converts from BigDecimal to Int32
  converts from BigDecimal to Int32
  division between BigDecimal / Int32 returns BigDecimal
  division between BigDecimal / Int32 returns BigDecimal
  converts from BigInt to Int64
  converts from BigInt to Int64
  converts from BigFloat to BigRational
  converts from BigFloat to BigRational
  converts from Float32 to BigRational
  converts from Float32 to BigRational
  division between Int64 / BigDecimal returns BigDecimal
  division between Int64 / BigDecimal returns BigDecimal
  floor_division Int16 // BigInt returns Int16
  floor_division Int16 // BigInt returns Int16
  division between BigRational / UInt64 returns BigRational
  division between BigRational / UInt64 returns BigRational
  converts from BigInt to Int32
  converts from BigInt to Int32
  converts from BigRational to Int64
  converts from BigRational to Int64
  initialize from value to BigRational
  initialize from value to BigRational
  converts from BigRational to UInt32
  converts from BigRational to UInt32
  converts from UInt64 to BigRational
  converts from UInt64 to BigRational
  floor_division BigInt // UInt16 returns BigInt
  floor_division BigInt // UInt16 returns BigInt
  division between UInt8 / BigRational returns BigRational
  division between UInt8 / BigRational returns BigRational
  division between BigRational / BigFloat returns BigRational
  division between BigRational / BigFloat returns BigRational
  division between BigFloat / BigDecimal returns BigDecimal
  division between BigFloat / BigDecimal returns BigDecimal
  division between Int64 / BigFloat returns BigFloat
  division between Int64 / BigFloat returns BigFloat
  converts from BigRational to Int16
  converts from BigRational to Int16
  floor_division BigRational // Int32 returns BigRational
  floor_division BigRational // Int32 returns BigRational
  division between BigRational / Int128 returns BigRational
  division between BigRational / Int128 returns BigRational
  converts from BigDecimal to BigInt
  converts from BigDecimal to BigInt
  division between UInt128 / BigFloat returns BigFloat
  division between UInt128 / BigFloat returns BigFloat
  converts from BigFloat to UInt64
  converts from BigFloat to UInt64
  division between UInt32 / BigInt returns BigFloat
  division between UInt32 / BigInt returns BigFloat
  division between BigInt / BigRational returns BigRational
  division between BigInt / BigRational returns BigRational
  converts from BigFloat to UInt64
  converts from BigFloat to UInt64
  division between UInt64 / BigFloat returns BigFloat
  division between UInt64 / BigFloat returns BigFloat
  converts from Int8 to BigInt
  converts from Int8 to BigInt
  division between BigFloat / UInt64 returns BigFloat
  division between BigFloat / UInt64 returns BigFloat
  converts from UInt32 to BigDecimal
  converts from UInt32 to BigDecimal
  division between BigFloat / UInt128 returns BigFloat
  division between BigFloat / UInt128 returns BigFloat
  converts from BigDecimal to BigRational
  converts from BigDecimal to BigRational
  converts from UInt64 to BigInt
  converts from UInt64 to BigInt
  converts from BigDecimal to UInt8
  converts from BigDecimal to UInt8
  converts from BigFloat to Float64
  converts from BigFloat to Float64
  floor_division BigRational // UInt64 returns BigRational
  floor_division BigRational // UInt64 returns BigRational
  converts from BigFloat to BigDecimal
  converts from BigFloat to BigDecimal
  floor_division BigInt // Int16 returns BigInt
  floor_division BigInt // Int16 returns BigInt
  floor_division Int32 // BigFloat returns Int32
  floor_division Int32 // BigFloat returns Int32
  converts from Int8 to BigInt
  converts from Int8 to BigInt
  converts from BigFloat to UInt32
  converts from BigFloat to UInt32
  division between BigInt / Int32 returns BigFloat
  division between BigInt / Int32 returns BigFloat
  converts from BigDecimal to BigDecimal
  converts from BigDecimal to BigDecimal
  converts from BigInt to Float32
  converts from BigInt to Float32
  converts from Float64 to BigInt
  converts from Float64 to BigInt
  converts from UInt16 to BigDecimal
  converts from UInt16 to BigDecimal
  division between Float64 / BigDecimal returns BigDecimal
  division between Float64 / BigDecimal returns BigDecimal
  floor_division BigFloat // Int32 returns BigFloat
  floor_division BigFloat // Int32 returns BigFloat
  division between Int8 / BigInt returns BigFloat
  division between Int8 / BigInt returns BigFloat
  converts from UInt16 to BigRational
  converts from UInt16 to BigRational
  division between Int128 / BigRational returns BigRational
  division between Int128 / BigRational returns BigRational
  converts from BigFloat to Int8
  converts from BigFloat to Int8
  converts from UInt8 to BigDecimal
  converts from UInt8 to BigDecimal
  division between Int8 / BigFloat returns BigFloat
  division between Int8 / BigFloat returns BigFloat
  converts from UInt8 to BigFloat
  converts from UInt8 to BigFloat
  division between BigRational / Int8 returns BigRational
  division between BigRational / Int8 returns BigRational
  division between Int16 / BigRational returns BigRational
  division between Int16 / BigRational returns BigRational
  converts from BigInt to UInt8
  converts from BigInt to UInt8
  converts from Float64 to BigInt
  converts from Float64 to BigInt
  floor_division BigFloat // BigDecimal returns BigFloat
  floor_division BigFloat // BigDecimal returns BigFloat
  floor_division BigDecimal // Int8 returns BigDecimal
  floor_division BigDecimal // Int8 returns BigDecimal
  division between BigDecimal / UInt32 returns BigDecimal
  division between BigDecimal / UInt32 returns BigDecimal
  converts from BigInt to Int32
  converts from BigInt to Int32
  converts from BigInt to BigDecimal
  converts from BigInt to BigDecimal
  division between UInt128 / BigInt returns BigFloat
  division between UInt128 / BigInt returns BigFloat
  converts from BigRational to Float64
  converts from BigRational to Float64
  division between BigFloat / Int16 returns BigFloat
  division between BigFloat / Int16 returns BigFloat
  floor_division BigRational // UInt8 returns BigRational
  floor_division BigRational // UInt8 returns BigRational
  floor_division BigFloat // BigInt returns BigFloat
  floor_division BigFloat // BigInt returns BigFloat
  division between BigInt / BigInt returns BigFloat
  division between BigInt / BigInt returns BigFloat
  division between Float64 / BigFloat returns BigFloat
  division between Float64 / BigFloat returns BigFloat
  floor_division BigDecimal // BigFloat returns BigDecimal
  floor_division BigDecimal // BigFloat returns BigDecimal
  converts from Float32 to BigFloat
  converts from Float32 to BigFloat
  division between UInt32 / BigFloat returns BigFloat
  division between UInt32 / BigFloat returns BigFloat
  converts from BigInt to UInt32
  converts from BigInt to UInt32
  converts from UInt16 to BigDecimal
  converts from UInt16 to BigDecimal
  initialize from value to BigDecimal
  initialize from value to BigDecimal
  division between Float32 / BigFloat returns BigFloat
  division between Float32 / BigFloat returns BigFloat
  division between BigDecimal / Float64 returns BigDecimal
  division between BigDecimal / Float64 returns BigDecimal
  floor_division BigInt // Int32 returns BigInt
  floor_division BigInt // Int32 returns BigInt
  converts from BigDecimal to Int64
  converts from BigDecimal to Int64
  converts from BigDecimal to Int64
  converts from BigDecimal to Int64
  converts from BigRational to Int16
  converts from BigRational to Int16
  division between BigDecimal / Int16 returns BigDecimal
  division between BigDecimal / Int16 returns BigDecimal
  floor_division UInt32 // BigInt returns UInt32
  floor_division UInt32 // BigInt returns UInt32
  floor_division BigFloat // Int8 returns BigFloat
  floor_division BigFloat // Int8 returns BigFloat
  floor_division BigInt // BigInt returns BigInt
  floor_division BigInt // BigInt returns BigInt
  floor_division Float64 // BigDecimal returns Float64
  floor_division Float64 // BigDecimal returns Float64
  division between UInt16 / BigInt returns BigFloat
  division between UInt16 / BigInt returns BigFloat
  division between Float64 / BigInt returns BigFloat
  division between Float64 / BigInt returns BigFloat
  converts from UInt64 to BigFloat
  converts from UInt64 to BigFloat
  division between BigDecimal / BigDecimal returns BigDecimal
  division between BigDecimal / BigDecimal returns BigDecimal
  floor_division Float32 // BigDecimal returns Float32
  floor_division Float32 // BigDecimal returns Float32
  converts from UInt32 to BigRational
  converts from UInt32 to BigRational
  converts from BigRational to UInt32
  converts from BigRational to UInt32
  converts from BigFloat to Int32
  converts from BigFloat to Int32
  division between BigInt / UInt16 returns BigFloat
  division between BigInt / UInt16 returns BigFloat
  floor_division Int8 // BigInt returns Int8
  floor_division Int8 // BigInt returns Int8
  converts from BigRational to UInt64
  converts from BigRational to UInt64
  converts from UInt8 to BigFloat
  converts from UInt8 to BigFloat
  division between UInt8 / BigInt returns BigFloat
  division between UInt8 / BigInt returns BigFloat
  converts from BigRational to BigDecimal
  converts from BigRational to BigDecimal
  converts from BigRational to BigInt
  converts from BigRational to BigInt
  converts from UInt16 to BigInt
  converts from UInt16 to BigInt
  converts from BigDecimal to Float32
  converts from BigDecimal to Float32
  converts from BigFloat to UInt16
  converts from BigFloat to UInt16
  converts from UInt16 to BigInt
  converts from UInt16 to BigInt
  converts from BigRational to BigRational
  converts from BigRational to BigRational
  converts from BigRational to UInt8
  converts from BigRational to UInt8
  division between BigRational / Int16 returns BigRational
  division between BigRational / Int16 returns BigRational
  converts from BigDecimal to Int8
  converts from BigDecimal to Int8
  converts from Float64 to BigRational
  converts from Float64 to BigRational
  floor_division UInt64 // BigRational returns UInt64
  floor_division UInt64 // BigRational returns UInt64
  division between BigRational / Int32 returns BigRational
  division between BigRational / Int32 returns BigRational
  converts from BigFloat to BigInt
  converts from BigFloat to BigInt
  floor_division Float64 // BigRational returns Float64
  floor_division Float64 // BigRational returns Float64
  converts from Int16 to BigDecimal
  converts from Int16 to BigDecimal
  converts from Int32 to BigRational
  converts from Int32 to BigRational
  division between BigDecimal / UInt16 returns BigDecimal
  division between BigDecimal / UInt16 returns BigDecimal
  division between BigInt / Float32 returns BigFloat
  division between BigInt / Float32 returns BigFloat
  floor_division BigInt // UInt8 returns BigInt
  floor_division BigInt // UInt8 returns BigInt
  converts from BigInt to BigFloat
  converts from BigInt to BigFloat
  converts from BigFloat to UInt16
  converts from BigFloat to UInt16
  floor_division UInt32 // BigRational returns UInt32
  floor_division UInt32 // BigRational returns UInt32
  converts from UInt32 to BigRational
  converts from UInt32 to BigRational
  division between Int128 / BigFloat returns BigFloat
  division between Int128 / BigFloat returns BigFloat
  floor_division BigInt // BigFloat returns BigInt
  floor_division BigInt // BigFloat returns BigInt
  converts from Int8 to BigDecimal
  converts from Int8 to BigDecimal
  floor_division Int64 // BigFloat returns Int64
  floor_division Int64 // BigFloat returns Int64
  floor_division Float32 // BigRational returns Float32
  floor_division Float32 // BigRational returns Float32
  floor_division BigInt // Float32 returns BigInt
  floor_division BigInt // Float32 returns BigInt
  division between BigFloat / BigInt returns BigFloat
  division between BigFloat / BigInt returns BigFloat
  converts from UInt64 to BigRational
  converts from UInt64 to BigRational
  division between BigInt / UInt128 returns BigFloat
  division between BigInt / UInt128 returns BigFloat
  converts from Float32 to BigFloat
  converts from Float32 to BigFloat
  floor_division Int8 // BigFloat returns Int8
  floor_division Int8 // BigFloat returns Int8
  division between UInt16 / BigFloat returns BigFloat
  division between UInt16 / BigFloat returns BigFloat
  division between Int8 / BigRational returns BigRational
  division between Int8 / BigRational returns BigRational
  converts from BigRational to Float32
  converts from BigRational to Float32
  floor_division BigDecimal // BigInt returns BigDecimal
  floor_division BigDecimal // BigInt returns BigDecimal
  division between BigFloat / BigRational returns BigRational
  division between BigFloat / BigRational returns BigRational
  floor_division BigDecimal // Int32 returns BigDecimal
  floor_division BigDecimal // Int32 returns BigDecimal
  floor_division BigRational // UInt32 returns BigRational
  floor_division BigRational // UInt32 returns BigRational
  converts from Int64 to BigRational
  converts from Int64 to BigRational
#errors
  makes errors accessible
  makes errors accessible
TCPSocket
  sync from server
  sync from server
  sends and receives messages
  sends and receives messages
  fails when connection is refused
  fails when connection is refused
  #connect
    using IPv4
      raises when port is negative
      raises when port is negative
      raises when connection is refused
      raises when connection is refused
      connects to server
      connects to server
      raises when port is zero
      raises when port is zero
    fails to connect IPv6 to IPv4 server
    fails to connect IPv6 to IPv4 server
    address resolution
      connects to localhost
      connects to localhost
      raises when host doesn't exist
      raises when host doesn't exist
      raises (rather than segfault on darwin) when host doesn't exist and port is 0
      raises (rather than segfault on darwin) when host doesn't exist and port is 0
    using IPv6
      raises when connection is refused
      raises when connection is refused
      raises when port is zero
      raises when port is zero
      raises when port is negative
      raises when port is negative
      connects to server
      connects to server
  sends and receives messages
  sends and receives messages
  settings
  settings
Log::ProcFormatter
  formats
  formats
Float64#to_s
  converts 1000000000010000.0 to "1.00000000001e+15"
  converts 1000000000010000.0 to "1.00000000001e+15"
  converts 8589934592000.0 to "8589934592000.0"
  converts 8589934592000.0 to "8589934592000.0"
  converts 1.23456789012345 to "1.23456789012345"
  converts 1.23456789012345 to "1.23456789012345"
  converts 1000000000000010.0 to "1.00000000000001e+15"
  converts 1000000000000010.0 to "1.00000000000001e+15"
  converts 549755813888000.0 to "549755813888000.0"
  converts 549755813888000.0 to "549755813888000.0"
  converts 1.2345 to "1.2345"
  converts 1.2345 to "1.2345"
  converts 1000000000000000.0 to "1.0e+15"
  converts 1000000000000000.0 to "1.0e+15"
  converts 12345.0 to "12345.0"
  converts 12345.0 to "12345.0"
  converts 65536.0 to "65536.0"
  converts 65536.0 to "65536.0"
  converts 1000.0 to "1000.0"
  converts 1000.0 to "1000.0"
  Ryu d2s_test.cc LotsOfTrailingZeros
    converts 2.98023223876953125e-8 to "2.9802322387695312e-8"
    converts 2.98023223876953125e-8 to "2.9802322387695312e-8"
  converts 1000000000000100.0 to "1.0000000000001e+15"
  converts 1000000000000100.0 to "1.0000000000001e+15"
  converts 1100000000000000.0 to "1.1e+15"
  converts 1100000000000000.0 to "1.1e+15"
  converts 1234567.0 to "1234567.0"
  converts 1234567.0 to "1234567.0"
  converts 1.2345678901 to "1.2345678901"
  converts 1.2345678901 to "1.2345678901"
  converts 512000.0 to "512000.0"
  converts 512000.0 to "512000.0"
  converts 12.0 to "12.0"
  converts 12.0 to "12.0"
  Ryu d2s_test.cc LooksLikePow5
    converts 0x1.0f0cf064dd592p+132 to "5.764607523034235e+39"
    converts 0x1.0f0cf064dd592p+132 to "5.764607523034235e+39"
    converts 0x1.0f0cf064dd592p+133 to "1.152921504606847e+40"
    converts 0x1.0f0cf064dd592p+133 to "1.152921504606847e+40"
    converts 0x1.0f0cf064dd592p+134 to "2.305843009213694e+40"
    converts 0x1.0f0cf064dd592p+134 to "2.305843009213694e+40"
  converts 123456789012345.0 to "123456789012345.0"
  converts 123456789012345.0 to "123456789012345.0"
  converts 1234.0 to "1234.0"
  converts 1234.0 to "1234.0"
  converts 1.23456 to "1.23456"
  converts 1.23456 to "1.23456"
  converts 512.0 to "512.0"
  converts 512.0 to "512.0"
  converts 1234567890123.0 to "1234567890123.0"
  converts 1234567890123.0 to "1234567890123.0"
  converts 100000.0 to "100000.0"
  converts 100000.0 to "100000.0"
  converts 65536000.0 to "65536000.0"
  converts 65536000.0 to "65536000.0"
  almost-but-not-quite-anomalous values
    converts 0x1p890 to "8.25460204899477e+267"
    converts 0x1p890 to "8.25460204899477e+267"
    converts 0x1p-569 to "5.17526350329881e-172"
    converts 0x1p-569 to "5.17526350329881e-172"
    converts 0x1p-645 to "6.84940421565126e-195"
    converts 0x1p-645 to "6.84940421565126e-195"
    converts 0x1p-499 to "6.10987272699921e-151"
    converts 0x1p-499 to "6.10987272699921e-151"
    converts 0x1p966 to "6.237000967296e+290"
    converts 0x1p966 to "6.237000967296e+290"
    converts 0x1p149 to "7.1362384635298e+44"
    converts 0x1p149 to "7.1362384635298e+44"
    converts 0x1p956 to "6.090821257125e+287"
    converts 0x1p956 to "6.090821257125e+287"
    converts 0x1p740 to "5.78358058743443e+222"
    converts 0x1p740 to "5.78358058743443e+222"
  special cases
    converts Float64::MIN_SUBNORMAL to "5.0e-324"
    converts Float64::MIN_SUBNORMAL to "5.0e-324"
    converts Float64::INFINITY to "Infinity"
    converts Float64::INFINITY to "Infinity"
    converts 18444492273895866368_u64.unsafe_as(Float64) to "NaN"
    converts 18444492273895866368_u64.unsafe_as(Float64) to "NaN"
    converts 0.0 to "0.0"
    converts 0.0 to "0.0"
    converts -0.0 to "-0.0"
    converts -0.0 to "-0.0"
    converts Float64::MIN_POSITIVE to "2.2250738585072014e-308"
    converts Float64::MIN_POSITIVE to "2.2250738585072014e-308"
    converts Float64::MIN_POSITIVE.prev_float to "2.225073858507201e-308"
    converts Float64::MIN_POSITIVE.prev_float to "2.225073858507201e-308"
    converts -Float64::INFINITY to "-Infinity"
    converts -Float64::INFINITY to "-Infinity"
    converts Float64::MAX to "1.7976931348623157e+308"
    converts Float64::MAX to "1.7976931348623157e+308"
    converts 9221120237041090560_u64.unsafe_as(Float64) to "NaN"
    converts 9221120237041090560_u64.unsafe_as(Float64) to "NaN"
  converts 1010000000000000.0 to "1.01e+15"
  converts 1010000000000000.0 to "1.01e+15"
  converts 8.0 to "8.0"
  converts 8.0 to "8.0"
  converts 64.0 to "64.0"
  converts 64.0 to "64.0"
  converts 1000100000000000.0 to "1.0001e+15"
  converts 1000100000000000.0 to "1.0001e+15"
  converts 1000000000000001.0 to "1.000000000000001e+15"
  converts 1000000000000001.0 to "1.000000000000001e+15"
  converts 1.234567895 to "1.234567895"
  converts 1.234567895 to "1.234567895"
  Ryu d2s_test.cc 32-bit Chunking
    converts 4.294967295 to "4.294967295"
    converts 4.294967295 to "4.294967295"
    converts 4.294967297 to "4.294967297"
    converts 4.294967297 to "4.294967297"
    converts 4.294967296 to "4.294967296"
    converts 4.294967296 to "4.294967296"
    converts 4.294967298 to "4.294967298"
    converts 4.294967298 to "4.294967298"
    converts 4.294967294 to "4.294967294"
    converts 4.294967294 to "4.294967294"
  converts 10000000000000.0 to "10000000000000.0"
  converts 10000000000000.0 to "10000000000000.0"
  Ryu d2s_test.cc MinMaxShift
    converts 0x1.0000000000000p+54 to "1.8014398509481984e+16"
    converts 0x1.0000000000000p+54 to "1.8014398509481984e+16"
    converts 0x1.fffffffffffffp-716 to "5.801671039719115e-216"
    converts 0x1.fffffffffffffp-716 to "5.801671039719115e-216"
    converts 0x1.0000000000000p-982 to "2.446494580089078e-296"
    converts 0x1.0000000000000p-982 to "2.446494580089078e-296"
    converts 0x1.0000000000000p-716 to "2.900835519859558e-216"
    converts 0x1.0000000000000p-716 to "2.900835519859558e-216"
    converts 0x1.fffffffffffffp+54 to "3.6028797018963964e+16"
    converts 0x1.fffffffffffffp+54 to "3.6028797018963964e+16"
    converts 0x1.0000000000000p-1019 to "1.7800590868057611e-307"
    converts 0x1.0000000000000p-1019 to "1.7800590868057611e-307"
    converts 0x1.fffffffffffffp-1016 to "2.8480945388892175e-306"
    converts 0x1.fffffffffffffp-1016 to "2.8480945388892175e-306"
    converts 0x1.fa7161a4d6e0cp-89 to "3.196104012172126e-27"
    converts 0x1.fa7161a4d6e0cp-89 to "3.196104012172126e-27"
    converts 0x1.fffffffffffffp-982 to "4.8929891601781557e-296"
    converts 0x1.fffffffffffffp-982 to "4.8929891601781557e-296"
  converts 8796093022208000.0 to "8.796093022208e+15"
  converts 8796093022208000.0 to "8.796093022208e+15"
  converts 67108864000.0 to "67108864000.0"
  converts 67108864000.0 to "67108864000.0"
  converts 1.0 to "1.0"
  converts 1.0 to "1.0"
  converts 10000.0 to "10000.0"
  converts 10000.0 to "10000.0"
  converts 1000010000000000.0 to "1.00001e+15"
  converts 1000010000000000.0 to "1.00001e+15"
  converts 1234567890.0 to "1234567890.0"
  converts 1234567890.0 to "1234567890.0"
  converts 10.0 to "10.0"
  converts 10.0 to "10.0"
  converts 1000000000000.0 to "1000000000000.0"
  converts 1000000000000.0 to "1000000000000.0"
  converts 1000000000100000.0 to "1.0000000001e+15"
  converts 1000000000100000.0 to "1.0000000001e+15"
  converts 1000000000.0 to "1000000000.0"
  converts 1000000000.0 to "1000000000.0"
  anomalous values
    converts 0x1p122 to "5.316911983139664e+36"
    converts 0x1p122 to "5.316911983139664e+36"
    converts 0x1p-662 to "5.225680706521042e-200"
    converts 0x1p-662 to "5.225680706521042e-200"
    converts 0x1p-791 to "7.678447687145631e-239"
    converts 0x1p-791 to "7.678447687145631e-239"
    converts 0x1p896 to "5.282945311356653e+269"
    converts 0x1p896 to "5.282945311356653e+269"
    converts 0x1p-652 to "5.351097043477547e-197"
    converts 0x1p-652 to "5.351097043477547e-197"
    converts 0x1p89 to "6.189700196426902e+26"
    converts 0x1p89 to "6.189700196426902e+26"
    converts 0x1p976 to "6.386688990511104e+293"
    converts 0x1p976 to "6.386688990511104e+293"
    converts 0x1p-140 to "7.174648137343064e-43"
    converts 0x1p-140 to "7.174648137343064e-43"
    converts 0x1p-705 to "5.940911144672375e-213"
    converts 0x1p-705 to "5.940911144672375e-213"
    converts 0x1p-496 to "4.887898181599368e-150"
    converts 0x1p-496 to "4.887898181599368e-150"
    converts 0x1p803 to "5.334411546303884e+241"
    converts 0x1p803 to "5.334411546303884e+241"
    converts 0x1p-44 to "5.684341886080802e-14"
    converts 0x1p-44 to "5.684341886080802e-14"
    converts 0x1p132 to "5.444517870735016e+39"
    converts 0x1p132 to "5.444517870735016e+39"
    converts 0x1p-24 to "5.960464477539063e-8"
    converts 0x1p-24 to "5.960464477539063e-8"
    converts 0x1p863 to "6.150157786156811e+259"
    converts 0x1p863 to "6.150157786156811e+259"
    converts 0x1p398 to "6.455624695217272e+119"
    converts 0x1p398 to "6.455624695217272e+119"
    converts 0x1p-788 to "6.142758149716505e-238"
    converts 0x1p-788 to "6.142758149716505e-238"
    converts 0x1p405 to "8.263199609878108e+121"
    converts 0x1p405 to "8.263199609878108e+121"
    converts 0x1p-366 to "6.653062250012736e-111"
    converts 0x1p-366 to "6.653062250012736e-111"
    converts 0x1p574 to "6.183260036827614e+172"
    converts 0x1p574 to "6.183260036827614e+172"
    converts 0x1p-97 to "6.310887241768095e-30"
    converts 0x1p-97 to "6.310887241768095e-30"
    converts 0x1p182 to "6.129982163463556e+54"
    converts 0x1p182 to "6.129982163463556e+54"
    converts 0x1p710 to "5.386379163185535e+213"
    converts 0x1p710 to "5.386379163185535e+213"
    converts 0x1p275 to "6.070840288205404e+82"
    converts 0x1p275 to "6.070840288205404e+82"
    converts 0x1p-549 to "5.426657103235053e-166"
    converts 0x1p-549 to "5.426657103235053e-166"
    converts 0x1p544 to "5.758609657015292e+163"
    converts 0x1p544 to "5.758609657015292e+163"
    converts 0x1p-383 to "5.075883674631299e-116"
    converts 0x1p-383 to "5.075883674631299e-116"
    converts 0x1p-1007 to "7.291122019556398e-304"
    converts 0x1p-1007 to "7.291122019556398e-304"
    converts 0x1p-296 to "7.854549544476363e-90"
    converts 0x1p-296 to "7.854549544476363e-90"
    converts 0x1p-77 to "6.617444900424222e-24"
    converts 0x1p-77 to "6.617444900424222e-24"
    converts 0x1p-921 to "5.641232424577593e-278"
    converts 0x1p-921 to "5.641232424577593e-278"
    converts 0x1p-778 to "6.290184345309701e-235"
    converts 0x1p-778 to "6.290184345309701e-235"
    converts 0x1p594 to "6.483618076376552e+178"
    converts 0x1p594 to "6.483618076376552e+178"
    converts 0x1p305 to "6.518515124270356e+91"
    converts 0x1p305 to "6.518515124270356e+91"
    converts 0x1p345 to "7.167183174968974e+103"
    converts 0x1p345 to "7.167183174968974e+103"
    converts 0x1p378 to "6.156563468186638e+113"
    converts 0x1p378 to "6.156563468186638e+113"
    converts 0x1p-808 to "5.858190679279809e-244"
    converts 0x1p-808 to "5.858190679279809e-244"
    converts 0x1p534 to "5.623642243178996e+160"
    converts 0x1p534 to "5.623642243178996e+160"
    converts 0x1p-509 to "5.966672584960166e-154"
    converts 0x1p-509 to "5.966672584960166e-154"
    converts 0x1p554 to "5.896816288783659e+166"
    converts 0x1p554 to "5.896816288783659e+166"
    converts 0x1p-489 to "6.256509672447191e-148"
    converts 0x1p-489 to "6.256509672447191e-148"
    converts 0x1p-1017 to "7.120236347223045e-307"
    converts 0x1p-1017 to "7.120236347223045e-307"
    converts 0x1p-695 to "6.083493012144512e-210"
    converts 0x1p-695 to "6.083493012144512e-210"
    converts 0x1p172 to "5.986310706507379e+51"
    converts 0x1p172 to "5.986310706507379e+51"
    converts 0x1p481 to "6.243497100631985e+144"
    converts 0x1p481 to "6.243497100631985e+144"
    converts 0x1p-957 to "8.209073602596753e-289"
    converts 0x1p-957 to "8.209073602596753e-289"
  converts 12345678901234.0 to "12345678901234.0"
  converts 12345678901234.0 to "12345678901234.0"
  converts 68719476736.0 to "68719476736.0"
  converts 68719476736.0 to "68719476736.0"
  converts 1.2 to "1.2"
  converts 1.2 to "1.2"
  converts 1.0 to "1.0"
  converts 1.0 to "1.0"
  converts 1.23456789012 to "1.23456789012"
  converts 1.23456789012 to "1.23456789012"
  converts 1000000010000000.0 to "1.00000001e+15"
  converts 1000000010000000.0 to "1.00000001e+15"
  Ryu d2s_test.cc Regression
    converts 2.989102097996e-312 to "2.989102097996e-312"
    converts 2.989102097996e-312 to "2.989102097996e-312"
    converts 9.409340012568248e18 to "9.409340012568248e+18"
    converts 9.409340012568248e18 to "9.409340012568248e+18"
    converts 4.940656e-318 to "4.940656e-318"
    converts 4.940656e-318 to "4.940656e-318"
    converts 1.18575755e-316 to "1.18575755e-316"
    converts 1.18575755e-316 to "1.18575755e-316"
    converts 9.0608011534336e15 to "9.0608011534336e+15"
    converts 9.0608011534336e15 to "9.0608011534336e+15"
    converts -2.109808898695963e16 to "-2.109808898695963e+16"
    converts -2.109808898695963e16 to "-2.109808898695963e+16"
    converts 4.708356024711512e18 to "4.708356024711512e+18"
    converts 4.708356024711512e18 to "4.708356024711512e+18"
  converts 8192000.0 to "8192000.0"
  converts 8192000.0 to "8192000.0"
  converts 67108864.0 to "67108864.0"
  converts 67108864.0 to "67108864.0"
  converts 123456789012.0 to "123456789012.0"
  converts 123456789012.0 to "123456789012.0"
  converts 64000.0 to "64000.0"
  converts 64000.0 to "64000.0"
  converts 1.23456789 to "1.23456789"
  converts 1.23456789 to "1.23456789"
  converts 10000000000.0 to "10000000000.0"
  converts 10000000000.0 to "10000000000.0"
  converts 1.2345678901234567 to "1.2345678901234567"
  converts 1.2345678901234567 to "1.2345678901234567"
  converts 562949953421312.0 to "562949953421312.0"
  converts 562949953421312.0 to "562949953421312.0"
  all exponents
    converts 1.729e-215 to "1.729e-215"
    converts 1.729e-215 to "1.729e-215"
    converts 1.729e-55 to "1.729e-55"
    converts 1.729e-55 to "1.729e-55"
    converts 1.729e-32 to "1.729e-32"
    converts 1.729e-32 to "1.729e-32"
    converts 1.729e-59 to "1.729e-59"
    converts 1.729e-59 to "1.729e-59"
    converts 1.729e-184 to "1.729e-184"
    converts 1.729e-184 to "1.729e-184"
    converts 1.729e+251 to "1.729e+251"
    converts 1.729e+251 to "1.729e+251"
    converts 1.729e-146 to "1.729e-146"
    converts 1.729e-146 to "1.729e-146"
    converts 1.729e+8 to "172900000.0"
    converts 1.729e+8 to "172900000.0"
    converts 1.729e+255 to "1.729e+255"
    converts 1.729e+255 to "1.729e+255"
    converts 1.729e+158 to "1.729e+158"
    converts 1.729e+158 to "1.729e+158"
    converts 1.729e+235 to "1.729e+235"
    converts 1.729e+235 to "1.729e+235"
    converts 1.729e-304 to "1.729e-304"
    converts 1.729e-304 to "1.729e-304"
    converts 1.729e+51 to "1.729e+51"
    converts 1.729e+51 to "1.729e+51"
    converts 1.729e-151 to "1.729e-151"
    converts 1.729e-151 to "1.729e-151"
    converts 1.729e+249 to "1.729e+249"
    converts 1.729e+249 to "1.729e+249"
    converts 1.729e+125 to "1.729e+125"
    converts 1.729e+125 to "1.729e+125"
    converts 1.729e+220 to "1.729e+220"
    converts 1.729e+220 to "1.729e+220"
    converts 1.729e+3 to "1729.0"
    converts 1.729e+3 to "1729.0"
    converts 1.729e+118 to "1.729e+118"
    converts 1.729e+118 to "1.729e+118"
    converts 1.729e+151 to "1.729e+151"
    converts 1.729e+151 to "1.729e+151"
    converts 1.729e+214 to "1.729e+214"
    converts 1.729e+214 to "1.729e+214"
    converts 1.729e-61 to "1.729e-61"
    converts 1.729e-61 to "1.729e-61"
    converts 1.729e+179 to "1.729e+179"
    converts 1.729e+179 to "1.729e+179"
    converts 1.729e+178 to "1.729e+178"
    converts 1.729e+178 to "1.729e+178"
    converts 1.729e-232 to "1.729e-232"
    converts 1.729e-232 to "1.729e-232"
    converts 1.729e-198 to "1.729e-198"
    converts 1.729e-198 to "1.729e-198"
    converts 1.729e+161 to "1.729e+161"
    converts 1.729e+161 to "1.729e+161"
    converts 1.729e-130 to "1.729e-130"
    converts 1.729e-130 to "1.729e-130"
    converts 1.729e-148 to "1.729e-148"
    converts 1.729e-148 to "1.729e-148"
    converts 1.729e-303 to "1.729e-303"
    converts 1.729e-303 to "1.729e-303"
    converts 1.729e-88 to "1.729e-88"
    converts 1.729e-88 to "1.729e-88"
    converts 1.729e+271 to "1.729e+271"
    converts 1.729e+271 to "1.729e+271"
    converts 1.729e+5 to "172900.0"
    converts 1.729e+5 to "172900.0"
    converts 1.729e+229 to "1.729e+229"
    converts 1.729e+229 to "1.729e+229"
    converts 1.729e-201 to "1.729e-201"
    converts 1.729e-201 to "1.729e-201"
    converts 1.729e-38 to "1.729e-38"
    converts 1.729e-38 to "1.729e-38"
    converts 1.729e-286 to "1.729e-286"
    converts 1.729e-286 to "1.729e-286"
    converts 1.729e+85 to "1.729e+85"
    converts 1.729e+85 to "1.729e+85"
    converts 1.729e-68 to "1.729e-68"
    converts 1.729e-68 to "1.729e-68"
    converts 1.729e-293 to "1.729e-293"
    converts 1.729e-293 to "1.729e-293"
    converts 1.729e-85 to "1.729e-85"
    converts 1.729e-85 to "1.729e-85"
    converts 1.729e+120 to "1.729e+120"
    converts 1.729e+120 to "1.729e+120"
    converts 1.729e-106 to "1.729e-106"
    converts 1.729e-106 to "1.729e-106"
    converts 1.729e+64 to "1.729e+64"
    converts 1.729e+64 to "1.729e+64"
    converts 1.729e-18 to "1.729e-18"
    converts 1.729e-18 to "1.729e-18"
    converts 1.729e-93 to "1.729e-93"
    converts 1.729e-93 to "1.729e-93"
    converts 1.729e-115 to "1.729e-115"
    converts 1.729e-115 to "1.729e-115"
    converts 1.729e-98 to "1.729e-98"
    converts 1.729e-98 to "1.729e-98"
    converts 1.729e-204 to "1.729e-204"
    converts 1.729e-204 to "1.729e-204"
    converts 1.729e-62 to "1.729e-62"
    converts 1.729e-62 to "1.729e-62"
    converts 1.729e+259 to "1.729e+259"
    converts 1.729e+259 to "1.729e+259"
    converts 1.729e+232 to "1.729e+232"
    converts 1.729e+232 to "1.729e+232"
    converts 1.729e-318 to "1.729e-318"
    converts 1.729e-318 to "1.729e-318"
    converts 1.729e+163 to "1.729e+163"
    converts 1.729e+163 to "1.729e+163"
    converts 1.729e+254 to "1.729e+254"
    converts 1.729e+254 to "1.729e+254"
    converts 1.729e+39 to "1.729e+39"
    converts 1.729e+39 to "1.729e+39"
    converts 1.729e-86 to "1.729e-86"
    converts 1.729e-86 to "1.729e-86"
    converts 1.729e-102 to "1.729e-102"
    converts 1.729e-102 to "1.729e-102"
    converts 1.729e+86 to "1.729e+86"
    converts 1.729e+86 to "1.729e+86"
    converts 1.729e+138 to "1.729e+138"
    converts 1.729e+138 to "1.729e+138"
    converts 1.729e-277 to "1.729e-277"
    converts 1.729e-277 to "1.729e-277"
    converts 1.729e+142 to "1.729e+142"
    converts 1.729e+142 to "1.729e+142"
    converts 1.729e-110 to "1.729e-110"
    converts 1.729e-110 to "1.729e-110"
    converts 1.729e-257 to "1.729e-257"
    converts 1.729e-257 to "1.729e-257"
    converts 1.729e+303 to "1.729e+303"
    converts 1.729e+303 to "1.729e+303"
    converts 1.729e-58 to "1.729e-58"
    converts 1.729e-58 to "1.729e-58"
    converts 1.729e+285 to "1.729e+285"
    converts 1.729e+285 to "1.729e+285"
    converts 1.729e-234 to "1.729e-234"
    converts 1.729e-234 to "1.729e-234"
    converts 1.729e-122 to "1.729e-122"
    converts 1.729e-122 to "1.729e-122"
    converts 1.729e+274 to "1.729e+274"
    converts 1.729e+274 to "1.729e+274"
    converts 1.729e+143 to "1.729e+143"
    converts 1.729e+143 to "1.729e+143"
    converts 1.729e-73 to "1.729e-73"
    converts 1.729e-73 to "1.729e-73"
    converts 1.729e-219 to "1.729e-219"
    converts 1.729e-219 to "1.729e-219"
    converts 1.729e-231 to "1.729e-231"
    converts 1.729e-231 to "1.729e-231"
    converts 1.729e-4 to "0.0001729"
    converts 1.729e-4 to "0.0001729"
    converts 1.729e+224 to "1.729e+224"
    converts 1.729e+224 to "1.729e+224"
    converts 1.729e-276 to "1.729e-276"
    converts 1.729e-276 to "1.729e-276"
    converts 1.729e+293 to "1.729e+293"
    converts 1.729e+293 to "1.729e+293"
    converts 1.729e+291 to "1.729e+291"
    converts 1.729e+291 to "1.729e+291"
    converts 1.729e-289 to "1.729e-289"
    converts 1.729e-289 to "1.729e-289"
    converts 1.729e+11 to "172900000000.0"
    converts 1.729e+11 to "172900000000.0"
    converts 1.729e+305 to "1.729e+305"
    converts 1.729e+305 to "1.729e+305"
    converts 1.729e+127 to "1.729e+127"
    converts 1.729e+127 to "1.729e+127"
    converts 1.729e+150 to "1.729e+150"
    converts 1.729e+150 to "1.729e+150"
    converts 1.729e+130 to "1.729e+130"
    converts 1.729e+130 to "1.729e+130"
    converts 1.729e-52 to "1.729e-52"
    converts 1.729e-52 to "1.729e-52"
    converts 1.729e+241 to "1.729e+241"
    converts 1.729e+241 to "1.729e+241"
    converts 1.729e+110 to "1.729e+110"
    converts 1.729e+110 to "1.729e+110"
    converts 1.729e-211 to "1.729e-211"
    converts 1.729e-211 to "1.729e-211"
    converts 1.729e-235 to "1.729e-235"
    converts 1.729e-235 to "1.729e-235"
    converts 1.729e-179 to "1.729e-179"
    converts 1.729e-179 to "1.729e-179"
    converts 1.729e-298 to "1.729e-298"
    converts 1.729e-298 to "1.729e-298"
    converts 1.729e-323 to "1.5e-323"
    converts 1.729e-323 to "1.5e-323"
    converts 1.729e+180 to "1.729e+180"
    converts 1.729e+180 to "1.729e+180"
    converts 1.729e+223 to "1.729e+223"
    converts 1.729e+223 to "1.729e+223"
    converts 1.729e+105 to "1.729e+105"
    converts 1.729e+105 to "1.729e+105"
    converts 1.729e+113 to "1.729e+113"
    converts 1.729e+113 to "1.729e+113"
    converts 1.729e-280 to "1.729e-280"
    converts 1.729e-280 to "1.729e-280"
    converts 1.729e-313 to "1.729e-313"
    converts 1.729e-313 to "1.729e-313"
    converts 1.729e-317 to "1.729e-317"
    converts 1.729e-317 to "1.729e-317"
    converts 1.729e-216 to "1.729e-216"
    converts 1.729e-216 to "1.729e-216"
    converts 1.729e+218 to "1.729e+218"
    converts 1.729e+218 to "1.729e+218"
    converts 1.729e-187 to "1.729e-187"
    converts 1.729e-187 to "1.729e-187"
    converts 1.729e-95 to "1.729e-95"
    converts 1.729e-95 to "1.729e-95"
    converts 1.729e+286 to "1.729e+286"
    converts 1.729e+286 to "1.729e+286"
    converts 1.729e+273 to "1.729e+273"
    converts 1.729e+273 to "1.729e+273"
    converts 1.729e+0 to "1.729"
    converts 1.729e+0 to "1.729"
    converts 1.729e-209 to "1.729e-209"
    converts 1.729e-209 to "1.729e-209"
    converts 1.729e-23 to "1.729e-23"
    converts 1.729e-23 to "1.729e-23"
    converts 1.729e+48 to "1.729e+48"
    converts 1.729e+48 to "1.729e+48"
    converts 1.729e-251 to "1.729e-251"
    converts 1.729e-251 to "1.729e-251"
    converts 1.729e-248 to "1.729e-248"
    converts 1.729e-248 to "1.729e-248"
    converts 1.729e-291 to "1.729e-291"
    converts 1.729e-291 to "1.729e-291"
    converts 1.729e-2 to "0.01729"
    converts 1.729e-2 to "0.01729"
    converts 1.729e+42 to "1.729e+42"
    converts 1.729e+42 to "1.729e+42"
    converts 1.729e-28 to "1.729e-28"
    converts 1.729e-28 to "1.729e-28"
    converts 1.729e+258 to "1.729e+258"
    converts 1.729e+258 to "1.729e+258"
    converts 1.729e+115 to "1.729e+115"
    converts 1.729e+115 to "1.729e+115"
    converts 1.729e+14 to "172900000000000.0"
    converts 1.729e+14 to "172900000000000.0"
    converts 1.729e-180 to "1.729e-180"
    converts 1.729e-180 to "1.729e-180"
    converts 1.729e-139 to "1.729e-139"
    converts 1.729e-139 to "1.729e-139"
    converts 1.729e+236 to "1.729e+236"
    converts 1.729e+236 to "1.729e+236"
    converts 1.729e+136 to "1.729e+136"
    converts 1.729e+136 to "1.729e+136"
    converts 1.729e-245 to "1.729e-245"
    converts 1.729e-245 to "1.729e-245"
    converts 1.729e-13 to "1.729e-13"
    converts 1.729e-13 to "1.729e-13"
    converts 1.729e-228 to "1.729e-228"
    converts 1.729e-228 to "1.729e-228"
    converts 1.729e-104 to "1.729e-104"
    converts 1.729e-104 to "1.729e-104"
    converts 1.729e+43 to "1.729e+43"
    converts 1.729e+43 to "1.729e+43"
    converts 1.729e+280 to "1.729e+280"
    converts 1.729e+280 to "1.729e+280"
    converts 1.729e-123 to "1.729e-123"
    converts 1.729e-123 to "1.729e-123"
    converts 1.729e-236 to "1.729e-236"
    converts 1.729e-236 to "1.729e-236"
    converts 1.729e+299 to "1.729e+299"
    converts 1.729e+299 to "1.729e+299"
    converts 1.729e+168 to "1.729e+168"
    converts 1.729e+168 to "1.729e+168"
    converts 1.729e+207 to "1.729e+207"
    converts 1.729e+207 to "1.729e+207"
    converts 1.729e-244 to "1.729e-244"
    converts 1.729e-244 to "1.729e-244"
    converts 1.729e+187 to "1.729e+187"
    converts 1.729e+187 to "1.729e+187"
    converts 1.729e-138 to "1.729e-138"
    converts 1.729e-138 to "1.729e-138"
    converts 1.729e+131 to "1.729e+131"
    converts 1.729e+131 to "1.729e+131"
    converts 1.729e+52 to "1.729e+52"
    converts 1.729e+52 to "1.729e+52"
    converts 1.729e+252 to "1.729e+252"
    converts 1.729e+252 to "1.729e+252"
    converts 1.729e+13 to "17290000000000.0"
    converts 1.729e+13 to "17290000000000.0"
    converts 1.729e-267 to "1.729e-267"
    converts 1.729e-267 to "1.729e-267"
    converts 1.729e-210 to "1.729e-210"
    converts 1.729e-210 to "1.729e-210"
    converts 1.729e-154 to "1.729e-154"
    converts 1.729e-154 to "1.729e-154"
    converts 1.729e-11 to "1.729e-11"
    converts 1.729e-11 to "1.729e-11"
    converts 1.729e+295 to "1.729e+295"
    converts 1.729e+295 to "1.729e+295"
    converts 1.729e-10 to "1.729e-10"
    converts 1.729e-10 to "1.729e-10"
    converts 1.729e+228 to "1.729e+228"
    converts 1.729e+228 to "1.729e+228"
    converts 1.729e-206 to "1.729e-206"
    converts 1.729e-206 to "1.729e-206"
    converts 1.729e+160 to "1.729e+160"
    converts 1.729e+160 to "1.729e+160"
    converts 1.729e-155 to "1.729e-155"
    converts 1.729e-155 to "1.729e-155"
    converts 1.729e+99 to "1.729e+99"
    converts 1.729e+99 to "1.729e+99"
    converts 1.729e+134 to "1.729e+134"
    converts 1.729e+134 to "1.729e+134"
    converts 1.729e+278 to "1.729e+278"
    converts 1.729e+278 to "1.729e+278"
    converts 1.729e-120 to "1.729e-120"
    converts 1.729e-120 to "1.729e-120"
    converts 1.729e+296 to "1.729e+296"
    converts 1.729e+296 to "1.729e+296"
    converts 1.729e+68 to "1.729e+68"
    converts 1.729e+68 to "1.729e+68"
    converts 1.729e-117 to "1.729e-117"
    converts 1.729e-117 to "1.729e-117"
    converts 1.729e+49 to "1.729e+49"
    converts 1.729e+49 to "1.729e+49"
    converts 1.729e+269 to "1.729e+269"
    converts 1.729e+269 to "1.729e+269"
    converts 1.729e+107 to "1.729e+107"
    converts 1.729e+107 to "1.729e+107"
    converts 1.729e-3 to "0.001729"
    converts 1.729e-3 to "0.001729"
    converts 1.729e+215 to "1.729e+215"
    converts 1.729e+215 to "1.729e+215"
    converts 1.729e-141 to "1.729e-141"
    converts 1.729e-141 to "1.729e-141"
    converts 1.729e-176 to "1.729e-176"
    converts 1.729e-176 to "1.729e-176"
    converts 1.729e+165 to "1.729e+165"
    converts 1.729e+165 to "1.729e+165"
    converts 1.729e-24 to "1.729e-24"
    converts 1.729e-24 to "1.729e-24"
    converts 1.729e-157 to "1.729e-157"
    converts 1.729e-157 to "1.729e-157"
    converts 1.729e-281 to "1.729e-281"
    converts 1.729e-281 to "1.729e-281"
    converts 1.729e-196 to "1.729e-196"
    converts 1.729e-196 to "1.729e-196"
    converts 1.729e-70 to "1.729e-70"
    converts 1.729e-70 to "1.729e-70"
    converts 1.729e+277 to "1.729e+277"
    converts 1.729e+277 to "1.729e+277"
    converts 1.729e+242 to "1.729e+242"
    converts 1.729e+242 to "1.729e+242"
    converts 1.729e+114 to "1.729e+114"
    converts 1.729e+114 to "1.729e+114"
    converts 1.729e+20 to "1.729e+20"
    converts 1.729e+20 to "1.729e+20"
    converts 1.729e+76 to "1.729e+76"
    converts 1.729e+76 to "1.729e+76"
    converts 1.729e+16 to "1.729e+16"
    converts 1.729e+16 to "1.729e+16"
    converts 1.729e-168 to "1.729e-168"
    converts 1.729e-168 to "1.729e-168"
    converts 1.729e-5 to "1.729e-5"
    converts 1.729e-5 to "1.729e-5"
    converts 1.729e-177 to "1.729e-177"
    converts 1.729e-177 to "1.729e-177"
    converts 1.729e-190 to "1.729e-190"
    converts 1.729e-190 to "1.729e-190"
    converts 1.729e+67 to "1.729e+67"
    converts 1.729e+67 to "1.729e+67"
    converts 1.729e+126 to "1.729e+126"
    converts 1.729e+126 to "1.729e+126"
    converts 1.729e-197 to "1.729e-197"
    converts 1.729e-197 to "1.729e-197"
    converts 1.729e-56 to "1.729e-56"
    converts 1.729e-56 to "1.729e-56"
    converts 1.729e+91 to "1.729e+91"
    converts 1.729e+91 to "1.729e+91"
    converts 1.729e+302 to "1.729e+302"
    converts 1.729e+302 to "1.729e+302"
    converts 1.729e+257 to "1.729e+257"
    converts 1.729e+257 to "1.729e+257"
    converts 1.729e-19 to "1.729e-19"
    converts 1.729e-19 to "1.729e-19"
    converts 1.729e-238 to "1.729e-238"
    converts 1.729e-238 to "1.729e-238"
    converts 1.729e-243 to "1.729e-243"
    converts 1.729e-243 to "1.729e-243"
    converts 1.729e+260 to "1.729e+260"
    converts 1.729e+260 to "1.729e+260"
    converts 1.729e-147 to "1.729e-147"
    converts 1.729e-147 to "1.729e-147"
    converts 1.729e-81 to "1.729e-81"
    converts 1.729e-81 to "1.729e-81"
    converts 1.729e+23 to "1.729e+23"
    converts 1.729e+23 to "1.729e+23"
    converts 1.729e-118 to "1.729e-118"
    converts 1.729e-118 to "1.729e-118"
    converts 1.729e+308 to "1.729e+308"
    converts 1.729e+308 to "1.729e+308"
    converts 1.729e+78 to "1.729e+78"
    converts 1.729e+78 to "1.729e+78"
    converts 1.729e-265 to "1.729e-265"
    converts 1.729e-265 to "1.729e-265"
    converts 1.729e-99 to "1.729e-99"
    converts 1.729e-99 to "1.729e-99"
    converts 1.729e-111 to "1.729e-111"
    converts 1.729e-111 to "1.729e-111"
    converts 1.729e+194 to "1.729e+194"
    converts 1.729e+194 to "1.729e+194"
    converts 1.729e-43 to "1.729e-43"
    converts 1.729e-43 to "1.729e-43"
    converts 1.729e+137 to "1.729e+137"
    converts 1.729e+137 to "1.729e+137"
    converts 1.729e+182 to "1.729e+182"
    converts 1.729e+182 to "1.729e+182"
    converts 1.729e+156 to "1.729e+156"
    converts 1.729e+156 to "1.729e+156"
    converts 1.729e+22 to "1.729e+22"
    converts 1.729e+22 to "1.729e+22"
    converts 1.729e+159 to "1.729e+159"
    converts 1.729e+159 to "1.729e+159"
    converts 1.729e+289 to "1.729e+289"
    converts 1.729e+289 to "1.729e+289"
    converts 1.729e-300 to "1.729e-300"
    converts 1.729e-300 to "1.729e-300"
    converts 1.729e+240 to "1.729e+240"
    converts 1.729e+240 to "1.729e+240"
    converts 1.729e-284 to "1.729e-284"
    converts 1.729e-284 to "1.729e-284"
    converts 1.729e-322 to "1.73e-322"
    converts 1.729e-322 to "1.73e-322"
    converts 1.729e-51 to "1.729e-51"
    converts 1.729e-51 to "1.729e-51"
    converts 1.729e-316 to "1.729e-316"
    converts 1.729e-316 to "1.729e-316"
    converts 1.729e-44 to "1.729e-44"
    converts 1.729e-44 to "1.729e-44"
    converts 1.729e+61 to "1.729e+61"
    converts 1.729e+61 to "1.729e+61"
    converts 1.729e+279 to "1.729e+279"
    converts 1.729e+279 to "1.729e+279"
    converts 1.729e+284 to "1.729e+284"
    converts 1.729e+284 to "1.729e+284"
    converts 1.729e-214 to "1.729e-214"
    converts 1.729e-214 to "1.729e-214"
    converts 1.729e-9 to "1.729e-9"
    converts 1.729e-9 to "1.729e-9"
    converts 1.729e-167 to "1.729e-167"
    converts 1.729e-167 to "1.729e-167"
    converts 1.729e-205 to "1.729e-205"
    converts 1.729e-205 to "1.729e-205"
    converts 1.729e+90 to "1.729e+90"
    converts 1.729e+90 to "1.729e+90"
    converts 1.729e-57 to "1.729e-57"
    converts 1.729e-57 to "1.729e-57"
    converts 1.729e+104 to "1.729e+104"
    converts 1.729e+104 to "1.729e+104"
    converts 1.729e+176 to "1.729e+176"
    converts 1.729e+176 to "1.729e+176"
    converts 1.729e-208 to "1.729e-208"
    converts 1.729e-208 to "1.729e-208"
    converts 1.729e+108 to "1.729e+108"
    converts 1.729e+108 to "1.729e+108"
    converts 1.729e+264 to "1.729e+264"
    converts 1.729e+264 to "1.729e+264"
    converts 1.729e-53 to "1.729e-53"
    converts 1.729e-53 to "1.729e-53"
    converts 1.729e+162 to "1.729e+162"
    converts 1.729e+162 to "1.729e+162"
    converts 1.729e-31 to "1.729e-31"
    converts 1.729e-31 to "1.729e-31"
    converts 1.729e-46 to "1.729e-46"
    converts 1.729e-46 to "1.729e-46"
    converts 1.729e-16 to "1.729e-16"
    converts 1.729e-16 to "1.729e-16"
    converts 1.729e-203 to "1.729e-203"
    converts 1.729e-203 to "1.729e-203"
    converts 1.729e-94 to "1.729e-94"
    converts 1.729e-94 to "1.729e-94"
    converts 1.729e+189 to "1.729e+189"
    converts 1.729e+189 to "1.729e+189"
    converts 1.729e+116 to "1.729e+116"
    converts 1.729e+116 to "1.729e+116"
    converts 1.729e+201 to "1.729e+201"
    converts 1.729e+201 to "1.729e+201"
    converts 1.729e-241 to "1.729e-241"
    converts 1.729e-241 to "1.729e-241"
    converts 1.729e-29 to "1.729e-29"
    converts 1.729e-29 to "1.729e-29"
    converts 1.729e-169 to "1.729e-169"
    converts 1.729e-169 to "1.729e-169"
    converts 1.729e+89 to "1.729e+89"
    converts 1.729e+89 to "1.729e+89"
    converts 1.729e+30 to "1.729e+30"
    converts 1.729e+30 to "1.729e+30"
    converts 1.729e+50 to "1.729e+50"
    converts 1.729e+50 to "1.729e+50"
    converts 1.729e-76 to "1.729e-76"
    converts 1.729e-76 to "1.729e-76"
    converts 1.729e+268 to "1.729e+268"
    converts 1.729e+268 to "1.729e+268"
    converts 1.729e+202 to "1.729e+202"
    converts 1.729e+202 to "1.729e+202"
    converts 1.729e-105 to "1.729e-105"
    converts 1.729e-105 to "1.729e-105"
    converts 1.729e+32 to "1.729e+32"
    converts 1.729e+32 to "1.729e+32"
    converts 1.729e-308 to "1.729e-308"
    converts 1.729e-308 to "1.729e-308"
    converts 1.729e-152 to "1.729e-152"
    converts 1.729e-152 to "1.729e-152"
    converts 1.729e+65 to "1.729e+65"
    converts 1.729e+65 to "1.729e+65"
    converts 1.729e-242 to "1.729e-242"
    converts 1.729e-242 to "1.729e-242"
    converts 1.729e+148 to "1.729e+148"
    converts 1.729e+148 to "1.729e+148"
    converts 1.729e-223 to "1.729e-223"
    converts 1.729e-223 to "1.729e-223"
    converts 1.729e+217 to "1.729e+217"
    converts 1.729e+217 to "1.729e+217"
    converts 1.729e+155 to "1.729e+155"
    converts 1.729e+155 to "1.729e+155"
    converts 1.729e-103 to "1.729e-103"
    converts 1.729e-103 to "1.729e-103"
    converts 1.729e-12 to "1.729e-12"
    converts 1.729e-12 to "1.729e-12"
    converts 1.729e-288 to "1.729e-288"
    converts 1.729e-288 to "1.729e-288"
    converts 1.729e+184 to "1.729e+184"
    converts 1.729e+184 to "1.729e+184"
    converts 1.729e-160 to "1.729e-160"
    converts 1.729e-160 to "1.729e-160"
    converts 1.729e+119 to "1.729e+119"
    converts 1.729e+119 to "1.729e+119"
    converts 1.729e+226 to "1.729e+226"
    converts 1.729e+226 to "1.729e+226"
    converts 1.729e-295 to "1.729e-295"
    converts 1.729e-295 to "1.729e-295"
    converts 1.729e-34 to "1.729e-34"
    converts 1.729e-34 to "1.729e-34"
    converts 1.729e-36 to "1.729e-36"
    converts 1.729e-36 to "1.729e-36"
    converts 1.729e+262 to "1.729e+262"
    converts 1.729e+262 to "1.729e+262"
    converts 1.729e-114 to "1.729e-114"
    converts 1.729e-114 to "1.729e-114"
    converts 1.729e+211 to "1.729e+211"
    converts 1.729e+211 to "1.729e+211"
    converts 1.729e+247 to "1.729e+247"
    converts 1.729e+247 to "1.729e+247"
    converts 1.729e-250 to "1.729e-250"
    converts 1.729e-250 to "1.729e-250"
    converts 1.729e-75 to "1.729e-75"
    converts 1.729e-75 to "1.729e-75"
    converts 1.729e+122 to "1.729e+122"
    converts 1.729e+122 to "1.729e+122"
    converts 1.729e-311 to "1.729e-311"
    converts 1.729e-311 to "1.729e-311"
    converts 1.729e+6 to "1729000.0"
    converts 1.729e+6 to "1729000.0"
    converts 1.729e-218 to "1.729e-218"
    converts 1.729e-218 to "1.729e-218"
    converts 1.729e+73 to "1.729e+73"
    converts 1.729e+73 to "1.729e+73"
    converts 1.729e+149 to "1.729e+149"
    converts 1.729e+149 to "1.729e+149"
    converts 1.729e-212 to "1.729e-212"
    converts 1.729e-212 to "1.729e-212"
    converts 1.729e-301 to "1.729e-301"
    converts 1.729e-301 to "1.729e-301"
    converts 1.729e+69 to "1.729e+69"
    converts 1.729e+69 to "1.729e+69"
    converts 1.729e-268 to "1.729e-268"
    converts 1.729e-268 to "1.729e-268"
    converts 1.729e-270 to "1.729e-270"
    converts 1.729e-270 to "1.729e-270"
    converts 1.729e+28 to "1.729e+28"
    converts 1.729e+28 to "1.729e+28"
    converts 1.729e-273 to "1.729e-273"
    converts 1.729e-273 to "1.729e-273"
    converts 1.729e+170 to "1.729e+170"
    converts 1.729e+170 to "1.729e+170"
    converts 1.729e+169 to "1.729e+169"
    converts 1.729e+169 to "1.729e+169"
    converts 1.729e+306 to "1.729e+306"
    converts 1.729e+306 to "1.729e+306"
    converts 1.729e+234 to "1.729e+234"
    converts 1.729e+234 to "1.729e+234"
    converts 1.729e-143 to "1.729e-143"
    converts 1.729e-143 to "1.729e-143"
    converts 1.729e-199 to "1.729e-199"
    converts 1.729e-199 to "1.729e-199"
    converts 1.729e-153 to "1.729e-153"
    converts 1.729e-153 to "1.729e-153"
    converts 1.729e+248 to "1.729e+248"
    converts 1.729e+248 to "1.729e+248"
    converts 1.729e-269 to "1.729e-269"
    converts 1.729e-269 to "1.729e-269"
    converts 1.729e+181 to "1.729e+181"
    converts 1.729e+181 to "1.729e+181"
    converts 1.729e-26 to "1.729e-26"
    converts 1.729e-26 to "1.729e-26"
    converts 1.729e+145 to "1.729e+145"
    converts 1.729e+145 to "1.729e+145"
    converts 1.729e+45 to "1.729e+45"
    converts 1.729e+45 to "1.729e+45"
    converts 1.729e+33 to "1.729e+33"
    converts 1.729e+33 to "1.729e+33"
    converts 1.729e+239 to "1.729e+239"
    converts 1.729e+239 to "1.729e+239"
    converts 1.729e-108 to "1.729e-108"
    converts 1.729e-108 to "1.729e-108"
    converts 1.729e-172 to "1.729e-172"
    converts 1.729e-172 to "1.729e-172"
    converts 1.729e-72 to "1.729e-72"
    converts 1.729e-72 to "1.729e-72"
    converts 1.729e+87 to "1.729e+87"
    converts 1.729e+87 to "1.729e+87"
    converts 1.729e+46 to "1.729e+46"
    converts 1.729e+46 to "1.729e+46"
    converts 1.729e-133 to "1.729e-133"
    converts 1.729e-133 to "1.729e-133"
    converts 1.729e-173 to "1.729e-173"
    converts 1.729e-173 to "1.729e-173"
    converts 1.729e+227 to "1.729e+227"
    converts 1.729e+227 to "1.729e+227"
    converts 1.729e+190 to "1.729e+190"
    converts 1.729e+190 to "1.729e+190"
    converts 1.729e+63 to "1.729e+63"
    converts 1.729e+63 to "1.729e+63"
    converts 1.729e+128 to "1.729e+128"
    converts 1.729e+128 to "1.729e+128"
    converts 1.729e-195 to "1.729e-195"
    converts 1.729e-195 to "1.729e-195"
    converts 1.729e+200 to "1.729e+200"
    converts 1.729e+200 to "1.729e+200"
    converts 1.729e-77 to "1.729e-77"
    converts 1.729e-77 to "1.729e-77"
    converts 1.729e+208 to "1.729e+208"
    converts 1.729e+208 to "1.729e+208"
    converts 1.729e+141 to "1.729e+141"
    converts 1.729e+141 to "1.729e+141"
    converts 1.729e-136 to "1.729e-136"
    converts 1.729e-136 to "1.729e-136"
    converts 1.729e-310 to "1.729e-310"
    converts 1.729e-310 to "1.729e-310"
    converts 1.729e+205 to "1.729e+205"
    converts 1.729e+205 to "1.729e+205"
    converts 1.729e+253 to "1.729e+253"
    converts 1.729e+253 to "1.729e+253"
    converts 1.729e-246 to "1.729e-246"
    converts 1.729e-246 to "1.729e-246"
    converts 1.729e-191 to "1.729e-191"
    converts 1.729e-191 to "1.729e-191"
    converts 1.729e+7 to "17290000.0"
    converts 1.729e+7 to "17290000.0"
    converts 1.729e-290 to "1.729e-290"
    converts 1.729e-290 to "1.729e-290"
    converts 1.729e-271 to "1.729e-271"
    converts 1.729e-271 to "1.729e-271"
    converts 1.729e+304 to "1.729e+304"
    converts 1.729e+304 to "1.729e+304"
    converts 1.729e-64 to "1.729e-64"
    converts 1.729e-64 to "1.729e-64"
    converts 1.729e-253 to "1.729e-253"
    converts 1.729e-253 to "1.729e-253"
    converts 1.729e-107 to "1.729e-107"
    converts 1.729e-107 to "1.729e-107"
    converts 1.729e+38 to "1.729e+38"
    converts 1.729e+38 to "1.729e+38"
    converts 1.729e-113 to "1.729e-113"
    converts 1.729e-113 to "1.729e-113"
    converts 1.729e+191 to "1.729e+191"
    converts 1.729e+191 to "1.729e+191"
    converts 1.729e-283 to "1.729e-283"
    converts 1.729e-283 to "1.729e-283"
    converts 1.729e-274 to "1.729e-274"
    converts 1.729e-274 to "1.729e-274"
    converts 1.729e+282 to "1.729e+282"
    converts 1.729e+282 to "1.729e+282"
    converts 1.729e+173 to "1.729e+173"
    converts 1.729e+173 to "1.729e+173"
    converts 1.729e-48 to "1.729e-48"
    converts 1.729e-48 to "1.729e-48"
    converts 1.729e+172 to "1.729e+172"
    converts 1.729e+172 to "1.729e+172"
    converts 1.729e-100 to "1.729e-100"
    converts 1.729e-100 to "1.729e-100"
    converts 1.729e+256 to "1.729e+256"
    converts 1.729e+256 to "1.729e+256"
    converts 1.729e+157 to "1.729e+157"
    converts 1.729e+157 to "1.729e+157"
    converts 1.729e+166 to "1.729e+166"
    converts 1.729e+166 to "1.729e+166"
    converts 1.729e-125 to "1.729e-125"
    converts 1.729e-125 to "1.729e-125"
    converts 1.729e-134 to "1.729e-134"
    converts 1.729e-134 to "1.729e-134"
    converts 1.729e-41 to "1.729e-41"
    converts 1.729e-41 to "1.729e-41"
    converts 1.729e+9 to "1729000000.0"
    converts 1.729e+9 to "1729000000.0"
    converts 1.729e+197 to "1.729e+197"
    converts 1.729e+197 to "1.729e+197"
    converts 1.729e+272 to "1.729e+272"
    converts 1.729e+272 to "1.729e+272"
    converts 1.729e+288 to "1.729e+288"
    converts 1.729e+288 to "1.729e+288"
    converts 1.729e-192 to "1.729e-192"
    converts 1.729e-192 to "1.729e-192"
    converts 1.729e-159 to "1.729e-159"
    converts 1.729e-159 to "1.729e-159"
    converts 1.729e+53 to "1.729e+53"
    converts 1.729e+53 to "1.729e+53"
    converts 1.729e-116 to "1.729e-116"
    converts 1.729e-116 to "1.729e-116"
    converts 1.729e+31 to "1.729e+31"
    converts 1.729e+31 to "1.729e+31"
    converts 1.729e-80 to "1.729e-80"
    converts 1.729e-80 to "1.729e-80"
    converts 1.729e+171 to "1.729e+171"
    converts 1.729e+171 to "1.729e+171"
    converts 1.729e+243 to "1.729e+243"
    converts 1.729e+243 to "1.729e+243"
    converts 1.729e-193 to "1.729e-193"
    converts 1.729e-193 to "1.729e-193"
    converts 1.729e-217 to "1.729e-217"
    converts 1.729e-217 to "1.729e-217"
    converts 1.729e-158 to "1.729e-158"
    converts 1.729e-158 to "1.729e-158"
    converts 1.729e-87 to "1.729e-87"
    converts 1.729e-87 to "1.729e-87"
    converts 1.729e-260 to "1.729e-260"
    converts 1.729e-260 to "1.729e-260"
    converts 1.729e-50 to "1.729e-50"
    converts 1.729e-50 to "1.729e-50"
    converts 1.729e-101 to "1.729e-101"
    converts 1.729e-101 to "1.729e-101"
    converts 1.729e+54 to "1.729e+54"
    converts 1.729e+54 to "1.729e+54"
    converts 1.729e+225 to "1.729e+225"
    converts 1.729e+225 to "1.729e+225"
    converts 1.729e-91 to "1.729e-91"
    converts 1.729e-91 to "1.729e-91"
    converts 1.729e-207 to "1.729e-207"
    converts 1.729e-207 to "1.729e-207"
    converts 1.729e-189 to "1.729e-189"
    converts 1.729e-189 to "1.729e-189"
    converts 1.729e+29 to "1.729e+29"
    converts 1.729e+29 to "1.729e+29"
    converts 1.729e-183 to "1.729e-183"
    converts 1.729e-183 to "1.729e-183"
    converts 1.729e+25 to "1.729e+25"
    converts 1.729e+25 to "1.729e+25"
    converts 1.729e-282 to "1.729e-282"
    converts 1.729e-282 to "1.729e-282"
    converts 1.729e+222 to "1.729e+222"
    converts 1.729e+222 to "1.729e+222"
    converts 1.729e-314 to "1.729e-314"
    converts 1.729e-314 to "1.729e-314"
    converts 1.729e+213 to "1.729e+213"
    converts 1.729e+213 to "1.729e+213"
    converts 1.729e+140 to "1.729e+140"
    converts 1.729e+140 to "1.729e+140"
    converts 1.729e-306 to "1.729e-306"
    converts 1.729e-306 to "1.729e-306"
    converts 1.729e-7 to "1.729e-7"
    converts 1.729e-7 to "1.729e-7"
    converts 1.729e-315 to "1.729e-315"
    converts 1.729e-315 to "1.729e-315"
    converts 1.729e+174 to "1.729e+174"
    converts 1.729e+174 to "1.729e+174"
    converts 1.729e-166 to "1.729e-166"
    converts 1.729e-166 to "1.729e-166"
    converts 1.729e+139 to "1.729e+139"
    converts 1.729e+139 to "1.729e+139"
    converts 1.729e-78 to "1.729e-78"
    converts 1.729e-78 to "1.729e-78"
    converts 1.729e+95 to "1.729e+95"
    converts 1.729e+95 to "1.729e+95"
    converts 1.729e-213 to "1.729e-213"
    converts 1.729e-213 to "1.729e-213"
    converts 1.729e-126 to "1.729e-126"
    converts 1.729e-126 to "1.729e-126"
    converts 1.729e+109 to "1.729e+109"
    converts 1.729e+109 to "1.729e+109"
    converts 1.729e+84 to "1.729e+84"
    converts 1.729e+84 to "1.729e+84"
    converts 1.729e-249 to "1.729e-249"
    converts 1.729e-249 to "1.729e-249"
    converts 1.729e+121 to "1.729e+121"
    converts 1.729e+121 to "1.729e+121"
    converts 1.729e+281 to "1.729e+281"
    converts 1.729e+281 to "1.729e+281"
    converts 1.729e-185 to "1.729e-185"
    converts 1.729e-185 to "1.729e-185"
    converts 1.729e-30 to "1.729e-30"
    converts 1.729e-30 to "1.729e-30"
    converts 1.729e+83 to "1.729e+83"
    converts 1.729e+83 to "1.729e+83"
    converts 1.729e+263 to "1.729e+263"
    converts 1.729e+263 to "1.729e+263"
    converts 1.729e-90 to "1.729e-90"
    converts 1.729e-90 to "1.729e-90"
    converts 1.729e-1 to "0.1729"
    converts 1.729e-1 to "0.1729"
    converts 1.729e+106 to "1.729e+106"
    converts 1.729e+106 to "1.729e+106"
    converts 1.729e-259 to "1.729e-259"
    converts 1.729e-259 to "1.729e-259"
    converts 1.729e+267 to "1.729e+267"
    converts 1.729e+267 to "1.729e+267"
    converts 1.729e+292 to "1.729e+292"
    converts 1.729e+292 to "1.729e+292"
    converts 1.729e-145 to "1.729e-145"
    converts 1.729e-145 to "1.729e-145"
    converts 1.729e+300 to "1.729e+300"
    converts 1.729e+300 to "1.729e+300"
    converts 1.729e-124 to "1.729e-124"
    converts 1.729e-124 to "1.729e-124"
    converts 1.729e+185 to "1.729e+185"
    converts 1.729e+185 to "1.729e+185"
    converts 1.729e+287 to "1.729e+287"
    converts 1.729e+287 to "1.729e+287"
    converts 1.729e+2 to "172.9"
    converts 1.729e+2 to "172.9"
    converts 1.729e-97 to "1.729e-97"
    converts 1.729e-97 to "1.729e-97"
    converts 1.729e+57 to "1.729e+57"
    converts 1.729e+57 to "1.729e+57"
    converts 1.729e-222 to "1.729e-222"
    converts 1.729e-222 to "1.729e-222"
    converts 1.729e+209 to "1.729e+209"
    converts 1.729e+209 to "1.729e+209"
    converts 1.729e+177 to "1.729e+177"
    converts 1.729e+177 to "1.729e+177"
    converts 1.729e-71 to "1.729e-71"
    converts 1.729e-71 to "1.729e-71"
    converts 1.729e+96 to "1.729e+96"
    converts 1.729e+96 to "1.729e+96"
    converts 1.729e+266 to "1.729e+266"
    converts 1.729e+266 to "1.729e+266"
    converts 1.729e-45 to "1.729e-45"
    converts 1.729e-45 to "1.729e-45"
    converts 1.729e-181 to "1.729e-181"
    converts 1.729e-181 to "1.729e-181"
    converts 1.729e-171 to "1.729e-171"
    converts 1.729e-171 to "1.729e-171"
    converts 1.729e+94 to "1.729e+94"
    converts 1.729e+94 to "1.729e+94"
    converts 1.729e-142 to "1.729e-142"
    converts 1.729e-142 to "1.729e-142"
    converts 1.729e+59 to "1.729e+59"
    converts 1.729e+59 to "1.729e+59"
    converts 1.729e-319 to "1.729e-319"
    converts 1.729e-319 to "1.729e-319"
    converts 1.729e+198 to "1.729e+198"
    converts 1.729e+198 to "1.729e+198"
    converts 1.729e-96 to "1.729e-96"
    converts 1.729e-96 to "1.729e-96"
    converts 1.729e-309 to "1.729e-309"
    converts 1.729e-309 to "1.729e-309"
    converts 1.729e+221 to "1.729e+221"
    converts 1.729e+221 to "1.729e+221"
    converts 1.729e-229 to "1.729e-229"
    converts 1.729e-229 to "1.729e-229"
    converts 1.729e+98 to "1.729e+98"
    converts 1.729e+98 to "1.729e+98"
    converts 1.729e-131 to "1.729e-131"
    converts 1.729e-131 to "1.729e-131"
    converts 1.729e+276 to "1.729e+276"
    converts 1.729e+276 to "1.729e+276"
    converts 1.729e+100 to "1.729e+100"
    converts 1.729e+100 to "1.729e+100"
    converts 1.729e+101 to "1.729e+101"
    converts 1.729e+101 to "1.729e+101"
    converts 1.729e-128 to "1.729e-128"
    converts 1.729e-128 to "1.729e-128"
    converts 1.729e+199 to "1.729e+199"
    converts 1.729e+199 to "1.729e+199"
    converts 1.729e+24 to "1.729e+24"
    converts 1.729e+24 to "1.729e+24"
    converts 1.729e+77 to "1.729e+77"
    converts 1.729e+77 to "1.729e+77"
    converts 1.729e+19 to "1.729e+19"
    converts 1.729e+19 to "1.729e+19"
    converts 1.729e-82 to "1.729e-82"
    converts 1.729e-82 to "1.729e-82"
    converts 1.729e+193 to "1.729e+193"
    converts 1.729e+193 to "1.729e+193"
    converts 1.729e-27 to "1.729e-27"
    converts 1.729e-27 to "1.729e-27"
    converts 1.729e-69 to "1.729e-69"
    converts 1.729e-69 to "1.729e-69"
    converts 1.729e+244 to "1.729e+244"
    converts 1.729e+244 to "1.729e+244"
    converts 1.729e-121 to "1.729e-121"
    converts 1.729e-121 to "1.729e-121"
    converts 1.729e+204 to "1.729e+204"
    converts 1.729e+204 to "1.729e+204"
    converts 1.729e+62 to "1.729e+62"
    converts 1.729e+62 to "1.729e+62"
    converts 1.729e+17 to "1.729e+17"
    converts 1.729e+17 to "1.729e+17"
    converts 1.729e-266 to "1.729e-266"
    converts 1.729e-266 to "1.729e-266"
    converts 1.729e-186 to "1.729e-186"
    converts 1.729e-186 to "1.729e-186"
    converts 1.729e-156 to "1.729e-156"
    converts 1.729e-156 to "1.729e-156"
    converts 1.729e-194 to "1.729e-194"
    converts 1.729e-194 to "1.729e-194"
    converts 1.729e-275 to "1.729e-275"
    converts 1.729e-275 to "1.729e-275"
    converts 1.729e-312 to "1.729e-312"
    converts 1.729e-312 to "1.729e-312"
    converts 1.729e+183 to "1.729e+183"
    converts 1.729e+183 to "1.729e+183"
    converts 1.729e+186 to "1.729e+186"
    converts 1.729e+186 to "1.729e+186"
    converts 1.729e+233 to "1.729e+233"
    converts 1.729e+233 to "1.729e+233"
    converts 1.729e-224 to "1.729e-224"
    converts 1.729e-224 to "1.729e-224"
    converts 1.729e+124 to "1.729e+124"
    converts 1.729e+124 to "1.729e+124"
    converts 1.729e+37 to "1.729e+37"
    converts 1.729e+37 to "1.729e+37"
    converts 1.729e+219 to "1.729e+219"
    converts 1.729e+219 to "1.729e+219"
    converts 1.729e-263 to "1.729e-263"
    converts 1.729e-263 to "1.729e-263"
    converts 1.729e+58 to "1.729e+58"
    converts 1.729e+58 to "1.729e+58"
    converts 7.29e-324 to "5.0e-324"
    converts 7.29e-324 to "5.0e-324"
    converts 1.729e-175 to "1.729e-175"
    converts 1.729e-175 to "1.729e-175"
    converts 1.729e+44 to "1.729e+44"
    converts 1.729e+44 to "1.729e+44"
    converts 1.729e+123 to "1.729e+123"
    converts 1.729e+123 to "1.729e+123"
    converts 1.729e-140 to "1.729e-140"
    converts 1.729e-140 to "1.729e-140"
    converts 1.729e+60 to "1.729e+60"
    converts 1.729e+60 to "1.729e+60"
    converts 1.729e+88 to "1.729e+88"
    converts 1.729e+88 to "1.729e+88"
    converts 1.729e-255 to "1.729e-255"
    converts 1.729e-255 to "1.729e-255"
    converts 1.729e+12 to "1729000000000.0"
    converts 1.729e+12 to "1729000000000.0"
    converts 1.729e+35 to "1.729e+35"
    converts 1.729e+35 to "1.729e+35"
    converts 1.729e-239 to "1.729e-239"
    converts 1.729e-239 to "1.729e-239"
    converts 1.729e-40 to "1.729e-40"
    converts 1.729e-40 to "1.729e-40"
    converts 1.729e+153 to "1.729e+153"
    converts 1.729e+153 to "1.729e+153"
    converts 1.729e-240 to "1.729e-240"
    converts 1.729e-240 to "1.729e-240"
    converts 1.729e-135 to "1.729e-135"
    converts 1.729e-135 to "1.729e-135"
    converts 1.729e+103 to "1.729e+103"
    converts 1.729e+103 to "1.729e+103"
    converts 1.729e-89 to "1.729e-89"
    converts 1.729e-89 to "1.729e-89"
    converts 1.729e-83 to "1.729e-83"
    converts 1.729e-83 to "1.729e-83"
    converts 1.729e-296 to "1.729e-296"
    converts 1.729e-296 to "1.729e-296"
    converts 1.729e-233 to "1.729e-233"
    converts 1.729e-233 to "1.729e-233"
    converts 1.729e+80 to "1.729e+80"
    converts 1.729e+80 to "1.729e+80"
    converts 1.729e-254 to "1.729e-254"
    converts 1.729e-254 to "1.729e-254"
    converts 1.729e+147 to "1.729e+147"
    converts 1.729e+147 to "1.729e+147"
    converts 1.729e+92 to "1.729e+92"
    converts 1.729e+92 to "1.729e+92"
    converts 1.729e+188 to "1.729e+188"
    converts 1.729e+188 to "1.729e+188"
    converts 1.729e-92 to "1.729e-92"
    converts 1.729e-92 to "1.729e-92"
    converts 1.729e+307 to "1.729e+307"
    converts 1.729e+307 to "1.729e+307"
    converts 1.729e-256 to "1.729e-256"
    converts 1.729e-256 to "1.729e-256"
    converts 1.729e-294 to "1.729e-294"
    converts 1.729e-294 to "1.729e-294"
    converts 1.729e-33 to "1.729e-33"
    converts 1.729e-33 to "1.729e-33"
    converts 1.729e+290 to "1.729e+290"
    converts 1.729e+290 to "1.729e+290"
    converts 1.729e-161 to "1.729e-161"
    converts 1.729e-161 to "1.729e-161"
    converts 1.729e-112 to "1.729e-112"
    converts 1.729e-112 to "1.729e-112"
    converts 1.729e+79 to "1.729e+79"
    converts 1.729e+79 to "1.729e+79"
    converts 1.729e+4 to "17290.0"
    converts 1.729e+4 to "17290.0"
    converts 1.729e+275 to "1.729e+275"
    converts 1.729e+275 to "1.729e+275"
    converts 1.729e-164 to "1.729e-164"
    converts 1.729e-164 to "1.729e-164"
    converts 1.729e+34 to "1.729e+34"
    converts 1.729e+34 to "1.729e+34"
    converts 1.729e-150 to "1.729e-150"
    converts 1.729e-150 to "1.729e-150"
    converts 1.729e-67 to "1.729e-67"
    converts 1.729e-67 to "1.729e-67"
    converts 1.729e-8 to "1.729e-8"
    converts 1.729e-8 to "1.729e-8"
    converts 1.729e-74 to "1.729e-74"
    converts 1.729e-74 to "1.729e-74"
    converts 1.729e-144 to "1.729e-144"
    converts 1.729e-144 to "1.729e-144"
    converts 1.729e-305 to "1.729e-305"
    converts 1.729e-305 to "1.729e-305"
    converts 1.729e-79 to "1.729e-79"
    converts 1.729e-79 to "1.729e-79"
    converts 1.729e+111 to "1.729e+111"
    converts 1.729e+111 to "1.729e+111"
    converts 1.729e-287 to "1.729e-287"
    converts 1.729e-287 to "1.729e-287"
    converts 1.729e-6 to "1.729e-6"
    converts 1.729e-6 to "1.729e-6"
    converts 1.729e+175 to "1.729e+175"
    converts 1.729e+175 to "1.729e+175"
    converts 1.729e+41 to "1.729e+41"
    converts 1.729e+41 to "1.729e+41"
    converts 1.729e+82 to "1.729e+82"
    converts 1.729e+82 to "1.729e+82"
    converts 1.729e-292 to "1.729e-292"
    converts 1.729e-292 to "1.729e-292"
    converts 1.729e-42 to "1.729e-42"
    converts 1.729e-42 to "1.729e-42"
    converts 1.729e+192 to "1.729e+192"
    converts 1.729e+192 to "1.729e+192"
    converts 1.729e+216 to "1.729e+216"
    converts 1.729e+216 to "1.729e+216"
    converts 1.729e-178 to "1.729e-178"
    converts 1.729e-178 to "1.729e-178"
    converts 1.729e+18 to "1.729e+18"
    converts 1.729e+18 to "1.729e+18"
    converts 1.729e-137 to "1.729e-137"
    converts 1.729e-137 to "1.729e-137"
    converts 1.729e-54 to "1.729e-54"
    converts 1.729e-54 to "1.729e-54"
    converts 1.729e+133 to "1.729e+133"
    converts 1.729e+133 to "1.729e+133"
    converts 1.729e-149 to "1.729e-149"
    converts 1.729e-149 to "1.729e-149"
    converts 1.729e-182 to "1.729e-182"
    converts 1.729e-182 to "1.729e-182"
    converts 1.729e-60 to "1.729e-60"
    converts 1.729e-60 to "1.729e-60"
    converts 1.729e+146 to "1.729e+146"
    converts 1.729e+146 to "1.729e+146"
    converts 1.729e+210 to "1.729e+210"
    converts 1.729e+210 to "1.729e+210"
    converts 1.729e+56 to "1.729e+56"
    converts 1.729e+56 to "1.729e+56"
    converts 1.729e+102 to "1.729e+102"
    converts 1.729e+102 to "1.729e+102"
    converts 1.729e+265 to "1.729e+265"
    converts 1.729e+265 to "1.729e+265"
    converts 1.729e+26 to "1.729e+26"
    converts 1.729e+26 to "1.729e+26"
    converts 1.729e-49 to "1.729e-49"
    converts 1.729e-49 to "1.729e-49"
    converts 1.729e+230 to "1.729e+230"
    converts 1.729e+230 to "1.729e+230"
    converts 1.729e+47 to "1.729e+47"
    converts 1.729e+47 to "1.729e+47"
    converts 1.729e+212 to "1.729e+212"
    converts 1.729e+212 to "1.729e+212"
    converts 1.729e-258 to "1.729e-258"
    converts 1.729e-258 to "1.729e-258"
    converts 1.729e+154 to "1.729e+154"
    converts 1.729e+154 to "1.729e+154"
    converts 1.729e+144 to "1.729e+144"
    converts 1.729e+144 to "1.729e+144"
    converts 1.729e-279 to "1.729e-279"
    converts 1.729e-279 to "1.729e-279"
    converts 1.729e-63 to "1.729e-63"
    converts 1.729e-63 to "1.729e-63"
    converts 1.729e+27 to "1.729e+27"
    converts 1.729e+27 to "1.729e+27"
    converts 1.729e-202 to "1.729e-202"
    converts 1.729e-202 to "1.729e-202"
    converts 1.729e-226 to "1.729e-226"
    converts 1.729e-226 to "1.729e-226"
    converts 1.729e+10 to "17290000000.0"
    converts 1.729e+10 to "17290000000.0"
    converts 1.729e-132 to "1.729e-132"
    converts 1.729e-132 to "1.729e-132"
    converts 1.729e-307 to "1.729e-307"
    converts 1.729e-307 to "1.729e-307"
    converts 1.729e-162 to "1.729e-162"
    converts 1.729e-162 to "1.729e-162"
    converts 1.729e-297 to "1.729e-297"
    converts 1.729e-297 to "1.729e-297"
    converts 1.729e-127 to "1.729e-127"
    converts 1.729e-127 to "1.729e-127"
    converts 1.729e-299 to "1.729e-299"
    converts 1.729e-299 to "1.729e-299"
    converts 1.729e-174 to "1.729e-174"
    converts 1.729e-174 to "1.729e-174"
    converts 1.729e-225 to "1.729e-225"
    converts 1.729e-225 to "1.729e-225"
    converts 1.729e-163 to "1.729e-163"
    converts 1.729e-163 to "1.729e-163"
    converts 1.729e-14 to "1.729e-14"
    converts 1.729e-14 to "1.729e-14"
    converts 1.729e-20 to "1.729e-20"
    converts 1.729e-20 to "1.729e-20"
    converts 1.729e+195 to "1.729e+195"
    converts 1.729e+195 to "1.729e+195"
    converts 1.729e+294 to "1.729e+294"
    converts 1.729e+294 to "1.729e+294"
    converts 1.729e+206 to "1.729e+206"
    converts 1.729e+206 to "1.729e+206"
    converts 1.729e-39 to "1.729e-39"
    converts 1.729e-39 to "1.729e-39"
    converts 1.729e+36 to "1.729e+36"
    converts 1.729e+36 to "1.729e+36"
    converts 1.729e-220 to "1.729e-220"
    converts 1.729e-220 to "1.729e-220"
    converts 1.729e-188 to "1.729e-188"
    converts 1.729e-188 to "1.729e-188"
    converts 1.729e+250 to "1.729e+250"
    converts 1.729e+250 to "1.729e+250"
    converts 1.729e+245 to "1.729e+245"
    converts 1.729e+245 to "1.729e+245"
    converts 1.729e-66 to "1.729e-66"
    converts 1.729e-66 to "1.729e-66"
    converts 1.729e+93 to "1.729e+93"
    converts 1.729e+93 to "1.729e+93"
    converts 1.729e-47 to "1.729e-47"
    converts 1.729e-47 to "1.729e-47"
    converts 1.729e+40 to "1.729e+40"
    converts 1.729e+40 to "1.729e+40"
    converts 1.729e-230 to "1.729e-230"
    converts 1.729e-230 to "1.729e-230"
    converts 1.729e-109 to "1.729e-109"
    converts 1.729e-109 to "1.729e-109"
    converts 1.729e-25 to "1.729e-25"
    converts 1.729e-25 to "1.729e-25"
    converts 1.729e-261 to "1.729e-261"
    converts 1.729e-261 to "1.729e-261"
    converts 1.729e+55 to "1.729e+55"
    converts 1.729e+55 to "1.729e+55"
    converts 1.729e+75 to "1.729e+75"
    converts 1.729e+75 to "1.729e+75"
    converts 1.729e-321 to "1.73e-321"
    converts 1.729e-321 to "1.73e-321"
    converts 1.729e-22 to "1.729e-22"
    converts 1.729e-22 to "1.729e-22"
    converts 1.729e-302 to "1.729e-302"
    converts 1.729e-302 to "1.729e-302"
    converts 1.729e-35 to "1.729e-35"
    converts 1.729e-35 to "1.729e-35"
    converts 1.729e+15 to "1.729e+15"
    converts 1.729e+15 to "1.729e+15"
    converts 1.729e-272 to "1.729e-272"
    converts 1.729e-272 to "1.729e-272"
    converts 1.729e-65 to "1.729e-65"
    converts 1.729e-65 to "1.729e-65"
    converts 1.729e+112 to "1.729e+112"
    converts 1.729e+112 to "1.729e+112"
    converts 1.729e-165 to "1.729e-165"
    converts 1.729e-165 to "1.729e-165"
    converts 1.729e+132 to "1.729e+132"
    converts 1.729e+132 to "1.729e+132"
    converts 1.729e+238 to "1.729e+238"
    converts 1.729e+238 to "1.729e+238"
    converts 1.729e+283 to "1.729e+283"
    converts 1.729e+283 to "1.729e+283"
    converts 1.729e+71 to "1.729e+71"
    converts 1.729e+71 to "1.729e+71"
    converts 1.729e+270 to "1.729e+270"
    converts 1.729e+270 to "1.729e+270"
    converts 1.729e-221 to "1.729e-221"
    converts 1.729e-221 to "1.729e-221"
    converts 1.729e+66 to "1.729e+66"
    converts 1.729e+66 to "1.729e+66"
    converts 1.729e+167 to "1.729e+167"
    converts 1.729e+167 to "1.729e+167"
    converts 1.729e+81 to "1.729e+81"
    converts 1.729e+81 to "1.729e+81"
    converts 1.729e+97 to "1.729e+97"
    converts 1.729e+97 to "1.729e+97"
    converts 1.729e+1 to "17.29"
    converts 1.729e+1 to "17.29"
    converts 1.729e-15 to "1.729e-15"
    converts 1.729e-15 to "1.729e-15"
    converts 1.729e+301 to "1.729e+301"
    converts 1.729e+301 to "1.729e+301"
    converts 1.729e-264 to "1.729e-264"
    converts 1.729e-264 to "1.729e-264"
    converts 1.729e-84 to "1.729e-84"
    converts 1.729e-84 to "1.729e-84"
    converts 1.729e+203 to "1.729e+203"
    converts 1.729e+203 to "1.729e+203"
    converts 1.729e-119 to "1.729e-119"
    converts 1.729e-119 to "1.729e-119"
    converts 1.729e+246 to "1.729e+246"
    converts 1.729e+246 to "1.729e+246"
    converts 1.729e-247 to "1.729e-247"
    converts 1.729e-247 to "1.729e-247"
    converts 1.729e+261 to "1.729e+261"
    converts 1.729e+261 to "1.729e+261"
    converts 1.729e-200 to "1.729e-200"
    converts 1.729e-200 to "1.729e-200"
    converts 1.729e+196 to "1.729e+196"
    converts 1.729e+196 to "1.729e+196"
    converts 1.729e-17 to "1.729e-17"
    converts 1.729e-17 to "1.729e-17"
    converts 1.729e+237 to "1.729e+237"
    converts 1.729e+237 to "1.729e+237"
    converts 1.729e-37 to "1.729e-37"
    converts 1.729e-37 to "1.729e-37"
    converts 1.729e-170 to "1.729e-170"
    converts 1.729e-170 to "1.729e-170"
    converts 1.729e-227 to "1.729e-227"
    converts 1.729e-227 to "1.729e-227"
    converts 1.729e+164 to "1.729e+164"
    converts 1.729e+164 to "1.729e+164"
    converts 1.729e+117 to "1.729e+117"
    converts 1.729e+117 to "1.729e+117"
    converts 1.729e+21 to "1.729e+21"
    converts 1.729e+21 to "1.729e+21"
    converts 1.729e+231 to "1.729e+231"
    converts 1.729e+231 to "1.729e+231"
    converts 1.729e+70 to "1.729e+70"
    converts 1.729e+70 to "1.729e+70"
    converts 1.729e-285 to "1.729e-285"
    converts 1.729e-285 to "1.729e-285"
    converts 1.729e+298 to "1.729e+298"
    converts 1.729e+298 to "1.729e+298"
    converts 1.729e+135 to "1.729e+135"
    converts 1.729e+135 to "1.729e+135"
    converts 1.729e+72 to "1.729e+72"
    converts 1.729e+72 to "1.729e+72"
    converts 1.729e-320 to "1.729e-320"
    converts 1.729e-320 to "1.729e-320"
    converts 1.729e+297 to "1.729e+297"
    converts 1.729e+297 to "1.729e+297"
    converts 1.729e+129 to "1.729e+129"
    converts 1.729e+129 to "1.729e+129"
    converts 1.729e-278 to "1.729e-278"
    converts 1.729e-278 to "1.729e-278"
    converts 1.729e-237 to "1.729e-237"
    converts 1.729e-237 to "1.729e-237"
    converts 1.729e-21 to "1.729e-21"
    converts 1.729e-21 to "1.729e-21"
    converts 1.729e+152 to "1.729e+152"
    converts 1.729e+152 to "1.729e+152"
    converts 1.729e-129 to "1.729e-129"
    converts 1.729e-129 to "1.729e-129"
    converts 1.729e+74 to "1.729e+74"
    converts 1.729e+74 to "1.729e+74"
    converts 1.729e-252 to "1.729e-252"
    converts 1.729e-252 to "1.729e-252"
    converts 1.729e-262 to "1.729e-262"
    converts 1.729e-262 to "1.729e-262"
  converts 524288.0 to "524288.0"
  converts 524288.0 to "524288.0"
  converts 1000000001000000.0 to "1.000000001e+15"
  converts 1000000001000000.0 to "1.000000001e+15"
  converts 536870912000.0 to "536870912000.0"
  converts 536870912000.0 to "536870912000.0"
  converts 1.234567890123456 to "1.234567890123456"
  converts 1.234567890123456 to "1.234567890123456"
  converts 1.23 to "1.23"
  converts 1.23 to "1.23"
  converts 1000000100000000.0 to "1.0000001e+15"
  converts 1000000100000000.0 to "1.0000001e+15"
  converts 1.234567 to "1.234567"
  converts 1.234567 to "1.234567"
  converts 8388608.0 to "8388608.0"
  converts 8388608.0 to "8388608.0"
  converts 70368744177664.0 to "70368744177664.0"
  converts 70368744177664.0 to "70368744177664.0"
  Ryu d2s_test.cc SmallIntegers
    converts 9007199254740991.0 to "9.007199254740991e+15"
    converts 9007199254740991.0 to "9.007199254740991e+15"
    converts 9007199254740992.0 to "9.007199254740992e+15"
    converts 9007199254740992.0 to "9.007199254740992e+15"
  one-digit cases, where the decimal point can't appear between digits like "17.29"
    converts 7e+0 to "7.0"
    converts 7e+0 to "7.0"
    converts 7e-2 to "0.07"
    converts 7e-2 to "0.07"
    converts 7e+2 to "700.0"
    converts 7e+2 to "700.0"
    converts 7e-3 to "0.007"
    converts 7e-3 to "0.007"
    converts 7e+3 to "7000.0"
    converts 7e+3 to "7000.0"
    converts 7e+1 to "70.0"
    converts 7e+1 to "70.0"
    converts 7e-1 to "0.7"
    converts 7e-1 to "0.7"
  converts 1.2345678 to "1.2345678"
  converts 1.2345678 to "1.2345678"
  converts 1234567890123456.0 to "1.234567890123456e+15"
  converts 1234567890123456.0 to "1.234567890123456e+15"
  converts 1001000000000000.0 to "1.001e+15"
  converts 1001000000000000.0 to "1.001e+15"
  converts 1.234 to "1.234"
  converts 1.234 to "1.234"
  converts 8589934592.0 to "8589934592.0"
  converts 8589934592.0 to "8589934592.0"
  converts 8388608000.0 to "8388608000.0"
  converts 8388608000.0 to "8388608000.0"
  converts 12345678901.0 to "12345678901.0"
  converts 12345678901.0 to "12345678901.0"
  converts 1000001000000000.0 to "1.000001e+15"
  converts 1000001000000000.0 to "1.000001e+15"
  converts 9007199254740992.0 to "9.007199254740992e+15"
  converts 9007199254740992.0 to "9.007199254740992e+15"
  highly-trimmed powers of 2
    converts 0x1p960 to "9.7453140114e+288"
    converts 0x1p960 to "9.7453140114e+288"
    converts 0x1p959 to "4.8726570057e+288"
    converts 0x1p959 to "4.8726570057e+288"
  converts 1.0 to "1.0"
  converts 1.0 to "1.0"
  converts 12345678.0 to "12345678.0"
  converts 12345678.0 to "12345678.0"
  converts 1.2345678901234 to "1.2345678901234"
  converts 1.2345678901234 to "1.2345678901234"
  converts 1.234567890123 to "1.234567890123"
  converts 1.234567890123 to "1.234567890123"
  converts 1000000000001000.0 to "1.000000000001e+15"
  converts 1000000000001000.0 to "1.000000000001e+15"
  converts 100000000.0 to "100000000.0"
  converts 100000000.0 to "100000000.0"
  converts 1000000.0 to "1000000.0"
  converts 1000000.0 to "1000000.0"
  converts 10000000.0 to "10000000.0"
  converts 10000000.0 to "10000000.0"
  converts 123456789.0 to "123456789.0"
  converts 123456789.0 to "123456789.0"
  converts 68719476736000.0 to "68719476736000.0"
  converts 68719476736000.0 to "68719476736000.0"
  converts 524288000.0 to "524288000.0"
  converts 524288000.0 to "524288000.0"
  Grisu failures
    converts 4.91e-6 to "4.91e-6"
    converts 4.91e-6 to "4.91e-6"
    converts 0x1.a6c767640cd71p+879 to "6.6564021122018745e+264"
    converts 0x1.a6c767640cd71p+879 to "6.6564021122018745e+264"
    converts 1.0e+23 to "1.0e+23"
    converts 1.0e+23 to "1.0e+23"
    converts 3.5844466002796428e+298 to "3.5844466002796428e+298"
    converts 3.5844466002796428e+298 to "3.5844466002796428e+298"
    converts 5.547e-6 to "5.547e-6"
    converts 5.547e-6 to "5.547e-6"
    converts 0x1.e0ffed391517ep-186 to "1.9156918820264798e-56"
    converts 0x1.e0ffed391517ep-186 to "1.9156918820264798e-56"
  converts 1234567895.0 to "1234567895.0"
  converts 1234567895.0 to "1234567895.0"
  converts 8000.0 to "8000.0"
  converts 8000.0 to "8000.0"
  converts 8796093022208.0 to "8796093022208.0"
  converts 8796093022208.0 to "8796093022208.0"
  converts 123.0 to "123.0"
  converts 123.0 to "123.0"
  converts 123456.0 to "123456.0"
  converts 123456.0 to "123456.0"
  converts 100000000000.0 to "100000000000.0"
  converts 100000000000.0 to "100000000000.0"
  odd mantissas (unaffected by shifting)
    converts 5e22 to "5.0e+22"
    converts 5e22 to "5.0e+22"
    converts 81123342286848e18 to "8.1123342286848e+31"
    converts 81123342286848e18 to "8.1123342286848e+31"
    converts 115292150461e7 to "1.15292150461e+18"
    converts 115292150461e7 to "1.15292150461e+18"
    converts 922337203e10 to "9.22337203e+18"
    converts 922337203e10 to "9.22337203e+18"
    converts 1801439850948199e1 to "1.801439850948199e+16"
    converts 1801439850948199e1 to "1.801439850948199e+16"
    converts 3e22 to "3.0e+22"
    converts 3e22 to "3.0e+22"
    converts 14411518807585e4 to "1.4411518807585e+17"
    converts 14411518807585e4 to "1.4411518807585e+17"
    converts 2361e18 to "2.361e+21"
    converts 2361e18 to "2.361e+21"
    converts 115292150459e7 to "1.15292150459e+18"
    converts 115292150459e7 to "1.15292150459e+18"
    converts 295149e15 to "2.95149e+20"
    converts 295149e15 to "2.95149e+20"
    converts 72057594037927e3 to "7.2057594037927e+16"
    converts 72057594037927e3 to "7.2057594037927e+16"
    converts 59031e16 to "5.9031e+20"
    converts 59031e16 to "5.9031e+20"
    converts 93e20 to "9.3e+21"
    converts 93e20 to "9.3e+21"
    converts 11807e17 to "1.1807e+21"
    converts 11807e17 to "1.1807e+21"
    converts 59029e16 to "5.9029e+20"
    converts 59029e16 to "5.9029e+20"
    converts 302232576e15 to "3.02232576e+23"
    converts 302232576e15 to "3.02232576e+23"
    converts 4611686017e9 to "4.611686017e+18"
    converts 4611686017e9 to "4.611686017e+18"
    converts 14411518807587e4 to "1.4411518807587e+17"
    converts 14411518807587e4 to "1.4411518807587e+17"
    converts 23058430093e8 to "2.3058430093e+18"
    converts 23058430093e8 to "2.3058430093e+18"
    converts 473e19 to "4.73e+21"
    converts 473e19 to "4.73e+21"
    converts 184467441e11 to "1.84467441e+19"
    converts 184467441e11 to "1.84467441e+19"
    converts 7378697e13 to "7.378697e+19"
    converts 7378697e13 to "7.378697e+19"
    converts 922337205e10 to "9.22337205e+18"
    converts 922337205e10 to "9.22337205e+18"
    converts 360287970189641e2 to "3.60287970189641e+16"
    converts 360287970189641e2 to "3.60287970189641e+16"
    converts 184467439e11 to "1.84467439e+19"
    converts 184467439e11 to "1.84467439e+19"
    converts 36893489e12 to "3.6893489e+19"
    converts 36893489e12 to "3.6893489e+19"
    converts 2882303761517e5 to "2.882303761517e+17"
    converts 2882303761517e5 to "2.882303761517e+17"
    converts 471e19 to "4.71e+21"
    converts 471e19 to "4.71e+21"
    converts 81192061763584e18 to "8.1192061763584e+31"
    converts 81192061763584e18 to "8.1192061763584e+31"
    converts 1801439850948197e1 to "1.801439850948197e+16"
    converts 1801439850948197e1 to "1.801439850948197e+16"
    converts 11805e17 to "1.1805e+21"
    converts 11805e17 to "1.1805e+21"
    converts 576460752303e6 to "5.76460752303e+17"
    converts 576460752303e6 to "5.76460752303e+17"
    converts 4611686019e9 to "4.611686019e+18"
    converts 4611686019e9 to "4.611686019e+18"
    converts 2363e18 to "2.363e+21"
    converts 2363e18 to "2.363e+21"
    converts 295147e15 to "2.95147e+20"
    converts 295147e15 to "2.95147e+20"
    converts 36893487e12 to "3.6893487e+19"
    converts 36893487e12 to "3.6893487e+19"
    converts 19e21 to "1.9e+22"
    converts 19e21 to "1.9e+22"
    converts 17e21 to "1.7e+22"
    converts 17e21 to "1.7e+22"
    converts 23058430091e8 to "2.3058430091e+18"
    converts 23058430091e8 to "2.3058430091e+18"
    converts 7378699e13 to "7.378699e+19"
    converts 7378699e13 to "7.378699e+19"
    converts 2882303761519e5 to "2.882303761519e+17"
    converts 2882303761519e5 to "2.882303761519e+17"
    converts 1475739e14 to "1.475739e+20"
    converts 1475739e14 to "1.475739e+20"
    converts 72057594037929e3 to "7.2057594037929e+16"
    converts 72057594037929e3 to "7.2057594037929e+16"
    converts 1475741e14 to "1.475741e+20"
    converts 1475741e14 to "1.475741e+20"
    converts 360287970189639e2 to "3.60287970189639e+16"
    converts 360287970189639e2 to "3.60287970189639e+16"
    converts 95e20 to "9.5e+21"
    converts 95e20 to "9.5e+21"
    converts 576460752305e6 to "5.76460752305e+17"
    converts 576460752305e6 to "5.76460752305e+17"
    converts 302230528e15 to "3.02230528e+23"
    converts 302230528e15 to "3.02230528e+23"
  converts 8192.0 to "8192.0"
  converts 8192.0 to "8192.0"
  converts 100.0 to "100.0"
  converts 100.0 to "100.0"
  converts 536870912.0 to "536870912.0"
  converts 536870912.0 to "536870912.0"
  converts 100000000000000.0 to "100000000000000.0"
  converts 100000000000000.0 to "100000000000000.0"
  converts 549755813888.0 to "549755813888.0"
  converts 549755813888.0 to "549755813888.0"
JSON mapping
  works together with yaml
  works together with yaml
  allows small types of integer
  allows small types of integer
  parses array of people
  parses array of people
  parses person with unknown attributes
  parses person with unknown attributes
  parses json array as set
  parses json array as set
  parses JSON with presence markers
    parses person with absent attributes
    parses person with absent attributes
  parses json with Time::Format converter
  parses json with Time::Format converter
  parses raw value from object
  parses raw value from object
  parses 128-bit integer
  parses 128-bit integer
  with query attributes
    defines query getter with class restriction
    defines query getter with class restriction
    raises if non-nilable attribute is nil
    raises if non-nilable attribute is nil
    defines query getter
    defines query getter
    defines non-query setter and presence methods
    defines non-query setter and presence methods
    maps non-query attributes
    maps non-query attributes
  emit_nulls option
  emit_nulls option
  parses with nilable root and emit null
  parses with nilable root and emit null
  should parse extra fields (JSONAttrPersonExtraFields with on_unknown_json_attribute)
  should parse extra fields (JSONAttrPersonExtraFields with on_unknown_json_attribute)
  parses raw value from int
  parses raw value from int
  fixes #13337
  fixes #13337
  parses simple mapping
  parses simple mapping
  emits null on request when doing to_json
  emits null on request when doing to_json
  converter with null value (#13655)
  converter with null value (#13655)
  parses json with problematic keys
  parses json with problematic keys
  raises if non-nilable attribute is nil
  raises if non-nilable attribute is nil
  parses person
  parses person
  serializes JSON with presence markers and ignore_serialize
    ignore_serialize is set to a method which returns true when value is nil or empty string
      ignores field when value is nil
      ignores field when value is nil
      ignores field when value is empty string
      ignores field when value is empty string
    ignore_serialize is set to conditional expressions 'last_name.nil? && !last_name_present?'
      emits field when value is not nil and @last_name_present is true
      emits field when value is not nil and @last_name_present is true
      emits field when value is not nil and @last_name_present is false
      emits field when value is not nil and @last_name_present is false
      emits null when value is null and @last_name_present is true
      emits null when value is null and @last_name_present is true
      does not emit null when value is null and @last_name_present is false
      does not emit null when value is null and @last_name_present is false
  parses raw value from float
  parses raw value from float
  raises if not an object
  raises if not an object
  doesn't emit null by default when doing to_json
  doesn't emit null by default when doing to_json
  does to_json
  does to_json
  works with record
  works with record
  converter with default value
  converter with default value
  BigDecimal
    parses large precision json floats with BigDecimal
    parses large precision json floats with BigDecimal
    parses json string with BigDecimal
    parses json string with BigDecimal
    parses large json ints with BigDecimal
    parses large json ints with BigDecimal
    parses json float with BigDecimal
    parses json float with BigDecimal
  work with module and inheritance
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  outputs with converter when nilable when emit_null is true
  outputs with converter when nilable when emit_null is true
  parses strict person with unknown attributes
  parses strict person with unknown attributes
  JSON::HashValueConverter(Converter)
    uses converter instance with nested converter metaclass
    uses converter instance with nested converter metaclass
    uses converter metaclass
    uses converter metaclass
    uses converter instance with nested converter instance
    uses converter instance with nested converter instance
  empty class with unmapped
  empty class with unmapped
  allows setting a nilable property to nil
  allows setting a nilable property to nil
  parses person without age
  parses person without age
  empty class
  empty class
  outputs with converter when nilable
  outputs with converter when nilable
  uses Time::EpochConverter
  uses Time::EpochConverter
  outputs JSON with Hash
  outputs JSON with Hash
  should to store extra fields (JSONAttrPersonExtraFields with on_to_json)
  should to store extra fields (JSONAttrPersonExtraFields with on_to_json)
  parses json with any
  parses json with any
  namespaced classes
    lets default values use the object's own namespace
    lets default values use the object's own namespace
  raises if data type does not match
  raises if data type does not match
  works with class with two fields
  works with class with two fields
  parses json with defaults
    with nilable
    with nilable
    mixed
    mixed
    create new array every time
    create new array every time
    bool
    bool
  JSON::ArrayConverter(Converter)
    uses converter metaclass
    uses converter metaclass
    uses converter instance with nested converter instance
    uses converter instance with nested converter instance
    uses converter instance with nested converter metaclass
    uses converter instance with nested converter metaclass
  uses Time::EpochMillisConverter
  uses Time::EpochMillisConverter
  doesn't raises on false value when not-nil
  doesn't raises on false value when not-nil
  parses with nilable root
  parses with nilable root
  parses nilable union
  parses nilable union
  yaml and json with after_initialize hook
  yaml and json with after_initialize hook
  json with selective serialization
  json with selective serialization
  parses with root
  parses with root
  parses UUID
  parses UUID
  parses JSON integer into a float property (#8618)
  parses JSON integer into a float property (#8618)
  parses json with keywords
  parses json with keywords
  use_json_discriminator
    raises if unknown discriminator value
    raises if unknown discriminator value
    raises if missing discriminator
    raises if missing discriminator
    deserializes with discriminator, strict recursive type
    deserializes with discriminator, strict recursive type
    deserializes with discriminator, another recursive type, fixes: #13429
    deserializes with discriminator, another recursive type, fixes: #13429
    deserializes with discriminator
    deserializes with discriminator
    deserializes with variable discriminator value type
    deserializes with variable discriminator value type
__floattisf
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
.__powisf2
.__powisf2
Base64
  simple test
    encode "abc" to "YWJj\n"
    encode "abc" to "YWJj\n"
    encode "abcd" to "YWJjZA==\n"
    encode "abcd" to "YWJjZA==\n"
    encode "abcdef" to "YWJjZGVm\n"
    encode "abcdef" to "YWJjZGVm\n"
    encode "a" to "YQ==\n"
    encode "a" to "YQ==\n"
    decode from "YWJjZGVmZw==\n" to "abcdefg"
    decode from "YWJjZGVmZw==\n" to "abcdefg"
    decode from "YWJjZGU=\n" to "abcde"
    decode from "YWJjZGU=\n" to "abcde"
    encode "abcdefg" to "YWJjZGVmZw==\n"
    encode "abcdefg" to "YWJjZGVmZw==\n"
    encode "abcde" to "YWJjZGU=\n"
    encode "abcde" to "YWJjZGU=\n"
    decode from "YWJjZA==\n" to "abcd"
    decode from "YWJjZA==\n" to "abcd"
    decode from "YWJj\n" to "abc"
    decode from "YWJj\n" to "abc"
    decode from "YWI=\n" to "ab"
    decode from "YWI=\n" to "ab"
    encode "" to ""
    encode "" to ""
    decode from "YWJjZGVm\n" to "abcdef"
    decode from "YWJjZGVm\n" to "abcdef"
    encode "ab" to "YWI=\n"
    encode "ab" to "YWI=\n"
    decode from "YQ==\n" to "a"
    decode from "YQ==\n" to "a"
    decode from "" to ""
    decode from "" to ""
  base
    decode from strict form
    decode from strict form
    encode to stream returns number of written characters
    encode to stream returns number of written characters
    decode from "VGhpcyBpcyBsaW5lIG9uZQpUaGlzIGlzIGxpbmUgdHdvClRoaXMgaXMgbGlu\nZSB0aHJlZQpBbmQgc28gb24uLi4K\n" to "This is line one\nThis is line two\nThis is line three\nAnd so on...\n"
    decode from "VGhpcyBpcyBsaW5lIG9uZQpUaGlzIGlzIGxpbmUgdHdvClRoaXMgaXMgbGlu\nZSB0aHJlZQpBbmQgc28gb24uLi4K\n" to "This is line one\nThis is line two\nThis is line three\nAnd so on...\n"
    encode "This is line one\nThis is line two\nThis is line three\nAnd so on...\n" to "VGhpcyBpcyBsaW5lIG9uZQpUaGlzIGlzIGxpbmUgdHdvClRoaXMgaXMgbGlu\nZSB0aHJlZQpBbmQgc28gb24uLi4K\n"
    encode "This is line one\nThis is line two\nThis is line three\nAnd so on...\n" to "VGhpcyBpcyBsaW5lIG9uZQpUaGlzIGlzIGxpbmUgdHdvClRoaXMgaXMgbGlu\nZSB0aHJlZQpBbmQgc28gb24uLi4K\n"
    encode "hahah⊙ⓧ⊙" to "aGFoYWjiipnik6fiipk=\n"
    encode "hahah⊙ⓧ⊙" to "aGFoYWjiipnik6fiipk=\n"
    decode from "U2VuZCByZWluZm9yY2VtZW50cw==\n" to "Send reinforcements"
    decode from "U2VuZCByZWluZm9yY2VtZW50cw==\n" to "Send reinforcements"
    encode "Send reinforcements" to "U2VuZCByZWluZm9yY2VtZW50cw==\n"
    encode "Send reinforcements" to "U2VuZCByZWluZm9yY2VtZW50cw==\n"
    decode from "aGFoYWjiipnik6fiipk=\n" to "hahah⊙ⓧ⊙"
    decode from "aGFoYWjiipnik6fiipk=\n" to "hahah⊙ⓧ⊙"
    decode from stream returns number of written bytes
    decode from stream returns number of written bytes
    big message
    big message
    works for most characters
    works for most characters
    decode from "Tm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBjb2RlcnMKdG8gbGVhcm4g\nQ3J5c3RhbA==\n" to "Now is the time for all good coders\nto learn Crystal"
    decode from "Tm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBjb2RlcnMKdG8gbGVhcm4g\nQ3J5c3RhbA==\n" to "Now is the time for all good coders\nto learn Crystal"
    encode "Now is the time for all good coders\nto learn Crystal" to "Tm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBjb2RlcnMKdG8gbGVhcm4g\nQ3J5c3RhbA==\n"
    encode "Now is the time for all good coders\nto learn Crystal" to "Tm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBjb2RlcnMKdG8gbGVhcm4g\nQ3J5c3RhbA==\n"
  encodes byte slice
  encodes byte slice
  urlsafe
    encode to stream returns number of written characters
    encode to stream returns number of written characters
    work
    work
  
 in multiple places
    decode from "YWJj\nZGVm\nZw==\n" to "abcdefg"
    decode from "YWJj\nZGVm\nZw==\n" to "abcdefg"
    decode from "YWJj\nZA==\n" to "abcd"
    decode from "YWJj\nZA==\n" to "abcd"
    decode from "YWJj\nZGU=\n" to "abcde"
    decode from "YWJj\nZGU=\n" to "abcde"
    decode from "YWJj\nZGVm\n" to "abcdef"
    decode from "YWJj\nZGVm\n" to "abcdef"
  encodes empty slice
  encodes empty slice
  encodes static array
  encodes static array
  decode cases
    decode 

    decode 

    decode 
 in multiple places
    decode 
 in multiple places
    decode small tail after last 
, was a bug
    decode small tail after last 
, was a bug
    raise error when incorrect size
    raise error when incorrect size
    raise error when 
 in incorrect place
    raise error when 
 in incorrect place
    raise error when incorrect symbol
    raise error when incorrect symbol
  strict
    encode to stream returns number of written characters
    encode to stream returns number of written characters
    with spec symbols
    with spec symbols
    encode
    encode
JSON::Builder
  writes array
  writes array
  #next_is_object_key?
  #next_is_object_key?
  writes integer
  writes integer
  errors on nan
  errors on nan
  writes object with scalar and indent
  writes object with scalar and indent
  writes bool
  writes bool
  writes float
  writes float
  writes field with scalar in object
  writes field with scalar in object
  writes nested array
  writes nested array
  writes field with arbitrary value in object
  writes field with arbitrary value in object
  writes string
  writes string
  writes array with indent string
  writes array with indent string
  writes object
  writes object
  writes null
  writes null
  errors on infinity
  errors on infinity
  writes empty object with indent level
  writes empty object with indent level
  writes raw
  writes raw
  errors if writing before document start
  errors if writing before document start
  writes object with array and scalar and indent
  writes object with array and scalar and indent
  errors on max nesting (object)
  errors on max nesting (object)
  errors if writing two scalars
  errors if writing two scalars
  writes string with controls and slashes 
  writes string with controls and slashes 
  raises if array is left open
  raises if array is left open
  raises if object is left open
  raises if object is left open
  writes empty array with indent level
  writes empty array with indent level
  writes nested object
  writes nested object
  errors on max nesting (array)
  errors on max nesting (array)
  writes nested array
  writes nested array
  raises if nothing written
  raises if nothing written
  writes object with indent level
  writes object with indent level
  writes array with indent level
  writes array with indent level
ENV
  does .keys
  does .keys
  sets and gets case-sensitive
  sets and gets case-sensitive
  does .values
  does .values
  sets to empty string
  sets to empty string
  #to_h
  #to_h
  []=
    disallows NUL-bytes in key
    disallows NUL-bytes in key
    disallows NUL-bytes in value
    disallows NUL-bytes in value
    disallows NUL-bytes in key if value is nil
    disallows NUL-bytes in key if value is nil
  does has_key?
  does has_key?
  sets to nil (same as delete)
  sets to nil (same as delete)
  set and gets
  set and gets
  does not have an empty key
  does not have an empty key
  gets non existent key as nilable
  gets non existent key as nilable
  gets non existent key raises
  gets non existent key raises
  fetch
    fetches with block
    fetches with block
    fetches and raises
    fetches and raises
    fetches with default value
    fetches with default value
    fetches arbitrary default value
    fetches arbitrary default value
    fetches with one argument
    fetches with one argument
  handles unicode
  handles unicode
  deletes a key
  deletes a key
Set
  does -
  does -
  does to_a
  does to_a
  ==
    compares two sets
    compares two sets
  does ^
  does ^
  aliases + to |
  aliases + to |
  does ^
  does ^
  does ^
  does ^
  "#each" yielding
  "#each" yielding
  does ^
  does ^
  #rehash
    rehashes
    rehashes
  #proper_subset_of?
  #proper_subset_of?
  does -
  does -
  compare_by_identity
    compares by identity
    compares by identity
    retains compare_by_identity on clone
    retains compare_by_identity on clone
    retains compare_by_identity on dup
    retains compare_by_identity on dup
  an empty set
    has size 0
    has size 0
    is empty
    is empty
  add?
    returns true when object is not in the set
    returns true when object is not in the set
    returns false when object is in the set
    returns false when object is in the set
  does support giving a block to to_a
  does support giving a block to to_a
  does ^
  does ^
  does -
  does -
  dup
    creates a dup
    creates a dup
  #superset_of?
  #superset_of?
  does subtract
  does subtract
  does clear
  does clear
  "#each" iterator
  "#each" iterator
  #proper_superset_of?
  #proper_superset_of?
  does subtract
  does subtract
  compares hashes of sets
  compares hashes of sets
  does subtract
  does subtract
  add
    adds and includes
    adds and includes
    returns self
    returns self
  does &
  does &
  does subtract
  does subtract
  does -
  does -
  does to_s
  does to_s
  does |
  does |
  checks intersects
  checks intersects
  has object_id
  has object_id
  does ^
  does ^
  #subset_of?
  #subset_of?
  does each
  does each
  concat
    adds all the other elements
    adds all the other elements
    returns self
    returns self
  does -
  does -
  does subtract
  does subtract
  does -
  does -
  clone
    creates a clone
    creates a clone
  new
    creates new set with enumerable without block
    creates new set with enumerable without block
  does subtract
  does subtract
  delete
    returns true when the object was present
    returns true when the object was present
    returns false when the object was absent
    returns false when the object was absent
    deletes an object
    deletes an object
Crystal::SyntaxHighlighter::Colorize
  .highlight
    "ensure"
    "ensure"
    "1 &** 2"
    "1 &** 2"
    "1 == 2"
    "1 == 2"
    "macro"
    "macro"
    "1 ^ 2"
    "1 ^ 2"
    "$1"
    "$1"
    "sizeof"
    "sizeof"
    "%w(foo bar baz)"
    "%w(foo bar baz)"
    "1 === 2"
    "1 === 2"
    "1 &*= 2"
    "1 &*= 2"
    "1 != 2"
    "1 != 2"
    "struct"
    "struct"
    "1 |= 2"
    "1 |= 2"
    "a/ b"
    "a/ b"
    "1 //= 2"
    "1 //= 2"
    "def /"
    "def /"
    "a / b"
    "a / b"
    "1 !~ 2"
    "1 !~ 2"
    "extend"
    "extend"
    "in"
    "in"
    "def &"
    "def &"
    "def"
    "def"
    "1 *= 2"
    "1 *= 2"
    "1 &* 2"
    "1 &* 2"
    "abstract"
    "abstract"
    "1 []= 2"
    "1 []= 2"
    "\"foo\#{[1, bar, \"str\"]}baz\""
    "\"foo\#{[1, bar, \"str\"]}baz\""
    "1 &&= 2"
    "1 &&= 2"
    "next"
    "next"
    "then"
    "then"
    "offsetof"
    "offsetof"
    "/foo/xim"
    "/foo/xim"
    "do"
    "do"
    "def <="
    "def <="
    "'<'"
    "'<'"
    "1 <=> 2"
    "1 <=> 2"
    "$~"
    "$~"
    "a /b/"
    "a /b/"
    "%i(foo bar baz)"
    "%i(foo bar baz)"
    "if"
    "if"
    "when"
    "when"
    "break"
    "break"
    "private"
    "private"
    "1 &+= 2"
    "1 &+= 2"
    "is_a?"
    "is_a?"
    "def ~"
    "def ~"
    "1/2"
    "1/2"
    "class"
    "class"
    "$?"
    "$?"
    "include"
    "include"
    "%(foo)"
    "%(foo)"
    "typeof"
    "typeof"
    "\"nest1\#{foo + \"nest2\#{1 + 1}bar\"}baz\""
    "\"nest1\#{foo + \"nest2\#{1 + 1}bar\"}baz\""
    "enum"
    "enum"
    "asm"
    "asm"
    "def >="
    "def >="
    "def =="
    "def =="
    "module"
    "module"
    "with"
    "with"
    "%w<foo bar baz>"
    "%w<foo bar baz>"
    "1 ^= 2"
    "1 ^= 2"
    "1 &= 2"
    "1 &= 2"
    "1 >= 2"
    "1 >= 2"
    "def =~"
    "def =~"
    "# <\">"
    "# <\">"
    "return"
    "return"
    "as"
    "as"
    "def <"
    "def <"
    "1 &- 2"
    "1 &- 2"
    "1 [] 2"
    "1 [] 2"
    "1 | 2"
    "1 | 2"
    "1 /2"
    "1 /2"
    "protected"
    "protected"
    "1 & 2"
    "1 & 2"
    "%x(foo)"
    "%x(foo)"
    "type"
    "type"
    "1 /= 2"
    "1 /= 2"
    "1 % 2"
    "1 % 2"
    "require"
    "require"
    "Foo"
    "Foo"
    "1 && 2"
    "1 && 2"
    "uninitialized"
    "uninitialized"
    "foo\nbar"
    "foo\nbar"
    "foo bar"
    "foo bar"
    "def >"
    "def >"
    "self"
    "self"
    "a/b"
    "a/b"
    "for"
    "for"
    "def foo"
    "def foo"
    "else"
    "else"
    "while"
    "while"
    "\"foo\""
    "\"foo\""
    "lib"
    "lib"
    "foo"
    "foo"
    "as?"
    "as?"
    "super"
    "super"
    "Foo::Bar"
    "Foo::Bar"
    "instance_alignof"
    "instance_alignof"
    "def ^"
    "def ^"
    "1 << 2"
    "1 << 2"
    "nil"
    "nil"
    "Set{1, 2, 3}"
    "Set{1, 2, 3}"
    "annotation"
    "annotation"
    "verbatim"
    "verbatim"
    "1 ~ 2"
    "1 ~ 2"
    "1 []? 2"
    "1 []? 2"
    "%q(foo)"
    "%q(foo)"
    "\"foo\#{bar}baz\""
    "\"foo\#{bar}baz\""
    "1 + 2"
    "1 + 2"
    "elsif"
    "elsif"
    "alias"
    "alias"
    "1 > 2"
    "1 > 2"
    "yield"
    "yield"
    "1/ 2"
    "1/ 2"
    "begin"
    "begin"
    "1 =~ 2"
    "1 =~ 2"
    "pointerof"
    "pointerof"
    "1 &-= 2"
    "1 &-= 2"
    "foo = bar(\"baz\#{PI + 1}\") # comment"
    "foo = bar(\"baz\#{PI + 1}\") # comment"
    "%w(foo  bar\n  baz)"
    "%w(foo  bar\n  baz)"
    "def **"
    "def **"
    "\"<>\""
    "\"<>\""
    "unless"
    "unless"
    "union"
    "union"
    "1 ||= 2"
    "1 ||= 2"
    ":\"foo\""
    ":\"foo\""
    "1 <= 2"
    "1 <= 2"
    "rescue"
    "rescue"
    "end"
    "end"
    "false"
    "false"
    "def |"
    "def |"
    "fun"
    "fun"
    "select"
    "select"
    "nil?"
    "nil?"
    "1 += 2"
    "1 += 2"
    "def >>"
    "def >>"
    "def !="
    "def !="
    "foo, bar = <<-FOO, <<-BAR\n  foo\n  FOO\n  bar\n  BAR"
    "foo, bar = <<-FOO, <<-BAR\n  foo\n  FOO\n  bar\n  BAR"
    "1 <<= 2"
    "1 <<= 2"
    "%Q(foo)"
    "%Q(foo)"
    "1 %= 2"
    "1 %= 2"
    "1 / 2"
    "1 / 2"
    "alignof"
    "alignof"
    "def []"
    "def []"
    "3.14"
    "3.14"
    "'a'"
    "'a'"
    "def []="
    "def []="
    "of"
    "of"
    "1 -= 2"
    "1 -= 2"
    "true"
    "true"
    "`foo`"
    "`foo`"
    "1 * 2"
    "1 * 2"
    "instance_sizeof"
    "instance_sizeof"
    "def %"
    "def %"
    "def <<"
    "def <<"
    "until"
    "until"
    "def -"
    "def -"
    "1 ! 2"
    "1 ! 2"
    "def <=>"
    "def <=>"
    "1 >> 2"
    "1 >> 2"
    "123_i64"
    "123_i64"
    "%r(foo)xim"
    "%r(foo)xim"
    "def !~"
    "def !~"
    "def []?"
    "def []?"
    "1 &+ 2"
    "1 &+ 2"
    "42"
    "42"
    "1 < 2"
    "1 < 2"
    ":foo"
    ":foo"
    "case"
    "case"
    "1 - 2"
    "1 - 2"
    "1 // 2"
    "1 // 2"
    "# bar\n"
    "# bar\n"
    "# foo"
    "# foo"
    "1 ** 2"
    "1 ** 2"
    "def +"
    "def +"
    "1 = 2"
    "1 = 2"
    "1 >>= 2"
    "1 >>= 2"
    "1 **= 2"
    "1 **= 2"
    "1 || 2"
    "1 || 2"
    "# foo\n# bar\n"
    "# foo\n# bar\n"
    "out"
    "out"
    "def //"
    "def //"
    "$2?"
    "$2?"
    "%<foo>"
    "%<foo>"
    "def *"
    "def *"
  .highlight!
    "\"foo"
    "\"foo"
    "%w[foo"
    "%w[foo"
    "%i[foo"
    "%i[foo"
    "foo = bar(\"baz\#{PI + 1}\") # comment"
    "foo = bar(\"baz\#{PI + 1}\") # comment"
    "foo, bar = <<-FOO, <<-BAR\n  foo\n  FOO"
    "foo, bar = <<-FOO, <<-BAR\n  foo\n  FOO"
    "foo, bar = <<-FOO, <<-BAR\n  foo"
    "foo, bar = <<-FOO, <<-BAR\n  foo"
HTTP::Cookie
  #name=
    raises on invalid name
    raises on invalid name
    automatically configures the cookie __Secure- prefix and related properties are unset
    automatically configures the cookie __Secure- prefix and related properties are unset
    doesn't raise on invalid cookie with __Host- prefix
    doesn't raise on invalid cookie with __Host- prefix
    automatically configures the cookie __Host- prefix and related unset properties
    automatically configures the cookie __Host- prefix and related unset properties
    doesn't raise on invalid cookie with __Secure- prefix
    doesn't raise on invalid cookie with __Secure- prefix
  #to_set_cookie_header
    samesite
    samesite
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #==
  #==
  .new
    raises on invalid value
    raises on invalid value
    with a security prefix
      raises on invalid cookie with prefix
      raises on invalid cookie with prefix
      automatically configures the cookie if it has the __Host- prefix and no explicit values provided
      automatically configures the cookie if it has the __Host- prefix and no explicit values provided
      automatically makes the cookie secure if it has the __Secure- prefix and no explicit *secure* value is provided
      automatically makes the cookie secure if it has the __Secure- prefix and no explicit *secure* value is provided
    raises on invalid name
    raises on invalid name
  #valid? & #validate!
    with a __Secure- prefix, but @secure is somehow `nil`
    with a __Secure- prefix, but @secure is somehow `nil`
    raises on invalid cookie with __Host- prefix
    raises on invalid cookie with __Host- prefix
    raises on invalid cookie with __Secure- prefix
    raises on invalid cookie with __Secure- prefix
  #value=
    raises on invalid value
    raises on invalid value
SemanticVersion
  compares <
  compares <
  compares build equivalence
  compares build equivalence
  SemanticVersion::Prerelease
    compares <
    compares <
  does not accept bad versions
  does not accept bad versions
  copies with specified modifications
  copies with specified modifications
  bumps to the correct version
  bumps to the correct version
YAML::Serializable
  parses yaml with defaults
    create new array every time
    create new array every time
    bool
    bool
    with nilable
    with nilable
    mixed
    mixed
  outputs with converter when nilable when emit_null is true
  outputs with converter when nilable when emit_null is true
  converter with null value (#13655)
  converter with null value (#13655)
  should parse extra fields (YAMLAttrPersonExtraFields with on_unknown_yaml_attribute)
  should parse extra fields (YAMLAttrPersonExtraFields with on_unknown_yaml_attribute)
  with query attributes
    defines query getter
    defines query getter
    defines query getter with class restriction
    defines query getter with class restriction
    defines non-query setter and presence methods
    defines non-query setter and presence methods
    maps non-query attributes
    maps non-query attributes
    raises if non-nilable attribute is nil
    raises if non-nilable attribute is nil
  raises if non-nilable attribute is nil
  raises if non-nilable attribute is nil
  doesn't raises on false value when not-nil
  doesn't raises on false value when not-nil
  uses Time::EpochMillisConverter
  uses Time::EpochMillisConverter
  raises if data type does not match
  raises if data type does not match
  converter with default value
  converter with default value
  parses recursive nilable (1)
  parses recursive nilable (1)
  parses yaml with any
  parses yaml with any
  empty class with unmapped
  empty class with unmapped
  checks that values fit into integer types
  checks that values fit into integer types
  parses recursive hash
  parses recursive hash
  parses strict person with unknown attributes
  parses strict person with unknown attributes
  raises if not an object
  raises if not an object
  parses person without age
  parses person without age
  parses yaml with Time::Format converter
  parses yaml with Time::Format converter
  parses person
  parses person
  parses yaml with problematic keys
  parses yaml with problematic keys
  use_yaml_discriminator
    deserializes with discriminator, another recursive type, fixes: #13429
    deserializes with discriminator, another recursive type, fixes: #13429
    raises if unknown discriminator value
    raises if unknown discriminator value
    deserializes type which nests type with discriminator (#9849)
    deserializes type which nests type with discriminator (#9849)
    deserializes with discriminator
    deserializes with discriminator
    raises if missing discriminator
    raises if missing discriminator
    deserializes with variable discriminator value type
    deserializes with variable discriminator value type
    deserializes with discriminator, strict recursive type
    deserializes with discriminator, strict recursive type
  emit_nulls option
  emit_nulls option
  outputs YAML with Hash
  outputs YAML with Hash
  works with class with three fields
  works with class with three fields
  should to store extra fields (YAMLAttrPersonExtraFields with on_to_yaml)
  should to store extra fields (YAMLAttrPersonExtraFields with on_to_yaml)
  YAML::ArrayConverter(Converter)
    uses converter instance with nested converter metaclass
    uses converter instance with nested converter metaclass
    uses converter instance with nested converter instance
    uses converter instance with nested converter instance
    uses converter metaclass
    uses converter metaclass
  doesn't emit null when doing to_yaml
  doesn't emit null when doing to_yaml
  parses person with unknown attributes
  parses person with unknown attributes
  fixes #13337
  fixes #13337
  serializes YAML with presence markers and ignore_serialize
    ignore_serialize is set to conditional expressions 'last_name.nil? && !last_name_present?'
      emits field when value is not nil and @last_name_present is true
      emits field when value is not nil and @last_name_present is true
      emits field when value is not nil and @last_name_present is false
      emits field when value is not nil and @last_name_present is false
      emits null when value is null and @last_name_present is true
      emits null when value is null and @last_name_present is true
      does not emit null when value is null and @last_name_present is false
      does not emit null when value is null and @last_name_present is false
    ignore_serialize is set to a method which returns true when value is nil or empty string
      ignores field when value is empty string
      ignores field when value is empty string
      ignores field when value is nil
      ignores field when value is nil
  does to_yaml
  does to_yaml
  uses Time::EpochConverter
  uses Time::EpochConverter
  work with module and inheritance
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  parses array of people with merge
  parses array of people with merge
  works with record
  works with record
  allows setting a nilable property to nil
  allows setting a nilable property to nil
  parses simple mapping
  parses simple mapping
  parses person with blank age
  parses person with blank age
  calls #finalize
  calls #finalize
  outputs with converter when nilable
  outputs with converter when nilable
  works with selective serialization
  works with selective serialization
  parses recursive array
  parses recursive array
  empty class
  empty class
  parses yaml with keywords
  parses yaml with keywords
  emits null on request when doing to_yaml
  emits null on request when doing to_yaml
  parses recursive
  parses recursive
  parses array of people with merge, doesn't hang on infinite recursion
  parses array of people with merge, doesn't hang on infinite recursion
  namespaced classes
    lets default values use the object's own namespace
    lets default values use the object's own namespace
  checks that non-integer values for integer fields report the expected type
  checks that non-integer values for integer fields report the expected type
  parses YAML with presence markers
    parses person with absent attributes
    parses person with absent attributes
  allows small types of integer
  allows small types of integer
  parses array of people
  parses array of people
  work with inned class using same module name
    assert
    assert
  parses recursive nilable (2)
  parses recursive nilable (2)
  parses nilable union
  parses nilable union
OAuth2::Client
  authorization uri
    gets with absolute uri
    gets with absolute uri
    gets with state
    gets with state
    gets with default endpoint
    gets with default endpoint
    gets with custom endpoint
    gets with custom endpoint
    gets with block
    gets with block
  get_access_token_using_*
    using Request Body to pass credentials
      #make_token_request
      #make_token_request
      #get_access_token_using_refresh_token
      #get_access_token_using_refresh_token
      #get_access_token_using_client_credentials
      #get_access_token_using_client_credentials
      #get_access_token_using_resource_owner_credentials
      #get_access_token_using_resource_owner_credentials
      #get_access_token_using_authorization_code
      #get_access_token_using_authorization_code
    using HTTP Basic authentication to pass credentials
      #get_access_token_using_refresh_token
      #get_access_token_using_refresh_token
      configures HTTP::Client
      configures HTTP::Client
      #get_access_token_using_client_credentials
      #get_access_token_using_client_credentials
      #get_access_token_using_authorization_code
      #get_access_token_using_authorization_code
      #make_token_request
      #make_token_request
      #get_access_token_using_resource_owner_credentials
      #get_access_token_using_resource_owner_credentials
__muloti4
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
LLVM::ABI::AArch64
  align
    for pointer
    for pointer
    for double
    for double
    for array
    for array
    for integer
    for integer
    for packed struct
    for packed struct
    for struct
    for struct
    for float
    for float
  abi_info
    does with structs less than 64 bits
    does with structs less than 64 bits
    does with structs between 64 and 128 bits
    does with structs between 64 and 128 bits
    does with homogeneous structs
    does with homogeneous structs
    does with structs larger than 128 bits
    does with structs larger than 128 bits
    does with primitives
    does with primitives
  size
    for float
    for float
    for struct
    for struct
    for integer
    for integer
    for array
    for array
    for double
    for double
    for pointer
    for pointer
    for packed struct
    for packed struct
Time::Format
  raises when time zone missing
  raises when time zone missing
  formats
  formats
  parses day of month blank padded
  parses day of month blank padded
  parses
  parses
  parses day of year
  parses day of year
  parses nanoseconds
  parses nanoseconds
  parses nanoseconds with %9N
  parses nanoseconds with %9N
  formats rfc3339 with different fraction digits
  formats rfc3339 with different fraction digits
  parses centiseconds
  parses centiseconds
  parses empty
  parses empty
  formats standard formats
  formats standard formats
  parses timezone
  parses timezone
  assert
  assert
  parses hour 24 blank padded
  parses hour 24 blank padded
  parses if some decimals are missing
  parses if some decimals are missing
  parses milliseconds with %L
  parses milliseconds with %L
  parses microseconds with %6N
  parses microseconds with %6N
  parses am/pm
  parses am/pm
  parses discarding additional decimals
  parses discarding additional decimals
  assert
  assert
  parses the correct amount of digits (#853)
  parses the correct amount of digits (#853)
  parses hour 12 blank padded
  parses hour 12 blank padded
  can parse in location
  can parse in location
  parse fails without time zone
  parse fails without time zone
  parses milliseconds with %3N
  parses milliseconds with %3N
  parses 24h clock with am/pm
  parses 24h clock with am/pm
  assert
  assert
  parses zone name
  parses zone name
  assert
  assert
  assert
  assert
  parses 24h clock
  parses 24h clock
  assert
  assert
  parses month blank padded
  parses month blank padded
  gives nice error message when end of input is reached (#12047)
  gives nice error message when end of input is reached (#12047)
LLVM
  .default_target_triple
  .default_target_triple
  .normalize_triple
    substitutes unknown for empty components
    substitutes unknown for empty components
    works
    works
Crystal::Hasher
  inspect
    should not expose internal data
    should not expose internal data
  to_s
    should not expose internal data
    should not expose internal data
  funny_hash
    #string should match test vectors
    #string should match test vectors
    result should work
    result should work
    #int should match test vectors
    #int should match test vectors
    #bool should match test vectors
    #bool should match test vectors
    #nil should match test vectors
    #nil should match test vectors
    #float should match test vectors
    #float should match test vectors
  .reduce_num
    reduces BigInt
    reduces BigInt
    reduces BigFloat
    reduces BigFloat
    reduces BigRational
    reduces BigRational
    reduces primitive float
    reduces primitive float
    reduces primitive int
    reduces primitive int
    reduces BigDecimal
    reduces BigDecimal
  behavior
    #class should change state and differ
    #class should change state and differ
    Big i64 numbers should be hashed ok
    Big i64 numbers should be hashed ok
    #string should change state and differ
    #string should change state and differ
    #nil should change hasher state
    #nil should change hasher state
    #char should change state and differ
    #char should change state and differ
    #enum should change state and differ
    #enum should change state and differ
    #symbol should change state and differ
    #symbol should change state and differ
    #int should change state and differ
    #int should change state and differ
    #bool should change state and differ
    #bool should change state and differ
    #bytes should change state and differ
    #bytes should change state and differ
    #float should change state and differ
    #float should change state and differ
    #reference should change state and differ
    #reference should change state and differ
    #int should be equal for different types
    #int should be equal for different types
    128bit types should be hashed ok
    128bit types should be hashed ok
  normalization of numbers
    should 1_f32 and 1.to_big_f hashes equal
    should 1_f32 and 1.to_big_f hashes equal
    should 1_i32 and 1_f64 hashes equal
    should 1_i32 and 1_f64 hashes equal
    should 1_f32 and 1.to_big_r hashes equal
    should 1_f32 and 1.to_big_r hashes equal
    should 1_f32 and 1.to_big_i hashes equal
    should 1_f32 and 1.to_big_i hashes equal
HTTP::ErrorHandler
  log debug message when the output is closed
  log debug message when the output is closed
  logs to custom logger
  logs to custom logger
  rescues from exception
  rescues from exception
  doesn't write errors when there is some output already sent
  doesn't write errors when there is some output already sent
  can return a generic error message
  can return a generic error message
CSV
  build
    builds two rows
    builds two rows
    builds with commas
    builds with commas
    builds with inside quoted chars and symbols
    builds with inside quoted chars and symbols
    builds with numbers
    builds with numbers
    builds with custom quote character
    builds with custom quote character
    builds row from splat
    builds row from splat
    builds row from enumerable
    builds row from enumerable
    builds with commas
    builds with commas
    concats enumerable to row
    concats enumerable to row
    builds with quotes
    builds with quotes
    skips inside row
    skips inside row
    builds with quoting
    builds with quoting
    builds with custom separator
    builds with custom separator
    concats splat to row
    concats splat to row
HTTP::StaticFileHandler
  does not serve a not found file
  does not serve a not found file
  still serve compressed content when modification time is very close
  still serve compressed content when modification time is very close
  unescapes a request path
  unescapes a request path
  adds Etag header
  adds Etag header
  doesn't serve compressed content if older than raw file
  doesn't serve compressed content if older than raw file
  with If-Modified-Since header
    returns 304 Not Modified for younger than Last-Modified
    returns 304 Not Modified for younger than Last-Modified
    serves content for older than Last-Modified
    serves content for older than Last-Modified
    returns 304 Not Modified for equal to Last-Modified
    returns 304 Not Modified for equal to Last-Modified
  lists directory's entries
  lists directory's entries
  adds Last-Modified header
  adds Last-Modified header
  serves a file
  serves a file
  with multiple If-None-Match header
    returns 304 Not Modified if at least one header matches etag
    returns 304 Not Modified if at least one header matches etag
    serves file if no header matches etag
    serves file if no header matches etag
  handles only GET and HEAD method
  handles only GET and HEAD method
  handles invalid redirect path
  handles invalid redirect path
  does not serve a not found directory
  does not serve a not found directory
  expands a request path
  expands a request path
  handles forbidden characters in windows paths
  handles forbidden characters in windows paths
  with If-None-Match header
    serves file if header is empty
    serves file if header is empty
    serves file if header does not match etag
    serves file if header does not match etag
    returns 304 Not Modified if header matches etag
    returns 304 Not Modified if header matches etag
    serves file if header does not contain valid etag
    serves file if header does not contain valid etag
    returns 304 Not Modified if header is *
    returns 304 Not Modified if header is *
  returns 400
  returns 400
  when a Range header is provided
    int range
      serves a byte range
      serves a byte range
      start of the range is larger than the file size
      start of the range is larger than the file size
      serves a single byte
      serves a single byte
      serves zero bytes
      serves zero bytes
      start >= file_size
      start >= file_size
      serves multiple byte ranges (separator with whitespace)
      serves multiple byte ranges (separator with whitespace)
      serves multiple byte ranges (separator without whitespace)
      serves multiple byte ranges (separator without whitespace)
      serves an open-ended byte range
      serves an open-ended byte range
      end of the range is larger than the file size
      end of the range is larger than the file size
    suffix range
      empty file
      empty file
      negative size
      negative size
      partial
      partial
      zero
      zero
      zero
      zero
      more bytes than content
      more bytes than content
    invalid Range syntax
      open range with negative end
      open range with negative end
      byte number without dash
      byte number without dash
      multiple dashes
      multiple dashes
      not a number
      not a number
      unsupported unit
      unsupported unit
      negative end
      negative end
      start > end
      start > end
      not a range
      not a range
      open range with negative end
      open range with negative end
  does not serve a file as directory
  does not serve a file as directory
  serve compressed content
  serve compressed content
  does not list directory's entries when directory_listing is set to false
  does not list directory's entries when directory_listing is set to false
  with both If-None-Match and If-Modified-Since headers
    serves a file if header does not match etag even If-Modified-Since is fresh
    serves a file if header does not match etag even If-Modified-Since is fresh
    ignores If-Modified-Since as specified in RFC 7232
    ignores If-Modified-Since as specified in RFC 7232
Socket::Addrinfo
  Error
    .new (deprecated)
    .new (deprecated)
  #ip_address
    assert
    assert
  .udp
    yields each result
    yields each result
    returns an array
    returns an array
  .tcp
    returns an array
    returns an array
    yields each result
    yields each result
  .resolve
    raises helpful message on getaddrinfo failure
    raises helpful message on getaddrinfo failure
    yields each result
    yields each result
    eventually raises returned error
    eventually raises returned error
    returns an array
    returns an array
  #inspect
  #inspect
Time
  #<=>
    compares different locations
    compares different locations
    compares
    compares
  #to_s
  #to_s
  #time_of_day
  #time_of_day
  #to_local_in
    is the difference of offsets apart
    is the difference of offsets apart
    keeps wall clock
    keeps wall clock
  .local
    initializes max value
    initializes max value
    fails with negative nanosecond
    fails with negative nanosecond
    fails with too big nanoseconds
    fails with too big nanoseconds
    checks boundary at time max
    checks boundary at time max
    checks boundary at time min
    checks boundary at time min
    accepts midnight 24:00
    accepts midnight 24:00
    initializes
    initializes
  #in
    changes location
    changes location
  #to_s
    prints string
    prints string
    prints local time
    prints local time
    prints offset for fixed location
    prints offset for fixed location
    prints date-time fields
    prints date-time fields
    prints offset for location
    prints offset for location
    omits nanoseconds
    omits nanoseconds
  .unix_ms
  .unix_ms
  .days_in_year
  .days_in_year
  .unix
  .unix
  .leap_year?
    knows years *not* divisible by 4 are normal
    knows years *not* divisible by 4 are normal
    knows that typical non-century leap years are divisible by 4
    knows that typical non-century leap years are divisible by 4
    knows that 100-year centuries are normal years
    knows that 100-year centuries are normal years
    knows that 400-year centuries are leap years
    knows that 400-year centuries are leap years
  UNIX_EPOCH
  UNIX_EPOCH
  at methods
  at methods
  Time::DayOfWeek
    .from_value
    .from_value
    #value
    #value
    .new does not identify 0 as Sunday
    .new does not identify 0 as Sunday
  .monotonic
    returns always increasing monotonic clock
    returns always increasing monotonic clock
  #to_unix
    gets unix seconds at GMT
    gets unix seconds at GMT
    gets unix seconds
    gets unix seconds
  #shift
    adds months
    adds months
    preserves location when adding
    preserves location when adding
    raises out of range min
    raises out of range min
    adds years
    adds years
    adds hours
    adds hours
    raises out of range max
    raises out of range max
    adds zero span
    adds zero span
    covers date boundaries with zone offset (#10869)
    covers date boundaries with zone offset (#10869)
    adds nanoseconds
    adds nanoseconds
    adds hours, minutes, seconds
    adds hours, minutes, seconds
    adds days
      out of range min
      out of range min
      over dst
      over dst
      simple
      simple
      out of range min (shift days)
      out of range min (shift days)
      out of range max (shift days)
      out of range max (shift days)
      out of range max
      out of range max
    checks boundary at time max
    checks boundary at time max
    covers date boundaries with zone offset (#8741)
    covers date boundaries with zone offset (#8741)
    irregular calendaric unit ratios
      shifts by a week if one day is left out
      shifts by a week if one day is left out
      shifts by conceptual hour even if elapsed time is less
      shifts by conceptual hour even if elapsed time is less
    checks boundary at time min
    checks boundary at time min
  .measure
    measures elapsed time
    measures elapsed time
  #day_of_year
  #day_of_year
  #step
    "advent" iterator
    "advent" iterator
    "advent" yielding
    "advent" yielding
  .local without arguments
    current time is similar in different locations
    current time is similar in different locations
  .unix_ns
    supports minimum valid time
    supports minimum valid time
    supports maximum valid time
    supports maximum valid time
    supports Int64 values
    supports Int64 values
  #calendar_week
    2012-12-30 to 2012-52
    2012-12-30 to 2012-52
    1984-1-1 to 1983-52
    1984-1-1 to 1983-52
    1996-1-7 to 1996-1
    1996-1-7 to 1996-1
    2035-1-1 to 2035-1
    2035-1-1 to 2035-1
    2011-1-6 to 2011-1
    2011-1-6 to 2011-1
    2011-1-7 to 2011-1
    2011-1-7 to 2011-1
    2028-1-1 to 2027-52
    2028-1-1 to 2027-52
    2027-1-1 to 2026-53
    2027-1-1 to 2026-53
    2014-1-5 to 2014-1
    2014-1-5 to 2014-1
    2008-1-1 to 2008-1
    2008-1-1 to 2008-1
    2011-12-26 to 2011-52
    2011-12-26 to 2011-52
    2032-1-1 to 2032-1
    2032-1-1 to 2032-1
    2023-1-1 to 2022-52
    2023-1-1 to 2022-52
    2001-1-1 to 2001-1
    2001-1-1 to 2001-1
    1988-1-1 to 1987-53
    1988-1-1 to 1987-53
    1985-1-1 to 1985-1
    1985-1-1 to 1985-1
    1995-1-1 to 1994-52
    1995-1-1 to 1994-52
    1994-1-1 to 1993-52
    1994-1-1 to 1993-52
    2009-1-1 to 2009-1
    2009-1-1 to 2009-1
    2011-1-1 to 2010-52
    2011-1-1 to 2010-52
    2010-1-1 to 2009-53
    2010-1-1 to 2009-53
    2011-6-13 to 2011-24
    2011-6-13 to 2011-24
    2000-1-1 to 1999-52
    2000-1-1 to 1999-52
    1981-1-1 to 1981-1
    1981-1-1 to 1981-1
    1997-1-1 to 1997-1
    1997-1-1 to 1997-1
    1982-1-1 to 1981-53
    1982-1-1 to 1981-53
    2011-1-4 to 2011-1
    2011-1-4 to 2011-1
    2013-1-1 to 2013-1
    2013-1-1 to 2013-1
    1998-1-1 to 1998-1
    1998-1-1 to 1998-1
    2013-12-30 to 2014-1
    2013-12-30 to 2014-1
    2011-1-9 to 2011-1
    2011-1-9 to 2011-1
    2005-1-1 to 2004-53
    2005-1-1 to 2004-53
    2011-6-12 to 2011-23
    2011-6-12 to 2011-23
    2026-1-1 to 2026-1
    2026-1-1 to 2026-1
    2011-1-11 to 2011-2
    2011-1-11 to 2011-2
    1999-1-1 to 1998-53
    1999-1-1 to 1998-53
    2031-1-1 to 2031-1
    2031-1-1 to 2031-1
    2002-1-1 to 2002-1
    2002-1-1 to 2002-1
    1995-1-2 to 1995-1
    1995-1-2 to 1995-1
    2004-1-1 to 2004-1
    2004-1-1 to 2004-1
    1993-1-1 to 1992-53
    1993-1-1 to 1992-53
    2034-1-1 to 2033-52
    2034-1-1 to 2033-52
    2012-1-2 to 2012-1
    2012-1-2 to 2012-1
    2013-12-22 to 2013-51
    2013-12-22 to 2013-51
    2038-1-1 to 2037-53
    2038-1-1 to 2037-53
    1985-4-12 to 1985-15
    1985-4-12 to 1985-15
    2011-1-5 to 2011-1
    2011-1-5 to 2011-1
    1989-1-1 to 1988-52
    1989-1-1 to 1988-52
    2011-1-2 to 2010-52
    2011-1-2 to 2010-52
    2030-1-1 to 2030-1
    2030-1-1 to 2030-1
    2006-1-1 to 2005-52
    2006-1-1 to 2005-52
    2039-1-1 to 2038-52
    2039-1-1 to 2038-52
    2025-1-1 to 2025-1
    2025-1-1 to 2025-1
    2017-1-1 to 2016-52
    2017-1-1 to 2016-52
    2013-1-6 to 2013-1
    2013-1-6 to 2013-1
    2033-1-1 to 2032-53
    2033-1-1 to 2032-53
    1996-1-1 to 1996-1
    1996-1-1 to 1996-1
    2019-1-1 to 2019-1
    2019-1-1 to 2019-1
    2029-1-1 to 2029-1
    2029-1-1 to 2029-1
    2007-1-1 to 2007-1
    2007-1-1 to 2007-1
    2013-12-23 to 2013-52
    2013-12-23 to 2013-52
    2016-1-1 to 2015-53
    2016-1-1 to 2015-53
    2011-1-10 to 2011-2
    2011-1-10 to 2011-2
    2012-1-1 to 2011-52
    2012-1-1 to 2011-52
    1992-1-1 to 1992-1
    1992-1-1 to 1992-1
    2022-1-1 to 2021-52
    2022-1-1 to 2021-52
    2040-1-1 to 2039-52
    2040-1-1 to 2039-52
    2020-1-1 to 2020-1
    2020-1-1 to 2020-1
    2014-1-1 to 2014-1
    2014-1-1 to 2014-1
    1996-1-8 to 1996-2
    1996-1-8 to 1996-2
    1983-1-1 to 1982-52
    1983-1-1 to 1982-52
    2013-1-7 to 2013-2
    2013-1-7 to 2013-2
    2010-1-1 to 2009-53
    2010-1-1 to 2009-53
    2011-1-8 to 2011-1
    2011-1-8 to 2011-1
    2015-1-1 to 2015-1
    2015-1-1 to 2015-1
    2011-12-25 to 2011-51
    2011-12-25 to 2011-51
    2012-12-24 to 2012-52
    2012-12-24 to 2012-52
    2024-1-1 to 2024-1
    2024-1-1 to 2024-1
    2011-12-31 to 2011-52
    2011-12-31 to 2011-52
    2012-1-9 to 2012-2
    2012-1-9 to 2012-2
    1987-1-1 to 1987-1
    1987-1-1 to 1987-1
    2012-12-23 to 2012-51
    2012-12-23 to 2012-51
    1990-1-1 to 1990-1
    1990-1-1 to 1990-1
    2012-1-8 to 2012-1
    2012-1-8 to 2012-1
    2003-1-1 to 2003-1
    2003-1-1 to 2003-1
    2011-1-3 to 2011-1
    2011-1-3 to 2011-1
    2011-12-28 to 2011-52
    2011-12-28 to 2011-52
    2037-1-1 to 2037-1
    2037-1-1 to 2037-1
    2021-1-1 to 2020-53
    2021-1-1 to 2020-53
    1986-1-1 to 1986-1
    1986-1-1 to 1986-1
    1991-1-1 to 1991-1
    1991-1-1 to 1991-1
    2018-1-1 to 2018-1
    2018-1-1 to 2018-1
    2011-12-29 to 2011-52
    2011-12-29 to 2011-52
    2011-12-30 to 2011-52
    2011-12-30 to 2011-52
    2014-1-6 to 2014-2
    2014-1-6 to 2014-2
    2036-1-1 to 2036-1
    2036-1-1 to 2036-1
    2012-12-31 to 2013-1
    2012-12-31 to 2013-1
    2013-12-29 to 2013-52
    2013-12-29 to 2013-52
    2011-12-27 to 2011-52
    2011-12-27 to 2011-52
  does diff of utc vs local time
  does diff of utc vs local time
  answers day name predicates
  answers day name predicates
  .week_date
    accepts time arguments
    accepts time arguments
    verify test data
      W2010-52-7 eq 2011-1-2
      W2010-52-7 eq 2011-1-2
      W2026-53-5 eq 2027-1-1
      W2026-53-5 eq 2027-1-1
      W2032-53-6 eq 2033-1-1
      W2032-53-6 eq 2033-1-1
      W1982-52-6 eq 1983-1-1
      W1982-52-6 eq 1983-1-1
      W2013-51-7 eq 2013-12-22
      W2013-51-7 eq 2013-12-22
      W2009-53-5 eq 2010-1-1
      W2009-53-5 eq 2010-1-1
      W2008-1-2 eq 2008-1-1
      W2008-1-2 eq 2008-1-1
      W1998-1-4 eq 1998-1-1
      W1998-1-4 eq 1998-1-1
      W2031-1-3 eq 2031-1-1
      W2031-1-3 eq 2031-1-1
      W1985-15-5 eq 1985-4-12
      W1985-15-5 eq 1985-4-12
      W2014-1-1 eq 2013-12-30
      W2014-1-1 eq 2013-12-30
      W1999-52-6 eq 2000-1-1
      W1999-52-6 eq 2000-1-1
      W2011-1-6 eq 2011-1-8
      W2011-1-6 eq 2011-1-8
      W1996-2-1 eq 1996-1-8
      W1996-2-1 eq 1996-1-8
      W2011-52-7 eq 2012-1-1
      W2011-52-7 eq 2012-1-1
      W2011-23-7 eq 2011-6-12
      W2011-23-7 eq 2011-6-12
      W2011-52-1 eq 2011-12-26
      W2011-52-1 eq 2011-12-26
      W1998-53-5 eq 1999-1-1
      W1998-53-5 eq 1999-1-1
      W2001-1-1 eq 2001-1-1
      W2001-1-1 eq 2001-1-1
      W2021-52-6 eq 2022-1-1
      W2021-52-6 eq 2022-1-1
      W2011-1-1 eq 2011-1-3
      W2011-1-1 eq 2011-1-3
      W2013-2-1 eq 2013-1-7
      W2013-2-1 eq 2013-1-7
      W1996-1-1 eq 1996-1-1
      W1996-1-1 eq 1996-1-1
      W2012-2-1 eq 2012-1-9
      W2012-2-1 eq 2012-1-9
      W2019-1-2 eq 2019-1-1
      W2019-1-2 eq 2019-1-1
      W2011-52-3 eq 2011-12-28
      W2011-52-3 eq 2011-12-28
      W1994-52-7 eq 1995-1-1
      W1994-52-7 eq 1995-1-1
      W2009-1-4 eq 2009-1-1
      W2009-1-4 eq 2009-1-1
      W2012-1-7 eq 2012-1-8
      W2012-1-7 eq 2012-1-8
      W1995-1-1 eq 1995-1-2
      W1995-1-1 eq 1995-1-2
      W2020-1-3 eq 2020-1-1
      W2020-1-3 eq 2020-1-1
      W1987-1-4 eq 1987-1-1
      W1987-1-4 eq 1987-1-1
      W1985-1-2 eq 1985-1-1
      W1985-1-2 eq 1985-1-1
      W2004-1-4 eq 2004-1-1
      W2004-1-4 eq 2004-1-1
      W2013-1-2 eq 2013-1-1
      W2013-1-2 eq 2013-1-1
      W2011-2-2 eq 2011-1-11
      W2011-2-2 eq 2011-1-11
      W2015-1-4 eq 2015-1-1
      W2015-1-4 eq 2015-1-1
      W2038-52-6 eq 2039-1-1
      W2038-52-6 eq 2039-1-1
      W2033-52-7 eq 2034-1-1
      W2033-52-7 eq 2034-1-1
      W2009-53-5 eq 2010-1-1
      W2009-53-5 eq 2010-1-1
      W2037-53-5 eq 2038-1-1
      W2037-53-5 eq 2038-1-1
      W2013-52-1 eq 2013-12-23
      W2013-52-1 eq 2013-12-23
      W1981-53-5 eq 1982-1-1
      W1981-53-5 eq 1982-1-1
      W2013-1-7 eq 2013-1-6
      W2013-1-7 eq 2013-1-6
      W2011-1-7 eq 2011-1-9
      W2011-1-7 eq 2011-1-9
      W1992-1-3 eq 1992-1-1
      W1992-1-3 eq 1992-1-1
      W2029-1-1 eq 2029-1-1
      W2029-1-1 eq 2029-1-1
      W2005-52-7 eq 2006-1-1
      W2005-52-7 eq 2006-1-1
      W2039-52-7 eq 2040-1-1
      W2039-52-7 eq 2040-1-1
      W2011-2-1 eq 2011-1-10
      W2011-2-1 eq 2011-1-10
      W2011-51-7 eq 2011-12-25
      W2011-51-7 eq 2011-12-25
      W2011-52-6 eq 2011-12-31
      W2011-52-6 eq 2011-12-31
      W1987-53-5 eq 1988-1-1
      W1987-53-5 eq 1988-1-1
      W2014-1-7 eq 2014-1-5
      W2014-1-7 eq 2014-1-5
      W1992-53-5 eq 1993-1-1
      W1992-53-5 eq 1993-1-1
      W2007-1-1 eq 2007-1-1
      W2007-1-1 eq 2007-1-1
      W2002-1-2 eq 2002-1-1
      W2002-1-2 eq 2002-1-1
      W2014-1-3 eq 2014-1-1
      W2014-1-3 eq 2014-1-1
      W1993-52-6 eq 1994-1-1
      W1993-52-6 eq 1994-1-1
      W2027-52-6 eq 2028-1-1
      W2027-52-6 eq 2028-1-1
      W2026-1-4 eq 2026-1-1
      W2026-1-4 eq 2026-1-1
      W2020-53-5 eq 2021-1-1
      W2020-53-5 eq 2021-1-1
      W1997-1-3 eq 1997-1-1
      W1997-1-3 eq 1997-1-1
      W2012-52-1 eq 2012-12-24
      W2012-52-1 eq 2012-12-24
      W2011-1-2 eq 2011-1-4
      W2011-1-2 eq 2011-1-4
      W2013-52-7 eq 2013-12-29
      W2013-52-7 eq 2013-12-29
      W1996-1-7 eq 1996-1-7
      W1996-1-7 eq 1996-1-7
      W1981-1-4 eq 1981-1-1
      W1981-1-4 eq 1981-1-1
      W1986-1-3 eq 1986-1-1
      W1986-1-3 eq 1986-1-1
      W2024-1-1 eq 2024-1-1
      W2024-1-1 eq 2024-1-1
      W2011-1-3 eq 2011-1-5
      W2011-1-3 eq 2011-1-5
      W2003-1-3 eq 2003-1-1
      W2003-1-3 eq 2003-1-1
      W2012-1-1 eq 2012-1-2
      W2012-1-1 eq 2012-1-2
      W2022-52-7 eq 2023-1-1
      W2022-52-7 eq 2023-1-1
      W2011-52-2 eq 2011-12-27
      W2011-52-2 eq 2011-12-27
      W2011-52-4 eq 2011-12-29
      W2011-52-4 eq 2011-12-29
      W2011-1-5 eq 2011-1-7
      W2011-1-5 eq 2011-1-7
      W2012-52-7 eq 2012-12-30
      W2012-52-7 eq 2012-12-30
      W2004-53-6 eq 2005-1-1
      W2004-53-6 eq 2005-1-1
      W2036-1-2 eq 2036-1-1
      W2036-1-2 eq 2036-1-1
      W2011-52-5 eq 2011-12-30
      W2011-52-5 eq 2011-12-30
      W2015-53-5 eq 2016-1-1
      W2015-53-5 eq 2016-1-1
      W2032-1-4 eq 2032-1-1
      W2032-1-4 eq 2032-1-1
      W1991-1-2 eq 1991-1-1
      W1991-1-2 eq 1991-1-1
      W2037-1-4 eq 2037-1-1
      W2037-1-4 eq 2037-1-1
      W2030-1-2 eq 2030-1-1
      W2030-1-2 eq 2030-1-1
      W2035-1-1 eq 2035-1-1
      W2035-1-1 eq 2035-1-1
      W1983-52-7 eq 1984-1-1
      W1983-52-7 eq 1984-1-1
      W1988-52-7 eq 1989-1-1
      W1988-52-7 eq 1989-1-1
      W1990-1-1 eq 1990-1-1
      W1990-1-1 eq 1990-1-1
      W2011-1-4 eq 2011-1-6
      W2011-1-4 eq 2011-1-6
      W2016-52-7 eq 2017-1-1
      W2016-52-7 eq 2017-1-1
      W2013-1-1 eq 2012-12-31
      W2013-1-1 eq 2012-12-31
      W2014-2-1 eq 2014-1-6
      W2014-2-1 eq 2014-1-6
      W2025-1-3 eq 2025-1-1
      W2025-1-3 eq 2025-1-1
      W2011-24-1 eq 2011-6-13
      W2011-24-1 eq 2011-6-13
      W2018-1-1 eq 2018-1-1
      W2018-1-1 eq 2018-1-1
      W2012-51-7 eq 2012-12-23
      W2012-51-7 eq 2012-12-23
      W2010-52-6 eq 2011-1-1
      W2010-52-6 eq 2011-1-1
  #year
  #year
  #day_of_week
    2011-12-27 is 2
    2011-12-27 is 2
    1998-1-1 is 4
    1998-1-1 is 4
    2011-12-25 is 7
    2011-12-25 is 7
    1982-1-1 is 5
    1982-1-1 is 5
    2012-12-23 is 7
    2012-12-23 is 7
    1984-1-1 is 7
    1984-1-1 is 7
    2013-1-1 is 2
    2013-1-1 is 2
    2026-1-1 is 4
    2026-1-1 is 4
    1999-1-1 is 5
    1999-1-1 is 5
    2008-1-1 is 2
    2008-1-1 is 2
    2030-1-1 is 2
    2030-1-1 is 2
    2007-1-1 is 1
    2007-1-1 is 1
    1996-1-1 is 1
    1996-1-1 is 1
    2013-12-22 is 7
    2013-12-22 is 7
    2040-1-1 is 7
    2040-1-1 is 7
    2001-1-1 is 1
    2001-1-1 is 1
    1992-1-1 is 3
    1992-1-1 is 3
    2019-1-1 is 2
    2019-1-1 is 2
    2037-1-1 is 4
    2037-1-1 is 4
    1988-1-1 is 5
    1988-1-1 is 5
    1985-1-1 is 2
    1985-1-1 is 2
    2011-1-7 is 5
    2011-1-7 is 5
    2011-1-4 is 2
    2011-1-4 is 2
    2039-1-1 is 6
    2039-1-1 is 6
    2013-12-23 is 1
    2013-12-23 is 1
    2036-1-1 is 2
    2036-1-1 is 2
    2029-1-1 is 1
    2029-1-1 is 1
    2015-1-1 is 4
    2015-1-1 is 4
    2012-12-30 is 7
    2012-12-30 is 7
    1986-1-1 is 3
    1986-1-1 is 3
    1990-1-1 is 1
    1990-1-1 is 1
    1981-1-1 is 4
    1981-1-1 is 4
    2017-1-1 is 7
    2017-1-1 is 7
    2012-12-24 is 1
    2012-12-24 is 1
    2012-1-8 is 7
    2012-1-8 is 7
    2011-1-8 is 6
    2011-1-8 is 6
    1996-1-7 is 7
    1996-1-7 is 7
    2011-12-31 is 6
    2011-12-31 is 6
    2013-12-30 is 1
    2013-12-30 is 1
    2011-12-29 is 4
    2011-12-29 is 4
    2025-1-1 is 3
    2025-1-1 is 3
    2002-1-1 is 2
    2002-1-1 is 2
    2024-1-1 is 1
    2024-1-1 is 1
    2009-1-1 is 4
    2009-1-1 is 4
    2004-1-1 is 4
    2004-1-1 is 4
    2013-1-7 is 1
    2013-1-7 is 1
    2010-1-1 is 5
    2010-1-1 is 5
    1987-1-1 is 4
    1987-1-1 is 4
    2018-1-1 is 1
    2018-1-1 is 1
    2012-1-2 is 1
    2012-1-2 is 1
    1997-1-1 is 3
    1997-1-1 is 3
    1996-1-8 is 1
    1996-1-8 is 1
    2014-1-6 is 1
    2014-1-6 is 1
    2027-1-1 is 5
    2027-1-1 is 5
    2011-1-5 is 3
    2011-1-5 is 3
    2012-1-1 is 7
    2012-1-1 is 7
    1991-1-1 is 2
    1991-1-1 is 2
    2021-1-1 is 5
    2021-1-1 is 5
    2011-1-1 is 6
    2011-1-1 is 6
    1983-1-1 is 6
    1983-1-1 is 6
    2005-1-1 is 6
    2005-1-1 is 6
    2011-1-11 is 2
    2011-1-11 is 2
    1994-1-1 is 6
    1994-1-1 is 6
    2020-1-1 is 3
    2020-1-1 is 3
    2012-12-31 is 1
    2012-12-31 is 1
    2014-1-5 is 7
    2014-1-5 is 7
    2013-12-29 is 7
    2013-12-29 is 7
    2000-1-1 is 6
    2000-1-1 is 6
    2003-1-1 is 3
    2003-1-1 is 3
    2013-1-6 is 7
    2013-1-6 is 7
    2035-1-1 is 1
    2035-1-1 is 1
    2038-1-1 is 5
    2038-1-1 is 5
    2016-1-1 is 5
    2016-1-1 is 5
    1995-1-2 is 1
    1995-1-2 is 1
    2011-1-3 is 1
    2011-1-3 is 1
    2011-1-2 is 7
    2011-1-2 is 7
    2032-1-1 is 4
    2032-1-1 is 4
    2012-1-9 is 1
    2012-1-9 is 1
    2011-12-28 is 3
    2011-12-28 is 3
    2011-6-12 is 7
    2011-6-12 is 7
    2022-1-1 is 6
    2022-1-1 is 6
    2028-1-1 is 6
    2028-1-1 is 6
    2014-1-1 is 3
    2014-1-1 is 3
    1989-1-1 is 7
    1989-1-1 is 7
    2011-12-26 is 1
    2011-12-26 is 1
    2033-1-1 is 6
    2033-1-1 is 6
    2023-1-1 is 7
    2023-1-1 is 7
    2031-1-1 is 3
    2031-1-1 is 3
    2010-1-1 is 5
    2010-1-1 is 5
    1995-1-1 is 7
    1995-1-1 is 7
    2034-1-1 is 7
    2034-1-1 is 7
    1985-4-12 is 5
    1985-4-12 is 5
    2006-1-1 is 7
    2006-1-1 is 7
    1993-1-1 is 5
    1993-1-1 is 5
    2011-6-13 is 1
    2011-6-13 is 1
    2011-1-9 is 7
    2011-1-9 is 7
    gets day of week
    gets day of week
    2011-1-10 is 1
    2011-1-10 is 1
    2011-12-30 is 5
    2011-12-30 is 5
    2011-1-6 is 4
    2011-1-6 is 4
  #inspect
  #inspect
  #clone
  #clone
  .days_in_month
    raises exception for invalid month
    raises exception for invalid month
    returns days for valid month and year
    returns days for valid month and year
    raises exception for invalid year
    raises exception for invalid year
URI
  serializes
    from_json_object_key?
    from_json_object_key?
    #to_json
    #to_json
Iterator(T)
  #cons
    reuse
      reuse as deque
      reuse as deque
      reuse as Array
      reuse as Array
      reuse as nil
      reuse as nil
      reuse as Bool
      reuse as Bool
    conses
    conses
  flatten
    flattens an iterator of mixed-type iterators
    flattens an iterator of mixed-type iterators
    flattens an iterator of mixed-type elements and iterators
    flattens an iterator of mixed-type elements and iterators
    flattens nested struct iterators with internal state being value types
    flattens nested struct iterators with internal state being value types
    flattens an iterator of mixed-type elements and iterators and iterators of iterators
    flattens an iterator of mixed-type elements and iterators and iterators of iterators
    flattens deeply-nested and mixed type iterators
    flattens deeply-nested and mixed type iterators
    return iterator itself by rewind
    return iterator itself by rewind
    flattens a deeply-nested iterables and arrays (#3703)
    flattens a deeply-nested iterables and arrays (#3703)
    flattens a variety of edge cases
    flattens a variety of edge cases
  integration
    combines many iterators
    combines many iterators
  #chunk_while
    chunks while
    chunks while
  #with_index
    "with default offset" iterator
    "with default offset" iterator
    "with explicit offset" yielding
    "with explicit offset" yielding
    "with explicit offset" iterator
    "with explicit offset" iterator
    "with non-Int32 offset" iterator
    "with non-Int32 offset" iterator
    "with default offset" yielding
    "with default offset" yielding
    "with non-Int32 offset" yielding
    "with non-Int32 offset" yielding
  Iterator.of
    creates singleton from block
    creates singleton from block
    creates singleton from block can call Iterator.stop
    creates singleton from block can call Iterator.stop
    creates singleton
    creates singleton
  compact_map
    sums after compact_map to_a
    sums after compact_map to_a
    applies the function and removes nil values
    applies the function and removes nil values
  #slice_when
    slices when: single value
    slices when: single value
    slices when with reuse = array
    slices when with reuse = array
    slices when
    slices when
    slices when: non-bool block
    slices when: non-bool block
    slices when with reuse = true
    slices when with reuse = true
    slices when: two values
    slices when: two values
    slices when: #to_a
    slices when: #to_a
    slices when: #rewind
    slices when: #rewind
  skip
    does skip with Range iterator
    does skip with Range iterator
    is cool to skip 0 elements
    is cool to skip 0 elements
    raises ArgumentError if negative size is provided
    raises ArgumentError if negative size is provided
  #slice_after
    slices after pattern with reuse = true
    slices after pattern with reuse = true
    slices after
    slices after
    slices after with reuse = true
    slices after with reuse = true
    slices after: #rewind
    slices after: #rewind
    slices after: #to_a
    slices after: #to_a
    slices after pattern
    slices after pattern
    slices after with reuse = array
    slices after with reuse = array
    slices after: non-bool block
    slices after: non-bool block
  take_while
    does take_while with more than available
    does take_while with more than available
    only calls the block as much as needed
    only calls the block as much as needed
    does take_while with Range iterator
    does take_while with Range iterator
  #slice_before
    slices before: first element matches
    slices before: first element matches
    slices before: non-bool block
    slices before: non-bool block
    slices before: #to_a
    slices before: #to_a
    slices before pattern with reuse = true
    slices before pattern with reuse = true
    slices before nil
    slices before nil
    slices before with reuse = array
    slices before with reuse = array
    slices before with reuse = true
    slices before with reuse = true
    slices before
    slices before
    slices before pattern
    slices before pattern
    slices before: #rewind
    slices before: #rewind
  step
    returns every other element
    returns every other element
    returns every element
    returns every element
    returns every third element
    returns every third element
    raises with nonsensical steps
    raises with nonsensical steps
  uniq
    with block
    with block
    without block
    without block
  map
    does map with Range iterator
    does map with Range iterator
  with object
    does with object, with block
    does with object, with block
    does with object
    does with object
  compact_map
    does not return nil values
    does not return nil values
  tap
    taps
    taps
  #accumulate
    prefix sums, with init
      returns prefix sums
      returns prefix sums
      preserves initial type
      preserves initial type
      empty iterator returns only initial value
      empty iterator returns only initial value
    generic cumulative fold
      empty iterator stops immediately
      empty iterator stops immediately
      accumulates values
      accumulates values
    generic cumulative fold, with init
      accumulates values
      accumulates values
      preserves initial type
      preserves initial type
      empty iterator returns only initial value
      empty iterator returns only initial value
    prefix sums
      returns prefix sums
      returns prefix sums
      empty iterator stops immediately
      empty iterator stops immediately
  each_slice
    gets all the slices of the size n
    gets all the slices of the size n
    returns each_slice iterator with reuse = true
    returns each_slice iterator with reuse = true
    returns each_slice iterator with reuse = array
    returns each_slice iterator with reuse = array
    also works if it does not add up
    also works if it does not add up
  cycle
    does not cycle provided 0
    does not cycle provided 0
    does not cycle provided a negative size
    does not cycle provided a negative size
    does cycle from range
    does cycle from range
    cycles N times
    cycles N times
    cycles an empty array
    cycles an empty array
  slice
    slices
    slices
    doesnt conflict with `::Slice` type
    doesnt conflict with `::Slice` type
  skip_while
    does skip_while with an array
    does skip_while with an array
    can skip everything
    can skip everything
    only calls the block as much as needed
    only calls the block as much as needed
    returns the full array if the condition is false for the first item
    returns the full array if the condition is false for the first item
  chain
    chains
    chains
    does not experience tuple upcase bug of #13411
    does not experience tuple upcase bug of #13411
    chain indeterminate number of iterators
      chains all together
      chains all together
      chains iterators of different type
      chains iterators of different type
      chains array of empty
      chains array of empty
      rewinds
      rewinds
      chains empty
      chains empty
  #flat_map
    flattens returned values of mixed element types in #to_a
    flattens returned values of mixed element types in #to_a
    flattens returned arrays
    flattens returned arrays
    flattens returned iterators
    flattens returned iterators
    flattens returned values
    flattens returned values
    flattens returned items
    flattens returned items
  first
    does first with more than available
    does first with more than available
    is cool to first 0 elements
    is cool to first 0 elements
    does first with Range iterator
    does first with Range iterator
    raises ArgumentError if negative size is provided
    raises ArgumentError if negative size is provided
  zip
    does skip with Range iterator
    does skip with Range iterator
    takes multiple Iterators
    takes multiple Iterators
  reject
    does with type
    does with type
    does reject with Range iterator
    does reject with Range iterator
    does with pattern
    does with pattern
  in_groups_of
    creates a group of two with reuse = true
    creates a group of two with reuse = true
    raises argument error if size is less than 0
    raises argument error if size is less than 0
    fills up with the fill up argument
    fills up with the fill up argument
    creates groups of one
    creates groups of one
    still works with other iterator methods like to_a
    still works with other iterator methods like to_a
    creates a group of two
    creates a group of two
  each
    yields the individual elements to the block
    yields the individual elements to the block
  select
    does select with Range iterator
    does select with Range iterator
    does with pattern
    does with pattern
    does with type
    does with type
  #cons_pair
    conses
    conses
    doesn't include stop in return type
    doesn't include stop in return type
Log::BroadcastBackend
  overwriting log level overwrites to all backends
  overwriting log level overwrites to all backends
  writes to the backend based on level
  writes to the backend based on level
  #min_level
    single backend
    single backend
    multiple backends
    multiple backends
    on empty
    on empty
YAML serialization
  to_yaml
    does for Float64
    does for Float64
    does for time at date
    does for time at date
    does for Path
    does for Path
    does for Float32
    does for Float32
    does for Nil (empty string)
    does for Nil (empty string)
    does for Array
    does for Array
    does for Float64 (nan)
    does for Float64 (nan)
    does for bytes
    does for bytes
    does for Nil
    does for Nil
    does for Tuple
    does for Tuple
    does for Float32 (infinity)
    does for Float32 (infinity)
    does a full document
    does a full document
    does for Float32 (-infinity)
    does for Float32 (-infinity)
    does for BigInt
    does for BigInt
    does for String with stars (#3353)
    does for String with stars (#3353)
    does for String with unicode characters (#8131)
    does for String with unicode characters (#8131)
    does for Float64 (-infinity)
    does for Float64 (-infinity)
    serializes recursive data structures
    serializes recursive data structures
    does for String with slash
    does for String with slash
    does for Int32
    does for Int32
    does for Float32 (nan)
    does for Float32 (nan)
    does for Hash
    does for Hash
    does for BigFloat
    does for BigFloat
    does for Set
    does for Set
    quotes string if reserved
    quotes string if reserved
    Enum
      flag enum
      flag enum
      normal enum
      normal enum
    does for utc time with nanoseconds
    does for utc time with nanoseconds
    does for Hash with symbol keys
    does for Hash with symbol keys
    Enum::ValueConverter
      flag enum
      flag enum
      normal enum
      normal enum
    does for BigDecimal
    does for BigDecimal
    does for Float64 (infinity)
    does for Float64 (infinity)
    writes to a stream
    writes to a stream
    does for Bool
    does for Bool
    does for NamedTuple
    does for NamedTuple
    does for String with quote
    does for String with quote
    does for String
    does for String
    does for utc time
    does for utc time
  from_yaml
    does for BigInt
    does for BigInt
    does Hash#from_yaml with merge
    does Hash#from_yaml with merge
    does for empty tuple
    does for empty tuple
    Enum
      normal enum
      normal enum
      flag enum
      flag enum
    does Hash#from_yaml
    does Hash#from_yaml
    does Array#from_yaml
    does Array#from_yaml
    raises if Int16.from_yaml overflows
    raises if Int16.from_yaml overflows
    does Time::Format#from_yaml
    does Time::Format#from_yaml
    does for tuple with file-private type
    does for tuple with file-private type
    Enum::ValueConverter.from_yaml
      flag enum
      flag enum
      normal enum
      normal enum
    does UInt32.from_yaml
    does UInt32.from_yaml
    does Set#from_yaml
    does Set#from_yaml
    raises if UInt32.from_yaml overflows
    raises if UInt32.from_yaml overflows
    does Int.from_yaml with underscores
    does Int.from_yaml with underscores
    does for named tuple with nilable fields and null (#8089)
    does for named tuple with nilable fields and null (#8089)
    does Float64#from_yaml
    does Float64#from_yaml
    does Int8.from_yaml
    does Int8.from_yaml
    raises if Int32.from_yaml overflows
    raises if Int32.from_yaml overflows
    does Int.from_yaml with prefixes
    does Int.from_yaml with prefixes
    raises if Int64.from_yaml overflows
    raises if Int64.from_yaml overflows
    does Int64.from_yaml
    does Int64.from_yaml
    does for named tuple with spaces in key (#10918)
    does for named tuple with spaces in key (#10918)
    does Int128.from_yaml
    does Int128.from_yaml
    does for BigDecimal
    does for BigDecimal
    does for named tuple with file-private type
    does for named tuple with file-private type
    does Int16.from_yaml
    does Int16.from_yaml
    does for named tuple with spaces in key and quote char (#10918)
    does for named tuple with spaces in key and quote char (#10918)
    deserializes bytes
    deserializes bytes
    deserializes union with nil, string and int (#7936)
    deserializes union with nil, string and int (#7936)
    raises if Int128.from_yaml overflows
    raises if Int128.from_yaml overflows
    can parse string that looks like a number
    can parse string that looks like a number
    does Array#from_yaml from IO
    does Array#from_yaml from IO
    does UInt16.from_yaml
    does UInt16.from_yaml
    does UInt64.from_yaml
    does UInt64.from_yaml
    does Path.from_yaml
    does Path.from_yaml
    raises if UInt16.from_yaml overflows
    raises if UInt16.from_yaml overflows
    raises if UInt128.from_yaml overflows
    raises if UInt128.from_yaml overflows
    raises if UInt64.from_yaml overflows
    raises if UInt64.from_yaml overflows
    raises if Int8.from_yaml overflows
    raises if Int8.from_yaml overflows
    does Bool#from_yaml
    does Bool#from_yaml
    does UInt8.from_yaml
    does UInt8.from_yaml
    parse exceptions
      has correct location when raises in Union#from_yaml
      has correct location when raises in Union#from_yaml
      has correct location when raises in Nil#from_yaml
      has correct location when raises in Nil#from_yaml
      has correct location when raises in Int32#from_yaml
      has correct location when raises in Int32#from_yaml
      has correct location when raises in NamedTuple#from_yaml
      has correct location when raises in NamedTuple#from_yaml
    does Float32#from_yaml
    does Float32#from_yaml
    does UInt128.from_yaml
    does UInt128.from_yaml
    does for BigFloat
    does for BigFloat
    does for named tuple
    does for named tuple
    does Array#from_yaml with block
    does Array#from_yaml with block
    does for tuple
    does for tuple
    does Nil#from_yaml
    does Nil#from_yaml
    does Hash#from_yaml with merge (recursive)
    does Hash#from_yaml with merge (recursive)
    does String#from_yaml
    does String#from_yaml
    raises if UInt8.from_yaml overflows
    raises if UInt8.from_yaml overflows
    does for named tuple with nilable fields (#8089)
    does for named tuple with nilable fields (#8089)
    does for empty named tuple
    does for empty named tuple
    does Int32.from_yaml
    does Int32.from_yaml
    does String#from_yaml (empty string)
    does String#from_yaml (empty string)
    deserializes time
    deserializes time
TCPServer
  accept
    sets close on exec flag
    sets close on exec flag
  settings
  settings
  .new
    using IPv6
      listens on local address
      listens on local address
      binds to port 0
      binds to port 0
      reuse_port
        raises when not binding with reuse_port
        raises when not binding with reuse_port
        raises when port is not ready to be reused
        raises when port is not ready to be reused
        raises when port is in use
        raises when port is in use
        binds to used port with reuse_port = true
        binds to used port with reuse_port = true
      raises when port is negative
      raises when port is negative
    address resolution
      raises (rather than segfault on darwin) when host doesn't exist and port is 0
      raises (rather than segfault on darwin) when host doesn't exist and port is 0
      raises when host doesn't exist
      raises when host doesn't exist
      binds to localhost
      binds to localhost
    binds to all interfaces
    binds to all interfaces
    using IPv4
      reuse_port
        binds to used port with reuse_port = true
        binds to used port with reuse_port = true
        raises when not binding with reuse_port
        raises when not binding with reuse_port
        raises when port is in use
        raises when port is in use
        raises when port is not ready to be reused
        raises when port is not ready to be reused
      listens on local address
      listens on local address
      binds to port 0
      binds to port 0
      raises when port is negative
      raises when port is negative
Subtle
  compares constant time bytes bug
  compares constant time bytes bug
  compares constant time and slices strings
  compares constant time and slices strings
  compares constant time bytes on equality
  compares constant time bytes on equality
  compares constant times
  compares constant times
String
  #grapheme_size
  #grapheme_size
  #graphemes
  #graphemes
  #each_grapheme
    string.dump yielding
    string.dump yielding
    string.dump yielding
    string.dump yielding
    string.dump yielding
    string.dump yielding
    string.dump yielding
    string.dump yielding
    string.dump iterator
    string.dump iterator
    string.dump iterator
    string.dump iterator
    string.dump iterator
    string.dump iterator
    string.dump iterator
    string.dump iterator
    string.dump iterator
    string.dump iterator
    string.dump iterator
    string.dump iterator
    string.dump iterator
    string.dump iterator
    string.dump yielding
    string.dump yielding
    string.dump yielding
    string.dump yielding
    string.dump iterator
    string.dump iterator
    string.dump iterator
    string.dump iterator
    string.dump iterator
    string.dump iterator
    string.dump yielding
    string.dump yielding
    string.dump iterator
    string.dump iterator
    string.dump yielding
    string.dump yielding
    string.dump yielding
    string.dump yielding
    string.dump yielding
    string.dump yielding
    string.dump yielding
    string.dump yielding
    string.dump iterator
    string.dump iterator
    string.dump iterator
    string.dump iterator
    string.dump iterator
    string.dump iterator
    string.dump yielding
    string.dump yielding
    string.dump yielding
    string.dump yielding
    string.dump iterator
    string.dump iterator
    string.dump yielding
    string.dump yielding
    string.dump iterator
    string.dump iterator
    string.dump yielding
    string.dump yielding
    string.dump iterator
    string.dump iterator
    string.dump yielding
    string.dump yielding
    string.dump iterator
    string.dump iterator
    string.dump yielding
    string.dump yielding
    string.dump yielding
    string.dump yielding
    string.dump yielding
    string.dump yielding
    string.dump yielding
    string.dump yielding
    string.dump iterator
    string.dump iterator
    string.dump yielding
    string.dump yielding
    string.dump iterator
    string.dump iterator
    string.dump iterator
    string.dump iterator
LLVM::ABI::X86
  size
    for packed struct
    for packed struct
    for array
    for array
    for double
    for double
    for pointer
    for pointer
    for integer
    for integer
    for struct
    for struct
    for float
    for float
  align
    for float
    for float
    for double
    for double
    for packed struct
    for packed struct
    for integer
    for integer
    for pointer
    for pointer
    for array
    for array
    for struct
    for struct
  abi_info
    does with structs less than 64 bits
    does with structs less than 64 bits
    does with primitives
    does with primitives
    does with structs between 64 and 128 bits
    does with structs between 64 and 128 bits
    does with structs between 64 and 128 bits
    does with structs between 64 and 128 bits
JSON::Lexer
  lexes "\uD800\uDC00" from String
  lexes "\uD800\uDC00" from String
  lexes "hello\rworld" from IO
  lexes "hello\rworld" from IO
  lexes "\uDBFF\uDFFF" from String
  lexes "\uDBFF\uDFFF" from String
  lexes "hello\nworld" from IO
  lexes "hello\nworld" from IO
  lexes  from IO
  lexes  from IO
  lexes 1e+12 from String
  lexes 1e+12 from String
  lexes 1e2 from String
  lexes 1e2 from String
  lexes { from string
  lexes { from string
  lexes "\u201chello world\u201d" from IO
  lexes "\u201chello world\u201d" from IO
  lexes 1234 from IO
  lexes 1234 from IO
  lexes 6000000000000000000.0 from String
  lexes 6000000000000000000.0 from String
  lexes [ from string
  lexes [ from string
  lexes 1.2e-3 from IO
  lexes 1.2e-3 from IO
  lexes "hello" from IO
  lexes "hello" from IO
  lexes null from string
  lexes null from string
  lexes : from string
  lexes : from string
  lexes } from string
  lexes } from string
  lexes 9876543212345678987654321e20 from String
  lexes 9876543212345678987654321e20 from String
  lexes 1e+12 from IO
  lexes 1e+12 from IO
  lexes "hello\/world" from IO
  lexes "hello\/world" from IO
  lexes } from IO
  lexes } from IO
  lexes "\uDBFF\uDFFF" from IO
  lexes "\uDBFF\uDFFF" from IO
  lexes "hello\\world" from IO
  lexes "hello\\world" from IO
  lexes "\uD800\uDC00" from IO
  lexes "\uD800\uDC00" from IO
  errors if lexing "\uD800\u0020" from IO
  errors if lexing "\uD800\u0020" from IO
  lexes  
	
 : from string
  lexes  
	
 : from string
  lexes 1E2 from String
  lexes 1E2 from String
  lexes -1.23 from String
  lexes -1.23 from String
  lexes "hello\"world" from String
  lexes "hello\"world" from String
  lexes 9.91343313498688 from IO
  lexes 9.91343313498688 from IO
  lexes -1 from IO
  lexes -1 from IO
  lexes 0E1 from String
  lexes 0E1 from String
  lexes , from IO
  lexes , from IO
  lexes false from IO
  lexes false from IO
  lexes "hello\rworld" from String
  lexes "hello\rworld" from String
  lexes 1 from IO
  lexes 1 from IO
  errors if lexing "\uD800\u0020" from String
  errors if lexing "\uD800\u0020" from String
  lexes ] from string
  lexes ] from string
  lexes "hello\bworld" from IO
  lexes "hello\bworld" from IO
  lexes 9000000000000000000.0 from IO
  lexes 9000000000000000000.0 from IO
  lexes ] from IO
  lexes ] from IO
  lexes 1000000000000000000.0 from IO
  lexes 1000000000000000000.0 from IO
  lexes 1 from String
  lexes 1 from String
  lexes { from IO
  lexes { from IO
  lexes 6000000000000000000.0 from IO
  lexes 6000000000000000000.0 from IO
  lexes 0 from String
  lexes 0 from String
  lexes "\uD834\uDD1E" from IO
  lexes "\uD834\uDD1E" from IO
  errors if lexing "\uDC00" from String
  errors if lexing "\uDC00" from String
  lexes 9.91343313498688 from String
  lexes 9.91343313498688 from String
  lexes : from IO
  lexes : from IO
  lexes 0e+12 from IO
  lexes 0e+12 from IO
  lexes 0e-12 from IO
  lexes 0e-12 from IO
  lexes 0E1 from IO
  lexes 0E1 from IO
  lexes , from string
  lexes , from string
  lexes -1.23e4 from String
  lexes -1.23e4 from String
  lexes "hello\\world" from String
  lexes "hello\\world" from String
  lexes "hello\tworld" from String
  lexes "hello\tworld" from String
  lexes "hello\/world" from String
  lexes "hello\/world" from String
  lexes -1.23 from IO
  lexes -1.23 from IO
  errors if lexing "\uD800" from String
  errors if lexing "\uD800" from String
  lexes "\uD834\uDD1E" from String
  lexes "\uD834\uDD1E" from String
  errors if lexing "\uD800" from IO
  errors if lexing "\uD800" from IO
  lexes -1 from String
  lexes -1 from String
  lexes false from string
  lexes false from string
  lexes null from IO
  lexes null from IO
  lexes 0.1e1 from IO
  lexes 0.1e1 from IO
  errors if lexing "\uDC00" from IO
  errors if lexing "\uDC00" from IO
  lexes true from IO
  lexes true from IO
  lexes 0e1 from IO
  lexes 0e1 from IO
  lexes  from string
  lexes  from string
  lexes 1E2 from IO
  lexes 1E2 from IO
  lexes 0 from IO
  lexes 0 from IO
  lexes true from string
  lexes true from string
  lexes "hello\fworld" from IO
  lexes "hello\fworld" from IO
  lexes [ from IO
  lexes [ from IO
  lexes 1234.567 from String
  lexes 1234.567 from String
  lexes 0.1e1 from String
  lexes 0.1e1 from String
  lexes "\uD840\uDC00" from IO
  lexes "\uD840\uDC00" from IO
  lexes 1.2e-3 from String
  lexes 1.2e-3 from String
  lexes "\uD840\uDC00" from String
  lexes "\uD840\uDC00" from String
  lexes 1e2 from IO
  lexes 1e2 from IO
  lexes 9876543212345678987654321.0 from String
  lexes 9876543212345678987654321.0 from String
  lexes 9876543212345678987654321.0 from IO
  lexes 9876543212345678987654321.0 from IO
  lexes 1234.567 from IO
  lexes 1234.567 from IO
  lexes 9876543212345678987654321e20 from IO
  lexes 9876543212345678987654321e20 from IO
  lexes 0e-12 from String
  lexes 0e-12 from String
  lexes 1234 from String
  lexes 1234 from String
  lexes 0.123 from IO
  lexes 0.123 from IO
  lexes "hello" from String
  lexes "hello" from String
  lexes 0e+12 from String
  lexes 0e+12 from String
  lexes "hello\"world" from IO
  lexes "hello\"world" from IO
  lexes  
	
 : from IO
  lexes  
	
 : from IO
  lexes 10.100000000000000000000 from IO
  lexes 10.100000000000000000000 from IO
  lexes "hello\bworld" from String
  lexes "hello\bworld" from String
  lexes 10.100000000000000000000 from String
  lexes 10.100000000000000000000 from String
  lexes 0.123 from String
  lexes 0.123 from String
  lexes "\u201chello world\u201d" from String
  lexes "\u201chello world\u201d" from String
  lexes "hello\tworld" from IO
  lexes "hello\tworld" from IO
  lexes "hello\nworld" from String
  lexes "hello\nworld" from String
  lexes 0e1 from String
  lexes 0e1 from String
  lexes 9000000000000000000.0 from String
  lexes 9000000000000000000.0 from String
  lexes -1.23e4 from String
  lexes -1.23e4 from String
  lexes 1000000000000000000.0 from String
  lexes 1000000000000000000.0 from String
  lexes -1.23e4 from IO
  lexes -1.23e4 from IO
  lexes -1.23e4 from IO
  lexes -1.23e4 from IO
  lexes "hello\fworld" from String
  lexes "hello\fworld" from String
Class
  getter
    uses getter with assignment
    uses getter with assignment
    uses getter with type declaration and default value
    uses getter with type declaration and default value
    defines lazy getter with block
    defines lazy getter with block
    defines lazy getter with block returning false
    defines lazy getter with block returning false
    uses getter with type declaration
    uses getter with type declaration
    uses simple getter
    uses simple getter
  def_hash
    should return same hash for equal property values
    should return same hash for equal property values
    shouldn't return same hash for different property values
    shouldn't return same hash for different property values
  calls #finalize on #clone'd objects
  calls #finalize on #clone'd objects
  .set_crystal_type_id
  .set_crystal_type_id
  delegate
    forwards #{{ op.id }} with multiple parameters and block parameter
    forwards #{{ op.id }} with multiple parameters and block parameter
    forwards #{{ op.id }} with multiple parameters
    forwards #{{ op.id }} with multiple parameters
    forwards #{{ op.id }} with multiple parameters
    forwards #{{ op.id }} with multiple parameters
    forwards #{{ op.id }} with multiple parameters and block parameter
    forwards #{{ op.id }} with multiple parameters and block parameter
    forwards #{{ op.id }} with multiple parameters and block parameter
    forwards #{{ op.id }} with multiple parameters and block parameter
    forwards #{{ op.id }} with multiple parameters and block parameter
    forwards #{{ op.id }} with multiple parameters and block parameter
    forwards #{{ op.id }} with multiple parameters
    forwards #{{ op.id }} with multiple parameters
    delegates []=
    delegates []=
    forwards #{{ op.id }} with multiple parameters and block parameter
    forwards #{{ op.id }} with multiple parameters and block parameter
    forwards #{{ op.id }} with multiple parameters
    forwards #{{ op.id }} with multiple parameters
    forwards #{{ op.id }} with multiple parameters
    forwards #{{ op.id }} with multiple parameters
    forwards #{{ op.id }} with multiple parameters
    forwards #{{ op.id }} with multiple parameters
    delegates
    delegates
    delegates setter
    delegates setter
    forwards #{{ op.id }} with multiple parameters and block parameter
    forwards #{{ op.id }} with multiple parameters and block parameter
  def_equals
    compares by reference
    compares by reference
  property!
    uses property!
    uses property!
    uses property! with type declaration
    uses property! with type declaration
  #not_nil!
    raises NilAssertionError
    raises NilAssertionError
    basic
    basic
    with message
    with message
    does not copy its receiver when it is a value (#13263)
    does not copy its receiver when it is a value (#13263)
    removes Nil type
    removes Nil type
  getter?
    uses getter? with block
    uses getter? with block
    uses getter? with default value
    uses getter? with default value
    uses getter?
    uses getter?
    uses getter? with type declaration and default value
    uses getter? with type declaration and default value
    uses getter? with type declaration
    uses getter? with type declaration
    uses getter? with type declaration and block
    uses getter? with type declaration and block
  applies annotation to lazy property (#9139)
  applies annotation to lazy property (#9139)
  #unsafe_as
  #unsafe_as
  property
    defines lazy property with block returning false
    defines lazy property with block returning false
    uses property with type declaration and default value
    uses property with type declaration and default value
    uses property
    uses property
    uses property with type declaration
    uses property with type declaration
    uses property with default value
    uses property with default value
    defines lazy property with block
    defines lazy property with block
  getter!
    uses getter! with type declaration
    uses getter! with type declaration
    uses getter!
    uses getter!
  #in?
    works with other objects implementing #includes?
    works with other objects implementing #includes?
    works with Enumerable-s
    works with Enumerable-s
    works with splatted arguments
    works with splatted arguments
  setter
    uses setter with type declaration and default value
    uses setter with type declaration and default value
    uses setter
    uses setter
    uses setter with default value
    uses setter with default value
    uses setter with type declaration
    uses setter with type declaration
  property?
    uses property? with block
    uses property? with block
    uses property? with type declaration
    uses property? with type declaration
    uses property?
    uses property?
    uses property? with type declaration and default value
    uses property? with type declaration and default value
    uses property? with type declaration and block
    uses property? with type declaration and block
    uses property? with default value
    uses property? with default value
.from_www_form
  Bool
    any other value
    any other value
    a truthy value
    a truthy value
    a falsey value
    a falsey value
  Union(*T)
    invalid
    invalid
    valid
    valid
  String
    empty value
    empty value
    with missing key
    with missing key
    scalar string
    scalar string
    with alternate casing
    with alternate casing
    with key
    with key
  Enum
    invalid value
    invalid value
    valid value
    valid value
  Nil
    invalid value
    invalid value
    valid values
    valid values
  Array(T)
  Array(T)
  Number
    Float
      valid numbers
      valid numbers
      empty value
      empty value
      with whitespace
      with whitespace
    Int
      empty value
      empty value
      valid numbers
      valid numbers
      with whitespace
      with whitespace
  Time
    valid value
    valid value
    invalid value
    invalid value
Compress::Deflate::Reader
  .open
    yields itself to block
    yields itself to block
  should rewind
  should rewind
  should read byte by byte (#4192)
  should read byte by byte (#4192)
IO::Digest
  calculates digest from multiple reads
  calculates digest from multiple reads
  calculates digest from multiple writes
  calculates digest from multiple writes
  calculates digest from writing a string
  calculates digest from writing a string
  does not calculate digest on write
  does not calculate digest on write
  calculates digest from writing
  calculates digest from writing
  can be created with ongoing digest
  can be created with ongoing digest
  does not calculate digest on read
  does not calculate digest on read
  calculates digest from reading
  calculates digest from reading
MIME::Multipart
  .parse
    parses multipart messages
    parses multipart messages
    parses multipart messages from HTTP client responses
    parses multipart messages from HTTP client responses
  .parse
    parses multipart messages
    parses multipart messages
  .parse_boundary
    parses unquoted boundaries
    parses unquoted boundaries
    parses quoted boundaries
    parses quoted boundaries
Digest::SHA512
  does #hexdigest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  does #hexdigest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  does base64digest for ""
  does base64digest for ""
  does base64digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  does base64digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  does #hexdigest for "a"
  does #hexdigest for "a"
  can't call #final more than once
  can't call #final more than once
  resets
  resets
  resets
  resets
  does digest for ""
  does digest for ""
  does base64digest for "0123456701234567012345670123456701234567012345670123456701234567"
  does base64digest for "0123456701234567012345670123456701234567012345670123456701234567"
  does digest for "abc" in a block
  does digest for "abc" in a block
  does digest for "0123456701234567012345670123456701234567012345670123456701234567" in a block
  does digest for "0123456701234567012345670123456701234567012345670123456701234567" in a block
  does .hexdigest for ""
  does .hexdigest for ""
  does .hexdigest for "The quick brown fox jumps over the lazy dog"
  does .hexdigest for "The quick brown fox jumps over the lazy dog"
  can't call #final more than once
  can't call #final more than once
  #hexdigest can update within a loop from explicit expr (#9483)
  #hexdigest can update within a loop from explicit expr (#9483)
  does digest for "a" in a block
  does digest for "a" in a block
  digest with file content
  digest with file content
  does base64digest for "The quick brown fox jumps over the lazy dog"
  does base64digest for "The quick brown fox jumps over the lazy dog"
  returns the digest_size
  returns the digest_size
  does .hexdigest for "0123456701234567012345670123456701234567012345670123456701234567"
  does .hexdigest for "0123456701234567012345670123456701234567012345670123456701234567"
  does digest for "The quick brown fox jumps over the lazy dog" in a block
  does digest for "The quick brown fox jumps over the lazy dog" in a block
  does base64digest for "fooø"
  does base64digest for "fooø"
  does .hexdigest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  does .hexdigest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  does digest for "" in a block
  does digest for "" in a block
  does base64digest for "abc"
  does base64digest for "abc"
  does digest for "fooø" in a block
  does digest for "fooø" in a block
  resets
  resets
  can't call #final more than once
  can't call #final more than once
  does digest for "a"
  does digest for "a"
  does digest for "0123456701234567012345670123456701234567012345670123456701234567"
  does digest for "0123456701234567012345670123456701234567012345670123456701234567"
  can't call #final more than once
  can't call #final more than once
  does base64digest for "a"
  does base64digest for "a"
  resets
  resets
  does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  does #hexdigest for "The quick brown fox jumps over the lazy dog"
  does #hexdigest for "The quick brown fox jumps over the lazy dog"
  does #hexdigest for "0123456701234567012345670123456701234567012345670123456701234567"
  does #hexdigest for "0123456701234567012345670123456701234567012345670123456701234567"
  does #hexdigest for "fooø"
  does #hexdigest for "fooø"
  can't call #final more than once
  can't call #final more than once
  does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" in a block
  does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" in a block
  resets
  resets
  can't call #final more than once
  can't call #final more than once
  does digest for "abc"
  does digest for "abc"
  can't call #final more than once
  can't call #final more than once
  does #hexdigest for "abc"
  does #hexdigest for "abc"
  #hexdigest can update within a loop by indirect expr (#9483)
  #hexdigest can update within a loop by indirect expr (#9483)
  does .hexdigest for "abc"
  does .hexdigest for "abc"
  context are independent
  context are independent
  does .hexdigest for "fooø"
  does .hexdigest for "fooø"
  resets
  resets
  does digest for "fooø"
  does digest for "fooø"
  does digest for "The quick brown fox jumps over the lazy dog"
  does digest for "The quick brown fox jumps over the lazy dog"
  .dup
    preserves type
    preserves type
    leads to deterministic updates
    leads to deterministic updates
    leads to not sharing state
    leads to not sharing state
    preserves value
    preserves value
  does #hexdigest for ""
  does #hexdigest for ""
  resets
  resets
  does .hexdigest for "a"
  does .hexdigest for "a"
Tuple
  "#reverse_each" yielding
  "#reverse_each" yielding
  "#reverse_each" iterator
  "#reverse_each" iterator
  does clone
  does clone
  does Tuple.new, with type vars
  does Tuple.new, with type vars
  gets first element
  gets first element
  gets last element
  gets last element
  .[] with non-literal index
    gets tuple metaclass element
    gets tuple metaclass element
    raises index out of bounds
    raises index out of bounds
  values_at
    works with mixed types
    works with mixed types
    raises when passed an invalid index
    raises when passed an invalid index
    returns the given indexes
    returns the given indexes
  does reverse
  does reverse
  does map_with_index, with offset
  does map_with_index, with offset
  gets first? element
  gets first? element
  does dup
  does dup
  does <=> with the same beginning and different size
  does <=> with the same beginning and different size
  does comparison
  does comparison
  does compare with different sizes
  does compare with different sizes
  "#each" yielding
  "#each" yielding
  does == with another type
  does == with another type
  .[]? with non-literal index
    gets tuple metaclass element or nil
    gets tuple metaclass element or nil
  #[] with non-literal index
    raises index out of bounds
    raises index out of bounds
    gets tuple element
    gets tuple element
  does at
  does at
  #to_static_array
  #to_static_array
  does ==
  does ==
  does Tuple.new, without type vars
  does Tuple.new, without type vars
  does Tuple.from
  does Tuple.from
  does ===
  does ===
  does to_s
  does to_s
  does map_with_index
  does map_with_index
  does each
  does each
  does Tuple#from
  does Tuple#from
  does map
  does map
  clones empty tuple
  clones empty tuple
  checks empty?
  checks empty?
  does types
  does types
  does <=> for equality
  does <=> for equality
  does to_a
  does to_a
  does == with different types but same size
  does == with different types but same size
  #[]? with non-literal index
    gets tuple element or nil
    gets tuple element or nil
  does size
  does size
  gets last? element
  gets last? element
  "#each" iterator
  "#each" iterator
  does compare
  does compare
IO::Memory
  creates from string
  creates from string
  does gets with char and limit
  does gets with char and limit
  can be converted to slice
  can be converted to slice
  creates from slice
  creates from slice
  raises when reading at offset outside of bounds
  raises when reading at offset outside of bounds
  raises if clearing when closed
  raises if clearing when closed
  does gets with limit
  does gets with limit
  encoding
    decode
      gets with chomp = false
      gets with chomp = false
      gets
      gets
      gets_to_end
      gets_to_end
      reads char
      reads char
  allocates for > 1 GB
  allocates for > 1 GB
  raises if seek set is negative
  raises if seek set is negative
  has a size
  has a size
  raises if seek current leads to negative value
  raises if seek current leads to negative value
  can seek past the end
  can seek past the end
  can seek set
  can seek set
  raises if capacity too big
  raises if capacity too big
  reads byte
  reads byte
  can seek current
  can seek current
  writes past end
  writes past end
  writes past end with write_byte
  writes past end with write_byte
  can tell
  can tell
  skips
  skips
  reads more than available (#1229)
  reads more than available (#1229)
  consumes with getb_to_end
  consumes with getb_to_end
  write raises EOFError
  write raises EOFError
  #to_s
    appends to another buffer
    appends to another buffer
    appends to itself
    appends to itself
    encoding
      returns String
      returns String
      writes to IO
      writes to IO
  writes and reads
  writes and reads
  peeks
  peeks
  skips_to_end
  skips_to_end
  raises if negative capacity
  raises if negative capacity
  raises if invoking gets with negative limit
  raises if invoking gets with negative limit
  reads at offset
  reads at offset
  writes after reading
  writes after reading
  gets with char as delimiter
  gets with char as delimiter
  write single byte
  write single byte
  writes big
  writes big
  creates from slice, non-writeable
  creates from slice, non-writeable
  reads single line content
  reads single line content
  seeks with pos and pos=
  seeks with pos and pos=
  reads each line with chomp = false
  reads each line with chomp = false
  clears
  clears
  can seek from the end
  can seek from the end
  reads each line
  reads each line
  writes
  writes
  does gets with char and limit without off-by-one
  does gets with char and limit without off-by-one
  can be closed
  can be closed
  raises if reading when closed
  raises if reading when closed
  peek readonly
  peek readonly
  consumes with gets_to_end
  consumes with gets_to_end
  creates from read-only slice
  creates from read-only slice
IO::Stapled
  #peek delegates to reader
  #peek delegates to reader
  .pipe
    creates a bidirectional pipe
    creates a bidirectional pipe
    with block creates a bidirectional pipe
    with block creates a bidirectional pipe
  #sync_close?
  #sync_close?
  #skip_to_end delegates to reader
  #skip_to_end delegates to reader
  #close
    does not close underlying IOs
    does not close underlying IOs
    stops access to underlying IOs
    stops access to underlying IOs
    closes underlying IOs when sync_close is true
    closes underlying IOs when sync_close is true
  combines two IOs
  combines two IOs
  loops back
  loops back
  #skip delegates to reader
  #skip delegates to reader
Digest::SHA1
  does digest for "0123456701234567012345670123456701234567012345670123456701234567"
  does digest for "0123456701234567012345670123456701234567012345670123456701234567"
  does digest for "" in a block
  does digest for "" in a block
  resets
  resets
  resets
  resets
  does digest for ""
  does digest for ""
  does digest for "The quick brown fox jumps over the lazy dog" in a block
  does digest for "The quick brown fox jumps over the lazy dog" in a block
  #hexdigest can update within a loop from explicit expr (#9483)
  #hexdigest can update within a loop from explicit expr (#9483)
  does digest for "abc" in a block
  does digest for "abc" in a block
  does base64digest for "0123456701234567012345670123456701234567012345670123456701234567"
  does base64digest for "0123456701234567012345670123456701234567012345670123456701234567"
  does base64digest for "The quick brown fox jumps over the lazy dog"
  does base64digest for "The quick brown fox jumps over the lazy dog"
  does base64digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  does base64digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  does digest for "0123456701234567012345670123456701234567012345670123456701234567" in a block
  does digest for "0123456701234567012345670123456701234567012345670123456701234567" in a block
  can't call #final more than once
  can't call #final more than once
  does base64digest for "a"
  does base64digest for "a"
  does digest for "abc"
  does digest for "abc"
  #hexdigest can update within a loop by indirect expr (#9483)
  #hexdigest can update within a loop by indirect expr (#9483)
  does base64digest for "abc"
  does base64digest for "abc"
  does digest for "The quick brown fox jumps over the lazy dog"
  does digest for "The quick brown fox jumps over the lazy dog"
  does digest for "a"
  does digest for "a"
  context are independent
  context are independent
  does hexdigest for "abc"
  does hexdigest for "abc"
  returns the digest_size
  returns the digest_size
  can't call #final more than once
  can't call #final more than once
  can't call #final more than once
  can't call #final more than once
  does digest for "fooø"
  does digest for "fooø"
  resets
  resets
  can't call #final more than once
  can't call #final more than once
  .dup
    preserves value
    preserves value
    preserves type
    preserves type
    leads to deterministic updates
    leads to deterministic updates
    leads to not sharing state
    leads to not sharing state
  resets
  resets
  does hexdigest for "fooø"
  does hexdigest for "fooø"
  does hexdigest for "a"
  does hexdigest for "a"
  digest with file content
  digest with file content
  resets
  resets
  does hexdigest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  does hexdigest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  resets
  resets
  does digest for "a" in a block
  does digest for "a" in a block
  does hexdigest for "The quick brown fox jumps over the lazy dog"
  does hexdigest for "The quick brown fox jumps over the lazy dog"
  does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  does digest for "fooø" in a block
  does digest for "fooø" in a block
  does hexdigest for ""
  does hexdigest for ""
  can't call #final more than once
  can't call #final more than once
  does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" in a block
  does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" in a block
  can't call #final more than once
  can't call #final more than once
  resets
  resets
  does base64digest for "fooø"
  does base64digest for "fooø"
  does hexdigest for "0123456701234567012345670123456701234567012345670123456701234567"
  does hexdigest for "0123456701234567012345670123456701234567012345670123456701234567"
  does base64digest for ""
  does base64digest for ""
  can't call #final more than once
  can't call #final more than once
StaticArray
  reverse
  reverse
  allows using negative indices
  allows using negative indices
  #fill
    replaces values in a subrange
    replaces values in a subrange
  does map!
  does map!
  does to_s
  does to_s
  updates value
  updates value
  shuffles with a seed
  shuffles with a seed
  does map_with_index, with offset
  does map_with_index, with offset
  creates with new
  creates with new
  <=>
    correctly compares two static arrays
    correctly compares two static arrays
  rotate!
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  does map_with_index
  does map_with_index
  ==
    compares empty
    compares empty
    compares other
    compares other
    compares elements
    compares elements
  creates with new and value
  creates with new and value
  raises index out of bounds on write
  raises index out of bounds on write
  unstable_sort_by
    sorts by
    sorts by
  "#each" yielding
  "#each" yielding
  #unstable_sort!
    sort! with a block
    sort! with a block
    sort! without block
    sort! without block
  raises index out of bounds on read
  raises index out of bounds on read
  clones
  clones
  creates with new and block
  creates with new and block
  does map_with_index!, with offset
  does map_with_index!, with offset
  "#each_index" yielding
  "#each_index" yielding
  #unstable_sort
    sort without block
    sort without block
    sort with a block
    sort with a block
  values_at
    returns the given indexes
    returns the given indexes
    raises when passed an invalid index
    raises when passed an invalid index
  does map_with_index!
  does map_with_index!
  "#each" iterator
  "#each" iterator
  #sort
    sort with a block
    sort with a block
    sort without block
    sort without block
  "#each_index" iterator
  "#each_index" iterator
  sort_by
    sorts by
    sorts by
  "#reverse_each" iterator
  "#reverse_each" iterator
  shuffles
  shuffles
  does map
  does map
  unstable_sort_by!
    calls given block exactly once for each element
    calls given block exactly once for each element
    sorts by!
    sorts by!
  sort_by!
    calls given block exactly once for each element
    calls given block exactly once for each element
    sorts by!
    sorts by!
  "#reverse_each" yielding
  "#reverse_each" yielding
  #sort!
    sort! without block
    sort! without block
    sort! with a block
    sort! with a block
String
  .char_bytesize_at
  .char_bytesize_at
YAML::Nodes::Builder
  #alias
    as a scalar value
      writes correctly
      writes correctly
    within a mapping
      writes correctly
      writes correctly
  #merge
    within a mapping
      writes correctly
      writes correctly
Benchmark::IPS::Job
  works in general / integration test
  works in general / integration test
Errno
  .value
  .value
  #message
  #message
Reference
  clones with def_clone (recursive type)
  clones with def_clone (recursive type)
  can dup class that inherits abstract class
  can dup class that inherits abstract class
  should be false when negated
  should be false when negated
  should not be nil
  should not be nil
  does inspect
  does inspect
  does inspect for class
  does inspect for class
  clones with def_clone
  clones with def_clone
  pretty_print
  pretty_print
  calls #finalize on #dup'ed objects
  calls #finalize on #dup'ed objects
  does to_s for class if virtual
  does to_s for class if virtual
  dups
  dups
  compares reference to other reference
  compares reference to other reference
  returns itself
  returns itself
  does to_s for class
  does to_s for class
  does to_s
  does to_s
HTTP::WebSocketHandler
  returns not found if the request is not an websocket upgrade
  returns not found if the request is not an websocket upgrade
  gives upgrade response for websocket upgrade request with 'keep-alive, Upgrade' request
  gives upgrade response for websocket upgrade request with 'keep-alive, Upgrade' request
  returns upgrade required if Sec-WebSocket-Version is invalid
  returns upgrade required if Sec-WebSocket-Version is invalid
  returns bad request if Sec-WebSocket-Key is missing
  returns bad request if Sec-WebSocket-Key is missing
  returns not found if the request Upgrade is invalid
  returns not found if the request Upgrade is invalid
  gives upgrade response for case-insensitive 'WebSocket' upgrade request
  gives upgrade response for case-insensitive 'WebSocket' upgrade request
  returns upgrade required if Sec-WebSocket-Version is missing
  returns upgrade required if Sec-WebSocket-Version is missing
  gives upgrade response for websocket upgrade request with 'Upgrade' request
  gives upgrade response for websocket upgrade request with 'Upgrade' request
Spec::RootContext
  #run_filters
    by pattern
      on a context
      on a context
      on an example
      on an example
    by anti_tags
      on an example
      on an example
      on a context
      on a context
    by tags
      on a context
      on a context
      on an example
      on an example
    by line
      on a context's end line'
      on a context's end line'
      on an example's start line
      on an example's start line
      on an example's end line
      on an example's end line
      between examples
      between examples
      on a context's start line'
      on a context's start line'
      in an example
      in an example
    by focus
      on a context
      on a context
      on an example
      on an example
    by locations
      between examples
      between examples
      on an example's end line
      on an example's end line
      on a context's end line'
      on a context's end line'
      on an example's start line
      on an example's start line
      in an example
      in an example
      on a context's start line'
      on a context's start line'
Mutex
  unchecked
    can lock and unlock from multiple fibers
    can lock and unlock from multiple fibers
  locks and unlocks
  locks and unlocks
  reentrant
    can be locked many times from the same fiber
    can be locked many times from the same fiber
    can't be unlocked by another fiber
    can't be unlocked by another fiber
    raises if unlocks without lock
    raises if unlocks without lock
  works with multiple threads
  works with multiple threads
  checked
    raises if locked recursively
    raises if locked recursively
    raises if unlocks without lock
    raises if unlocks without lock
    can't be unlocked by another fiber
    can't be unlocked by another fiber
Spec matchers
  should work like describe
    is true
    is true
  should be_falsey
    passes for false
    passes for false
    passes for nil
    passes for nil
  pending block is not compiled
    pending has block with valid syntax, but invalid semantics
    pending has block with valid syntax, but invalid semantics
  detects a nesting `pending`
  detects a nesting `pending`
  detects a nesting `it`
  detects a nesting `it`
  should_not contain
    does not pass when string does not includes? specified substring
    does not pass when string does not includes? specified substring
    passes when string does not includes? specified substring
    passes when string does not includes? specified substring
  should_not be_falsey
    passes for true
    passes for true
    passes for some non-nil, non-false value
    passes for some non-nil, non-false value
  should be_truthy
    passes for true
    passes for true
    passes for some non-nil, non-false value
    passes for some non-nil, non-false value
  should contain
    works with array
    works with array
    does not pass when string does not includes? specified substring
    does not pass when string does not includes? specified substring
    passes when string includes? specified substring
    passes when string includes? specified substring
    works with set
    works with set
    works with range
    works with range
  be_nil
    passes for nil
    passes for nil
    does not pass for overwritten `==`
    does not pass for overwritten `==`
  expect_raises
    return exception
    return exception
  should_not be_truthy
    passes for false
    passes for false
    passes for nil
    passes for nil
Array
  find the index by using binary search
  find the index by using binary search
  does map
  does map
  to_s
    does to_s
    does to_s
    does with recursive
    does with recursive
  rejects! with pattern
  rejects! with pattern
  delete
    delete not found
    delete not found
    deletes many
    deletes many
  shuffle
    shuffle!
    shuffle!
    shuffle with random
    shuffle with random
    shuffle
    shuffle
    shuffle! with random
    shuffle! with random
  inspect
    assert
    assert
  does each while modifying array
  does each while modifying array
  does map_with_index, with offset
  does map_with_index, with offset
  "#cycle" yielding
  "#cycle" yielding
  does reverse! with an odd number of elements
  does reverse! with an odd number of elements
  []
    gets on exclusive range
    gets on exclusive range
    gets on range without begin
    gets on range without begin
    raises on index out of bounds with range without end
    raises on index out of bounds with range without end
    gets on positive index
    gets on positive index
    gets on range with start higher than negative end
    gets on range with start higher than negative end
    raises on index out of bounds with start and count
    raises on index out of bounds with start and count
    gets on range without end
    gets on range without end
    gets on range with start higher than end
    gets on range with start higher than end
    gets on exclusive range with negative indices
    gets on exclusive range with negative indices
    gets on inclusive range with negative indices
    gets on inclusive range with negative indices
    gets with start and count exceeding size
    gets with start and count exceeding size
    gets 0, 0 on empty array
    gets 0, 0 on empty array
    raises on negative count
    raises on negative count
    doesn't exceed limits
    doesn't exceed limits
    raises on negative count on empty Array
    raises on negative count on empty Array
    raises on too negative left bound
    raises on too negative left bound
    gets with start and count
    gets with start and count
    gets 0 ... 0 on empty array
    gets 0 ... 0 on empty array
    raises on index out of bounds
    raises on index out of bounds
    raises on index out of bounds with range
    raises on index out of bounds with range
    returns empty if at end
    returns empty if at end
    raises on negative count
    raises on negative count
    gets on inclusive range
    gets on inclusive range
    gets on negative index
    gets on negative index
    gets with negative start
    gets with negative start
  new
    creates with default value
    creates with default value
    raises on negative count
    raises on negative count
    raises on negative capacity
    raises on negative capacity
    creates with default value in block
    creates with default value in block
  rindex
    performs with a block and offset
    performs with a block and offset
    performs with a block
    performs with a block
    performs without a block
    performs without a block
    performs without a block and an offset
    performs without a block and an offset
  find the element by using binary search
  find the element by using binary search
  does reverse with an even number of elements
  does reverse with an even number of elements
  sort
    #sort_by
      stable sort
      stable sort
      sorts
      sorts
      unpacks tuple
      unpacks tuple
    #sort!
      without block
      without block
      stable sort with a block
      stable sort with a block
      stable sort without a block
      stable sort without a block
      with a block
      with a block
    #unstable_sort!
      with a block
      with a block
      without block
      without block
    #sort_by!
      stable sort
      stable sort
      sorts
      sorts
      calls given block exactly once for each element
      calls given block exactly once for each element
    #unstable_sort
      with a block
      with a block
      without block
      without block
    #unstable_sort_by!
      sorts
      sorts
      calls given block exactly once for each element
      calls given block exactly once for each element
    #sort
      without block
      without block
      stable sort without a block
      stable sort without a block
      with a block
      with a block
      stable sort with a block
      stable sort with a block
    #unstable_sort_by
      sorts
      sorts
      unpacks tuple
      unpacks tuple
  doesn't overflow buffer with Array.new(size, value) (#1209)
  doesn't overflow buffer with Array.new(size, value) (#1209)
  does compact_map
  does compact_map
  first
    returns a sub array with given number of elements
    returns a sub array with given number of elements
    gets first when non empty
    gets first when non empty
    raises when empty
    raises when empty
  "#reverse_each" iterator
  "#reverse_each" iterator
  #truncate
    raises on out of bound index
    raises on out of bound index
    truncates with index == size and count
    truncates with index == size and count
    truncates with index and count == 0
    truncates with index and count == 0
    truncates with index and count
    truncates with index and count
    truncates with range
    truncates with range
    raises on negative count
    raises on negative count
    truncates with index and count, not enough elements
    truncates with index and count, not enough elements
    truncates with index < 0 and count
    truncates with index < 0 and count
  does dup
  does dup
  shift
    raises when empty
    raises when empty
    shifts all after pop
    shifts all after pop
    shifts more than what is available
    shifts more than what is available
    shifts all with shift(n)
    shifts all with shift(n)
    pops after shift
    pops after shift
    shifts one and resizes
    shifts one and resizes
    shifts all
    shifts all
    shifts and then concats Enumerable
    shifts and then concats Enumerable
    shifts negative count raises
    shifts negative count raises
    shifts almost all and then avoid resize
    shifts almost all and then avoid resize
    shifts many elements
    shifts many elements
    shifts when non empty
    shifts when non empty
    shifts and then concats Array
    shifts and then concats Array
  does *
  does *
  unshift
    repeated unshift/pop does not exhaust memory (#10748)
    repeated unshift/pop does not exhaust memory (#10748)
    unshifts multiple elements to an empty array
    unshifts multiple elements to an empty array
    unshifts one element
    unshifts one element
    unshift of large array does not corrupt elements
    unshift of large array does not corrupt elements
    unshifts one elements three times
    unshifts one elements three times
    repeated unshift/clear does not exhaust memory
    repeated unshift/clear does not exhaust memory
    unshifts multiple elements
    unshifts multiple elements
    repeated unshift/shift does not exhaust memory
    repeated unshift/shift does not exhaust memory
    unshifts one element multiple times
    unshifts one element multiple times
    unshifts after shift
    unshifts after shift
    unshifts many after many shifts
    unshifts many after many shifts
  []=
    sets on negative index
    sets on negative index
    reuses the buffer if possible
    reuses the buffer if possible
    resizes the buffer if capacity is not enough
    resizes the buffer if capacity is not enough
    replaces a subrange with an array
    replaces a subrange with an array
    replaces entire range with an array for empty array (#8341)
    replaces entire range with an array for empty array (#8341)
    pushes a new value with []=(...)
    pushes a new value with []=(...)
    replaces a subrange with a single value
    replaces a subrange with a single value
    replaces entire range with a value for empty array (#8341)
    replaces entire range with a value for empty array (#8341)
    sets on positive index
    sets on positive index
    optimizes when index is 0
    optimizes when index is 0
    concats a new array with []=(...)
    concats a new array with []=(...)
  uniq
    uniqs with true
    uniqs with true
    uniqs large array
    uniqs large array
    uniqs without block
    uniqs without block
    uniqs with block
    uniqs with block
  insert
    inserts with positive index
    inserts with positive index
    inserts out of range
    inserts out of range
    inserts with negative index (2)
    inserts with negative index (2)
    inserts with negative index
    inserts with negative index
  "#each_index" yielding
  "#each_index" yielding
  does + with empty tuple converted to array (#909)
  does + with empty tuple converted to array (#909)
  pop
    pops negative count raises
    pops negative count raises
    pops when non empty
    pops when non empty
    pops more elements that what is available
    pops more elements that what is available
    raises when empty
    raises when empty
    pops many elements
    pops many elements
  "#cycle" iterator
  "#cycle" iterator
  does compact
  does compact
  zip
    when a block is provided
      works with iterable
      works with iterable
      works with iterator
      works with iterator
      yields pairs of self's elements and passed array
      yields pairs of self's elements and passed array
    when no block is provided
      and the arrays have different typed elements
        works with iterator
        works with iterator
        works with iterable
        works with iterable
        zips three things
        zips three things
        zips union type (#8608)
        zips union type (#8608)
        returns an array of paired elements (tuples)
        returns an array of paired elements (tuples)
  does each_index
  does each_index
  does clone
  does clone
  #fill
    replaces values in a subrange
    replaces values in a subrange
  -
    does with even larger arrays
    does with even larger arrays
    with different types
      small array
      small array
      big array
      big array
    does with larger array coming second
    does with larger array coming second
    does it
    does it
  #replace
    clears unused elements if new size is smaller
    clears unused elements if new size is smaller
    reuses the buffer if possible
    reuses the buffer if possible
    resizes the buffer if capacity is not enough
    resizes the buffer if capacity is not enough
    replaces all elements
    replaces all elements
  uniq!
    uniqs with block
    uniqs with block
    uniqs with true
    uniqs with true
    uniqs without block
    uniqs without block
    uniqs large array
    uniqs large array
  flattens
  flattens
  does compact_map with false
  does compact_map with false
  does clear
  does clear
  rejects!
  rejects!
  does map!
  does map!
  "#each_index" iterator
  "#each_index" iterator
  concat
    concats large arrays
    concats large arrays
    concats enumerable
    concats enumerable
    concats a union of arrays
    concats a union of arrays
    concats indexable
    concats indexable
    concats enumerable to empty array (#2047)
    concats enumerable to empty array (#2047)
    concats small arrays
    concats small arrays
  zip?
    when no block is provided
      and the arrays have different typed elements
        and size of an arg is less than receiver
          works with iterator
          works with iterator
          zips three things
          zips three things
          works with iterable
          works with iterable
          zips union type (#8608)
          zips union type (#8608)
          returns an array of paired elements (tuples with nil)
          returns an array of paired elements (tuples with nil)
    when a block is provided
      and size of an arg is less than receiver
        works with iterator
        works with iterator
        works with iterable
        works with iterable
        yields pairs of self's elements and passed array (with nil)
        yields pairs of self's elements and passed array (with nil)
  |
    small arrays
    small arrays
    large arrays
    large arrays
  does clone with recursive array
  does clone with recursive array
  transpose
    transposes array of tuples
    transposes array of tuples
    transposes empty array
    transposes empty array
    transposes elements
    transposes elements
    transposes union of arrays
    transposes union of arrays
    raises IndexError error when size of element is invalid
    raises IndexError error when size of element is invalid
  does +
  does +
  last
    gets last when non empty
    gets last when non empty
    returns a sub array with given number of elements
    returns a sub array with given number of elements
    raises when empty
    raises when empty
  does product with block
  does product with block
  does hash
  does hash
  empty
    is empty
    is empty
    is not empty
    is not empty
  values_at
    works with mixed types
    works with mixed types
    returns the given indexes
    returns the given indexes
    raises when passed an invalid index
    raises when passed an invalid index
  size
    has size 0
    has size 0
    has size 2
    has size 2
  #skip
  #skip
  Array.product
    with array
    with array
    with splat
    with splat
  []?
    gets with range without beginning
    gets with range without beginning
    gets with start and count
    gets with start and count
    gets with range without end
    gets with range without end
    gets with range
    gets with range
    gets with index
    gets with index
  does update
  does update
  "#reverse_each" yielding
  "#reverse_each" yielding
  rotate
    rotate!
    rotate!
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    rotate
    rotate
    assert
    assert
    assert
    assert
    assert
    assert
  push
    has the << alias
    has the << alias
    pushes multiple elements to an empty array
    pushes multiple elements to an empty array
    pushes multiple elements
    pushes multiple elements
    pushes one element
    pushes one element
  Array.each_product
    2 arrays
    2 arrays
    2 arrays different types
    2 arrays different types
    single array
    single array
    more arrays, reuse = true
    more arrays, reuse = true
    more arrays
    more arrays
    with splat
    with splat
    one empty array
    one empty array
  selects! with pattern
  selects! with pattern
  does product without block
  does product without block
  does map_with_index!
  does map_with_index!
  does <=>
  does <=>
  swap
    swaps but raises out of bounds on left
    swaps but raises out of bounds on left
    swaps with negative indices
    swaps with negative indices
    swaps but raises out of bounds on right
    swaps but raises out of bounds on right
    swaps
    swaps
  does each index while modifying array
  does each index while modifying array
  index
    performs with a block
    performs with a block
    raises if out of bounds
    raises if out of bounds
    performs without a block
    performs without a block
    performs with a block and offset
    performs with a block and offset
    performs without a block and offset
    performs without a block and offset
  capacity re-sizing
    initializes an array capacity to INITIAL_CAPACITY
    initializes an array capacity to INITIAL_CAPACITY
    doubles capacity for arrays smaller than CAPACITY_THRESHOLD
    doubles capacity for arrays smaller than CAPACITY_THRESHOLD
    uses slow growth heuristic for arrays larger than CAPACITY_THRESHOLD
    uses slow growth heuristic for arrays larger than CAPACITY_THRESHOLD
  does map_with_index!, with offset
  does map_with_index!, with offset
  builds from buffer
  builds from buffer
  does reverse! with an even number of elements
  does reverse! with an even number of elements
  insert_all
    inserts with index 0
    inserts with index 0
    inserts with negative index
    inserts with negative index
    inserts when empty
    inserts when empty
    inserts when other is empty
    inserts when other is empty
    inserts indexable
    inserts indexable
    raises with negative index greater than size
    raises with negative index greater than size
    inserts with positive index
    inserts with positive index
    inserts with negative index (2)
    inserts with negative index (2)
    raises with index greater than size
    raises with index greater than size
    inserts with index of #size
    inserts with index of #size
  ==
    compares elements
    compares elements
    compares other
    compares other
    compares empty
    compares empty
  "#cycle(limit)" yielding
  "#cycle(limit)" yielding
  repeated_permutations
    assert
    assert
    assert
    assert
    accepts a block
    accepts a block
    assert
    assert
    assert
    assert
    assert
    assert
    yielding dup of arrays
    yielding dup of arrays
    assert
    assert
    yields with reuse = array
    yields with reuse = array
    yields with reuse = true
    yields with reuse = true
    assert
    assert
    assert
    assert
    assert
    assert
  does map_with_index
  does map_with_index
  does equals? with custom block
  does equals? with custom block
  &
    small arrays
    small arrays
    big arrays
    big arrays
  "#each" iterator
  "#each" iterator
  "#each" yielding
  "#each" yielding
  "#cycle(limit)" iterator
  "#cycle(limit)" iterator
  first?
    gets first? when non empty
    gets first? when non empty
    gives nil when empty
    gives nil when empty
  delete_at
    deletes at beginning is same as shift
    deletes at beginning is same as shift
    deletes with index and count
    deletes with index and count
    deletes positive index
    deletes positive index
    returns empty if at end
    returns empty if at end
    deletes negative index with range
    deletes negative index with range
    deletes use range
    deletes use range
    deletes negative index
    deletes negative index
    deletes out of bounds
    deletes out of bounds
    deletes negative index with range, out of bounds
    deletes negative index with range, out of bounds
  does compact!
  does compact!
  selects!
  selects!
  does reverse with an odd number of elements
  does reverse with an odd number of elements
  does + with different types (#568)
  does + with different types (#568)
OpenSSL::SSL::Server
  .open
  .open
  #accept?
    accepts
    accepts
  don't sync_close
  don't sync_close
  #accept
    doesn't to SSL handshake with start_immediately = false
    doesn't to SSL handshake with start_immediately = false
    accepts and do handshake
    accepts and do handshake
  sync_close
  sync_close
  .new
  .new
  detects SNI hostname
  detects SNI hostname
__mulosi4
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
.__ashrti3
.__ashrti3
OpenSSL::X509::Name
  parse
  parse
  add_entry
  add_entry
HTTP::FormData::Builder
  #field
    converts value to a string
    converts value to a string
  builds valid form-data messages
  builds valid form-data messages
  #content_type
    calculates the content type
    calculates the content type
  #file
    fails after finish
    fails after finish
  #finish
    fails when no body parts
    fails when no body parts
    fails after finish
    fails after finish
System::User
  .find_by(*, id)
    returns a user by id
    returns a user by id
    raises on nonexistent user id
    raises on nonexistent user id
  #id
    is the same as the source ID
    is the same as the source ID
  #home_directory
    calls without raising
    calls without raising
  .find_by?(*, id)
    returns nil on nonexistent user id
    returns nil on nonexistent user id
    returns a user by id
    returns a user by id
  #to_s
    returns a string representation
    returns a string representation
  .find_by(*, name)
    raises on a nonexistent user
    raises on a nonexistent user
    returns a user by name
    returns a user by name
  #name
    calls without raising
    calls without raising
  #shell
    calls without raising
    calls without raising
  #username
    is the same as the source name
    is the same as the source name
  #group_id
    calls without raising
    calls without raising
  .find_by?(*, name)
    returns nil on nonexistent user
    returns nil on nonexistent user
    returns a user by name
    returns a user by name
UUID
  serializes
    #to_yaml
    #to_yaml
    #from_yaml
    #from_yaml
Crypto::Bcrypt::Base64
  decodes
  decodes
  encodes
  encodes
Syscall
  can call into the system successfully
  can call into the system successfully
__fixunsdfti
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
JSON::Parser
  parses false
  parses false
  prevents stack overflow for hashes
  prevents stack overflow for hashes
  parses {}
  parses {}
  raises on parse "hello
world"
  raises on parse "hello
world"
  raises on parse [1 true]
  raises on parse [1 true]
  parses {"foo": 1, "bar": 1.5}
  parses {"foo": 1, "bar": 1.5}
  raises on parse {"foo": 1,}
  raises on parse {"foo": 1,}
  parses []
  parses []
  raises on parse {1}
  raises on parse {1}
  parses [false]
  parses [false]
  raises on parse [1,]
  raises on parse [1,]
  parses [[1]]
  parses [[1]]
  raises on parse {"foo": 1 "bar": 2}
  raises on parse {"foo": 1 "bar": 2}
  parses {"fo\no": 1}
  parses {"fo\no": 1}
  raises on parse 1�
  raises on parse 1�
  raises on parse "\u201cello	world"
  raises on parse "\u201cello	world"
  raises on parse [2.]
  raises on parse [2.]
  raises on parse [0] 1 
  raises on parse [0] 1 
  parses {"foo": 1}
  parses {"foo": 1}
  parses [{"foo": 1}]
  parses [{"foo": 1}]
  parses [null]
  parses [null]
  parses [1]
  parses [1]
  parses ["hello"]
  parses ["hello"]
  parses 1
  parses 1
  parses [true]
  parses [true]
  parses  [ 0 ] 
  parses  [ 0 ] 
  raises on parse [0]1
  raises on parse [0]1
  raises on parse ["\u123z"]
  raises on parse ["\u123z"]
  parses ["日"]
  parses ["日"]
  parses [1, 2, 3]
  parses [1, 2, 3]
  parses 2.5
  parses 2.5
  parses [1.5]
  parses [1.5]
  returns raw
  returns raw
  prevents stack overflow for arrays
  prevents stack overflow for arrays
  raises on parse "{"foo":}
  raises on parse "{"foo":}
  parses "\nПривет, мир!"
  parses "\nПривет, мир!"
  parses true
  parses true
  parses "hello"
  parses "hello"
  parses [0]
  parses [0]
  raises on parse {"foo"1}
  raises on parse {"foo"1}
  parses null
  parses null
  raises on parse "hello	world"
  raises on parse "hello	world"
  raises on parse "\u201cello
world"
  raises on parse "\u201cello
world"
buffered
  cannot send if closed
  cannot send if closed
  can be closed from different fiber
  can be closed from different fiber
  works with select
  works with select
  can be closed after sending
  can be closed after sending
  does inspect on buffered channel
  does inspect on buffered channel
  gets ready with data
  gets ready with data
  pings
  pings
  can send and receive nil
  can send and receive nil
  does pretty_inspect on unbuffered channel
  does pretty_inspect on unbuffered channel
  can be closed
  can be closed
  blocks when full
  blocks when full
  can receive? when closed
  can receive? when closed
  does pretty_inspect on buffered channel
  does pretty_inspect on buffered channel
  does inspect on unbuffered channel
  does inspect on unbuffered channel
  can send successfully without raise
  can send successfully without raise
  doesn't block when not full
  doesn't block when not full
  can receive? when not empty
  can receive? when not empty
.__multi3
.__multi3
__fixunssfti
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
ECR
  does with -% inside string
  does with -% inside string
  does with <% -%>
  does with <% -%>
  builds a crystal program from a source
  builds a crystal program from a source
  does ECR.def_to_s
  does ECR.def_to_s
  does with <%- %> (1)
  does with <%- %> (1)
  does with <%- %> (2)
  does with <%- %> (2)
  does with <%= -%>
  does with <%= -%>
  .render
  .render
  does with <%% %>
  does with <%% %>
colorize
  colorizes foreground with background with mode
  colorizes foreground with background with mode
  colorizes foreground with 8-bit color
  colorizes foreground with 8-bit color
  colorizes with surround and no reset
  colorizes with surround and no reset
  colorizes background with true color
  colorizes background with true color
  colorizes background with 8-bit color
  colorizes background with 8-bit color
  colorizes background
  colorizes background
  colorizes foreground with background
  colorizes foreground with background
  raises on unknown foreground color
  raises on unknown foreground color
  colorizes mode
  colorizes mode
  raises on unknown background color
  raises on unknown background color
  colorizes with to_s
  colorizes with to_s
  colorizes foreground
  colorizes foreground
  inspects
  inspects
  colorizes foreground with symbol
  colorizes foreground with symbol
  colorizes with surround and default
  colorizes with surround and default
  colorizes mode combination
  colorizes mode combination
  colorizes with surround
  colorizes with surround
  colorizes mode with symbol
  colorizes mode with symbol
  toggles off
  toggles off
  colorizes with surround and reset
  colorizes with surround and reset
  colorizes without change
  colorizes without change
  colorizes foreground with true color
  colorizes foreground with true color
  toggles off and on
  toggles off and on
INI
  parse
    from String
      parses sections
      parses sections
      parses key = value
      parses key = value
      fails on malformed declaration
      fails on malformed declaration
      ignores comments
      ignores comments
      ignores whitespaces
      ignores whitespaces
      fails on data after section
      fails on data after section
      fails on malformed section
      fails on malformed section
      parses empty values
      parses empty values
      parses empty section
      parses empty section
      parses a reopened section
      parses a reopened section
    from IO
      parses a file
      parses a file
  build to an INI-formatted output
    builds with no sections
    builds with no sections
    builds from a Hash
    builds from a Hash
    builds an empty section before non-empty sections
    builds an empty section before non-empty sections
    builds with no spaces around `=`
    builds with no spaces around `=`
    builds from a NamedTuple
    builds from a NamedTuple
Random::ISAAC
  generates random numbers as generated official implementation
  generates random numbers as generated official implementation
  different instances generate different numbers (#7976)
  different instances generate different numbers (#7976)
  can be initialized without explicit seed
  can be initialized without explicit seed
ECR::Lexer
  lexes with <%- %>
  lexes with <%- %>
  lexes with <% -%>
  lexes with <% -%>
  lexes with -% inside string
  lexes with -% inside string
  lexes with <%= -%>
  lexes with <%= -%>
  lexes without interpolation
  lexes without interpolation
  lexes with <%% -%> (#14734)
  lexes with <%% -%> (#14734)
  lexes with <% %> and correct location info
  lexes with <% %> and correct location info
  lexes with <%%= %>
  lexes with <%%= %>
  lexes with <%-% %> (#14734)
  lexes with <%-% %> (#14734)
  lexes with <%# %>
  lexes with <%# %>
  lexes with <%= %>
  lexes with <%= %>
  lexes with <%-%= %> (#14734)
  lexes with <%-%= %> (#14734)
  lexes with <% %>
  lexes with <% %>
  lexes with <%# -%>
  lexes with <%# -%>
  lexes with <%% %>
  lexes with <%% %>
Spec::TAPFormatter
  reports failures
  reports failures
  reports mixed results
  reports mixed results
  reports successful results
  reports successful results
  reports errors
  reports errors
  reports pending
  reports pending
Digest::MD5
  #hexdigest can update within a loop from explicit expr (#9483)
  #hexdigest can update within a loop from explicit expr (#9483)
  calculates hash from unicode string
  calculates hash from unicode string
  return the digest size
  return the digest size
  digest with file content
  digest with file content
  calculates hash from string
  calculates hash from string
  #hexdigest can update within a loop by indirect expr (#9483)
  #hexdigest can update within a loop by indirect expr (#9483)
  context are independent
  context are independent
  calculates digest from string
  calculates digest from string
  can't call final twice
  can't call final twice
  can take a block
  can take a block
  #hexfinal
  #hexfinal
  calculates hash from UInt8 slices
  calculates hash from UInt8 slices
  resets
  resets
  calculates hash of #to_slice
  calculates hash of #to_slice
  calculates base64'd hash from string
  calculates base64'd hash from string
  .dup
    preserves value
    preserves value
    preserves type
    preserves type
    leads to not sharing state
    leads to not sharing state
    leads to deterministic updates
    leads to deterministic updates
Slice
  "#reverse_each" yielding
  "#reverse_each" yielding
  does to_s
  does to_s
  .move_to(Slice)
    moves most src.size
    moves most src.size
    handles intersecting ranges
    handles intersecting ranges
    raises if dst is smaller
    raises if dst is smaller
    moves bytes
    moves bytes
  does map
  does map
  .copy_from(Slice)
    copies at most src.size
    copies at most src.size
    raises if dst is smaller
    raises if dst is smaller
    copies bytes
    copies bytes
  "#each_index" iterator
  "#each_index" iterator
  does Bytes[]
  does Bytes[]
  #+(Int)
  #+(Int)
  does map_with_index
  does map_with_index
  .move_from(Slice)
    moves bytes
    moves bytes
    handles intersecting ranges
    handles intersecting ranges
    moves at most src.size
    moves at most src.size
    raises if dst is smaller
    raises if dst is smaller
  #to_unsafe_bytes
    reinterprets a slice's elements as bytes
    reinterprets a slice's elements as bytes
  #hexdump
    works for empty slice
    works for empty slice
    works for Bytes
    works for Bytes
  does [] with start and count
  does [] with start and count
  #clone
    deep copy
    deep copy
    clones primitive
    clones primitive
    clones non-primitive
    clones non-primitive
    buffer copy
    buffer copy
  does rindex
  does rindex
  "#each" yielding
  "#each" yielding
  does []=
  does []=
  does map_with_index, with offset
  does map_with_index, with offset
  raises if size is negative on new
  raises if size is negative on new
  does map_with_index!
  does map_with_index!
  "#each_index" yielding
  "#each_index" yielding
  does to_a
  does to_a
  does macro []
  does macro []
  sort
    #unstable_sort!
      raises if <=> returns nil
      raises if <=> returns nil
      sorts with invalid block (#4379)
      sorts with invalid block (#4379)
      raises if sort! block returns nil
      raises if sort! block returns nil
      without block
      without block
      with a block
      with a block
      can sort! just by using <=> (#6608)
      can sort! just by using <=> (#6608)
    #sort
      without block
      without block
      stable sort with a block
      stable sort with a block
      stable sort without a block
      stable sort without a block
      with a block
      with a block
    #sort_by
      calls given block exactly once for each element
      calls given block exactly once for each element
      stable sort
      stable sort
      sorts
      sorts
    #unstable_sort
      with a block
      with a block
      without block
      without block
    #sort_by
      stable sort
      stable sort
      sorts
      sorts
    #unstable_sort_by
      calls given block exactly once for each element
      calls given block exactly once for each element
      sorts
      sorts
    #unstable_sort_by
      sorts
      sorts
    #sort!
      sorts with invalid block (#4379)
      sorts with invalid block (#4379)
      raises if <=> returns nil
      raises if <=> returns nil
      stable sort without a block
      stable sort without a block
      can sort! just by using <=> (#6608)
      can sort! just by using <=> (#6608)
      without block
      without block
      with a block
      with a block
      stable sort with a block
      stable sort with a block
      raises if sort! block returns nil
      raises if sort! block returns nil
  #+(Slice)
    concatenates two slices
    concatenates two slices
  .additive_identity
    returns an empty slice
    returns an empty slice
  #[]
  #[]
  creates read-only slice
  creates read-only slice
  #[] keeps read-only value
  #[] keeps read-only value
  "#reverse_each" iterator
  "#reverse_each" iterator
  .join
    concatenates an empty indexable of slices
    concatenates an empty indexable of slices
    concatenates an indexable of slices
    concatenates an indexable of slices
    concatenates a slice of slices
    concatenates a slice of slices
  does []
  does []
  does to_s for bytes
  does to_s for bytes
  does bytesize
  does bytesize
  uses percent vars in [] macro (#2954)
  uses percent vars in [] macro (#2954)
  #same?
  #same?
  creates empty slice
  creates empty slice
  does []?
  does []?
  does []? with start and count
  does []? with start and count
  does map!
  does map!
  .copy_to(Slice)
    copies bytes
    copies bytes
    raises if dst is smaller
    raises if dst is smaller
    copies at most src.size
    copies at most src.size
  does copy_to pointer
  does copy_to pointer
  #dup
    don't deep copy
    don't deep copy
    buffer copy
    buffer copy
  does empty?
  does empty?
  does copy_from pointer
  does copy_from pointer
  #hexstring
    works for Bytes
    works for Bytes
  does macro [] with numbers (#3055)
  does macro [] with numbers (#3055)
  does map_with_index!, with offset
  does map_with_index!, with offset
  <=>
    compares
    compares
    compares (UInt8)
    compares (UInt8)
    is comparable
    is comparable
  gets pointer and size
  gets pointer and size
  ==
    does == with same type, different runtime instances
    does == with same type, different runtime instances
    does ==
    does ==
    does == for bytes
    does == for bytes
  does []? with range
  does []? with range
  hashes each item in collection
  hashes each item in collection
  #fill
    replaces values in a subrange
    replaces values in a subrange
    works for bytes
    works for bytes
  reverses
  reverses
  rotate!
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  shuffles
  shuffles
  optimizes hash for Bytes
  optimizes hash for Bytes
  "#each" iterator
  "#each" iterator
  #unsafe_slice_of
    reinterprets a slice's elements
    reinterprets a slice's elements
Crystal::Digest::SHA1
  does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" in a block
  does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" in a block
  resets
  resets
  can't call #final more than once
  can't call #final more than once
  does digest for ""
  does digest for ""
  does base64digest for ""
  does base64digest for ""
  does digest for "0123456701234567012345670123456701234567012345670123456701234567" in a block
  does digest for "0123456701234567012345670123456701234567012345670123456701234567" in a block
  does digest for "a" in a block
  does digest for "a" in a block
  digest with file content
  digest with file content
  does digest for "The quick brown fox jumps over the lazy dog"
  does digest for "The quick brown fox jumps over the lazy dog"
  does base64digest for "a"
  does base64digest for "a"
  can't call #final more than once
  can't call #final more than once
  does base64digest for "The quick brown fox jumps over the lazy dog"
  does base64digest for "The quick brown fox jumps over the lazy dog"
  does digest for "" in a block
  does digest for "" in a block
  can't call #final more than once
  can't call #final more than once
  returns the digest_size
  returns the digest_size
  resets
  resets
  #hexdigest can update within a loop by indirect expr (#9483)
  #hexdigest can update within a loop by indirect expr (#9483)
  .dup
    preserves type
    preserves type
    leads to not sharing state
    leads to not sharing state
    preserves value
    preserves value
    leads to deterministic updates
    leads to deterministic updates
  resets
  resets
  does base64digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  does base64digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  does digest for "0123456701234567012345670123456701234567012345670123456701234567"
  does digest for "0123456701234567012345670123456701234567012345670123456701234567"
  does hexdigest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  does hexdigest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  does digest for "fooø"
  does digest for "fooø"
  does hexdigest for "a"
  does hexdigest for "a"
  can't call #final more than once
  can't call #final more than once
  resets
  resets
  does digest for "The quick brown fox jumps over the lazy dog" in a block
  does digest for "The quick brown fox jumps over the lazy dog" in a block
  does digest for "abc" in a block
  does digest for "abc" in a block
  does digest for "fooø" in a block
  does digest for "fooø" in a block
  resets
  resets
  #hexdigest can update within a loop from explicit expr (#9483)
  #hexdigest can update within a loop from explicit expr (#9483)
  context are independent
  context are independent
  does hexdigest for "fooø"
  does hexdigest for "fooø"
  does base64digest for "fooø"
  does base64digest for "fooø"
  resets
  resets
  resets
  resets
  can't call #final more than once
  can't call #final more than once
  does hexdigest for "The quick brown fox jumps over the lazy dog"
  does hexdigest for "The quick brown fox jumps over the lazy dog"
  can't call #final more than once
  can't call #final more than once
  does base64digest for "abc"
  does base64digest for "abc"
  does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  can't call #final more than once
  can't call #final more than once
  does hexdigest for "0123456701234567012345670123456701234567012345670123456701234567"
  does hexdigest for "0123456701234567012345670123456701234567012345670123456701234567"
  does digest for "a"
  does digest for "a"
  does digest for "abc"
  does digest for "abc"
  does base64digest for "0123456701234567012345670123456701234567012345670123456701234567"
  does base64digest for "0123456701234567012345670123456701234567012345670123456701234567"
  does hexdigest for ""
  does hexdigest for ""
  does hexdigest for "abc"
  does hexdigest for "abc"
HTTP::CompressHandler
  doesn't deflates if doesn't have 'deflate' in Accept-Encoding header
  doesn't deflates if doesn't have 'deflate' in Accept-Encoding header
  doesn't compress twice
  doesn't compress twice
  deflates if has deflate in 'deflate' Accept-Encoding header
  deflates if has deflate in 'deflate' Accept-Encoding header
  don't try to compress upgraded response
  don't try to compress upgraded response
  deflates gzip if has deflate in 'deflate' Accept-Encoding header
  deflates gzip if has deflate in 'deflate' Accept-Encoding header
  don't try to compress for empty body responses
  don't try to compress for empty body responses
  fix content-length header
  fix content-length header
XML::Builder
  writes element with attributes as named tuple, nesting
  writes element with attributes as named tuple, nesting
  #cdata
    writes cdata
    writes cdata
    escapes ]]> sequences
    escapes ]]> sequences
    writes cdata with block
    writes cdata with block
  writes element with prefix
  writes element with prefix
  writes element with attributes as hash
  writes element with attributes as hash
  writes comment
  writes comment
  writes to string
  writes to string
  errors on invalid element names
  errors on invalid element names
  writes DTD
  writes DTD
  writes document
  writes document
  writes element with namespace
  writes element with namespace
  errors on invalid element name with prefix
  errors on invalid element name with prefix
  writes text
  writes text
  writes attribute with namespace
  writes attribute with namespace
  writes namespace
  writes namespace
  sets indent with count
  sets indent with count
  errors on invalid element name with prefix and namespace
  errors on invalid element name with prefix and namespace
  writes element
  writes element
  errors on null byte
  errors on null byte
  writes DTD with block
  writes DTD with block
  writes element with namespace, without block
  writes element with namespace, without block
  writes element with attributes as named tuple
  writes element with attributes as named tuple
  writes element with namespace
  writes element with namespace
  writes comment with block
  writes comment with block
  writes to IO
  writes to IO
  writes element with attributes as hash, nesting
  writes element with attributes as hash, nesting
  sets indent with string
  sets indent with string
  sets quote char
  sets quote char
  writes attribute
  writes attribute
  writes nested element
  writes nested element
OpenSSL::HMAC
  computes SHA256
  computes SHA256
  computes SHA512
  computes SHA512
  computes MD5
  computes MD5
  computes SHA224
  computes SHA224
  computes SHA1
  computes SHA1
  computes SHA384
  computes SHA384
OAuth::Consumer
  gets authorize uri
    with callback url
    with callback url
    without block
    without block
    without callback url
    without callback url
    without custom authorize uri
    without custom authorize uri
    with absolute uri
    with absolute uri
URI::Params
  #==
    compares other
    compares other
    compares other types
    compares other types
  #delete_all
    deletes all values for provided param name and returns them
    deletes all values for provided param name and returns them
  #delete
    deletes first value for provided param name and returns it
    deletes first value for provided param name and returns it
  #[]=(name, value)
    sets value for provided param name
    sets value for provided param name
    adds new name => value pair if there is no such param
    adds new name => value pair if there is no such param
    sets value for provided param name (array)
    sets value for provided param name (array)
  #add(name, value)
    appends new value for provided param name
    appends new value for provided param name
  #has_key?(name)
    return false if param with provided name does not exist
    return false if param with provided name does not exist
    returns true if param with provided name exists
    returns true if param with provided name exists
  #to_s
    serializes params to http form
    serializes params to http form
    turns spaces to + by default
    turns spaces to + by default
    turns spaces to %20 if space_to_plus is false
    turns spaces to %20 if space_to_plus is false
  #[]?(name)
    return nil when there is no such param
    return nil when there is no such param
    returns first value for provided param name
    returns first value for provided param name
  #fetch(name, &block)
    returns first value for provided param name
    returns first value for provided param name
    return default value when there is no such param
    return default value when there is no such param
  #set_all(name, values)
    sets values for provided param name
    sets values for provided param name
  .build
    builds form from {"foo" => [""], "bar" => [""]}
    builds form from {"foo" => [""], "bar" => [""]}
    builds form from {"foo" => [""]}
    builds form from {"foo" => [""]}
    builds form from {"foo" => ["bar"], "baz" => ["qux"]}
    builds form from {"foo" => ["bar"], "baz" => ["qux"]}
    builds form from {"foo" => ["hello+world"]}
    builds form from {"foo" => ["hello+world"]}
    builds form from {"bar" => [""], "foo" => [""]}
    builds form from {"bar" => [""], "foo" => [""]}
    builds form from {"foo" => ["bar", "baz"]}
    builds form from {"foo" => ["bar", "baz"]}
    turns spaces to %20 if wanted
    turns spaces to %20 if wanted
    builds with IO
    builds with IO
    builds form from {"foo" => ["bar"]}
    builds form from {"foo" => ["bar"]}
    builds form from {"foo" => ["hello world"]}
    builds form from {"foo" => ["hello world"]}
  #each
    calls provided proc for each name, value pair, including multiple values per one param name
    calls provided proc for each name, value pair, including multiple values per one param name
  #empty?
    test empty?
    test empty?
  .parse
    parses foo=
    parses foo=
    parses foo=bar&foo=baz
    parses foo=bar&foo=baz
    parses foo=bar
    parses foo=bar
    parses 
    parses 
    parses bar&foo
    parses bar&foo
    parses foo=&bar
    parses foo=&bar
    parses foo=bar;baz=qux
    parses foo=bar;baz=qux
    parses foo=hello+world
    parses foo=hello+world
    parses &&
    parses &&
    parses foo
    parses foo
    parses foo=hello%2Bworld
    parses foo=hello%2Bworld
    parses foo=bar&baz=qux
    parses foo=bar&baz=qux
    parses    
    parses    
    parses foo=bar=qux
    parses foo=bar=qux
  #merge
    appends values with the same key with replace: false
    appends values with the same key with replace: false
    replaces all values with the same key by default
    replaces all values with the same key by default
    does not modify the receiver
    does not modify the receiver
  #merge!
    modifies the receiver
    modifies the receiver
    does not modify the other params
      with replace: true
      with replace: true
      with replace: false
      with replace: false
  #inspect
  #inspect
  #clone
    gives a whole new set of params
    gives a whole new set of params
  .new
    assert
    assert
  #fetch(name, default)
    returns first value for provided param name
    returns first value for provided param name
    return default value when there is no such param
    return default value when there is no such param
  #dup
    gives a whole new set of params
    gives a whole new set of params
  #[](name)
    raises KeyError when there is no such param
    raises KeyError when there is no such param
    returns first value for provided param name
    returns first value for provided param name
  #fetch_all(name)
    fetches list of all values for provided param name
    fetches list of all values for provided param name
  .encode
    builds from hash with IO
    builds from hash with IO
    builds from named tuple with IO
    builds from named tuple with IO
    builds from hash
    builds from hash
    builds from named tuple
    builds from named tuple
Compress::Zip
  writes io
  writes io
  adds a directory
  adds a directory
  writes entry uncompressed
  writes entry uncompressed
  writes entry
  writes entry
  writes file
  writes file
  writes entry uncompressed and reads with Compress::Zip::File
  writes entry uncompressed and reads with Compress::Zip::File
  writes bytes
  writes bytes
  writes string
  writes string
  writes and reads to memory
  writes and reads to memory
StringPool
  puts many
  puts many
  doesn't fail if initial capacity is not a power of 2
  doesn't fail if initial capacity is not a power of 2
  is empty
  is empty
  gets slice
  gets slice
  gets string
  gets string
  doesn't fail if initial capacity is too small
  doesn't fail if initial capacity is too small
  gets string IO
  gets string IO
  gets pointer with size
  gets pointer with size
  can be created with larger initial capacity
  can be created with larger initial capacity
  #get?
  #get?
HTTP::Status
  .new
    returns an instance when given undefined status code
    returns an instance when given undefined status code
    returns an instance when given defined status code
    returns an instance when given defined status code
    raises when given invalid status code
    raises when given invalid status code
  #server_error?
    returns false unless given 5xx status code
    returns false unless given 5xx status code
    returns true when given 5xx status code
    returns true when given 5xx status code
  #description
    returns default description for status 200
    returns default description for status 200
    returns nil on non-existent status
    returns nil on non-existent status
  #code
    returns the status code
    returns the status code
  #redirection?
    returns false unless given 3xx status code
    returns false unless given 3xx status code
    returns true when given 3xx status code
    returns true when given 3xx status code
  #informational?
    returns true when given 1xx status code
    returns true when given 1xx status code
    returns false unless given 1xx status code
    returns false unless given 1xx status code
  #client_error?
    returns true when given 4xx status code
    returns true when given 4xx status code
    returns false unless given 4xx status code
    returns false unless given 4xx status code
  #success?
    returns false unless given 2xx status code
    returns false unless given 2xx status code
    returns true when given 2xx status code
    returns true when given 2xx status code
at_exit
  allows handlers to change the exit code with explicit `exit` call (2)
  allows handlers to change the exit code with explicit `exit` call (2)
  runs handlers on explicit program ending
  runs handlers on explicit program ending
  allows handlers to change the exit code with explicit `exit` call
  allows handlers to change the exit code with explicit `exit` call
  can get unhandled exception in at_exit handler
  can get unhandled exception in at_exit handler
  runs all handlers maximum once
  runs all handlers maximum once
  shows unhandled exceptions after at_exit handlers
  shows unhandled exceptions after at_exit handlers
  runs handlers on normal program ending
  runs handlers on normal program ending
  changes final exit code when an handler raises an error
  changes final exit code when an handler raises an error
  prints unhandled exception with cause
  prints unhandled exception with cause
  allows at_exit inside at_exit
  allows at_exit inside at_exit
  runs handlers in reverse order
  runs handlers in reverse order
__fixdfti
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
Log
  .context
    is per fiber
    is per fiber
    is assignable from a named tuple
    is assignable from a named tuple
    is extended by set
    is extended by set
    can be set and cleared
    can be set and cleared
    existing keys are overwritten by set
    existing keys are overwritten by set
    is assignable from a hash with symbol keys
    is assignable from a hash with symbol keys
  .with_context
    with arguments restores context after the block
    with arguments restores context after the block
    restores context after the block
    restores context after the block
    assigns context via a named tuple
    assigns context via a named tuple
    assigns context via a hash with symbol keys
    assigns context via a hash with symbol keys
  #with_context
    with arguments restores context after the block
    with arguments restores context after the block
    restores context after the block
    restores context after the block
Process
  .chroot
    raises when unprivileged
    raises when unprivileged
  .on_interrupt
    compiles
    compiles
  .pgid
  .pgid
  .fork
    executes the new process with exec
    executes the new process with exec
  #wait
    successful exit code
    successful exit code
    unsuccessful exit code
    unsuccessful exit code
  #signal(Signal::KILL)
    kills many process
    kills many process
    kills a process
    kills a process
  .new
    raises if command doesn't exist
    raises if command doesn't exist
    accepts nilable string for `chdir` (#13767)
    accepts nilable string for `chdir` (#13767)
    raises if command could not be executed
    raises if command could not be executed
    raises if command is not executable
    raises if command is not executable
    raises if command is not executable
    raises if command is not executable
  #terminate
  #terminate
  .on_terminate
    compiles
    compiles
  .run
    sends input in IO
    sends input in IO
    does not execute batch files
      .CmD
      .CmD
      .cmD
      .cmD
      .cmd
      .cmd
      .bat
      .bat
      .BAT
      .BAT
      .Bat
      .Bat
    sets working directory with string
    sets working directory with string
    sends error to IO
    sends error to IO
    environ
      deletes existing environment variable
      deletes existing environment variable
      sets an environment variable
      sets an environment variable
      sets an empty environment variable
      sets an empty environment variable
      overrides existing environment variable
      overrides existing environment variable
      preserves and sets an environment variable
      preserves and sets an environment variable
      preserves existing environment variable
      preserves existing environment variable
      clears and sets an environment variable
      clears and sets an environment variable
      clears the environment
      clears the environment
    disallows passing arguments to nowhere
    disallows passing arguments to nowhere
    sets working directory with path
    sets working directory with path
    runs true in block
    runs true in block
    can link processes together
    can link processes together
    does not run shell code in the argument list
    does not run shell code in the argument list
    sends output to IO
    sends output to IO
    gets output
    gets output
    looks up programs in the $PATH with a shell
    looks up programs in the $PATH with a shell
    allows passing huge argument lists to a shell
    allows passing huge argument lists to a shell
    redirects output to /dev/null
    redirects output to /dev/null
    forwards non-blocking file
    forwards non-blocking file
    forwards closed io
    forwards closed io
    waits for the process
    waits for the process
    controls process in block
    controls process in block
    receives arguments in tuple
    receives arguments in tuple
    closes ios after block
    closes ios after block
    receives arguments in array
    receives arguments in array
  .exists?
  .exists?
  .exec
    redirects STDIN and STDOUT to files
    redirects STDIN and STDOUT to files
    gets error from exec
    gets error from exec
Channel(T)
  does not raise or change its status when it is closed more than once
  does not raise or change its status when it is closed more than once
  send returns channel
  send returns channel
  does send_first
  does send_first
  .non_blocking_select
    mix of receive and receive? multi-channel
      raises if receive channel was close and receive? channel was not ready
      raises if receive channel was close and receive? channel was not ready
      returns nil if receive channel was not ready and receive? channel was closed
      returns nil if receive channel was not ready and receive? channel was closed
    receive nil-on-close single-channel
      returns nil if channel was closed
      returns nil if channel was closed
      types
      types
    send raise-on-close multi-channel
      types
      types
    returns correct index for array argument
    returns correct index for array argument
    timeout
      types
      types
      negative amounts should not trigger timeout
      negative amounts should not trigger timeout
      send raise-on-close raises if channel was closed while waiting
      send raise-on-close raises if channel was closed while waiting
      receive raise-on-close raises if channel was closed while waiting
      receive raise-on-close raises if channel was closed while waiting
      should not trigger timeout
      should not trigger timeout
      receive nil-on-close returns index of closed while waiting
      receive nil-on-close returns index of closed while waiting
    receive raise-on-close single-channel
      types
      types
    send raise-on-close single-channel
      types
      types
    receive raise-on-close multi-channel
      types
      types
  .select
    send raise-on-close multi-channel
      types
      types
    receive raise-on-close single-channel
      types nilable channel
      types nilable channel
      raises if channel was closed
      raises if channel was closed
      raises if channel is closed while waiting
      raises if channel is closed while waiting
      awakes all waiting selects
      awakes all waiting selects
      types
      types
    receive nil-on-close multi-channel
      returns index of closed channel
      returns index of closed channel
      types
      types
    send raise-on-close single-channel
      raises if channel was closed
      raises if channel was closed
      types nilable channel
      types nilable channel
      types
      types
      awakes all waiting selects
      awakes all waiting selects
      raises if channel is closed while waiting
      raises if channel is closed while waiting
    mix of receive and receive? multi-channel
      raises if receive channel was closed and receive? channel was not ready
      raises if receive channel was closed and receive? channel was not ready
      returns nil if receive channel was not ready and receive? channel was closed
      returns nil if receive channel was not ready and receive? channel was closed
    timeout
      receive nil-on-close returns index of closed while waiting
      receive nil-on-close returns index of closed while waiting
      allows receiving while waiting
      allows receiving while waiting
      triggers timeout (reverse order)
      triggers timeout (reverse order)
      triggers timeout
      triggers timeout
      allows receiving while waiting (reverse order)
      allows receiving while waiting (reverse order)
      allows receiving while waiting (same fiber multiple times)
      allows receiving while waiting (same fiber multiple times)
      types
      types
      triggers timeout (same fiber multiple times)
      triggers timeout (same fiber multiple times)
      send raise-on-close raises if channel was closed while waiting
      send raise-on-close raises if channel was closed while waiting
      negative amounts should not trigger timeout
      negative amounts should not trigger timeout
      receive raise-on-close raises if channel was closed while waiting
      receive raise-on-close raises if channel was closed while waiting
    receive raise-on-close multi-channel
      types
      types
    receive nil-on-close single-channel
      returns nil if channel was closed
      returns nil if channel was closed
      types nilable channel
      types nilable channel
      types
      types
      returns nil channel is closed while waiting
      returns nil channel is closed while waiting
      awakes all waiting selects
      awakes all waiting selects
  creates unbuffered with no arguments
  creates unbuffered with no arguments
  does receive_first
  does receive_first
  creates buffered with capacity argument
  creates buffered with capacity argument
Pointer::Appender(T)
  #size
  #size
  #<<
  #<<
  .new
  .new
  #to_slice
  #to_slice
OAuth::Signature
  does twitter sample
  does twitter sample
  key
    gets when token secret is empty
    gets when token secret is empty
    gets when token secret is not empty
    gets when token secret is not empty
  base string
    computes when TLS
    computes when TLS
    computes with port in host
    computes with port in host
    computes without port in host
    computes without port in host
HTTP::Server::RequestProcessor
  handles IO::Error while reading
  handles IO::Error while reading
  reads consecutive requests
    closes connection when Connection: close
    closes connection when Connection: close
    fail if body is not consumed
    fail if body is not consumed
    closes connection when request body is not entirely consumed
    closes connection when request body is not entirely consumed
    continues when request body is entirely consumed
    continues when request body is entirely consumed
    when body is consumed
    when body is consumed
    with empty body
    with empty body
  works
  works
  handles IO::Error while flushing
  handles IO::Error while flushing
  does not bleed Log::Context between requests
  does not bleed Log::Context between requests
  doesn't respond with error when headers were already sent
  doesn't respond with error when headers were already sent
  handles IO::Error while writing
  handles IO::Error while writing
  catches raised error on handler and retains context from handler
  catches raised error on handler and retains context from handler
  flushes output buffer when an error happens and some content was already sent
  flushes output buffer when an error happens and some content was already sent
Fiber
  #resumable?
  #resumable?
HTTP::ChunkedContent
  #read_byte stops reading after final chunk
  #read_byte stops reading after final chunk
  long trailer part
    fails for long single header
    fails for long single header
    fails for long combined headers
    fails for long combined headers
  #peek handles interrupted io
  #peek handles interrupted io
  #read reads empty content
  #read reads empty content
  #peek handles empty data
  #peek handles empty data
  #read_byte reads empty content
  #read_byte reads empty content
  skips (2)
  skips (2)
  #read stops reading after final chunk
  #read stops reading after final chunk
  #read_byte handles interrupted io
  #read_byte handles interrupted io
  #peek stops reading after final chunk
  #peek stops reading after final chunk
  #gets reads multiple chunks
  #gets reads multiple chunks
  #peek reads empty content
  #peek reads empty content
  fails if unterminated chunked trailer part
  fails if unterminated chunked trailer part
  reads chunk extensions
  reads chunk extensions
  skips
  skips
  fails if not properly delimited
  fails if not properly delimited
  skips (3)
  skips (3)
  #read handles interrupted io
  #read handles interrupted io
  #read_byte handles empty data
  #read_byte handles empty data
  #read handles empty data
  #read handles empty data
  reads chunked trailer part
  reads chunked trailer part
  fails if not properly delimited
  fails if not properly delimited
  #gets reads multiple chunks with 

  #gets reads multiple chunks with 

  delays reading the next chunk as soon as one is consumed (#3270)
  delays reading the next chunk as soon as one is consumed (#3270)
  peeks into next chunk
  peeks into next chunk
  handles empty io
  handles empty io
  fails if invalid chunk size
  fails if invalid chunk size
  peeks
  peeks
Atomic::Flag
  #test_and_set
  #test_and_set
  #clear
  #clear
HTTP::Client::Response
  parses response with body without \r
  parses response with body without \r
  parses response without body but Content-Length == 0, block form (#8461)
  parses response without body but Content-Length == 0, block form (#8461)
  handle invalid IO
    unsupported version
    unsupported version
    invalid status
    invalid status
    missing HTTP header
    missing HTTP header
    missing status
    missing status
  parses response without status message
  parses response without status message
  returns content type and charset, removes semicolon
  returns content type and charset, removes semicolon
  sets content length from body
  sets content length from body
  serialize as not chunked with body_io if HTTP/1.0
  serialize as not chunked with body_io if HTTP/1.0
  parses 204 response without body but Content-Length == 0 (#2512)
  parses 204 response without body but Content-Length == 0 (#2512)
  creates Response with status code 204, no body and Content-Length == 0 (#2512)
  creates Response with status code 204, no body and Content-Length == 0 (#2512)
  returns content type and charset, removes semicolon, with multiple parameters (#2520)
  returns content type and charset, removes semicolon, with multiple parameters (#2520)
  returns content type and no charset, other parameter (#2520)
  returns content type and no charset, other parameter (#2520)
  parses response with chunked body of size 0
  parses response with chunked body of size 0
  sets content length even without body
  sets content length even without body
  success?
    returns false for other ranges
    returns false for other ranges
    returns true for the 2xx
    returns true for the 2xx
  deletes Content-Encoding and Content-Length headers after gzip decompression
  deletes Content-Encoding and Content-Length headers after gzip decompression
  parses response with streamed chunked body
  parses response with streamed chunked body
  doesn't sets content length for 1xx, 204 or 304
  doesn't sets content length for 1xx, 204 or 304
  parses long headers
  parses long headers
  parses response without body
  parses response without body
  returns no content_type when header is missing
  returns no content_type when header is missing
  parses long request lines
  parses long request lines
  serialize with body
  serialize with body
  returns content type and charset, removes quotes
  returns content type and charset, removes quotes
  returns content type and no charset
  returns content type and no charset
  serialize as chunked with body_io
  serialize as chunked with body_io
  parses response with chunked body
  parses response with chunked body
  returns status_code
  returns status_code
  parses response with body but without content-length
  parses response with body but without content-length
  raises when creating 1xx, 204 or 304 with body
  raises when creating 1xx, 204 or 304 with body
  parses response with empty body but without content-length
  parses response with empty body but without content-length
  parses response with streamed body, huge content-length
  parses response with streamed body, huge content-length
  parses response with streamed body
  parses response with streamed body
  returns content type as nil when empty (#8398)
  returns content type as nil when empty (#8398)
  parses response with cookies
  parses response with cookies
  serialize with body and cookies
  serialize with body and cookies
  parses response ignoring body
  parses response ignoring body
  parses response with body
  parses response with body
  deletes Content-Encoding and Content-Length headers after deflate decompression
  deletes Content-Encoding and Content-Length headers after deflate decompression
  parses response with duplicated headers
  parses response with duplicated headers
Range
  sum
    called with no block is specialized for performance (BigInt)
    called with no block is specialized for performance (BigInt)
    is equivalent to Enumerable#sum
    is equivalent to Enumerable#sum
    called with no block is specialized for performance
    called with no block is specialized for performance
  map
    works for other types
    works for other types
    optimizes for int range
    optimizes for int range
  initialized with new method
  initialized with new method
  gets basic properties
  gets basic properties
  #reverse_each
    gives correct values with exclusive range
    gives correct values with exclusive range
    gives correct values with inclusive range
    gives correct values with inclusive range
    is empty with empty inclusive range
    is empty with empty inclusive range
    iterators on beginless range
    iterators on beginless range
    raises on endless range
    raises on endless range
  #each iterator
    is empty with .. and begin > end
    is empty with .. and begin > end
    is not empty with ... and begin.succ == end
    is not empty with ... and begin.succ == end
    is not empty with .. and begin == end
    is not empty with .. and begin == end
    does next with exclusive range
    does next with exclusive range
    does with endless range
    does with endless range
    does next with inclusive range
    does next with inclusive range
    raises on beginless range
    raises on beginless range
    cycles
    cycles
    is empty with ... and begin > end
    is empty with ... and begin > end
  is not empty with ... and begin.succ == end
  is not empty with ... and begin.succ == end
  #==
  #==
  does to_s
  does to_s
  ===
    no limits
    no limits
    exclusive
    exclusive
    beginless
    beginless
    endless
    endless
    inclusive
    inclusive
  #sample
    samples with n = 0
    samples with n = 0
    for a float range
      samples an exclusive range with n > 1
      samples an exclusive range with n > 1
      samples an exclusive range without n
      samples an exclusive range without n
      samples an inclusive range without n
      samples an inclusive range without n
      samples an inclusive range with n > 1
      samples an inclusive range with n > 1
      samples an inclusive range with n >= 1 and begin == end
      samples an inclusive range with n >= 1 and begin == end
      raises on invalid range with n = 0
      raises on invalid range with n = 0
      samples an exclusive range with n = 1
      samples an exclusive range with n = 1
      raises on invalid range with n = 1
      raises on invalid range with n = 1
      samples an inclusive range with n = 1
      samples an inclusive range with n = 1
      samples an inclusive range with n > 16
      samples an inclusive range with n > 16
      raises on invalid range with n > 1
      raises on invalid range with n > 1
    samples a float range as a distribution
    samples a float range as a distribution
    for an integer range
      samples an inclusive range with n > 16
      samples an inclusive range with n > 16
      raises on invalid range with n = 1
      raises on invalid range with n = 1
      samples an inclusive range with n > 1
      samples an inclusive range with n > 1
      samples an inclusive range with n equal to or bigger than the available values
      samples an inclusive range with n equal to or bigger than the available values
      raises on invalid range without n
      raises on invalid range without n
      samples an inclusive range with n = 1
      samples an inclusive range with n = 1
      raises on invalid range with n = 0
      raises on invalid range with n = 0
      samples an exclusive range with n = 1
      samples an exclusive range with n = 1
      raises on exclusive range that would underflow
      raises on exclusive range that would underflow
      raises on invalid range with n > 1
      raises on invalid range with n > 1
      samples an exclusive range without n
      samples an exclusive range without n
      samples an exclusive range with n > 1
      samples an exclusive range with n > 1
      samples an inclusive range without n
      samples an inclusive range without n
    raises on open range
    raises on open range
    samples a range with nilable types
    samples a range with nilable types
  is empty with .. and begin > end
  is empty with .. and begin > end
  #each
    is empty with empty inclusive range
    is empty with empty inclusive range
    raises on beginless
    raises on beginless
    gives correct values with inclusive range
    gives correct values with inclusive range
    endless
    endless
    doesn't have Nil as a type for endless each
    doesn't have Nil as a type for endless each
    gives correct values with exclusive range
    gives correct values with exclusive range
    doesn't have Nil as a type for beginless each
    doesn't have Nil as a type for beginless each
  #step
    "inclusive step over" iterator
    "inclusive step over" iterator
    "begin.succ == end exclusive" yielding
    "begin.succ == end exclusive" yielding
    "begin == end exclusive" yielding
    "begin == end exclusive" yielding
    "exclusive default" iterator
    "exclusive default" iterator
    "begin.succ == end inclusive" yielding
    "begin.succ == end inclusive" yielding
    "endless range" iterator
    "endless range" iterator
    "begin > end inclusive" iterator
    "begin > end inclusive" iterator
    "begin > end exclusive" iterator
    "begin > end exclusive" iterator
    "inclusive step" yielding
    "inclusive step" yielding
    "exclusive step over" yielding
    "exclusive step over" yielding
    "inclusive default" iterator
    "inclusive default" iterator
    "Float step" iterator
    "Float step" iterator
    "Time::Span step" iterator
    "Time::Span step" iterator
    "begin.succ == end inclusive" iterator
    "begin.succ == end inclusive" iterator
    "endless range" yielding
    "endless range" yielding
    "inclusive default" yielding
    "inclusive default" yielding
    "begin > end exclusive" yielding
    "begin > end exclusive" yielding
    "begin.succ == end exclusive" iterator
    "begin.succ == end exclusive" iterator
    "exclusive step" yielding
    "exclusive step" yielding
    "exclusive step" iterator
    "exclusive step" iterator
    "inclusive step" iterator
    "inclusive step" iterator
    "exclusive default" yielding
    "exclusive default" yielding
    "inclusive step over" yielding
    "inclusive step over" yielding
    "begin == end inclusive" iterator
    "begin == end inclusive" iterator
    "begin > end inclusive" yielding
    "begin > end inclusive" yielding
    "Time::Span step" yielding
    "Time::Span step" yielding
    "exclusive step over" iterator
    "exclusive step over" iterator
    "Float step" yielding
    "Float step" yielding
    with #succ type
      "at definition range" yielding
      "at definition range" yielding
      "at definition range by" iterator
      "at definition range by" iterator
      "at definition range by" yielding
      "at definition range by" yielding
      "at definition range by" iterator
      "at definition range by" iterator
      "at definition range by" yielding
      "at definition range by" yielding
      "missing end by" yielding
      "missing end by" yielding
      "at definition range" iterator
      "at definition range" iterator
      "basic by" yielding
      "basic by" yielding
      "at definition range missing by" yielding
      "at definition range missing by" yielding
      "missing end by" iterator
      "missing end by" iterator
      "at definition range missing by" iterator
      "at definition range missing by" iterator
      "basic by" iterator
      "basic by" iterator
      "basic" yielding
      "basic" yielding
      "at definition range missing by" iterator
      "at definition range missing by" iterator
      "at definition range missing by" yielding
      "at definition range missing by" yielding
      "basic" iterator
      "basic" iterator
    "begin == end inclusive" yielding
    "begin == end inclusive" yielding
    raises on beginless range
    raises on beginless range
    "begin == end exclusive" iterator
    "begin == end exclusive" iterator
  bsearch
    BigInt
    BigInt
    Int
    Int
    Float
    Float
  is empty with ... and begin > end
  is empty with ... and begin > end
  does inspect
  does inspect
  includes?
  includes?
  is not empty with .. and begin == end
  is not empty with .. and begin == end
  clones
  clones
  #size
    raises on beginless range
    raises on beginless range
    raises on endless range
    raises on endless range
    works for other types
    works for other types
    optimizes for int range
    optimizes for int range
  #reverse_each iterator
    is empty with ... and begin > end
    is empty with ... and begin > end
    does next with inclusive range
    does next with inclusive range
    is not empty with ... and begin.succ == end
    is not empty with ... and begin.succ == end
    raises on endless range
    raises on endless range
    does next with exclusive range
    does next with exclusive range
    does next with beginless range
    does next with beginless range
    reverse cycles
    reverse cycles
    is not empty with .. and begin == end
    is not empty with .. and begin == end
    is empty with .. and begin > end
    is empty with .. and begin > end
SystemError
  .from_os_error
    Can build an error from an errno
    Can build an error from an errno
Random
  random_bytes
    gets random bytes with default number of digits
    gets random bytes with default number of digits
    generates random bytes
    generates random bytes
    fills given buffer with random bytes
    fills given buffer with random bytes
    gets random bytes with requested number of digits
    gets random bytes with requested number of digits
  hex
    gets hex with requested number of digits
    gets hex with requested number of digits
    gets hex with default number of digits
    gets hex with default number of digits
  does with BigInt range
  does with BigInt range
  gets a random bool
  gets a random bool
  raises on invalid number
  raises on invalid number
  does with inclusive range
  does with inclusive range
  limited number
  limited number
  returns a random static array
  returns a random static array
  works using U/Int128
  works using U/Int128
  urlsafe_base64
    keeps padding
    keeps padding
    gets urlsafe base64 with requested number of digits
    gets urlsafe base64 with requested number of digits
    gets urlsafe base64 with default number of digits
    gets urlsafe base64 with default number of digits
  does with exclusive range of floats
  does with exclusive range of floats
  works with span exceeding int type's range
  works with span exceeding int type's range
  generates full-range by accumulation
  generates full-range by accumulation
  generates by truncation
  generates by truncation
  limited Float32 number
  limited Float32 number
  does with exclusive range
  does with exclusive range
  float number
  float number
  limited Float64 number
  limited Float64 number
  limited large BigInt
  limited large BigInt
  allows creating a new default random with a seed
  allows creating a new default random with a seed
  generates by accumulation
  generates by accumulation
  generates full-range by truncation
  generates full-range by truncation
  generates full-range
  generates full-range
  raises on invalid float number
  raises on invalid float number
  generates full-range by negation
  generates full-range by negation
  raises on invalid range
    Int32 range
    Int32 range
    BigInt range
    BigInt range
    Float64 range
    Float64 range
  base64
    gets base64 with requested number of digits
    gets base64 with requested number of digits
    gets base64 with default number of digits
    gets base64 with default number of digits
  allows creating a new default random
  allows creating a new default random
  limited BigInt
  limited BigInt
  does with inclusive range of floats
  does with inclusive range of floats
  returns a random integer
  returns a random integer
HTTP::WebSocket
  send_masked
    sends the data with a bitmask
    sends the data with a bitmask
    sends long data with correct header
    sends long data with correct header
  receive
    read ping packet
    read ping packet
    can read masked text message
    can read masked text message
    can read fragmented packets
    can read fragmented packets
    can read a small text packet
    can read a small text packet
    can read partial packets
    can read partial packets
    can read a close packet
    can read a close packet
    read very long packet
    read very long packet
    read long packet
    read long packet
    read ping packet in between fragmented packet
    read ping packet in between fragmented packet
  using IPv4
    negotiates over HTTP correctly
    negotiates over HTTP correctly
    negotiates over HTTPS correctly
    negotiates over HTTPS correctly
  using IPv6
    negotiates over HTTP correctly
    negotiates over HTTP correctly
    negotiates over HTTPS correctly
    negotiates over HTTPS correctly
  handshake fails if server does not verify Sec-WebSocket-Key
    Sec-WebSocket-Accept incorrect
    Sec-WebSocket-Accept incorrect
    Sec-WebSocket-Accept missing
    Sec-WebSocket-Accept missing
  doesn't compress upgrade response body
  doesn't compress upgrade response body
  ignores body in upgrade response (malformed)
  ignores body in upgrade response (malformed)
  close
    closes with message
    closes with message
    closes with code
    closes with code
    closes without message
    closes without message
    closes with message and code
    closes with message and code
  send
    sends long data with correct header
    sends long data with correct header
    sets binary opcode if used with slice
    sets binary opcode if used with slice
  sends correct HTTP basic auth header
  sends correct HTTP basic auth header
  handshake fails if server does not switch protocols
  handshake fails if server does not switch protocols
  stream
    sets opcode of first frame to binary if stream is called with binary = true
    sets opcode of first frame to binary if stream is called with binary = true
    sends continuous data and splits it to frames
    sends continuous data and splits it to frames
    sends less data than the frame size if necessary
    sends less data than the frame size if necessary
MIME::MediaType
  #type
  #type
  #fetch
  #fetch
  #sub_type
  #sub_type
  #[]=
  #[]=
  .new
    create new instance
    create new instance
    raises for invalid parameter name
    raises for invalid parameter name
  #each_parameter
  #each_parameter
  #to_s
  #to_s
  .parse
    parses media type
    parses media type
    sets default charset to utf-8 for text media types
    sets default charset to utf-8 for text media types
    parses params with encoding
    parses params with encoding
    parses params
    parses params
Log.setup_from_env
  raises on invalid level
  raises on invalid level
  default_level
    is not used if LOG_LEVEL is set
    is not used if LOG_LEVEL is set
    is info
    is info
    is used if no LOG_LEVEL is set
    is used if no LOG_LEVEL is set
  default_sources
    splits sources by comma
    splits sources by comma
    is used
    is used
    is *
    is *
  backend
    can be changed
    can be changed
    is a IOBackend
    is a IOBackend
MIME::Multipart::Parser
  raises calling #next after errored
  raises calling #next after errored
  handles padding
  handles padding
  parses basic multipart messages
  parses basic multipart messages
  parses messages with preambles and epilogues
  parses messages with preambles and epilogues
  handles break/next in blocks
  handles break/next in blocks
  raises calling #next after finished
  raises calling #next after finished
  handles invalid multipart data
  handles invalid multipart data
Hash
  creates with initial capacity and block
  creates with initial capacity and block
  "#each_key" iterator
  "#each_key" iterator
  maps
  maps
  transform values in place with keys included
  transform values in place with keys included
  gets from union
  gets from union
  transforms keys
  transforms keys
  "#each" yielding
  "#each" yielding
  clone
    clones recursive hash
    clones recursive hash
    retains default block on clone
    retains default block on clone
    clones with size = 1
    clones with size = 1
    clones empty hash
    clones empty hash
    clones big hash
    clones big hash
    clones small hash
    clones small hash
  reject
    assert
    assert
    does not change current hash
    does not change current hash
    assert
    assert
    assert
    assert
    assert
    assert
  does to to_s with instance that was never instantiated
  does to to_s with instance that was never instantiated
  "#each_with_index" yielding
  "#each_with_index" yielding
  gets array of keys
  gets array of keys
  first_value
    raises on first value (nilable value)
    raises on first value (nilable value)
    doesn't raise on first value (nilable value)
    doesn't raise on first value (nilable value)
    gets first value
    gets first value
  compacts!
  compacts!
  compacts
  compacts
  does to_a
  does to_a
  key_for
    raises when no key pairs with the given value
    raises when no key pairs with the given value
    if block is given,
      returns the first key with the given value
      returns the first key with the given value
      yields the argument if no hash key pairs with the value
      yields the argument if no hash key pairs with the value
    returns the first key with the given value
    returns the first key with the given value
  selects
  selects
  merges! with block
  merges! with block
  transforms keys with values included
  transforms keys with values included
  transforms keys with type casting
  transforms keys with type casting
  fetch
    fetches with block
    fetches with block
    fetches with default value
    fetches with default value
  compare_by_identity
    retains compare_by_identity on dup
    retains compare_by_identity on dup
    small hash
    small hash
    retains compare_by_identity on clone
    retains compare_by_identity on clone
    big hash
    big hash
  merges other type with block
  merges other type with block
  transforms values with keys included
  transforms values with keys included
  "#each_with_index" iterator
  "#each_with_index" iterator
  gets first
  gets first
  sets and gets
  sets and gets
  initializes with default value
  initializes with default value
  ==
    assert
    assert
    assert
    assert
    compares hash of nested hash
    compares hash of nested hash
  gets array of values
  gets array of values
  transforms values with type casting values
  transforms values with type casting values
  size
    is the same as size
    is the same as size
  inserts many
  inserts many
  rejects!
  rejects!
  initializes with block
  initializes with block
  last_key
    raises on last key (nilable key)
    raises on last key (nilable key)
    gets last key
    gets last key
    doesn't raise on last key (nilable key)
    doesn't raise on last key (nilable key)
  "#each" iterator
  "#each" iterator
  does each
  does each
  merges recursive type (#1693)
  merges recursive type (#1693)
  does each_value
  does each_value
  all?
    passes key and value into block
    passes key and value into block
    evaluates the block for only for as many kv pairs as necessary
    evaluates the block for only for as many kv pairs as necessary
    returns true if the block evaluates truthy for every kv pair
    returns true if the block evaluates truthy for every kv pair
  #put_if_absent
    puts if key doesn't exist
    puts if key doesn't exist
    returns existing value if key exists
    returns existing value if key exists
    accepts a block
    accepts a block
    doesn't put duplicate keys (#14425)
    doesn't put duplicate keys (#14425)
  merges
  merges
  fetches from empty hash with default value
  fetches from empty hash with default value
  to_s
    assert
    assert
    assert
    assert
  zips
  zips
  inserts in one bucket and deletes from the same one
  inserts in one bucket and deletes from the same one
  select! with non-equality key
  select! with non-equality key
  key_for?
    returns the first key with the given value
    returns the first key with the given value
    returns nil if no key pairs with the given value
    returns nil if no key pairs with the given value
  does to_a after delete
  does to_a after delete
  #put
    puts in a small hash
    puts in a small hash
    puts in a big hash
    puts in a big hash
    yields key
    yields key
  dig
    gets the value at given path given splat
    gets the value at given path given splat
    raises KeyError if not found
    raises KeyError if not found
  does each_key
  does each_key
  "#each_value" yielding
  "#each_value" yielding
  returns empty hash when transforming keys of an empty hash
  returns empty hash when transforming keys of an empty hash
  merges!
  merges!
  has_value?
    returns false if does not contain the value
    returns false if does not contain the value
    returns true if contains the value
    returns true if contains the value
  select
    assert
    assert
    assert
    assert
    does not change current hash
    does not change current hash
    assert
    assert
    assert
    assert
    assert
    assert
  "#each_with_index(offset)" yielding
  "#each_with_index(offset)" yielding
  transform values in place
  transform values in place
  returns empty hash when transforming values of an empty hash
  returns empty hash when transforming values of an empty hash
  computes hash
  computes hash
  rejects
  rejects
  "#each_key" yielding
  "#each_key" yielding
  clears
  clears
  []
    gets
    gets
  subset/superset operators
    #superset_of?
      assert
      assert
    #proper_subset_of?
      assert
      assert
      handles edge case where both values are nil
      handles edge case where both values are nil
    #subset_of?
      handles edge case where both values are nil
      handles edge case where both values are nil
      assert
      assert
    #proper_superset_of?
      assert
      assert
  #rehash
    rehashes
    rehashes
    resets @first (#14602)
    resets @first (#14602)
  creates with initial capacity
  creates with initial capacity
  gets from literal
  gets from literal
  delete
    deletes many in the beginning and then will need a resize
    deletes many in the beginning and then will need a resize
    with block
      returns the value if a key is found
      returns the value if a key is found
      returns nil if key is found and value is nil
      returns nil if key is found and value is nil
      returns the value of the block if key is not found
      returns the value of the block if key is not found
    deletes key in the end
    deletes key in the end
    deletes key in the middle
    deletes key in the middle
    deletes not found
    deletes not found
    deletes key in the beginning
    deletes key in the beginning
    deletes only remaining entry
    deletes only remaining entry
  select!
    assert
    assert
    assert
    assert
    does change current hash
    does change current hash
    assert
    assert
    assert
    assert
    does not skip elements with an exhaustable enumerable argument (#12736)
    does not skip elements with an exhaustable enumerable argument (#12736)
    assert
    assert
  clears after shift
  clears after shift
  reject with non-equality key
  reject with non-equality key
  has_key?
    doesn't have key
    doesn't have key
    has key
    has key
  some edge cases while changing the implementation to open addressing
    edge case 1
    edge case 1
    edge case 2
    edge case 2
    edge case 3
    edge case 3
  merges! with block and nilable keys
  merges! with block and nilable keys
  gets nilable
  gets nilable
  []=
    overrides value
    overrides value
  reject with non-equality key
  reject with non-equality key
  reject!
    assert
    assert
    assert
    assert
    assert
    assert
    changes current hash
    changes current hash
    assert
    assert
  empty
    size should be zero
    size should be zero
  merges with block
  merges with block
  does to_a after shift
  does to_a after shift
  does to_h
  does to_h
  shifts?
  shifts?
  #each_with_object
    "passes memo, key and value into block" yielding
    "passes memo, key and value into block" yielding
    reduces the hash to the accumulated value of memo
    reduces the hash to the accumulated value of memo
    "passes memo, key and value into block" iterator
    "passes memo, key and value into block" iterator
  last_value
    doesn't raise on last value (nilable value)
    doesn't raise on last value (nilable value)
    gets last value
    gets last value
    raises on last value (nilable value)
    raises on last value (nilable value)
  any?
    evaluates the block for only for as many kv pairs as necessary
    evaluates the block for only for as many kv pairs as necessary
    returns true if the block evaluates truthy for at least one kv pair
    returns true if the block evaluates truthy for at least one kv pair
    passes key and value into block
    passes key and value into block
    returns true if the hash contains at least one kv pair and no block is given
    returns true if the hash contains at least one kv pair and no block is given
  first_key
    gets first key
    gets first key
    doesn't raise on first key (nilable key)
    doesn't raise on first key (nilable key)
    raises on first key (nilable key)
    raises on first key (nilable key)
  transforms values
  transforms values
  update
    inserts a new entry using the default value as input, if key does not exist
    inserts a new entry using the default value as input, if key does not exist
    inserts a new entry using the value returned by the default block as input, if key does not exist (big hash)
    inserts a new entry using the value returned by the default block as input, if key does not exist (big hash)
    can update with a nil value
    can update with a nil value
    returns the default value when key does not exist
    returns the default value when key does not exist
    raises if key does not exist and no default value specified (big hash)
    raises if key does not exist and no default value specified (big hash)
    doesn't create a duplicate key, if key does not exist and default block adds the given key (#14416)
    doesn't create a duplicate key, if key does not exist and default block adds the given key (#14416)
    updates the value of an existing key with the given block
    updates the value of an existing key with the given block
    inserts a new entry using the default value as input, if key does not exist (big hash)
    inserts a new entry using the default value as input, if key does not exist (big hash)
    returns the old value when key exists
    returns the old value when key exists
    updates the value of an existing key with the given block (big hash)
    updates the value of an existing key with the given block (big hash)
    can update a current nil value with a new value
    can update a current nil value with a new value
    returns the old value when key exists (big hash)
    returns the old value when key exists (big hash)
    returns the default value when key does not exist (big hash)
    returns the default value when key does not exist (big hash)
    inserts a new entry using the value returned by the default block as input, if key does not exist
    inserts a new entry using the value returned by the default block as input, if key does not exist
    raises if key does not exist and no default value specified
    raises if key does not exist and no default value specified
  "#each_value" iterator
  "#each_value" iterator
  dup
    dups empty hash
    dups empty hash
    retains default block on dup
    retains default block on dup
    dups small hash
    dups small hash
    dups big hash
    dups big hash
  reduce
    reduces the hash to the accumulated value of memo
    reduces the hash to the accumulated value of memo
    passes memo, key and value into block
    passes memo, key and value into block
  select with non-equality key
  select with non-equality key
  doesn't generate a negative index for the bucket index (#2321)
  doesn't generate a negative index for the bucket index (#2321)
  can be wrapped
  can be wrapped
  creates with initial capacity and default value
  creates with initial capacity and default value
  shifts
  shifts
  dig?
    gets the value at given path given splat
    gets the value at given path given splat
    returns nil if not found
    returns nil if not found
  selects!
  selects!
  values_at
    works with mixed types
    works with mixed types
    raises when passed an invalid key
    raises when passed an invalid key
    returns the given keys
    returns the given keys
  shifts: delete elements in the middle position and then in the first position
  shifts: delete elements in the middle position and then in the first position
  "#each_with_index(offset)" iterator
  "#each_with_index(offset)" iterator
  inverts
  inverts
__floatuntidf
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
Float::Printer::RyuPrintf
  .d2gen
    Basic
    Basic
    large precision with fixed notation and scientific notation
    large precision with fixed notation and scientific notation
    UCRT had trouble with rounding this value
    UCRT had trouble with rounding this value
    corner cases
    corner cases
    transitions between fixed notation and scientific notation
    transitions between fixed notation and scientific notation
    varying precision
    varying precision
    trim trailing zeros and decimal point, scientific notation
    trim trailing zeros and decimal point, scientific notation
    tricky corner cases
    tricky corner cases
    more cases that the UCRT had trouble with (e.g. DevCom-1093399)
    more cases that the UCRT had trouble with (e.g. DevCom-1093399)
    transitions between values of the scientific exponent X
    transitions between values of the scientific exponent X
    maximum-length output
    maximum-length output
    trim trailing zeros
    trim trailing zeros
    trim trailing zeros and decimal point
    trim trailing zeros and decimal point
    trim trailing zeros, scientific notation
    trim trailing zeros, scientific notation
  .d2exp
    Exponents
    Exponents
    RoundToEven
    RoundToEven
    Carrying
    Carrying
    AllBinaryExponents
    AllBinaryExponents
    MinMax
    MinMax
    PrintDecimalPoint
    PrintDecimalPoint
    RoundToEvenInteger
    RoundToEvenInteger
    Basic
    Basic
    AllPowersOfTen
    AllPowersOfTen
    NonRoundToEvenScenarios
    NonRoundToEvenScenarios
    Zero
    Zero
    VaryingPrecision
    VaryingPrecision
  .d2fixed
    MinMax
    MinMax
    Carrying
    Carrying
    AllBinaryExponents
    AllBinaryExponents
    RoundToEven
    RoundToEven
    AllPowersOfTen
    AllPowersOfTen
    NonRoundToEvenScenarios
    NonRoundToEvenScenarios
    Zero
    Zero
    VaryingPrecision
    VaryingPrecision
    Basic
    Basic
    RoundingResultZero
    RoundingResultZero
    Regression
    Regression
    RoundToEvenInteger
    RoundToEvenInteger
OAuth::RequestToken
  creates from response
  creates from response
  equality
    checks secret
    checks secret
    checks token
    checks token
HTTP
  generates HTTP date
    without time zone
    without time zone
    with local time zone
    with local time zone
  parses RFC 1123
  parses RFC 1123
  parses RFC 1036
  parses RFC 1036
  .dequote_string
    dequotes a string
    dequotes a string
  parses and is UTC (#2744)
  parses and is UTC (#2744)
  parses ANSI C
  parses ANSI C
  parses and is local (#2744)
  parses and is local (#2744)
  parses RFC 1123 without day name
  parses RFC 1123 without day name
  .quote_string
    raises on invalid characters
    raises on invalid characters
    quotes a string
    quotes a string
Spec
  hooks
    runs in correct order
    runs in correct order
Float64 boundaries
  boundaries max denormal f64
  boundaries max denormal f64
  boundaries 1.0
  boundaries 1.0
  boundaries min normal f64
  boundaries min normal f64
  boundaries min float64
  boundaries min float64
  boundaries 1.5
  boundaries 1.5
  boundaries max f64
  boundaries max f64
Digest::Adler32
  .dup
    preserves value
    preserves value
    leads to deterministic updates
    leads to deterministic updates
    leads to not sharing state
    leads to not sharing state
    preserves type
    preserves type
  can take a block
  can take a block
  calculates hash of #to_slice
  calculates hash of #to_slice
  context are independent
  context are independent
  #hexdigest can update within a loop from explicit expr (#9483)
  #hexdigest can update within a loop from explicit expr (#9483)
  can't call final twice
  can't call final twice
  #hexdigest can update within a loop by indirect expr (#9483)
  #hexdigest can update within a loop by indirect expr (#9483)
  calculates hash from UInt8 slices
  calculates hash from UInt8 slices
  calculates digest from string
  calculates digest from string
  should be able to calculate adler32 combined
  should be able to calculate adler32 combined
  calculates base64'd hash from string
  calculates base64'd hash from string
  digest with file content
  digest with file content
  return the digest size
  return the digest size
  resets
  resets
  calculates hash from unicode string
  calculates hash from unicode string
  calculates hash from string
  calculates hash from string
  should be able to calculate adler32
  should be able to calculate adler32
__fixsfti
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
Crystal::Digest::MD5
  #hexdigest can update within a loop from explicit expr (#9483)
  #hexdigest can update within a loop from explicit expr (#9483)
  #hexdigest can update within a loop by indirect expr (#9483)
  #hexdigest can update within a loop by indirect expr (#9483)
  calculates hash from unicode string
  calculates hash from unicode string
  calculates base64'd hash from string
  calculates base64'd hash from string
  .dup
    leads to deterministic updates
    leads to deterministic updates
    preserves value
    preserves value
    leads to not sharing state
    leads to not sharing state
    preserves type
    preserves type
  calculates hash from UInt8 slices
  calculates hash from UInt8 slices
  context are independent
  context are independent
  can't call final twice
  can't call final twice
  digest with file content
  digest with file content
  can take a block
  can take a block
  calculates hash from string
  calculates hash from string
  calculates hash of #to_slice
  calculates hash of #to_slice
  return the digest size
  return the digest size
  calculates digest from string
  calculates digest from string
  resets
  resets
Time::Location::Zone
  #inspect
  #inspect
  #name
  #name
URI::Params::Serializable
  .from_www_form
    nested type
      doubly nested
      doubly nested
      missing required nested property
      missing required nested property
      missing nilable nested data
      missing nilable nested data
      happy path
      happy path
    with nilable values
    with nilable values
    with default values
    with default values
    simple type
    simple type
    child type
    child type
    with custom converter
    with custom converter
    with nilable default
    with nilable default
    missing required property
    missing required property
  #to_www_form
    nested type path
    nested type path
    doubly nested
    doubly nested
    simple type
    simple type
UDPSocket
  #connect with a IPv6 address
  #connect with a IPv6 address
  #remote_address resets after connect
  #remote_address resets after connect
  sends broadcast message
  sends broadcast message
  using IPv6
    #bind
    #bind
    joins and transmits to multicast groups
    joins and transmits to multicast groups
    sends and receives messages
    sends and receives messages
  using IPv4
    sends and receives messages
    sends and receives messages
    joins and transmits to multicast groups
    joins and transmits to multicast groups
    #bind
    #bind
Compress::Zip
  reads big file
  reads big file
  reads zip file with different extra in local file header and central directory header
  reads zip file with different extra in local file header and central directory header
  writes comment
  writes comment
  reads file from file system
  reads file from file system
  writes over int16 files to make sure we can parse
  writes over int16 files to make sure we can parse
  reads zip comment
  reads zip comment
  reads file from memory
  reads file from memory
Signal
  CHLD.trap is called after default Crystal child handler
  CHLD.trap is called after default Crystal child handler
  CHLD.reset sets default Crystal child handler
  CHLD.reset sets default Crystal child handler
  runs a signal handler
  runs a signal handler
  ignores a signal
  ignores a signal
  CHLD.ignore sets default Crystal child handler
  CHLD.ignore sets default Crystal child handler
  CHLD.reset removes previously set trap
  CHLD.reset removes previously set trap
  has constants required by C
  has constants required by C
  allows chaining of signals
  allows chaining of signals
Math
  Mathematical constants
    E
    E
    LOG2
    LOG2
    LOG10
    LOG10
  Order-related functions
    assert
    assert
    assert
    assert
  fma
  fma
  Inverse trigonometric functions
    asin
    asin
    atan2
    atan2
    atan
    atan
    acos
    acos
  Roots
    cbrt
    cbrt
    isqrt
    isqrt
    sqrt
    sqrt
  .pw2ceil
    Int8
    Int8
    UInt64
    UInt64
    Int16
    Int16
    UInt128
    UInt128
    UInt32
    UInt32
    Int32
    Int32
    UInt16
    UInt16
    Int64
    Int64
    Int128
    Int128
    UInt8
    UInt8
  Exponents
    scalbln
    scalbln
    scalbn
    scalbn
    ilogb
    ilogb
    expm1
    expm1
    logb
    logb
    ldexp
    ldexp
    exp2
    exp2
    frexp
    frexp
    exp
    exp
  Functions for computing quotient and remainder
  Functions for computing quotient and remainder
  Bessel functions
    bessely0
    bessely0
    besselj0
    besselj0
    bessely
    bessely
    besselj
    besselj
    besselj1
    besselj1
    bessely1
    bessely1
  Gauss error functions
    erf
    erf
    erfc
    erfc
  Functions manipulating signs
    copysign
    copysign
  Hyperbolic functions
    sinh
    sinh
    tanh
    tanh
    cosh
    cosh
  Inverse hyperbolic functions
    atanh
    atanh
    acosh
    acosh
    asinh
    asinh
  Trigonometric functions
    tan
    tan
    hypot
    hypot
    sin
    sin
    cos
    cos
  Gamma functions
    gamma
    gamma
    lgamma
    lgamma
  Logarithms
    log1p
    log1p
    log
    log
    log10
    log10
    log2
    log2
System
  hostname
    returns current hostname
    returns current hostname
  cpu_count
    returns current CPU count
    returns current CPU count
MIME
  .register
    fails for invalid extension
    fails for invalid extension
    registers new type
    registers new type
  parses media types
  parses media types
  .extensions
    returns empty set
    returns empty set
    lists extensions
    lists extensions
    recognizes overridden types
    recognizes overridden types
  .load_mime_database
  .load_mime_database
  .from_extension
  .from_extension
  .from_filename
    Path
    Path
    String
    String
  .init
    loads defaults
    loads defaults
    skips loading defaults
    skips loading defaults
    loads file
    loads file
  .from_filename?
    Path
    Path
    String
    String
  .from_extension?
  .from_extension?
OAuth2::AccessToken::Mac
  computes signature
  computes signature
  authenticates request
  authenticates request
  builds with null refresh token
  builds with null refresh token
  builds from json
  builds from json
  dumps to json
  dumps to json
HTTP::FormData
  .parse(IO, String)
    parses formdata
    parses formdata
  .parse(HTTP::Request)
    raises on invalid Content-Type
    raises on invalid Content-Type
    raises on empty body
    raises on empty body
    raises on no Content-Type
    raises on no Content-Type
    parses formdata
    parses formdata
  .parse_content_disposition(String)
    parses all Content-Disposition fields
    parses all Content-Disposition fields
  .build(HTTP::Server::Response, String)
    builds a message
    builds a message
  .build(IO, String)
    builds a message
    builds a message
IO::Hexdump
  read
    prints hexdump
    prints hexdump
  write
    prints hexdump
    prints hexdump
grisu3
  float32
    largest denormal
    largest denormal
    large number, rounding
    large number, rounding
    smallest normal
    smallest normal
    general whole number, rounding
    general whole number, rounding
    general with rounding down
    general with rounding down
    general with rounding up
    general with rounding up
    general whole number, rounding
    general whole number, rounding
    min
    min
    small number
    small number
    max
    max
    general no rounding
    general no rounding
  float64
    largest denormal
    largest denormal
    max float
    max float
    min float
    min float
    small number
    small number
    point at end
    point at end
    smallest normal
    smallest normal
    failure case
    failure case
    another no point move
    another no point move
    large number
    large number
Thread::Mutex
  synchronizes
  synchronizes
  won't lock recursively
  won't lock recursively
  won't unlock from another thread
  won't unlock from another thread
JSON::Any
  can compare with ===
  can compare with ===
  .new
  .new
  dig
    gets the value at given path given splat
    gets the value at given path given splat
    raises if not found
    raises if not found
  casts
    gets nil
    gets nil
    gets int64
    gets int64
    gets float32
    gets float32
    gets hash
    gets hash
    gets float32 from JSON integer (#8618)
    gets float32 from JSON integer (#8618)
    gets float64
    gets float64
    gets float64 from JSON integer (#8618)
    gets float64 from JSON integer (#8618)
    gets int32
    gets int32
    gets array
    gets array
    gets bool
    gets bool
    gets string
    gets string
  dups
  dups
  #to_yaml
  #to_yaml
  traverses big structure
  traverses big structure
  #dig?
    returns nil if not found
    returns nil if not found
    returns nil for non-Hash/Array intermediary values
    returns nil for non-Hash/Array intermediary values
    gets the value at given path given splat
    gets the value at given path given splat
  #size
    of hash
    of hash
    of array
    of array
  #[]
    of array
    of array
    of hash
    of hash
  clones
  clones
  #[]?
    of hash
    of hash
    of array
    of array
  compares to other objects
  compares to other objects
  exposes $~ when doing Regex#===
  exposes $~ when doing Regex#===
Int
  #humanize_bytes
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
BigInt Math
  sqrt
  sqrt
  pw2ceil
  pw2ceil
  isqrt
  isqrt
Enum
  different enums classes not eq always
  different enums classes not eq always
  does +
  does +
  gets value with to_i
  gets value with to_i
  #to_s
    for simple enum
    for simple enum
    for flags enum
    for flags enum
    for private enum
    for private enum
  gets value
  gets value
  values
    for simple enum
    for simple enum
    for flags enum
    for flags enum
  has hash
  has hash
  gets value with to_u<bit>
  gets value with to_u<bit>
  #inspect
    for flags enum
    for flags enum
    for private enum
    for private enum
    for simple enum
    for simple enum
  .parse?
  .parse?
  each
    yields each member
    yields each member
    won't yield All
    won't yield All
    won't yield None
    won't yield None
    private enum
    private enum
  names
    for simple enum
    for simple enum
    for flags enum
    for flags enum
  .[]
    non-flags enum
    non-flags enum
    flags enum
    flags enum
    private flags enum
    private flags enum
  gets value with to_i<bit>
  gets value with to_i<bit>
  does -
  does -
  valid?
    for simple enum
    for simple enum
    for Int64 enum
    for Int64 enum
    for flags enum
    for flags enum
  creates an enum instance from an auto-casted symbol (#8573)
  creates an enum instance from an auto-casted symbol (#8573)
  from_value
    for simple enum
    for simple enum
    for flags enum
    for flags enum
    for private enum
    for private enum
  .flags
    private flags enum
    private flags enum
    non-flags enum
    non-flags enum
    flags enum
    flags enum
  sorts
  sorts
  .parse
  .parse
  from_value?
    for flags enum
    for flags enum
    for simple enum
    for simple enum
  each
    iterates each member
    iterates each member
    iterates private enum members
    iterates private enum members
    iterates each flag
    iterates each flag
  does includes?
  does includes?
  clones
  clones
BigFloat Math
  .ilogb
  .ilogb
  .logb
  .logb
  .scalbln
  .scalbln
  .ldexp
  .ldexp
  .scalbn
  .scalbn
  .copysign
  .copysign
  .sqrt
  .sqrt
  .frexp
  .frexp
Time::Span
  test compare
  test compare
  min milliseconds
  min milliseconds
  min days
  min days
  max milliseconds
  max milliseconds
  test equals
  test equals
  initializes with big seconds value
  initializes with big seconds value
  #negative?
  #negative?
  max seconds
  max seconds
  arithmetic
    #sign
    #sign
    #/(self)
    #/(self)
    #+
    #+
    #-
    #-
    #/(Number)
    #/(Number)
    #*
    #*
  negative timespan
  negative timespan
  can substract big amount using milliseconds
  can substract big amount using milliseconds
  converts units
  converts units
  #step
    "basic" yielding
    "basic" yielding
    "basic" iterator
    "basic" iterator
  test float extension methods
  test float extension methods
  test properties
  test properties
  test to_s
  test to_s
  test negate and abs
  test negate and abs
  min seconds
  min seconds
  #zero?
  #zero?
  test int extension methods
  test int extension methods
  test hash code
  test hash code
  can substract big amount using microseconds
  can substract big amount using microseconds
  should sum
  should sum
  initializes with type restrictions
  initializes with type restrictions
  test totals
  test totals
  days overflows
  days overflows
  max days
  max days
  initializes
  initializes
  #positive?
  #positive?
Log::TestFormatter
  formats
  formats
Thread::ConditionVariable
  resumes before timeout
  resumes before timeout
  timeouts
  timeouts
  signals & broadcasts
  signals & broadcasts
  signals
  signals
__divti3
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
PROGRAM_NAME
  works for UTF-8 name
  works for UTF-8 name
Proc
  does to_s
  does to_s
  does new
  does new
  #arity
  #arity
  does to_s when closured
  does to_s when closured
  gets pointer
  gets pointer
  does ==
  does ==
  does to_s(io)
  does to_s(io)
  does to_s(io) when closured
  does to_s(io) when closured
  #partial
  #partial
  gets closure data for closure
  gets closure data for closure
  clones
  clones
  gets closure data for non-closure
  gets closure data for non-closure
Time::Format
  ISO_8601_DATE
    parses ordinal date
    parses ordinal date
    parses week date
    parses week date
    parses calendar date
    parses calendar date
    formats default format
    formats default format
  RFC_3339
    parses regular format
    parses regular format
  ISO_8601_DATE_TIME
    parses ordinal date
    parses ordinal date
    parses calendar date
    parses calendar date
    parses hour
    parses hour
    week date
    week date
    formats default format
    formats default format
    parses hour:minutes
    parses hour:minutes
    parses decimal fractions
    parses decimal fractions
  RFC_2822
    parses regular format
    parses regular format
Log::IOBackend
  yields message
  yields message
  logs context
  logs context
  logs any object
  logs any object
  uses custom formatter
  uses custom formatter
  creates with defaults
  creates with defaults
  logs messages
  logs messages
  allows setting formatter in initializer
  allows setting formatter in initializer
  formats message
  formats message
OpenSSL::Cipher
  authenticated?
  authenticated?
  encrypts/decrypts
  encrypts/decrypts
Log
  level can be changed
  level can be changed
  context can be changed within the block, yet it's not restored
  context can be changed within the block, yet it's not restored
  Log::Severity
    parses
    parses
    values are ordered
    values are ordered
  emitter dsl
    can be used with message
    can be used with message
    can be used with message and metadata explicitly
    can be used with message and metadata explicitly
    does not emit anything when a nil is emitted
    does not emit anything when a nil is emitted
    can be used with message and data via named tuple
    can be used with message and data via named tuple
    can be used with data only explicitly
    can be used with data only explicitly
    can be used with data only via named tuple
    can be used with data only via named tuple
    can be used with message and exception
    can be used with message and exception
    can be used with exception
    can be used with exception
    can be used with message and data via named arguments
    can be used with message and data via named arguments
    can be used with data only via named arguments
    can be used with data only via named arguments
  context supports unsigned values
  context supports unsigned values
  filter messages to the backend above level only
  filter messages to the backend above level only
  contains the current context
  contains the current context
  can attach exception to entries
  can attach exception to entries
HTTP::Cookie::Parser
  parse_set_cookie
    with space
    with space
    parses expires rfc1036
    parses expires rfc1036
    parses path
    parses path
    parse domain as IP
    parse domain as IP
    parses full
    parses full
    parses cookie with spaces in value
    parses cookie with spaces in value
    parses expires ansi c, variant with zone
    parses expires ansi c, variant with zone
    parses expires rfc1123
    parses expires rfc1123
    parses expires ansi c
    parses expires ansi c
    parse max-age as Time::Span
    parse max-age as Time::Span
    parses Secure
    parses Secure
    SameSite
      Invalid
        parses samesite
        parses samesite
      Strict
        parses samesite
        parses samesite
      Lax
        parses samesite
        parses samesite
    leading dots in domain names are ignored
    leading dots in domain names are ignored
    parses domain
    parses domain
    parses HttpOnly
    parses HttpOnly
    strips spaces around value only when it's unquoted
    strips spaces around value only when it's unquoted
    parses expires iis
    parses expires iis
    removes leading and trailing whitespaces
    removes leading and trailing whitespaces
  parse_cookies
    parses key=
    parses key=
    parses multiple cookies
    parses multiple cookies
    strips spaces around value only when it's unquoted
    strips spaces around value only when it's unquoted
    parses cookie with spaces in value
    parses cookie with spaces in value
    parses key="value"
    parses key="value"
    parses special character in name
    parses special character in name
    parses key=value
    parses key=value
    parses key=key%3Dvalue
    parses key=key%3Dvalue
    parses key=key=value
    parses key=key=value
  expired?
    not expired with future max-age
    not expired with future max-age
    expired with old expires date
    expired with old expires date
    not expired when max-age and expires are not provided
    not expired when max-age and expires are not provided
    expired when max-age=0
    expired when max-age=0
    not expired with future expires
    not expired with future expires
  expiration_time
    sets future expiration_time with expires
    sets future expiration_time with expires
    returns nil expiration_time when expires and max-age are not set
    returns nil expiration_time when expires and max-age are not set
    sets expiration_time to be current when max-age=0
    sets expiration_time to be current when max-age=0
    sets future expiration_time with max-age and future cookie creation time
    sets future expiration_time with max-age and future cookie creation time
    sets future expiration_time with max-age
    sets future expiration_time with max-age
    sets expiration_time with old date
    sets expiration_time with old date
__floatuntisf
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
Dir
  tests exists? on a directory path to a file
  tests exists? on a directory path to a file
  .mkdir_p
    with a new path
    with a new path
    path exists
      noop when path is a directory
      noop when path is a directory
      fails when path is a file
      fails when path is a file
  tests mkdir with an existing path
  tests mkdir with an existing path
  opens with new
  opens with new
  gets dir iterator
  gets dir iterator
  tests mkdir and delete with a new path
  tests mkdir and delete with a new path
  #path
    returns init value
    returns init value
  does to_s
  does to_s
  lists children
  lists children
  lists entries
  lists entries
  cd
    accepts string
    accepts string
    accepts a block with string
    accepts a block with string
    raises
    raises
    accepts path
    accepts path
    accepts a block with path
    accepts a block with path
  double close doesn't error
  double close doesn't error
  tests mkdir and rmdir with a new path
  tests mkdir and rmdir with a new path
  gets child iterator
  gets child iterator
  tests exists? on existing file
  tests exists? on existing file
  empty?
    tests empty? on an empty directory
    tests empty? on an empty directory
    tests empty? on a directory path to a file
    tests empty? on a directory path to a file
    tests empty? on a full directory
    tests empty? on a full directory
    tests empty? on nonexistent directory
    tests empty? on nonexistent directory
  .tempdir
    returns configure directory for tempfiles
    returns configure directory for tempfiles
    returns default directory for tempfiles
    returns default directory for tempfiles
  .delete
    raises with symlink directory
    raises with symlink directory
    raises with an nonexistent path
    raises with an nonexistent path
    raises with a path that cannot be removed
    raises with a path that cannot be removed
    deletes a read-only directory
    deletes a read-only directory
  tests mkdir and delete? with a new path
  tests mkdir and delete? with a new path
  tests exists? on nonexistent directory
  tests exists? on nonexistent directory
  raises on null byte
    errors on exists?
    errors on exists?
    errors on mkdir
    errors on mkdir
    errors on delete
    errors on delete
    errors on cd
    errors on cd
    errors on mkdir_p
    errors on mkdir_p
    errors on new
    errors on new
  tests info on existing directory
  tests info on existing directory
  opens with open
  opens with open
  tests exists? on existing directory
  tests exists? on existing directory
  glob
    tests with *
    tests with *
    tests with []
    tests with []
    matches symlink dir
    matches symlink dir
    tests with */
    tests with */
    pattern ending with ..
    pattern ending with ..
    tests a recursive glob with '?'
    tests a recursive glob with '?'
    tests with {}
    tests with {}
    tests a recursive glob with alternation
    tests a recursive glob with alternation
    tests with relative path
    tests with relative path
    tests a glob with recursion inside alternation
    tests a glob with recursion inside alternation
    tests a recursive glob
    tests a recursive glob
    tests glob with a single pattern with extra slashes
    tests glob with a single pattern with extra slashes
    tests with ** (same as *)
    tests with ** (same as *)
    match: :dot_files / match_hidden
      ignores hidden files
      ignores hidden files
      ignores hidden files recursively
      ignores hidden files recursively
      matches dot files
      matches dot files
    tests double recursive matcher (#10807)
    tests double recursive matcher (#10807)
    empty pattern
    empty pattern
    tests with relative path starting recursive
    tests with relative path starting recursive
    root pattern
    root pattern
    tests with relative path (starts with ..)
    tests with relative path (starts with ..)
    tests with \
    tests with \
    pattern ending with .
    pattern ending with .
    with path
      windows path
      windows path
      posix path
      posix path
    tests a recursive glob with nested alternations
    tests a recursive glob with nested alternations
    pattern ending with */.
    pattern ending with */.
    tests glob with a single pattern with block
    tests glob with a single pattern with block
    pattern ending with */..
    pattern ending with */..
    tests with relative path (starts with .)
    tests with relative path (starts with .)
    tests glob with a single pattern
    tests glob with a single pattern
    tests double recursive matcher, multiple paths
    tests double recursive matcher, multiple paths
    tests glob with multiple patterns
    tests glob with multiple patterns
    matches symlinks
    matches symlinks
  .current
    matches shell
    matches shell
    follows $PWD
    follows $PWD
IO::ARGF
  peek
    peeks from STDIN if ARGV isn't specified
    peeks from STDIN if ARGV isn't specified
    peeks from ARGV if specified
    peeks from ARGV if specified
  reads when is more data left to read
  reads when is more data left to read
  gets
    reads from STDIN if ARGV isn't specified
    reads from STDIN if ARGV isn't specified
    reads from ARGV if specified
    reads from ARGV if specified
    reads from STDIN if ARGV isn't specified, chomp = false
    reads from STDIN if ARGV isn't specified, chomp = false
  reads from ARGV if specified
  reads from ARGV if specified
  reads from STDIN if ARGV isn't specified
  reads from STDIN if ARGV isn't specified
Websocket integration tests
  streams less than the buffer frame size
  streams less than the buffer frame size
  streams single messages made up of multiple parts that eventually become more than the buffer frame size
  streams single messages made up of multiple parts that eventually become more than the buffer frame size
  sends single text messages
  sends single text messages
  streams single messages more than the buffer frame size
  streams single messages more than the buffer frame size
WeakRef(T)
  should get dereferenced object in data section
  should get dereferenced object in data section
  FinalizeState counts released objects
  FinalizeState counts released objects
  Referenced object should not be released
  Referenced object should not be released
  Weak referenced object should be released if no other reference
  Weak referenced object should be released if no other reference
  should get dereferenced object
  should get dereferenced object
  should not crash with object in data section during GC
  should not crash with object in data section during GC
expectations
  be_falsey
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  be
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  end_with
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  be_a
    assert
    assert
    assert
    assert
    restricts type on should
    restricts type on should
    assert
    assert
    assert
    assert
    restricts type on should_not
    restricts type on should_not
  be_nil
    assert
    assert
    assert
    assert
    restricts type on should_not
    restricts type on should_not
    assert
    assert
  contain
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  be_truthy
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  empty
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  be_close
    assert
    assert
    assert
    assert
  eq
    assert
    assert
    assert
    assert
  be
    works with module type (#14920)
    works with module type (#14920)
    assert
    assert
    assert
    assert
    works with type that does not implement `#object_id`
    works with type that does not implement `#object_id`
  match
    assert
    assert
    assert
    assert
    assert
    assert
  expect_raises
    pass if raises MyError
    pass if raises MyError
  start_with
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  be_false
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  be_true
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  accept a custom failure message
    assert
    assert
    assert
    assert
Crystal::System
  .printf
    supports %u
    supports %u
    works
    works
    supports %p
    supports %p
    supports %l width
    supports %l width
    supports %s
    supports %s
    supports %x
    supports %x
    supports %d
    supports %d
OptionParser
  does to_s with multi line description (#5832)
  does to_s with multi line description (#5832)
  gets short option with value that looks like flag
  gets short option with value that looks like flag
  has required option with =
  has required option with =
  doesn't raise if optional option is not specified with short flag
  doesn't raise if optional option is not specified with short flag
  parses argument when only referenced in long flag
  parses argument when only referenced in long flag
  raises on invalid option if value is given to none value handler (short flag, #9553) 
  raises on invalid option if value is given to none value handler (short flag, #9553) 
  parses argument when referenced in long and short flag
  parses argument when referenced in long and short flag
  can run a callback on every argument
  can run a callback on every argument
  doesn't raise if required option is not specified
  doesn't raise if required option is not specified
  gets long option with value -- (#8937)
  gets long option with value -- (#8937)
  has required option with = (2)
  has required option with = (2)
  unregisters subcommands on call
  unregisters subcommands on call
  gnu_optional_args
    doesn't get optional argument for long flag after space
    doesn't get optional argument for long flag after space
    doesn't get optional argument for short flag after space
    doesn't get optional argument for short flag after space
  raises if missing required argument separated from long flag
  raises if missing required argument separated from long flag
  has flag
  has flag
  multiple times
    gets a double flag option multiple times
    gets a double flag option multiple times
    gets a single flag option multiple times
    gets a single flag option multiple times
    gets an existence flag multiple times
    gets an existence flag multiple times
  has required option with space
  has required option with space
  has required option separated from long flag
  has required option separated from long flag
  calls the handler for invalid options
  calls the handler for invalid options
  has flag with double dash
  has flag with double dash
  has required option separated from flag
  has required option separated from flag
  raises if flag pair doesn't start with dash (#4001)
  raises if flag pair doesn't start with dash (#4001)
  doesn't raise if optional option is not specified with separated short flag
  doesn't raise if optional option is not specified with separated short flag
  doesn't have flag
  doesn't have flag
  raises if missing required option with space
  raises if missing required option with space
  does to_s with separators
  does to_s with separators
  handles subcommands
  handles subcommands
  forward-match
    distinguishes between '--lamb VALUE' and '--lambda VALUE'
    distinguishes between '--lamb VALUE' and '--lambda VALUE'
    distinguishes between '--lamb=VALUE' and '--lambda=VALUE'
    distinguishes between '--lamb=VALUE' and '--lambda=VALUE'
  raises if missing option next to flag
  raises if missing option next to flag
  handles subcommand --help well (top level)
  handles subcommand --help well (top level)
  has required option next to flag
  has required option next to flag
  stops when asked
  stops when asked
  has required option with long flag space
  has required option with long flag space
  does to_s with banner
  does to_s with banner
  gets short option with value -- (#8937)
  gets short option with value -- (#8937)
  does to_s with very long flag (#3305)
  does to_s with very long flag (#3305)
  doesn't have flag with double dash
  doesn't have flag with double dash
  handles subcommand --help well (subcommand)
  handles subcommand --help well (subcommand)
  calls the handler for missing options
  calls the handler for missing options
  doesn't raise if optional option is not specified with long flag
  doesn't raise if optional option is not specified with long flag
  has required option separated from flag but given together
  has required option separated from flag but given together
  raises on invalid option if value is given to none value handler (long flag, #9553)
  raises on invalid option if value is given to none value handler (long flag, #9553)
  parses with subcommands twice
  parses with subcommands twice
  has required option with = (3) handles empty
  has required option with = (3) handles empty
  raises on invalid option
  raises on invalid option
  handles subcommands with hyphen
  handles subcommands with hyphen
  has required option next to flag but given separated
  has required option next to flag but given separated
  has flag with many letters
  has flag with many letters
  doesn't raise if required option is not specified with separated short flag
  doesn't raise if required option is not specified with separated short flag
  Consumption of flags following an ungiven optional argument
    Given a long option with an optional value
      doesn't eat further short options
      doesn't eat further short options
      doesn't eat further long options
      doesn't eat further long options
    Given a short option with an optional value
      doesn't eat a following long option
      doesn't eat a following long option
      does eat a value that looks like an option
      does eat a value that looks like an option
      doesn't eat a following short option
      doesn't eat a following short option
  --
    initializes without block and does parse!
    initializes without block and does parse!
    ignores everything after -- with bool flag
    ignores everything after -- with bool flag
    returns a pair with things coming before and after --
    returns a pair with things coming before and after --
    gets `-` as argument
    gets `-` as argument
    ignores everything after -- with double flag
    ignores everything after -- with double flag
    ignores everything after -- with single flag)
    ignores everything after -- with single flag)
    returns a pair with things coming before and after --, without --
    returns a pair with things coming before and after --, without --
String
  gets each_line with chomp = false
  gets each_line with chomp = false
  interpolation
    of a single string
    of a single string
    of multiple strings
    of multiple strings
    of a single non-string
    of a single non-string
    of string and char
    of string and char
    of char and string
    of char and string
    of multiple possibly non-strings
    of multiple possibly non-strings
  escapes with unicode
  escapes with unicode
  does each_char_with_index, with offset
  does each_char_with_index, with offset
  creating from a slice
    allows creating from an empty slice
    allows creating from an empty slice
  raises if String.build negative capacity
  raises if String.build negative capacity
  to_i
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    to_i128
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    to_i16
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    to_i32
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    to_u32
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    to_i64
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    to_u16
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    assert
    assert
    assert
    assert
    to_u64
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    to_i8
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    assert
    assert
    to_u8
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    to_u128
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  byte_index
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    gets byte index of string
    gets byte index of string
    assert
    assert
    assert
    assert
  builds with write_byte
  builds with write_byte
  #inspect
  #inspect
  compares strings: same size, same string
  compares strings: same size, same string
  #byte_slice
    gets byte_slice(Int) with start out of bounds
    gets byte_slice(Int) with start out of bounds
    gets byte_slice with negative index
    gets byte_slice with negative index
    gets byte_slice with start out of bounds
    gets byte_slice with start out of bounds
    gets byte_slice with negative count
    gets byte_slice with negative count
    gets byte_slice
    gets byte_slice
    gets byte_slice with large count
    gets byte_slice with large count
    gets byte_slice with negative count at last
    gets byte_slice with negative count at last
  does byte_at?
  does byte_at?
  =~
    returns nil with regex and regex
    returns nil with regex and regex
    matches with group
    matches with group
    returns nil with string
    returns nil with string
  count
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  compares strings: different size
  compares strings: different size
  lchop
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  has size (same as size)
  has size (same as size)
  matches with position
  matches with position
  rchop
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  multiplies with negative size
  multiplies with negative size
  matches, but returns Bool
  matches, but returns Bool
  encode
    doesn't raise if incomplete byte sequence
    doesn't raise if incomplete byte sequence
    decodes
    decodes
    raises if wrong encoding
    raises if wrong encoding
    decodes with skip
    decodes with skip
    encodes
    encodes
    raises if illegal byte sequence
    raises if illegal byte sequence
    doesn't raise on invalid byte sequence
    doesn't raise on invalid byte sequence
    decodes with shift state
    decodes with shift state
    raises if incomplete byte sequence
    raises if incomplete byte sequence
    flushes the shift state (#11992)
    flushes the shift state (#11992)
    raises if wrong encoding with skip
    raises if wrong encoding with skip
  #underscore
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    handles multi-character mappings correctly
    handles multi-character mappings correctly
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  gets each_line
  gets each_line
  #index
    by regex
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      with offset
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
    by char
      assert
      assert
      with offset
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    by string
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      with offset
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
      assert
      assert
      assert
      assert
  gets lines
  gets lines
  partition
    by string
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    by regex
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    by char
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
  #rindex!
    by string
      assert
      assert
      with offset
        assert
        assert
        assert
        assert
        assert
        assert
      assert
      assert
      assert
      assert
    by regex
      assert
      assert
      with offset
        assert
        assert
        assert
        assert
        assert
        assert
      assert
      assert
      assert
      assert
      assert
      assert
    by char
      assert
      assert
      assert
      assert
      assert
      assert
      with offset
        assert
        assert
        assert
        assert
  has match
  has match
  sub
    subs with regex and hash
    subs with regex and hash
    replaces with multiple named back-reference
    replaces with multiple named back-reference
    subs range with string, non-ascii
    subs range with string, non-ascii
    subs at index with string, non-ascii
    subs at index with string, non-ascii
    subs with char hash
    subs with char hash
    subs with string and string (utf-8)
    subs with string and string (utf-8)
    subs with empty regex
    subs with empty regex
    replaces with numeric back-reference
    replaces with numeric back-reference
    replaces with incomplete named back-reference (1)
    replaces with incomplete named back-reference (1)
    subs range with char, non-ascii
    subs range with char, non-ascii
    subs range with string
    subs range with string
    subs at index with string
    subs at index with string
    subs the last char
    subs the last char
    subs with regex and string, returns self if no match
    subs with regex and string, returns self if no match
    subs beginless range with string
    subs beginless range with string
    replaces with named back-reference
    replaces with named back-reference
    subs with string and block
    subs with string and block
    raises if index is out of bounds
    raises if index is out of bounds
    subs using with z\w
    subs using with z\w
    replaces with incomplete named back-reference (2)
    replaces with incomplete named back-reference (2)
    subs with empty string
    subs with empty string
    subs with regex and named tuple
    subs with regex and named tuple
    subs endless range with char
    subs endless range with char
    ignores if backreferences: false
    ignores if backreferences: false
    subs with string and string (#3258)
    subs with string and string (#3258)
    replaces with \a
    replaces with \a
    subs char with string
    subs char with string
    subs using with \
    subs using with \
    subs endless range with string
    subs endless range with string
    subs with regex and block
    subs with regex and block
    subs at negative index with char
    subs at negative index with char
    subs with string and string
    subs with string and string
    subs char with char
    subs char with char
    subs beginless range with char
    subs beginless range with char
    subs range with char
    subs range with char
    subs with regex and block with group
    subs with regex and block with group
    subs with regex and string (utf-8)
    subs with regex and string (utf-8)
    subs with string and string return self if no match
    subs with string and string return self if no match
    subs at index with char, non-ascii
    subs at index with char, non-ascii
    subs null character
    subs null character
    subs char with string
    subs char with string
    replaces with \\\1
    replaces with \\\1
    subs at negative index with string
    subs at negative index with string
    subs at index with char
    subs at index with char
    subs with regex and string
    subs with regex and string
    subs using $~
    subs using $~
  "#each_char with empty string" yielding
  "#each_char with empty string" yielding
  interpolates string
  interpolates string
  lstrip
    assert
    assert
    assert
    assert
    does not touch invalid code units in an otherwise ascii string
    does not touch invalid code units in an otherwise ascii string
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #byte_slice?
    gets byte_slice with large count
    gets byte_slice with large count
    gets byte_slice(Int) with start out of bounds
    gets byte_slice(Int) with start out of bounds
    gets byte_slice with negative index
    gets byte_slice with negative index
    gets byte_slice with start out of bounds
    gets byte_slice with start out of bounds
    gets byte_slice with negative count
    gets byte_slice with negative count
    gets byte_slice with negative count at last
    gets byte_slice with negative count at last
    gets byte_slice
    gets byte_slice
  inserts
  inserts
  squeeze
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  "#each_char" yielding
  "#each_char" yielding
  delete_at
    start, count
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      raises on negative count
      raises on negative count
      assert
      assert
      assert
      assert
      raises on negative count
      raises on negative count
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    range
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    char
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
  "#each_char with empty string" iterator
  "#each_char with empty string" iterator
  "#each_line" yielding
  "#each_line" yielding
  invalid UTF-8 byte sequence
    gets chars
    gets chars
    valid_encoding?
    valid_encoding?
    gets chars (2)
    gets chars (2)
    gets size (2)
    gets size (2)
    gets size
    gets size
    scrubs
    scrubs
  #index!
    by regex
      assert
      assert
      assert
      assert
      assert
      assert
      with offset
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
      assert
      assert
    by string
      assert
      assert
      assert
      assert
      with offset
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
      assert
      assert
      assert
      assert
    by char
      assert
      assert
      with offset
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
      assert
      assert
  hexbytes
  hexbytes
  #match_full!
  #match_full!
  tr
    given no replacement characters
      acts as #delete
      acts as #delete
    translates
    translates
  compare
    compares with == when same string
    compares with == when same string
    compares with == when different contents
    compares with == when different contents
    sorts strings
    sorts strings
    compares with == when different strings same contents
    compares with == when different strings same contents
  []
    raises on too negative left bound
    raises on too negative left bound
    raises if count is negative with utf-8
    raises if count is negative with utf-8
    raises index out of bound on index out of range with range
    raises index out of bound on index out of range with range
    gets when index is last and count is zero
    gets when index is last and count is zero
    gets with exclusive range with unicode
    gets with exclusive range with unicode
    gets with positive index
    gets with positive index
    gets with inclusive range
    gets with inclusive range
    gets with a char
    gets with a char
    gets with range without end
    gets with range without end
    raises if index out of bounds with utf-8
    raises if index out of bounds with utf-8
    gets with single char
    gets with single char
    gets when index is last and count is negative at last with utf-8
    gets when index is last and count is negative at last with utf-8
    gets with negative index
    gets with negative index
    gets with start and count with negative start
    gets with start and count with negative start
    raises if index out of bounds
    raises if index out of bounds
    raises index out of bound on index out of range with range and utf-8
    raises index out of bound on index out of range with range and utf-8
    assert
    assert
    gets when index is last and count is zero in utf-8
    gets when index is last and count is zero in utf-8
    gets with exclusive range
    gets with exclusive range
    gets with inclusive range with negative indices
    gets with inclusive range with negative indices
    raises IndexError if pointing after last char which is non-ASCII
    raises IndexError if pointing after last char which is non-ASCII
    raises if count is negative
    raises if count is negative
    with a regex
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    gets with a string
    gets with a string
    gets when index is last and count is positive in utf-8
    gets when index is last and count is positive in utf-8
    gets with exclusive with start and count to end
    gets with exclusive with start and count to end
    gets with start and count
    gets with start and count
    gets when index is last and count is positive
    gets when index is last and count is positive
    gets with range without beginning
    gets with range without beginning
    gets with exclusive with start and count
    gets with exclusive with start and count
    gets when index is last and count is negative at last
    gets when index is last and count is negative at last
  starts_with?
    assert
    assert
    assert
    assert
    assert
    assert
    treats first char as replacement char if invalid in an otherwise ascii string
    treats first char as replacement char if invalid in an otherwise ascii string
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  delete
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    deletes one char
    deletes one char
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  empty?
    assert
    assert
    assert
    assert
  creating from a pointer
    raises an exception when creating a string with a null pointer and no size
    raises an exception when creating a string with a null pointer and no size
    doesn't raise creating from a null pointer with size 0
    doesn't raise creating from a null pointer with size 0
    allows creating a string with zeros
    allows creating a string with zeros
    raises when creating from a null pointer with a nonzero size
    raises when creating from a null pointer with a nonzero size
  does byte_at
  does byte_at
  does to_f64
  does to_f64
  String.new(&)
    raises if returned bytesize is greater than capacity
    raises if returned bytesize is greater than capacity
    raises if capacity too big with UInt32::MAX - String::HEADER_SIZE - 1
    raises if capacity too big with UInt32::MAX - String::HEADER_SIZE - 1
    creates with matching capacity
    creates with matching capacity
    raises if capacity too big with UInt32::MAX
    raises if capacity too big with UInt32::MAX
    raises if capacity too big with UInt64::MAX
    raises if capacity too big with UInt64::MAX
    allocates buffer of correct size (#3332)
    allocates buffer of correct size (#3332)
    creates with excess capacity
    creates with excess capacity
    raises if string capacity is negative
    raises if string capacity is negative
  scans using $~
  scans using $~
  ascii_only?
    broken UTF-8 is not ascii_only
    broken UTF-8 is not ascii_only
    answers ascii_only?
    answers ascii_only?
  #gsub
    gsubs with empty regex
    gsubs with empty regex
    gsubs char with string depending on the char
    gsubs char with string depending on the char
    gsubs with regex and hash
    gsubs with regex and hash
    gsubs with regex and string, returns self if no match
    gsubs with regex and string, returns self if no match
    raises with incomplete back-reference (2)
    raises with incomplete back-reference (2)
    gsubs char with char in non-ascii string
    gsubs char with char in non-ascii string
    gsubs null character
    gsubs null character
    gsubs char with string (nop)
    gsubs char with string (nop)
    gsubs with regex and block
    gsubs with regex and block
    replaces with escaped back-reference
    replaces with escaped back-reference
    gsubs with string and string (utf-8)
    gsubs with string and string (utf-8)
    gsubs with empty string
    gsubs with empty string
    replaces with incomplete back-reference (3)
    replaces with incomplete back-reference (3)
    empty string
    empty string
    replaces with back-reference to missing capture group
    replaces with back-reference to missing capture group
    gsubs with regex and named tuple
    gsubs with regex and named tuple
    gsubs using $~
    gsubs using $~
    gsubs with regex and string
    gsubs with regex and string
    gsubs with char hash
    gsubs with char hash
    gsubs char with char
    gsubs char with char
    gsubs with regex and string (utf-8)
    gsubs with regex and string (utf-8)
    replaces with numeric back-reference
    replaces with numeric back-reference
    raises with incomplete back-reference (1)
    raises with incomplete back-reference (1)
    gsubs char with string
    gsubs char with string
    gsubs with regex and block with group
    gsubs with regex and block with group
    replaces with named back-reference
    replaces with named back-reference
    empty match
    empty match
    replaces with incomplete back-reference (1)
    replaces with incomplete back-reference (1)
    gsubs with string and string
    gsubs with string and string
    gsubs with string and string return self if no match
    gsubs with string and string return self if no match
    ignores if backreferences: false
    ignores if backreferences: false
    gsubs with char named tuple
    gsubs with char named tuple
    gsubs with string and block
    gsubs with string and block
    replaces with incomplete back-reference (2)
    replaces with incomplete back-reference (2)
  #compare
    compares case-insensitive
    compares case-insensitive
    compares case-sensitive
    compares case-sensitive
    compares case-insensitive, multiple chars after case conversion (#4513)
    compares case-insensitive, multiple chars after case conversion (#4513)
    treats invalid code units as replacement char in an otherwise ascii string
    treats invalid code units as replacement char in an otherwise ascii string
  rstrip
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    does not touch invalid code units in an otherwise ascii string
    does not touch invalid code units in an otherwise ascii string
    assert
    assert
    assert
    assert
  rpartition
    by regex
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    by char
      assert
      assert
      assert
      assert
      assert
      assert
    by string
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
  split
    by whitespace
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    by regex
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      keeps groups
      keeps groups
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    by string
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    by char
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
  gets lines with chomp = false
  gets lines with chomp = false
  does pretty_inspect
  does pretty_inspect
  raises if String.build capacity too big
  raises if String.build capacity too big
  gets size of \0 string
  gets size of \0 string
  strip
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  does *
  does *
  has codepoints
  has codepoints
  chomp
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  does each_char_with_index
  does each_char_with_index
  #downcase
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    does not touch invalid code units in an otherwise ascii string
    does not touch invalid code units in an otherwise ascii string
  #dump
  #dump
  #scan
    works with strings
    works with strings
    works when match is empty, multibyte char
    works when match is empty, multibyte char
    does with block
    does with block
    does without block
    does without block
    does with utf-8
    does with utf-8
    works with strings with block
    works with strings with block
    does with number and string
    does with number and string
    works when match is empty
    works when match is empty
    options parameter
    options parameter
  #upcase
    assert
    assert
    does not touch invalid code units in an otherwise ascii string
    does not touch invalid code units in an otherwise ascii string
    assert
    assert
    assert
    assert
    with IO
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  "#each_line" iterator
  "#each_line" iterator
  does to_f32
  does to_f32
  #matches_full?
  #matches_full?
  #dump_unquoted
  #dump_unquoted
  clones
  clones
  dups
  dups
  "#each_char" iterator
  "#each_char" iterator
  presence
    assert
    assert
    assert
    assert
    assert
    assert
  match!
    with options
      Regex::Match options
      Regex::Match options
    returns matchdata
    returns matchdata
    assigns captures
    assigns captures
    raises on non-match
    raises on non-match
  "#each_codepoint" iterator
  "#each_codepoint" iterator
  hexbytes?
  hexbytes?
  compares strings: same size, different string
  compares strings: same size, different string
  matches empty string
  matches empty string
  rjust
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    to io
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
  #reverse
    converts invalid code units to replacement char
    converts invalid code units to replacement char
    reverses taking grapheme clusters into account
    reverses taking grapheme clusters into account
    reverses utf-8 string
    reverses utf-8 string
    reverses string
    reverses string
  does each_char
  does each_char
  +
    does when right is empty
    does when right is empty
    does with ascii char
    does with ascii char
    does with unicode char
    does with unicode char
    does for both unicode
    does for both unicode
    does when left is empty
    does when left is empty
    does for both ascii
    does for both ascii
  #camelcase
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    handles multi-character mappings correctly (#13533)
    handles multi-character mappings correctly (#13533)
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #titleize
    assert
    assert
    assert
    assert
    with IO
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    handles multi-character mappings correctly (#13533)
    handles multi-character mappings correctly (#13533)
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    does not touch invalid code units in an otherwise ascii string
    does not touch invalid code units in an otherwise ascii string
  #capitalize
    assert
    assert
    assert
    assert
    assert
    assert
    handles multi-character mappings correctly (#13533)
    handles multi-character mappings correctly (#13533)
    does not touch invalid code units in an otherwise ascii string
    does not touch invalid code units in an otherwise ascii string
    assert
    assert
  rchop?
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  multiplies
  multiplies
  #rindex
    by char
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      with offset
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
      assert
      assert
    by regex
      which matches empty string
        assert
        assert
        assert
        assert
        assert
        assert
      assert
      assert
      assert
      assert
      with offset
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
      assert
      assert
      assert
      assert
    by string
      with offset
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
        assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
  escapes chars
  escapes chars
  includes?
    by string
      assert
      assert
      assert
      assert
      assert
      assert
    by char
      assert
      assert
      assert
      assert
  "#each_codepoint" yielding
  "#each_codepoint" yielding
  "#each_byte" iterator
  "#each_byte" iterator
  succ
    adds an additional character (just left to the last increased one) if there is a carry and no character left to increase
    adds an additional character (just left to the last increased one) if there is a carry and no character left to increase
    increases the next best alphanumeric (jumping over non-alphanumerics) if there is a carry
    increases the next best alphanumeric (jumping over non-alphanumerics) if there is a carry
    returns the successor by increasing the rightmost alphanumeric (digit => digit, letter => letter with same case)
    returns the successor by increasing the rightmost alphanumeric (digit => digit, letter => letter with same case)
    returns an empty string for empty strings
    returns an empty string for empty strings
    increases non-alphanumerics (via ascii rules) if there are no alphanumerics
    increases non-alphanumerics (via ascii rules) if there are no alphanumerics
  #match_full
  #match_full
  does %
  does %
  does to_f
  does to_f
  center
    assert
    assert
    assert
    assert
    assert
    assert
    to io
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
  compares strings: same object
  compares strings: same object
  #inspect_unquoted
  #inspect_unquoted
  escapes with octal
  escapes with octal
  does char_at
  does char_at
  char_index_to_byte_index
    with ascii
    with ascii
    with utf-8
    with utf-8
  ljust
    to io
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  blank?
    assert
    assert
    assert
    assert
    assert
    assert
  "#each_line(chomp: false)" iterator
  "#each_line(chomp: false)" iterator
  "#each_byte" yielding
  "#each_byte" yielding
  byte_index_to_char_index
    with utf-8
    with utf-8
    with ascii
    with ascii
  ends_with?
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    treats last char as replacement char if invalid in an otherwise ascii string
    treats last char as replacement char if invalid in an otherwise ascii string
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  "#each_line(chomp: false)" yielding
  "#each_line(chomp: false)" yielding
  multiplies with size one
  multiplies with size one
  []?
    gets with a char
    gets with a char
    gets with a string
    gets with a string
    gets with range without end
    gets with range without end
    gets with range
    gets with range
    gets with range without beginning
    gets with range without beginning
    returns nil if pointing after last char which is non-ASCII
    returns nil if pointing after last char which is non-ASCII
    gets with start and count
    gets with start and count
    gets with index
    gets with index
  does chars
  does chars
  lchop?
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
YAML::Builder
  writes scalar with style
  writes scalar with style
  writes mapping with anchor
  writes mapping with anchor
  writes alias
  writes alias
  errors on max nesting (sequence)
  errors on max nesting (sequence)
  writes mapping with tag
  writes mapping with tag
  writes mapping with style
  writes mapping with style
  writes sequence with style
  writes sequence with style
  writes sequence with anchor
  writes sequence with anchor
  errors on max nesting (mapping)
  errors on max nesting (mapping)
  writes scalar
  writes scalar
  writes mapping
  writes mapping
  writes sequence with tag
  writes sequence with tag
  .build (with block)
  .build (with block)
  writes sequence
  writes sequence
  writes mapping with alias
  writes mapping with alias
  writes scalar with tag
  writes scalar with tag
  writes mapping with merge
  writes mapping with merge
  writes scalar with anchor
  writes scalar with anchor
Float32#to_s
  converts 8388608000.0_f32 to "8388608000.0"
  converts 8388608000.0_f32 to "8388608000.0"
  converts 1234567890.0_f32 to "1234568000.0"
  converts 1234567890.0_f32 to "1234568000.0"
  anomalous values
    converts 0x1p90_f32 to "1.2379401e+27"
    converts 0x1p90_f32 to "1.2379401e+27"
    converts 0x1p-96_f32 to "1.2621775e-29"
    converts 0x1p-96_f32 to "1.2621775e-29"
    converts 0x1p87_f32 to "1.5474251e+26"
    converts 0x1p87_f32 to "1.5474251e+26"
  converts 12345678.0_f32 to "12345678.0"
  converts 12345678.0_f32 to "12345678.0"
  converts 1000000000000.0_f32 to "1000000000000.0"
  converts 1000000000000.0_f32 to "1000000000000.0"
  converts 67108864000.0_f32 to "67108864000.0"
  converts 67108864000.0_f32 to "67108864000.0"
  Ryu f2s_test.cc ExactValueRoundEven
    converts 3.0540412e5_f32 to "305404.12"
    converts 3.0540412e5_f32 to "305404.12"
    converts 8.0990312e3_f32 to "8099.0312"
    converts 8.0990312e3_f32 to "8099.0312"
  converts 1.23_f32 to "1.23"
  converts 1.23_f32 to "1.23"
  converts 12345678901234.0_f32 to "12345679000000.0"
  converts 12345678901234.0_f32 to "12345679000000.0"
  converts 1000000000000000.0_f32 to "1.0e+15"
  converts 1000000000000000.0_f32 to "1.0e+15"
  converts 1.234_f32 to "1.234"
  converts 1.234_f32 to "1.234"
  converts 8.0_f32 to "8.0"
  converts 8.0_f32 to "8.0"
  converts 1001000000000000.0_f32 to "1.001e+15"
  converts 1001000000000000.0_f32 to "1.001e+15"
  converts 100.0_f32 to "100.0"
  converts 100.0_f32 to "100.0"
  converts 1.0_f32 to "1.0"
  converts 1.0_f32 to "1.0"
  converts 1.0_f32 to "1.0"
  converts 1.0_f32 to "1.0"
  converts 1.23456789_f32 to "1.2345679"
  converts 1.23456789_f32 to "1.2345679"
  odd mantissas (unaffected by shifting)
    converts 5367e5_f32 to "536700000.0"
    converts 5367e5_f32 to "536700000.0"
    converts 5497856e5_f32 to "549785600000.0"
    converts 5497856e5_f32 to "549785600000.0"
    converts 671087e2_f32 to "67108700.0"
    converts 671087e2_f32 to "67108700.0"
    converts 671089e2_f32 to "67108900.0"
    converts 671089e2_f32 to "67108900.0"
    converts 5369e5_f32 to "536900000.0"
    converts 5369e5_f32 to "536900000.0"
    converts 26843e4_f32 to "268430000.0"
    converts 26843e4_f32 to "268430000.0"
    converts 1e10_f32 to "10000000000.0"
    converts 1e10_f32 to "10000000000.0"
    converts 5495808e5_f32 to "549580800000.0"
    converts 5495808e5_f32 to "549580800000.0"
    converts 9e9_f32 to "9000000000.0"
    converts 9e9_f32 to "9000000000.0"
    converts 215e7_f32 to "2150000000.0"
    converts 215e7_f32 to "2150000000.0"
    converts 134219e3_f32 to "134219000.0"
    converts 134219e3_f32 to "134219000.0"
    converts 3355445e1_f32 to "33554450.0"
    converts 3355445e1_f32 to "33554450.0"
    converts 41e8_f32 to "4100000000.0"
    converts 41e8_f32 to "4100000000.0"
    converts 43e8_f32 to "4300000000.0"
    converts 43e8_f32 to "4300000000.0"
    converts 26845e4_f32 to "268450000.0"
    converts 26845e4_f32 to "268450000.0"
    converts 7e9_f32 to "7000000000.0"
    converts 7e9_f32 to "7000000000.0"
    converts 213e7_f32 to "2130000000.0"
    converts 213e7_f32 to "2130000000.0"
    converts 3e10_f32 to "30000000000.0"
    converts 3e10_f32 to "30000000000.0"
    converts 1073e6_f32 to "1073000000.0"
    converts 1073e6_f32 to "1073000000.0"
    converts 1075e6_f32 to "1075000000.0"
    converts 1075e6_f32 to "1075000000.0"
    converts 3355443e1_f32 to "33554430.0"
    converts 3355443e1_f32 to "33554430.0"
    converts 134217e3_f32 to "134217000.0"
    converts 134217e3_f32 to "134217000.0"
  converts 1000001000000000.0_f32 to "1.000001e+15"
  converts 1000001000000000.0_f32 to "1.000001e+15"
  one-digit cases, where the decimal point can't appear between digits like "17.29"
    converts 7e-2_f32 to "0.07"
    converts 7e-2_f32 to "0.07"
    converts 7e-3_f32 to "0.007"
    converts 7e-3_f32 to "0.007"
    converts 7e+0_f32 to "7.0"
    converts 7e+0_f32 to "7.0"
    converts 7e+3_f32 to "7000.0"
    converts 7e+3_f32 to "7000.0"
    converts 7e-1_f32 to "0.7"
    converts 7e-1_f32 to "0.7"
    converts 7e+1_f32 to "70.0"
    converts 7e+1_f32 to "70.0"
    converts 7e+2_f32 to "700.0"
    converts 7e+2_f32 to "700.0"
  converts 10000000.0_f32 to "10000000.0"
  converts 10000000.0_f32 to "10000000.0"
  all exponents
    converts 1.729e-9_f32 to "1.729e-9"
    converts 1.729e-9_f32 to "1.729e-9"
    converts 1.729e19_f32 to "1.729e+19"
    converts 1.729e19_f32 to "1.729e+19"
    converts 1.729e-20_f32 to "1.729e-20"
    converts 1.729e-20_f32 to "1.729e-20"
    converts 1.729e-28_f32 to "1.729e-28"
    converts 1.729e-28_f32 to "1.729e-28"
    converts 1.729e-1_f32 to "0.1729"
    converts 1.729e-1_f32 to "0.1729"
    converts 1.729e-3_f32 to "0.001729"
    converts 1.729e-3_f32 to "0.001729"
    converts 1.729e-35_f32 to "1.729e-35"
    converts 1.729e-35_f32 to "1.729e-35"
    converts 1.729e30_f32 to "1.729e+30"
    converts 1.729e30_f32 to "1.729e+30"
    converts 1.729e-43_f32 to "1.72e-43"
    converts 1.729e-43_f32 to "1.72e-43"
    converts 1.729e+9_f32 to "1729000000.0"
    converts 1.729e+9_f32 to "1729000000.0"
    converts 1.729e17_f32 to "1.729e+17"
    converts 1.729e17_f32 to "1.729e+17"
    converts 1.729e+10_f32 to "17290000000.0"
    converts 1.729e+10_f32 to "17290000000.0"
    converts 1.729e+2_f32 to "172.9"
    converts 1.729e+2_f32 to "172.9"
    converts 1.729e-8_f32 to "1.729e-8"
    converts 1.729e-8_f32 to "1.729e-8"
    converts 1.729e15_f32 to "1.729e+15"
    converts 1.729e15_f32 to "1.729e+15"
    converts 1.729e-2_f32 to "0.01729"
    converts 1.729e-2_f32 to "0.01729"
    converts 1.729e-11_f32 to "1.729e-11"
    converts 1.729e-11_f32 to "1.729e-11"
    converts 1.729e35_f32 to "1.729e+35"
    converts 1.729e35_f32 to "1.729e+35"
    converts 1.729e+13_f32 to "17290000000000.0"
    converts 1.729e+13_f32 to "17290000000000.0"
    converts 1.729e-15_f32 to "1.729e-15"
    converts 1.729e-15_f32 to "1.729e-15"
    converts 1.729e-22_f32 to "1.729e-22"
    converts 1.729e-22_f32 to "1.729e-22"
    converts 1.729e-33_f32 to "1.729e-33"
    converts 1.729e-33_f32 to "1.729e-33"
    converts 1.729e-29_f32 to "1.729e-29"
    converts 1.729e-29_f32 to "1.729e-29"
    converts 1.729e27_f32 to "1.729e+27"
    converts 1.729e27_f32 to "1.729e+27"
    converts 1.729e16_f32 to "1.729e+16"
    converts 1.729e16_f32 to "1.729e+16"
    converts 1.729e-39_f32 to "1.729e-39"
    converts 1.729e-39_f32 to "1.729e-39"
    converts 1.729e-12_f32 to "1.729e-12"
    converts 1.729e-12_f32 to "1.729e-12"
    converts 1.729e+5_f32 to "172900.0"
    converts 1.729e+5_f32 to "172900.0"
    converts 1.729e21_f32 to "1.729e+21"
    converts 1.729e21_f32 to "1.729e+21"
    converts 1.729e26_f32 to "1.729e+26"
    converts 1.729e26_f32 to "1.729e+26"
    converts 1.729e-42_f32 to "1.729e-42"
    converts 1.729e-42_f32 to "1.729e-42"
    converts 1.729e-45_f32 to "1.0e-45"
    converts 1.729e-45_f32 to "1.0e-45"
    converts 1.729e-6_f32 to "1.729e-6"
    converts 1.729e-6_f32 to "1.729e-6"
    converts 1.729e34_f32 to "1.729e+34"
    converts 1.729e34_f32 to "1.729e+34"
    converts 1.729e-38_f32 to "1.729e-38"
    converts 1.729e-38_f32 to "1.729e-38"
    converts 1.729e-21_f32 to "1.729e-21"
    converts 1.729e-21_f32 to "1.729e-21"
    converts 1.729e-23_f32 to "1.729e-23"
    converts 1.729e-23_f32 to "1.729e-23"
    converts 1.729e-25_f32 to "1.729e-25"
    converts 1.729e-25_f32 to "1.729e-25"
    converts 1.729e37_f32 to "1.729e+37"
    converts 1.729e37_f32 to "1.729e+37"
    converts 1.729e-10_f32 to "1.729e-10"
    converts 1.729e-10_f32 to "1.729e-10"
    converts 1.729e20_f32 to "1.729e+20"
    converts 1.729e20_f32 to "1.729e+20"
    converts 1.729e32_f32 to "1.729e+32"
    converts 1.729e32_f32 to "1.729e+32"
    converts 1.729e-41_f32 to "1.729e-41"
    converts 1.729e-41_f32 to "1.729e-41"
    converts 1.729e-26_f32 to "1.729e-26"
    converts 1.729e-26_f32 to "1.729e-26"
    converts 1.729e+14_f32 to "172900000000000.0"
    converts 1.729e+14_f32 to "172900000000000.0"
    converts 1.729e28_f32 to "1.729e+28"
    converts 1.729e28_f32 to "1.729e+28"
    converts 1.729e-19_f32 to "1.729e-19"
    converts 1.729e-19_f32 to "1.729e-19"
    converts 1.729e-36_f32 to "1.729e-36"
    converts 1.729e-36_f32 to "1.729e-36"
    converts 1.729e-18_f32 to "1.729e-18"
    converts 1.729e-18_f32 to "1.729e-18"
    converts 1.729e24_f32 to "1.729e+24"
    converts 1.729e24_f32 to "1.729e+24"
    converts 1.729e-34_f32 to "1.729e-34"
    converts 1.729e-34_f32 to "1.729e-34"
    converts 1.729e-37_f32 to "1.729e-37"
    converts 1.729e-37_f32 to "1.729e-37"
    converts 1.729e-30_f32 to "1.729e-30"
    converts 1.729e-30_f32 to "1.729e-30"
    converts 1.729e-16_f32 to "1.729e-16"
    converts 1.729e-16_f32 to "1.729e-16"
    converts 1.729e36_f32 to "1.729e+36"
    converts 1.729e36_f32 to "1.729e+36"
    converts 1.729e+3_f32 to "1729.0"
    converts 1.729e+3_f32 to "1729.0"
    converts 1.729e29_f32 to "1.729e+29"
    converts 1.729e29_f32 to "1.729e+29"
    converts 1.729e-17_f32 to "1.729e-17"
    converts 1.729e-17_f32 to "1.729e-17"
    converts 1.729e-32_f32 to "1.729e-32"
    converts 1.729e-32_f32 to "1.729e-32"
    converts 1.729e+1_f32 to "17.29"
    converts 1.729e+1_f32 to "17.29"
    converts 1.729e-24_f32 to "1.729e-24"
    converts 1.729e-24_f32 to "1.729e-24"
    converts 1.729e25_f32 to "1.729e+25"
    converts 1.729e25_f32 to "1.729e+25"
    converts 1.729e-27_f32 to "1.729e-27"
    converts 1.729e-27_f32 to "1.729e-27"
    converts 1.729e+7_f32 to "17290000.0"
    converts 1.729e+7_f32 to "17290000.0"
    converts 1.729e-31_f32 to "1.729e-31"
    converts 1.729e-31_f32 to "1.729e-31"
    converts 1.729e+6_f32 to "1729000.0"
    converts 1.729e+6_f32 to "1729000.0"
    converts 1.729e+8_f32 to "172900000.0"
    converts 1.729e+8_f32 to "172900000.0"
    converts 1.729e33_f32 to "1.729e+33"
    converts 1.729e33_f32 to "1.729e+33"
    converts 1.729e-5_f32 to "1.729e-5"
    converts 1.729e-5_f32 to "1.729e-5"
    converts 1.729e31_f32 to "1.729e+31"
    converts 1.729e31_f32 to "1.729e+31"
    converts 1.729e-4_f32 to "0.0001729"
    converts 1.729e-4_f32 to "0.0001729"
    converts 1.729e18_f32 to "1.729e+18"
    converts 1.729e18_f32 to "1.729e+18"
    converts 1.729e23_f32 to "1.729e+23"
    converts 1.729e23_f32 to "1.729e+23"
    converts 1.729e-14_f32 to "1.729e-14"
    converts 1.729e-14_f32 to "1.729e-14"
    converts 1.729e-44_f32 to "1.7e-44"
    converts 1.729e-44_f32 to "1.7e-44"
    converts 1.729e+11_f32 to "172900000000.0"
    converts 1.729e+11_f32 to "172900000000.0"
    converts 1.729e+4_f32 to "17290.0"
    converts 1.729e+4_f32 to "17290.0"
    converts 1.729e-7_f32 to "1.729e-7"
    converts 1.729e-7_f32 to "1.729e-7"
    converts 1.729e22_f32 to "1.729e+22"
    converts 1.729e22_f32 to "1.729e+22"
    converts 1.729e38_f32 to "1.729e+38"
    converts 1.729e38_f32 to "1.729e+38"
    converts 1.729e-13_f32 to "1.729e-13"
    converts 1.729e-13_f32 to "1.729e-13"
    converts 1.729e+12_f32 to "1729000000000.0"
    converts 1.729e+12_f32 to "1729000000000.0"
    converts 1.729e-40_f32 to "1.729e-40"
    converts 1.729e-40_f32 to "1.729e-40"
    converts 1.729e+0_f32 to "1.729"
    converts 1.729e+0_f32 to "1.729"
  converts 100000000000000.0_f32 to "100000000000000.0"
  converts 100000000000000.0_f32 to "100000000000000.0"
  converts 1000000000.0_f32 to "1000000000.0"
  converts 1000000000.0_f32 to "1000000000.0"
  converts 524288000.0_f32 to "524288000.0"
  converts 524288000.0_f32 to "524288000.0"
  converts 1000000.0_f32 to "1000000.0"
  converts 1000000.0_f32 to "1000000.0"
  converts 1.2345678_f32 to "1.2345678"
  converts 1.2345678_f32 to "1.2345678"
  converts 8192.0_f32 to "8192.0"
  converts 8192.0_f32 to "8192.0"
  converts 65536.0_f32 to "65536.0"
  converts 65536.0_f32 to "65536.0"
  converts 8192000.0_f32 to "8192000.0"
  converts 8192000.0_f32 to "8192000.0"
  converts 1000010000000000.0_f32 to "1.00001e+15"
  converts 1000010000000000.0_f32 to "1.00001e+15"
  converts 123.0_f32 to "123.0"
  converts 123.0_f32 to "123.0"
  converts 64000.0_f32 to "64000.0"
  converts 64000.0_f32 to "64000.0"
  converts 12345678901.0_f32 to "12345679000.0"
  converts 12345678901.0_f32 to "12345679000.0"
  converts 1.2_f32 to "1.2"
  converts 1.2_f32 to "1.2"
  Ryu f2s_test.cc BoundaryRoundEven
    converts 8.999999e9_f32 to "9000000000.0"
    converts 8.999999e9_f32 to "9000000000.0"
    converts 3.4366717e10_f32 to "34366720000.0"
    converts 3.4366717e10_f32 to "34366720000.0"
    converts 3.355445e7_f32 to "33554450.0"
    converts 3.355445e7_f32 to "33554450.0"
  converts 8000.0_f32 to "8000.0"
  converts 8000.0_f32 to "8000.0"
  converts 123456789012.0_f32 to "123456790000.0"
  converts 123456789012.0_f32 to "123456790000.0"
  converts 12.0_f32 to "12.0"
  converts 12.0_f32 to "12.0"
  converts 100000000.0_f32 to "100000000.0"
  converts 100000000.0_f32 to "100000000.0"
  highly-trimmed powers of 2
    converts 0x1p118_f32 to "3.32307e+35"
    converts 0x1p118_f32 to "3.32307e+35"
    converts 0x1p119_f32 to "6.64614e+35"
    converts 0x1p119_f32 to "6.64614e+35"
  converts 1.234567_f32 to "1.234567"
  converts 1.234567_f32 to "1.234567"
  Ryu f2s_test.cc LooksLikePow5
    converts 0x1.2a05f2p+59_f32 to "6.7108864e+17"
    converts 0x1.2a05f2p+59_f32 to "6.7108864e+17"
    converts 0x1.2a05f2p+60_f32 to "1.3421773e+18"
    converts 0x1.2a05f2p+60_f32 to "1.3421773e+18"
    converts 0x1.2a05f2p+61_f32 to "2.6843546e+18"
    converts 0x1.2a05f2p+61_f32 to "2.6843546e+18"
  converts 1000100000000000.0_f32 to "1.0001e+15"
  converts 1000100000000000.0_f32 to "1.0001e+15"
  converts 1000000010000000.0_f32 to "1.0e+15"
  converts 1000000010000000.0_f32 to "1.0e+15"
  converts 1010000000000000.0_f32 to "1.01e+15"
  converts 1010000000000000.0_f32 to "1.01e+15"
  converts 64.0_f32 to "64.0"
  converts 64.0_f32 to "64.0"
  converts 512.0_f32 to "512.0"
  converts 512.0_f32 to "512.0"
  Ryu f2s_test.cc Regression
    converts 5.368709e18_f32 to "5.368709e+18"
    converts 5.368709e18_f32 to "5.368709e+18"
    converts 1.00014165e-36_f32 to "1.00014165e-36"
    converts 1.00014165e-36_f32 to "1.00014165e-36"
    converts 9.223372e18_f32 to "9.223372e+18"
    converts 9.223372e18_f32 to "9.223372e+18"
    converts 2.8823261e17_f32 to "2.882326e+17"
    converts 2.8823261e17_f32 to "2.882326e+17"
    converts 1.6777216e7_f32 to "16777216.0"
    converts 1.6777216e7_f32 to "16777216.0"
    converts 4.7223665e21_f32 to "4.7223665e+21"
    converts 4.7223665e21_f32 to "4.7223665e+21"
    converts -2.47e-43_f32 to "-2.47e-43"
    converts -2.47e-43_f32 to "-2.47e-43"
    converts 4.6143165e18_f32 to "4.6143166e+18"
    converts 4.6143165e18_f32 to "4.6143166e+18"
    converts 6.7108872e7_f32 to "67108870.0"
    converts 6.7108872e7_f32 to "67108870.0"
    converts 0.007812537_f32 to "0.007812537"
    converts 0.007812537_f32 to "0.007812537"
    converts 6.7131496e7_f32 to "67131496.0"
    converts 6.7131496e7_f32 to "67131496.0"
    converts 7.038531e-26_f32 to "7.038531e-26"
    converts 7.038531e-26_f32 to "7.038531e-26"
    converts 200.0_f32 to "200.0"
    converts 200.0_f32 to "200.0"
    converts 1.0e-44_f32 to "1.0e-44"
    converts 1.0e-44_f32 to "1.0e-44"
    converts 0.0010310042_f32 to "0.0010310042"
    converts 0.0010310042_f32 to "0.0010310042"
    converts 1.1811161e19_f32 to "1.1811161e+19"
    converts 1.1811161e19_f32 to "1.1811161e+19"
    converts 1.4e-45_f32 to "1.0e-45"
    converts 1.4e-45_f32 to "1.0e-45"
    converts 1.5846085e29_f32 to "1.5846086e+29"
    converts 1.5846085e29_f32 to "1.5846086e+29"
    converts 8388608.0_f32 to "8388608.0"
    converts 8388608.0_f32 to "8388608.0"
    converts 5.3399997e9_f32 to "5339999700.0"
    converts 5.3399997e9_f32 to "5339999700.0"
    converts 1.9310392e-38_f32 to "1.9310392e-38"
    converts 1.9310392e-38_f32 to "1.9310392e-38"
    converts 6.0898e-39_f32 to "6.0898e-39"
    converts 6.0898e-39_f32 to "6.0898e-39"
    converts 3.3554436e7_f32 to "33554436.0"
    converts 3.3554436e7_f32 to "33554436.0"
    converts 3.3554432e7_f32 to "33554432.0"
    converts 3.3554432e7_f32 to "33554432.0"
    converts 1.18697724e20_f32 to "1.18697725e+20"
    converts 1.18697724e20_f32 to "1.18697725e+20"
    converts 1.993244e-38_f32 to "1.993244e-38"
    converts 1.993244e-38_f32 to "1.993244e-38"
    converts 4103.9003_f32 to "4103.9004"
    converts 4103.9003_f32 to "4103.9004"
    converts 2.816025e14_f32 to "281602500000000.0"
    converts 2.816025e14_f32 to "281602500000000.0"
    converts 9.2234038e17_f32 to "9.223404e+17"
    converts 9.2234038e17_f32 to "9.223404e+17"
  converts 1.0_f32 to "1.0"
  converts 1.0_f32 to "1.0"
  converts 123456789012345.0_f32 to "123456790000000.0"
  converts 123456789012345.0_f32 to "123456790000000.0"
  Ryu f2s_test.cc LotsOfTrailingZeros
    converts 2.4414062e-3_f32 to "0.0024414062"
    converts 2.4414062e-3_f32 to "0.0024414062"
    converts 6.3476562e-3_f32 to "0.0063476562"
    converts 6.3476562e-3_f32 to "0.0063476562"
    converts 4.3945312e-3_f32 to "0.0043945312"
    converts 4.3945312e-3_f32 to "0.0043945312"
    converts 2.4414062e-4_f32 to "0.00024414062"
    converts 2.4414062e-4_f32 to "0.00024414062"
  converts 1234567890123.0_f32 to "1234568000000.0"
  converts 1234567890123.0_f32 to "1234568000000.0"
  converts 1234.0_f32 to "1234.0"
  converts 1234.0_f32 to "1234.0"
  converts 1100000000000000.0_f32 to "1.1e+15"
  converts 1100000000000000.0_f32 to "1.1e+15"
  converts 524288.0_f32 to "524288.0"
  converts 524288.0_f32 to "524288.0"
  converts 1000000100000000.0_f32 to "1.0000001e+15"
  converts 1000000100000000.0_f32 to "1.0000001e+15"
  Grisu failures
    converts 85_f32 / 512_f32 to "0.16601562"
    converts 85_f32 / 512_f32 to "0.16601562"
  converts 8388608.0_f32 to "8388608.0"
  converts 8388608.0_f32 to "8388608.0"
  converts 12345.0_f32 to "12345.0"
  converts 12345.0_f32 to "12345.0"
  converts 100000000000.0_f32 to "100000000000.0"
  converts 100000000000.0_f32 to "100000000000.0"
  converts 67108864.0_f32 to "67108864.0"
  converts 67108864.0_f32 to "67108864.0"
  converts 123456789.0_f32 to "123456790.0"
  converts 123456789.0_f32 to "123456790.0"
  special cases
    converts -Float32::INFINITY to "-Infinity"
    converts -Float32::INFINITY to "-Infinity"
    converts -0.0_f32 to "-0.0"
    converts -0.0_f32 to "-0.0"
    converts 4290772992_u32.unsafe_as(Float32) to "NaN"
    converts 4290772992_u32.unsafe_as(Float32) to "NaN"
    converts Float32::MIN_SUBNORMAL to "1.0e-45"
    converts Float32::MIN_SUBNORMAL to "1.0e-45"
    converts Float32::INFINITY to "Infinity"
    converts Float32::INFINITY to "Infinity"
    converts Float32::MAX to "3.4028235e+38"
    converts Float32::MAX to "3.4028235e+38"
    converts 0.0_f32 to "0.0"
    converts 0.0_f32 to "0.0"
    converts 2143289344_u32.unsafe_as(Float32) to "NaN"
    converts 2143289344_u32.unsafe_as(Float32) to "NaN"
    converts Float32::MIN_POSITIVE to "1.1754944e-38"
    converts Float32::MIN_POSITIVE to "1.1754944e-38"
    converts Float32::MIN_POSITIVE.prev_float to "1.1754942e-38"
    converts Float32::MIN_POSITIVE.prev_float to "1.1754942e-38"
  converts 100000.0_f32 to "100000.0"
  converts 100000.0_f32 to "100000.0"
  converts 1000.0_f32 to "1000.0"
  converts 1000.0_f32 to "1000.0"
  converts 1234567895.0_f32 to "1234568000.0"
  converts 1234567895.0_f32 to "1234568000.0"
  converts 10.0_f32 to "10.0"
  converts 10.0_f32 to "10.0"
  converts 10000000000.0_f32 to "10000000000.0"
  converts 10000000000.0_f32 to "10000000000.0"
  converts 65536000.0_f32 to "65536000.0"
  converts 65536000.0_f32 to "65536000.0"
  converts 123456.0_f32 to "123456.0"
  converts 123456.0_f32 to "123456.0"
  converts 1.2345_f32 to "1.2345"
  converts 1.2345_f32 to "1.2345"
  converts 1234567.0_f32 to "1234567.0"
  converts 1234567.0_f32 to "1234567.0"
  converts 1.23456735e-36_f32 to "1.23456735e-36"
  converts 1.23456735e-36_f32 to "1.23456735e-36"
  converts 1.23456_f32 to "1.23456"
  converts 1.23456_f32 to "1.23456"
  converts 1234567890123456.0_f32 to "1.234568e+15"
  converts 1234567890123456.0_f32 to "1.234568e+15"
  converts 512000.0_f32 to "512000.0"
  converts 512000.0_f32 to "512000.0"
  converts 10000000000000.0_f32 to "10000000000000.0"
  converts 10000000000000.0_f32 to "10000000000000.0"
  converts 10000.0_f32 to "10000.0"
  converts 10000.0_f32 to "10000.0"
HTTP::Server::Response
  changes status and others after headers sent
  changes status and others after headers sent
  retrieves status code
  retrieves status code
  prints with content length
  prints with content length
  changes status and others
  changes status and others
  flushes
  flushes
  sets content type
  sets content type
  closes
  closes
  prints less then buffer's size to output
  prints less then buffer's size to output
  sets status code
  sets status code
  does not automatically add the `content-length` header if the response is informational
  does not automatically add the `content-length` header if the response is informational
  #respond_with_status
    uses default values
    uses default values
    raises when response is closed
    raises when response is closed
    raises when headers written
    raises when headers written
    sends HTTP::Status and custom message
    sends HTTP::Status and custom message
    sends HTTP::Status
    sends HTTP::Status
    sends custom code and message
    sends custom code and message
  #redirect
    with header
    with header
    doesn't encode URIs twice
    doesn't encode URIs twice
    fails if headers already sent
    fails if headers already sent
    permanent redirect
    permanent redirect
    encodes special characters
    encodes special characters
    URI location
    URI location
    fails if closed
    fails if closed
    String location
    String location
  writes and flushes with HTTP 1.0
  writes and flushes with HTTP 1.0
  prints more then buffer's size
  prints more then buffer's size
  doesn't override content-length when there's no body
  doesn't override content-length when there's no body
  adds header
  adds header
  does not automatically add the `content-length` header if the response is a 204
  does not automatically add the `content-length` header if the response is a 204
  allows specifying the content-length header explicitly
  allows specifying the content-length header explicitly
  closes when it fails to write
  closes when it fails to write
  does not automatically add the `content-length` header if the response is a 304
  does not automatically add the `content-length` header if the response is a 304
  wraps output
  wraps output
  closes gracefully with replaced output that syncs close (#11389)
  closes gracefully with replaced output that syncs close (#11389)
  changes status message
  changes status message
  writes cookie headers
  writes cookie headers
  sets content type after headers sent
  sets content type after headers sent
  prints less then buffer's size
  prints less then buffer's size
  prints with content length (method)
  prints with content length (method)
  resets and clears headers and cookies
  resets and clears headers and cookies
OpenSSL::SSL::HostnameValidation
  validate_hostname
    falls back to CN entry (unless SAN entry is defined)
    falls back to CN entry (unless SAN entry is defined)
    matches IP from certificate SAN entries
    matches IP from certificate SAN entries
    matches domains from certificate SAN entries
    matches domains from certificate SAN entries
    verifies all SAN entries
    verifies all SAN entries
  matches_hostname?
    matches leading dot
    matches leading dot
    matches IDNA label
    matches IDNA label
    skips trailing dot
    skips trailing dot
    wildcard matches according to RFC 6125, section 6.4.3
    wildcard matches according to RFC 6125, section 6.4.3
    literal matches
    literal matches
    normalizes case
    normalizes case
IO
  "#each_line(chomp: false)" iterator
  "#each_line(chomp: false)" iterator
  IO::Error
    .new
      accepts `cause` argument (#14241)
      accepts `cause` argument (#14241)
  read operations
    does gets with empty string (with peek)
    does gets with empty string (with peek)
    gets with string as delimiter and chomp = true
    gets with string as delimiter and chomp = true
    raises on EOF with readline and delimiter
    raises on EOF with readline and delimiter
    does gets with \n (no peek)
    does gets with \n (no peek)
    does each_line
    does each_line
    does gets with \r\n (with peek)
    does gets with \r\n (with peek)
    does gets with \r\n, chomp true goes past \r
    does gets with \r\n, chomp true goes past \r
    does gets with limit
    does gets with limit
    does gets with unicode char delimiter
    does gets with unicode char delimiter
    does read_line with limit
    does read_line with limit
    does read_fully
    does read_fully
    reads char
    reads char
    does each_byte
    does each_byte
    .same_content?
      compares two ios, one way (false)
      compares two ios, one way (false)
      compares two ios, second way (false)
      compares two ios, second way (false)
      refutes prefix match, second way
      refutes prefix match, second way
      refutes prefix match, one way
      refutes prefix match, one way
      refutes prefix match, one way
      refutes prefix match, one way
      compares two ios, one way (true)
      compares two ios, one way (true)
      compares two ios, second way (true)
      compares two ios, second way (true)
      refutes prefix match, second way
      refutes prefix match, second way
    does gets with \r\n (no peek)
    does gets with \r\n (no peek)
    gets with string as delimiter
    gets with string as delimiter
    reads byte
    reads byte
    reads all remaining content as bytes
    reads all remaining content as bytes
    does gets with char and limit
    does gets with char and limit
    does gets with \r\n
    does gets with \r\n
    does gets with chomp false
    does gets with chomp false
    raises if invoking gets with negative limit
    raises if invoking gets with negative limit
    does read_line with char and limit
    does read_line with char and limit
    reads all remaining content
    reads all remaining content
    does read_fully?
    does read_fully?
    does gets with char delimiter
    does gets with char delimiter
    does gets with big line
    does gets with big line
    gets with single byte string as delimiter
    gets with single byte string as delimiter
    raises on EOF with read_line
    raises on EOF with read_line
    does gets with \n (with peek)
    does gets with \n (with peek)
    doesn't underflow when limit is unsigned
    doesn't underflow when limit is unsigned
    reads string
    reads string
    gets with empty string as delimiter
    gets with empty string as delimiter
    does gets
    does gets
    does gets with empty string (no peek)
    does gets with empty string (no peek)
    does each_char
    does each_char
    raises if trying to read to an IO not opened for reading
    raises if trying to read to an IO not opened for reading
  #close
    aborts 'write' in a different fiber
    aborts 'write' in a different fiber
    aborts 'read' in a different fiber
    aborts 'read' in a different fiber
  "#char" iterator
  "#char" iterator
  encoding
    #encoding
      returns "UTF-8" if the encoding is not manually set
      returns "UTF-8" if the encoding is not manually set
      returns the name of the encoding set via #set_encoding
      returns the name of the encoding set via #set_encoding
    decode
      sets encoding to utf8 and stays as UTF-8
      sets encoding to utf8 and stays as UTF-8
      gets with string delimiter
      gets with string delimiter
      gets with limit
      gets with limit
      sets encoding to utf-8 and stays as UTF-8
      sets encoding to utf-8 and stays as UTF-8
      does skips when converting to UTF-8
      does skips when converting to UTF-8
      decodes incomplete multibyte sequence with skip (2) (#3285)
      decodes incomplete multibyte sequence with skip (2) (#3285)
      decodes incomplete multibyte sequence with skip (3) (#3285)
      decodes incomplete multibyte sequence with skip (3) (#3285)
      reads string
      reads string
      gets_to_end
      gets_to_end
      gets
      gets
      gets with non-ascii and chomp: false
      gets with non-ascii and chomp: false
      reads char
      reads char
      gets with limit (big)
      gets with limit (big)
      gets with non-ascii
      gets with non-ascii
      reads utf8 byte
      reads utf8 byte
      gets with limit (small, no newline)
      gets with limit (small, no newline)
      says invalid encoding
      says invalid encoding
      says invalid 'invalid' option
      says invalid 'invalid' option
      skips invalid byte sequences
      skips invalid byte sequences
      gets ascii from socket (#9056)
      gets ascii from socket (#9056)
      reads utf8
      reads utf8
      gets big EUC-JP string
      gets big EUC-JP string
      raises on incomplete byte sequence
      raises on incomplete byte sequence
      decodes incomplete multibyte sequence with skip (#3285)
      decodes incomplete multibyte sequence with skip (#3285)
      does gets on unicode with char and limit without off-by-one
      does gets on unicode with char and limit without off-by-one
      says invalid byte sequence
      says invalid byte sequence
      gets big string
      gets big string
      gets with chomp = false
      gets with chomp = false
    encode
      printf
      printf
      raises on invalid byte sequence
      raises on invalid byte sequence
      raises on incomplete byte sequence
      raises on incomplete byte sequence
      prints char
      prints char
      puts
      puts
      prints a string
      prints a string
      prints numbers
      prints numbers
      skips on invalid byte sequence
      skips on invalid byte sequence
      prints big int
      prints big int
      prints symbol
      prints symbol
      says invalid encoding
      says invalid encoding
      prints bool
      prints bool
  partial read
    doesn't block on first read.  blocks on 2nd read
    doesn't block on first read.  blocks on 2nd read
  "#each_line" iterator
  "#each_line" iterator
  write operations
    skips but raises if not enough bytes
    skips but raises if not enough bytes
    writes bytes
    writes bytes
    skips a few bytes
    skips a few bytes
    writes with printf as an array
    writes with printf as an array
    skips to end
    skips to end
    prints
    prints
    writes with printf
    writes with printf
    puts several arguments
    puts several arguments
    raises if trying to write to an IO not opened for writing
    raises if trying to write to an IO not opened for writing
    prints several arguments
    prints several arguments
    does puts
    does puts
    does puts with big string
    does puts with big string
    does puts many times
    does puts many times
    skips more than 4096 bytes
    skips more than 4096 bytes
  "#each_line(chomp: false)" yielding
  "#each_line(chomp: false)" yielding
  "#char" yielding
  "#char" yielding
  "#char" iterator
  "#char" iterator
  raises on copy with negative limit
  raises on copy with negative limit
  copies with limit
  copies with limit
  copies
  copies
  "#each_line" yielding
  "#each_line" yielding
  "#char" yielding
  "#char" yielding
HTTP::Cookies
  allows transform to hash
  allows transform to hash
  allows adding cookies and retrieving
  allows adding cookies and retrieving
  .from_client_headers
    parses Cookie header
    parses Cookie header
    does not accept Set-Cookie header
    does not accept Set-Cookie header
  allows deleting a particular cookie by key
  allows deleting a particular cookie by key
  adding request headers
    merges multiple cookies into one Cookie header
    merges multiple cookies into one Cookie header
    overwrites a pre-existing Cookie header
    overwrites a pre-existing Cookie header
    use encode_www_form to write the cookie's value
    use encode_www_form to write the cookie's value
    when no cookies are set
      does not set a Cookie header
      does not set a Cookie header
  allows to iterate over the cookies
  allows to iterate over the cookies
  allows clearing the cookies collection
  allows clearing the cookies collection
  .from_server_headers
    does not accept Cookie header
    does not accept Cookie header
    parses Set-Cookie header
    parses Set-Cookie header
  disallows adding inconsistent state
  disallows adding inconsistent state
  adding response headers
    overwrites all pre-existing Set-Cookie headers
    overwrites all pre-existing Set-Cookie headers
    when no cookies are set
      does not set a Set-Cookie header
      does not set a Set-Cookie header
    uses encode_www_form on Set-Cookie value
    uses encode_www_form on Set-Cookie value
    sets one Set-Cookie header per cookie
    sets one Set-Cookie header per cookie
  allows retrieving the size of the cookies collection
  allows retrieving the size of the cookies collection
BigFloat
  #+
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #trunc
    assert
    assert
    assert
    assert
    assert
    assert
  #ceil
    assert
    assert
    assert
    assert
    assert
    assert
  .new
    new(String)
    new(String)
    raises if creating from NaN
    raises if creating from NaN
    raises if creating from infinity
    raises if creating from infinity
    new(BigRational)
    new(BigRational)
    new(BigInt)
    new(BigInt)
    new(Int)
    new(Int)
    new(BigFloat)
    new(BigFloat)
    raises an ArgumentError unless string denotes valid float
    raises an ArgumentError unless string denotes valid float
  #*
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #**
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #-
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #to_i64!
    doesn't raise on overflow
    doesn't raise on overflow
    basic
    basic
  clones
  clones
  #to_u64!
    basic
    basic
    doesn't raise on overflow
    doesn't raise on overflow
  #integer?
    assert
    assert
    assert
    assert
    assert
    assert
  #to_i
    assert
    assert
    assert
    assert
    assert
    assert
  #<=>
    compares against NaNs
    compares against NaNs
  #to_u!
    assert
    assert
    assert
    assert
    assert
    assert
  #to_f
    assert
    assert
    assert
    assert
    assert
    assert
  unary #-
    assert
    assert
    assert
    assert
    assert
    assert
  #/
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #round
    rounding modes
      default (=ties_even)
      default (=ties_even)
      to_negative
      to_negative
      ties_away
      ties_away
      to_zero
      to_zero
      ties_even
      ties_even
      to_positive
      to_positive
  #abs
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #to_f!
    assert
    assert
    assert
    assert
    assert
    assert
  #to_i64
    assert
    assert
    basic
    basic
    assert
    assert
    assert
    assert
  #to_u64
    assert
    assert
    basic
    basic
    assert
    assert
    assert
    assert
  #to_u
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #to_i!
    assert
    assert
    assert
    assert
    assert
    assert
  #inspect
    assert
    assert
  to_s
    assert
    assert
    converts to 3.0
    converts to 3.0
    assert
    assert
    assert
    assert
    assert
    assert
    converts to 48600000.0
    converts to 48600000.0
    converts to 10.0
    converts to 10.0
    converts to 1.0e-234
    converts to 1.0e-234
    assert
    assert
    converts to 1.0
    converts to 1.0
    converts to 100.0
    converts to 100.0
    assert
    assert
    converts to 0.01
    converts to 0.01
    converts to -3.0
    converts to -3.0
    converts to 1.23e+45
    converts to 1.23e+45
    assert
    assert
    converts to 3.0
    converts to 3.0
    converts to 150.0
    converts to 150.0
    converts to 1.2345678901234567e+16
    converts to 1.2345678901234567e+16
    converts to 1.7976931348623157e+308
    converts to 1.7976931348623157e+308
    converts to -0.01
    converts to -0.01
    converts to 1.0e-6
    converts to 1.0e-6
    converts to -0.1
    converts to -0.1
    converts to 0.0
    converts to 0.0
    converts to 12345678.87654
    converts to 12345678.87654
    assert
    assert
    converts to 12345678.87654321
    converts to 12345678.87654321
    converts to 9.000000000000987
    converts to 9.000000000000987
    converts to 0.0
    converts to 0.0
    converts to 0.1
    converts to 0.1
    converts to -1.0
    converts to -1.0
    assert
    assert
    converts to 2.2250738585072014e-308
    converts to 2.2250738585072014e-308
    converts to 1.234567890123456789e+18
    converts to 1.234567890123456789e+18
  #//
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #floor
    assert
    assert
    assert
    assert
    assert
    assert
  #hash
  #hash
JSON::PullParser
  errors on {"foo",1}
  errors on {"foo",1}
  parses false
  parses false
  parses [1.5]
  parses [1.5]
  #read?
    reads > Float32::MAX
    reads > Float32::MAX
    reads Int64: -10
    reads Int64: -10
    returns nil in place of Int128 when an overflow occurs
    returns nil in place of Int128 when an overflow occurs
    reads Int128: 0
    reads Int128: 0
    reads UInt16: 10
    reads UInt16: 10
    reads Int8: 0
    reads Int8: 0
    returns nil instead of Float64 when the token is not compatible
    returns nil instead of Float64 when the token is not compatible
    returns nil instead of Int8 when the token is not compatible
    returns nil instead of Int8 when the token is not compatible
    reads Int32: 2147483647
    reads Int32: 2147483647
    reads Int64: 10
    reads Int64: 10
    reads Int8 when the token is a compatible kind
    reads Int8 when the token is a compatible kind
    returns nil in place of UInt64 when an overflow occurs
    returns nil in place of UInt64 when an overflow occurs
    reads UInt8: 255
    reads UInt8: 255
    reads Int8: -128
    reads Int8: -128
    reads Int128: -10
    reads Int128: -10
    reads UInt32 when the token is a compatible kind
    reads UInt32 when the token is a compatible kind
    returns nil in place of Int64 when an overflow occurs
    returns nil in place of Int64 when an overflow occurs
    reads UInt8: 0
    reads UInt8: 0
    reads UInt64: 18446744073709551615
    reads UInt64: 18446744073709551615
    returns nil instead of Int64 when the token is not compatible
    returns nil instead of Int64 when the token is not compatible
    reads UInt64: 10
    reads UInt64: 10
    returns nil instead of UInt128 when the token is not compatible
    returns nil instead of UInt128 when the token is not compatible
    reads Bool when the token is a compatible kind
    reads Bool when the token is a compatible kind
    reads UInt128: 340282366920938463463374607431768211455
    reads UInt128: 340282366920938463463374607431768211455
    reads UInt16: 0
    reads UInt16: 0
    returns nil instead of UInt32 when the token is not compatible
    returns nil instead of UInt32 when the token is not compatible
    reads Int128: 10
    reads Int128: 10
    returns nil in place of Int8 when an overflow occurs
    returns nil in place of Int8 when an overflow occurs
    returns nil instead of String when the token is not compatible
    returns nil instead of String when the token is not compatible
    returns nil in place of UInt16 when an overflow occurs
    returns nil in place of UInt16 when an overflow occurs
    reads UInt8: 10
    reads UInt8: 10
    reads UInt8 when the token is a compatible kind
    reads UInt8 when the token is a compatible kind
    reads Int16 when the token is a compatible kind
    reads Int16 when the token is a compatible kind
    reads < Float64::MIN
    reads < Float64::MIN
    reads UInt128 when the token is a compatible kind
    reads UInt128 when the token is a compatible kind
    returns nil in place of Int32 when an overflow occurs
    returns nil in place of Int32 when an overflow occurs
    reads Float64 when the token is a compatible kind
    reads Float64 when the token is a compatible kind
    reads Int16: -32768
    reads Int16: -32768
    reads UInt16: 65535
    reads UInt16: 65535
    reads Int128: 170141183460469231731687303715884105727
    reads Int128: 170141183460469231731687303715884105727
    reads UInt16 when the token is a compatible kind
    reads UInt16 when the token is a compatible kind
    returns nil instead of UInt64 when the token is not compatible
    returns nil instead of UInt64 when the token is not compatible
    returns nil instead of UInt16 when the token is not compatible
    returns nil instead of UInt16 when the token is not compatible
    reads Int8: 10
    reads Int8: 10
    reads Int128: -170141183460469231731687303715884105728
    reads Int128: -170141183460469231731687303715884105728
    returns nil instead of Float32 when the token is not compatible
    returns nil instead of Float32 when the token is not compatible
    reads Int32: -2147483648
    reads Int32: -2147483648
    doesn't accept nan or infinity
    doesn't accept nan or infinity
    reads < Float32::MIN
    reads < Float32::MIN
    returns nil in place of UInt8 when an overflow occurs
    returns nil in place of UInt8 when an overflow occurs
    returns nil instead of Bool when the token is not compatible
    returns nil instead of Bool when the token is not compatible
    reads UInt64: 0
    reads UInt64: 0
    reads Int64 when the token is a compatible kind
    reads Int64 when the token is a compatible kind
    reads UInt128: 0
    reads UInt128: 0
    reads Int32: -10
    reads Int32: -10
    returns nil instead of Int16 when the token is not compatible
    returns nil instead of Int16 when the token is not compatible
    reads Int16: 10
    reads Int16: 10
    reads Int64: -9223372036854775808
    reads Int64: -9223372036854775808
    reads Int16: 0
    reads Int16: 0
    reads > Float64::MAX
    reads > Float64::MAX
    reads Int8: 127
    reads Int8: 127
    returns nil instead of Int128 when the token is not compatible
    returns nil instead of Int128 when the token is not compatible
    reads String when the token is a compatible kind
    reads String when the token is a compatible kind
    reads Int32 when the token is a compatible kind
    reads Int32 when the token is a compatible kind
    returns nil instead of UInt8 when the token is not compatible
    returns nil instead of UInt8 when the token is not compatible
    reads Int32: 0
    reads Int32: 0
    reads UInt32: 0
    reads UInt32: 0
    returns nil in place of Int16 when an overflow occurs
    returns nil in place of Int16 when an overflow occurs
    reads Int16: -10
    reads Int16: -10
    reads Float32 when the token is a compatible kind
    reads Float32 when the token is a compatible kind
    reads Int64: 9223372036854775807
    reads Int64: 9223372036854775807
    reads Int16: 32767
    reads Int16: 32767
    returns nil instead of Int32 when the token is not compatible
    returns nil instead of Int32 when the token is not compatible
    returns nil in place of UInt32 when an overflow occurs
    returns nil in place of UInt32 when an overflow occurs
    reads UInt32: 4294967295
    reads UInt32: 4294967295
    returns nil in place of UInt128 when an overflow occurs
    returns nil in place of UInt128 when an overflow occurs
    reads Int8: -10
    reads Int8: -10
    reads UInt32: 10
    reads UInt32: 10
    reads Int32: 10
    reads Int32: 10
    reads UInt128: 10
    reads UInt128: 10
    reads UInt64 when the token is a compatible kind
    reads UInt64 when the token is a compatible kind
    reads Int128 when the token is a compatible kind
    reads Int128 when the token is a compatible kind
    reads Int64: 0
    reads Int64: 0
  parses [[]]
  parses [[]]
  reads array or null
  reads array or null
  errors on {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
  errors on {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
  parses ["hello"]
  parses ["hello"]
  parses {"foo": "foo1", "bar": "bar1"}
  parses {"foo": "foo1", "bar": "bar1"}
  parses [false]
  parses [false]
  parses "hello"
  parses "hello"
  parses true
  parses true
  parses [1, 2]
  parses [1, 2]
  errors on [[]
  errors on [[]
  parses {}
  parses {}
  reads object or null
  reads object or null
  errors on [true 2]
  errors on [true 2]
  errors on [null 2]
  errors on [null 2]
  parses {"foo": [1, 2]}
  parses {"foo": [1, 2]}
  errors on []]
  errors on []]
  parses {"foo": 1}
  parses {"foo": 1}
  #raise
  #raise
  errors on {}}
  errors on {}}
  errors on ["foo":1]
  errors on ["foo":1]
  errors on {"name": "John", "age": "foo", "bar"}
  errors on {"name": "John", "age": "foo", "bar"}
  parses []
  parses []
  reads float or null
  reads float or null
  parses [1]
  parses [1]
  errors on {"foo"::1}
  errors on {"foo"::1}
  parses when the input IO is already empty
  parses when the input IO is already empty
  parses [null]
  parses [null]
  errors on [
  errors on [
  errors on [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
  errors on [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
  errors on [1 2]
  errors on [1 2]
  reads bool or null
  reads bool or null
  parses 1
  parses 1
  parses {"foo": 1, "bar": 2}
  parses {"foo": 1, "bar": 2}
  reads string or null
  reads string or null
  raw
    parses raw "{\"foo\":[1,2,{\"bar\":[1,\"hello\",true,false,1.5]}]}"
    parses raw "{\"foo\":[1,2,{\"bar\":[1,\"hello\",true,false,1.5]}]}"
    parses raw "null"
    parses raw "null"
    parses raw "[1,\"hello\",true,false,null,[1,2,3]]"
    parses raw "[1,\"hello\",true,false,null,[1,2,3]]"
    parses raw "1234.5678"
    parses raw "1234.5678"
    parses raw "{\"foo\":\"bar\"}"
    parses raw "{\"foo\":\"bar\"}"
    parses raw "true"
    parses raw "true"
    parses raw "false"
    parses raw "false"
    parses raw "1234"
    parses raw "1234"
    parses raw "\"hello\""
    parses raw "\"hello\""
  parses null
  parses null
  parses 1.5
  parses 1.5
  on key
    doesn't find key
    doesn't find key
    finds key
    finds key
    yields all keys when skipping [1]
    yields all keys when skipping [1]
    yields all keys when skipping {"x": [1]}
    yields all keys when skipping {"x": [1]}
    yields all keys when skipping 1
    yields all keys when skipping 1
    yields parser with bang
    yields parser with bang
    doesn't find key with bang
    doesn't find key with bang
    finds key with bang
    finds key with bang
    yields parser
    yields parser
    reads float when it is an int
    reads float when it is an int
  errors on [,1]
  errors on [,1]
  errors on {"foo": []:1}
  errors on {"foo": []:1}
  errors on {,"foo": 1}
  errors on {,"foo": 1}
  errors on [}]
  errors on [}]
  prevents stack overflow for arrays
  prevents stack overflow for arrays
  errors on [false 2]
  errors on [false 2]
  reads int or null
  reads int or null
  errors on {"name": "John", "age", 1}
  errors on {"name": "John", "age", 1}
  parses [true]
  parses [true]
  prevents stack overflow for hashes
  prevents stack overflow for hashes
  parses {"foo": "bar"}
  parses {"foo": "bar"}
  errors on ["hello" 2]
  errors on ["hello" 2]
  errors on {"foo": {}
  errors on {"foo": {}
  errors on [1.5 2]
  errors on [1.5 2]
  skip
    skips object
    skips object
    skips array
    skips array
    skips null
    skips null
    skips bool
    skips bool
    skips string
    skips string
    skips int
    skips int
    skips float
    skips float
::sprintf
  strings
    works
    works
    calls to_s on non-strings
    calls to_s on non-strings
  works
  works
  numbered parameters
    can be used before flags
    can be used before flags
    raises if used as width or precision specifier of a sequential parameter
    raises if used as width or precision specifier of a sequential parameter
    raises if sequential parameters also given
    raises if sequential parameters also given
    raises if index is zero
    raises if index is zero
    raises if multiple indices specified
    raises if multiple indices specified
    gets width and precision specifier at specified index
    gets width and precision specifier at specified index
    gets argument at specified index
    gets argument at specified index
    raises if index is out of bounds
    raises if index is out of bounds
    raises if named parameters also given
    raises if named parameters also given
  doesn't format %%
  doesn't format %%
  doesn't stop at null character when doing '%'
  doesn't stop at null character when doing '%'
  doesn't accept modifiers for %%
  doesn't accept modifiers for %%
  accepts multiple positional arguments
  accepts multiple positional arguments
  formatted substitution
    raises if numbered parameters also given
    raises if numbered parameters also given
    applies formatting to %<...> placeholder
    applies formatting to %<...> placeholder
    doesn't raise if plain substitution also given
    doesn't raise if plain substitution also given
    raises if sequential parameters also given
    raises if sequential parameters also given
  sequential parameters
    raises if numbered parameters also given
    raises if numbered parameters also given
    raises if named parameters also given
    raises if named parameters also given
  floats
    not-a-numbers
    not-a-numbers
    general format
      zero flag
        can be used with precision
        can be used with precision
        is ignored if string is left-justified
        is ignored if string is left-justified
        left-pads the result with zeros
        left-pads the result with zeros
      width specifier
        sets the minimum length of the string
        sets the minimum length of the string
        left-justifies on negative width
        left-justifies on negative width
      space flag
        writes a space for positive values
        writes a space for positive values
        writes space before left space-padding
        writes space before left space-padding
        is ignored if plus flag is also specified
        is ignored if plus flag is also specified
      precision specifier
        is ignored if precision argument is negative
        is ignored if precision argument is negative
        can be used with width
        can be used with width
        sets the precision of the value
        sets the precision of the value
      sharp flag
        prints decimal point and trailing zeros
        prints decimal point and trailing zeros
      minus flag
        left-justifies the string
        left-justifies the string
      plus flag
        writes plus sign after left space-padding
        writes plus sign after left space-padding
        writes plus sign before left zero-padding
        writes plus sign before left zero-padding
        writes a plus sign for positive values
        writes a plus sign for positive values
      works
      works
    scientific format
      sharp flag
        prints a decimal point even if no digits follow
        prints a decimal point even if no digits follow
      plus flag
        writes a plus sign for positive values
        writes a plus sign for positive values
        writes plus sign after left space-padding
        writes plus sign after left space-padding
        writes plus sign before left zero-padding
        writes plus sign before left zero-padding
      zero flag
        can be used with precision
        can be used with precision
        is ignored if string is left-justified
        is ignored if string is left-justified
        left-pads the result with zeros
        left-pads the result with zeros
      works
      works
      minus flag
        left-justifies the string
        left-justifies the string
      width specifier
        left-justifies on negative width
        left-justifies on negative width
        sets the minimum length of the string
        sets the minimum length of the string
      space flag
        is ignored if plus flag is also specified
        is ignored if plus flag is also specified
        writes space before left space-padding
        writes space before left space-padding
        writes a space for positive values
        writes a space for positive values
      precision specifier
        is ignored if precision argument is negative
        is ignored if precision argument is negative
        can be used with width
        can be used with width
        sets the minimum length of the fractional part
        sets the minimum length of the fractional part
    infinities
    infinities
    not-a-numbers
    not-a-numbers
    infinities
    infinities
    hex format
      width specifier
        left-justifies on negative width
        left-justifies on negative width
        sets the minimum length of the string
        sets the minimum length of the string
      zero flag
        can be used with precision
        can be used with precision
        is ignored if string is left-justified
        is ignored if string is left-justified
        left-pads the result with zeros
        left-pads the result with zeros
      minus flag
        left-justifies the string
        left-justifies the string
      space flag
        is ignored if plus flag is also specified
        is ignored if plus flag is also specified
        writes a space for positive values
        writes a space for positive values
        writes space before left space-padding
        writes space before left space-padding
      sharp flag
        prints a decimal point even if no digits follow
        prints a decimal point even if no digits follow
      works
      works
      plus flag
        writes plus sign after left space-padding
        writes plus sign after left space-padding
        writes plus sign before left zero-padding
        writes plus sign before left zero-padding
        writes a plus sign for positive values
        writes a plus sign for positive values
      precision specifier
        sets the minimum length of the fractional part
        sets the minimum length of the fractional part
        is ignored if precision argument is negative
        is ignored if precision argument is negative
        can be used with width
        can be used with width
    fixed format
      works
      works
  plain substitution
    raises if sequential parameters also given
    raises if sequential parameters also given
    throws an error when the key is not found
    throws an error when the key is not found
    raises if expecting hash or named tuple but not given
    raises if expecting hash or named tuple but not given
    raises on unbalanced curly
    raises on unbalanced curly
    doesn't raise if 1-element list of hash or named tuple given
    doesn't raise if 1-element list of hash or named tuple given
    substitutes one placeholder
    substitutes one placeholder
    doesn't raise on balanced curly with null byte
    doesn't raise on balanced curly with null byte
    doesn't raise if formatted substitution also given
    doesn't raise if formatted substitution also given
    substitutes multiple placeholder
    substitutes multiple placeholder
    raises if numbered parameters also given
    raises if numbered parameters also given
  integers
    width specifier
      sets the minimum length of the string
      sets the minimum length of the string
      left-justifies on negative width
      left-justifies on negative width
    sharp flag
      omits the base prefix for 0
      omits the base prefix for 0
      adds a base prefix
      adds a base prefix
    base specifier
      supports base 16
      supports base 16
      supports base 2
      supports base 2
      supports base 10
      supports base 10
      supports base 8
      supports base 8
    works with BigInt
    works with BigInt
    plus flag
      writes plus sign before left zero-padding
      writes plus sign before left zero-padding
      writes a plus sign for positive integers
      writes a plus sign for positive integers
      writes plus sign after left space-padding
      writes plus sign after left space-padding
    works with Int*::MIN
    works with Int*::MIN
    precision specifier
      sets the minimum length of the number part
      sets the minimum length of the number part
      is ignored if precision argument is negative
      is ignored if precision argument is negative
      can be used with width
      can be used with width
    space flag
      writes space before left padding
      writes space before left padding
      writes a space for positive integers
      writes a space for positive integers
      is ignored if plus flag is also specified
      is ignored if plus flag is also specified
    zero flag
      is ignored if precision is specified
      is ignored if precision is specified
      left-pads the result with zeros
      left-pads the result with zeros
      is ignored if string is left-justified
      is ignored if string is left-justified
    minus flag
      left-justifies the string
      left-justifies the string
      reserves space for the number prefix
      reserves space for the number prefix
OpenSSL::Digest
  returns the digest size
  returns the digest size
  correctly reads from IO
  correctly reads from IO
  .dup
    leads to not sharing state
    leads to not sharing state
    leads to deterministic updates
    leads to deterministic updates
    preserves value
    preserves value
    preserves type
    preserves type
  returns the block size
  returns the block size
  digest with file content
  digest with file content
  should be able to calculate SHA1
  should be able to calculate SHA1
  should be able to calculate SHA256
  should be able to calculate SHA256
  raises a UnsupportedError if digest is unsupported
  raises a UnsupportedError if digest is unsupported
  can't call #final more than once
  can't call #final more than once
  should be able to calculate SHA512
  should be able to calculate SHA512
LLVM::ABI::ARM
  size
    for double
    for double
    for struct
    for struct
    for array
    for array
    for float
    for float
    for packed struct
    for packed struct
    for integer
    for integer
    for pointer
    for pointer
  align
    for packed struct
    for packed struct
    for array
    for array
    for struct
    for struct
    for pointer
    for pointer
    for double
    for double
    for integer
    for integer
    for float
    for float
  abi_info
    does with structs between 64 and 128 bits
    does with structs between 64 and 128 bits
    does with structs between 64 and 128 bits
    does with structs between 64 and 128 bits
    does with primitives
    does with primitives
    does with structs less than 64 bits
    does with structs less than 64 bits
YAML::PullParser
  raises exception at correct location
  raises exception at correct location
  reads a sequence with an anchor
  reads a sequence with an anchor
  reads a mapping
  reads a mapping
  reads empty stream
  reads empty stream
  reads an empty document
  reads an empty document
  reads a scalar with an anchor
  reads a scalar with an anchor
  reads a mapping with an anchor
  reads a mapping with an anchor
  reads a sequence
  reads a sequence
  skip
    skips event in other cases
    skips event in other cases
    document
    document
    sequence
    sequence
    mapping
    mapping
    scalar
    scalar
    alias
    alias
    stream
    stream
  reads a scalar
  reads a scalar
  reads a scalar having a null character
  reads a scalar having a null character
  parses alias
  parses alias
CSV
  lex
    raises if command, newline or end doesn't follow quote
    raises if command, newline or end doesn't follow quote
    lexes with a given quote char
    lexes with a given quote char
    lexes with a given separator
    lexes with a given separator
    lexes two columns
    lexes two columns
    lexes two empty columns
    lexes two empty columns
    doesn't consume char after \n (#11172)
    doesn't consume char after \n (#11172)
    lexes two columns with two rows with 

    lexes two columns with two rows with 

    lexes two with inner quotes
    lexes two with inner quotes
    doesn't consume char after \r (#11172)
    doesn't consume char after \r (#11172)
    lexes two with quotes
    lexes two with quotes
    raises on unclosed quote
    raises on unclosed quote
    lexes newline followed by eof
    lexes newline followed by eof
    lexes last empty column
    lexes last empty column
    lexes with comma inside quote
    lexes with comma inside quote
    lexes two columns with two rows
    lexes two columns with two rows
    lexes with whitespace
    lexes with whitespace
    raises if single quote in the middle
    raises if single quote in the middle
    lexes with newline inside quote
    lexes with newline inside quote
    lexes with empty columns
    lexes with empty columns
Log::AsyncDispatcher
  dispatches entry
  dispatches entry
  wait for entries to flush before closing
  wait for entries to flush before closing
  can be closed twice
  can be closed twice
Symbol
  clone
    assert
    assert
  inspects
  inspects
  can be compared with another symbol
  can be compared with another symbol
  displays symbols that don't need quotes without quotes
  displays symbols that don't need quotes without quotes
  displays the empty symbol with quotes
  displays the empty symbol with quotes
Log::DirectDispatcher
  dispatches entry
  dispatches entry
OAuth::Params
  builds
  builds
IO::FileDescriptor
  #finalize
    does not flush
    does not flush
    closes
    closes
  reopens
  reopens
  opens STDERR in binary mode
  opens STDERR in binary mode
  #tty?
    returns false for standard streams redirected to null device
    returns false for standard streams redirected to null device
    returns false for null device
    returns false for null device
  does not close if close_on_finalize is false
  does not close if close_on_finalize is false
  #initialize
    handles closed file descriptor gracefully
    handles closed file descriptor gracefully
  opens STDIN in binary mode
  opens STDIN in binary mode
  close_on_exec
    can be disabled and reenabled
    can be disabled and reenabled
    is enabled by default (open)
    is enabled by default (open)
    sets close on exec on the reopened standard descriptors
    sets close on exec on the reopened standard descriptors
    is copied on reopen
    is copied on reopen
    is enabled by default (pipe)
    is enabled by default (pipe)
/bin/sh: line 1: echo: write error: Broken pipe
  reopen STDIN with the right mode
  reopen STDIN with the right mode
  opens STDOUT in binary mode
  opens STDOUT in binary mode
UNIXServer
  accept?
    sets close on exec flag
    sets close on exec flag
    returns nil when server is closed
    returns nil when server is closed
    returns the client UNIXSocket
    returns the client UNIXSocket
  .new
    raises when path is too long
    raises when path is too long
    raises when socket file already exists
    raises when socket file already exists
    won't delete existing file on bind failure
    won't delete existing file on bind failure
    creates the socket file
    creates the socket file
    deletes socket file on close
    deletes socket file on close
  accept
    returns the client UNIXSocket
    returns the client UNIXSocket
    raises when server is closed
    raises when server is closed
  datagrams
    can send and receive datagrams
    can send and receive datagrams
Log::SyncDispatcher
  dispatches entry
  dispatches entry
Compress::Deflate::Writer
  can be closed with sync (1)
  can be closed with sync (1)
  .open
    yields itself to block
    yields itself to block
  should be able to write
  should be able to write
  can be closed without sync
  can be closed without sync
  can be closed with sync (2)
  can be closed with sync (2)
YAML::Schema::Core
  parses "0o123"
  parses "0o123"
  raises on parse "!!binary [1]"
  raises on parse "!!binary [1]"
  parses "!!int 123"
  parses "!!int 123"
  parses "2002-1-2T10:11:12+03x"
  parses "2002-1-2T10:11:12+03x"
  parses "-.INF"
  parses "-.INF"
  parses "+.Inf"
  parses "+.Inf"
  parses "2002-1-2   10:11:12"
  parses "2002-1-2   10:11:12"
  parses "0x123abc"
  parses "0x123abc"
  parses "Yes"
  parses "Yes"
  parses "OFF"
  parses "OFF"
  parses "off"
  parses "off"
  .parse_null_or
  .parse_null_or
  parses "TRUE"
  parses "TRUE"
  parses "!!int 0755"
  parses "!!int 0755"
  parses "!!int 0"
  parses "!!int 0"
  parses ".inf"
  parses ".inf"
  parses "2002-34-45"
  parses "2002-34-45"
  raises on parse "!!float 'hello'"
  raises on parse "!!float 'hello'"
  parses "0."
  parses "0."
  parses "+.inf"
  parses "+.inf"
  raises on parse "!!null 1"
  raises on parse "!!null 1"
  parses "!!seq [ 1, 2, 3 ]"
  parses "!!seq [ 1, 2, 3 ]"
  parses !!float .nan
  parses !!float .nan
  parses "-.inf"
  parses "-.inf"
  parses "!!float '1.2'"
  parses "!!float '1.2'"
  parses "!!timestamp 2010-01-02"
  parses "!!timestamp 2010-01-02"
  parses "!!binary aGVsbG8="
  parses "!!binary aGVsbG8="
  parses "!!set { 1, 2, 3 }"
  parses "!!set { 1, 2, 3 }"
  parses "2002-1-2T10:11:12Z"
  parses "2002-1-2T10:11:12Z"
  parses "-123"
  parses "-123"
  parses "NULL"
  parses "NULL"
  raises on parse "!!timestamp foo"
  raises on parse "!!timestamp foo"
  parses "\"1\""
  parses "\"1\""
  parses ".Inf"
  parses ".Inf"
  parses "!!float '1_234.2'"
  parses "!!float '1_234.2'"
  parses "+.INF"
  parses "+.INF"
  raises on parse "!!pairs 1"
  raises on parse "!!pairs 1"
  parses "FALSE"
  parses "FALSE"
  raises on parse "!!set 1"
  raises on parse "!!set 1"
  parses "2002-1-2T10:11:12 Z"
  parses "2002-1-2T10:11:12 Z"
  parses ".5"
  parses ".5"
  parses "2002-1-2T10:11:12.3456"
  parses "2002-1-2T10:11:12.3456"
  parses "!!float 0"
  parses "!!float 0"
  parses "0"
  parses "0"
  parses "y"
  parses "y"
  parses "!!float '0.5'"
  parses "!!float '0.5'"
  parses "True"
  parses "True"
  parses "0b10110"
  parses "0b10110"
  parses "!!pairs [{1: 2}, {3: 4}]"
  parses "!!pairs [{1: 2}, {3: 4}]"
  parses "0x0"
  parses "0x0"
  parses "1.2"
  parses "1.2"
  parses "Null"
  parses "Null"
  parses "n"
  parses "n"
  parses "!!float -1"
  parses "!!float -1"
  parses "2002-12-14"
  parses "2002-12-14"
  parses "2002-1-2T10:11:12 -03:31"
  parses "2002-1-2T10:11:12 -03:31"
  parses "true"
  parses "true"
  parses "no"
  parses "no"
  parses "2002-1-2T10:11:12 +3"
  parses "2002-1-2T10:11:12 +3"
  parses "On"
  parses "On"
  parses "-.5"
  parses "-.5"
  parses "2002-1-2T10:11:12.3"
  parses "2002-1-2T10:11:12.3"
  parses "~"
  parses "~"
  raises on parse "!!int 'hello'"
  raises on parse "!!int 'hello'"
  parses nan
  parses nan
  parses "2002-1-2T10:11:12.345"
  parses "2002-1-2T10:11:12.345"
  raises on parse "!!omap 1"
  raises on parse "!!omap 1"
  parses "-0.0"
  parses "-0.0"
  parses "+123"
  parses "+123"
  parses "+.5"
  parses "+.5"
  parses "0.815"
  parses "0.815"
  parses "-2E+05"
  parses "-2E+05"
  parses "2002-1-2T10:11:12 +03:00"
  parses "2002-1-2T10:11:12 +03:00"
  parses "!!str 1"
  parses "!!str 1"
  parses "2002-12-14 x"
  parses "2002-12-14 x"
  parses "!!bool yes"
  parses "!!bool yes"
  parses "False"
  parses "False"
  raises on parse "!!bool 1"
  raises on parse "!!bool 1"
  parses "1_234.2"
  parses "1_234.2"
  parses "null"
  parses "null"
  parses "2002-1-2T10:11:12Zx"
  parses "2002-1-2T10:11:12Zx"
  parses "-.Inf"
  parses "-.Inf"
  parses "!!int 0o123"
  parses "!!int 0o123"
  parses "2002-1-2T10:11:12x"
  parses "2002-1-2T10:11:12x"
  parses "2002-1-2T10:11:12.34"
  parses "2002-1-2T10:11:12.34"
  parses "123"
  parses "123"
  parses "2002-1-2"
  parses "2002-1-2"
  parses "ON"
  parses "ON"
  parses "!!null ~"
  parses "!!null ~"
  parses "!!float .inf"
  parses "!!float .inf"
  parses "!!int -123"
  parses "!!int -123"
  parses "!!omap {1: 2}"
  parses "!!omap {1: 2}"
  parses "No"
  parses "No"
  parses "2002-1-2T10:11:12-03:31"
  parses "2002-1-2T10:11:12-03:31"
  parses "Y"
  parses "Y"
  parses "on"
  parses "on"
  parses "!!int 0xabc"
  parses "!!int 0xabc"
  parses "+12.3"
  parses "+12.3"
  parses "false"
  parses "false"
  parses "-0x123abc"
  parses "-0x123abc"
  parses "!!float 2.3e4"
  parses "!!float 2.3e4"
  raises on parse "!!str [1]"
  raises on parse "!!str [1]"
  parses "0b0"
  parses "0b0"
  parses "0o0"
  parses "0o0"
  parses "2002-1-2   1:11:12"
  parses "2002-1-2   1:11:12"
  parses "2002-1-2T10:11:12 -03:00"
  parses "2002-1-2T10:11:12 -03:00"
  parses "2002-1-2T10:11:12"
  parses "2002-1-2T10:11:12"
  parses "!!map {1: 2}"
  parses "!!map {1: 2}"
  parses "NO"
  parses "NO"
  parses ".INF"
  parses ".INF"
  parses "00"
  parses "00"
  parses "Off"
  parses "Off"
  parses "YES"
  parses "YES"
  raises on parse "!!seq 1"
  raises on parse "!!seq 1"
  raises on parse "!!binary 1"
  raises on parse "!!binary 1"
  parses "2002-1-2T10:11:12 +0300"
  parses "2002-1-2T10:11:12 +0300"
  parses "yes"
  parses "yes"
  parses "!!int 0b10"
  parses "!!int 0b10"
  raises on parse "!!pairs [{1: 2, 3: 4}]"
  raises on parse "!!pairs [{1: 2, 3: 4}]"
  parses "N"
  parses "N"
  raises on parse "!!map 1"
  raises on parse "!!map 1"
  parses "0755"
  parses "0755"
Compress::Zlib
  write read should be inverse with random string
  write read should be inverse with random string
  write read should be inverse (utf-8)
  write read should be inverse (utf-8)
hardware exception
  detects stack overflow on a fiber stack
  detects stack overflow on a fiber stack
  detects stack overflow on the main stack
  detects stack overflow on the main stack
  reports invalid memory access
  reports invalid memory access
levenshtein
  assert
  assert
  assert
  assert
  assert
  assert
  assert
  assert
  assert
  assert
  finds with finder
  finds with finder
  finds with finder and other values
  finds with finder and other values
  assert
  assert
  assert
  assert
  assert
  assert
  assert
  assert
  assert
  assert
  assert
  assert
  assert
  assert
  assert
  assert
  assert
  assert
  assert
  assert
  assert
  assert
UUID
  serializes
    #to_json
    #to_json
    from_json_object_key?
    from_json_object_key?
CSV
  parses row by row
  parses row by row
  does CSV.each_row with separator and quotes
  does CSV.each_row with separator and quotes
  parse
    parses some commas
    parses some commas
    raises if command, newline or end doesn't follow quote
    raises if command, newline or end doesn't follow quote
    parses one simple row
    parses one simple row
    parses from IO
    parses from IO
    parses with quote
    parses with quote
    parses empty quoted string
    parses empty quoted string
    parses two rows
    parses two rows
    raises if command, newline or end doesn't follow quote (2)
    raises if command, newline or end doesn't follow quote (2)
    parses with double quote
    parses with double quote
    parses one row with spaces
    parses one row with spaces
    parses empty string
    parses empty string
    parses with quote and newline
    parses with quote and newline
    parses two rows with the last one having a newline
    parses two rows with the last one having a newline
    raises if single quote in the middle
    raises if single quote in the middle
    takes an optional quote char argument
    takes an optional quote char argument
    takes an optional separator argument
    takes an optional separator argument
  gets row iterator
  gets row iterator
  does CSV.each_row
  does CSV.each_row
Crypto::Bcrypt
  doesn't have the sign expansion (high 8bit) security flaw
  doesn't have the sign expansion (high 8bit) security flaw
  validates cost
  validates cost
  computes digest vectors
  computes digest vectors
  validates password size
  validates password size
  validates salt size
  validates salt size
Crypto::Blowfish
  encrypt and decrypt pair
  encrypt and decrypt pair
String::Grapheme
  #size
  #size
  #==
  #==
  .new
  .new
  #inspect
  #inspect
  #to_s
  #to_s
  .break?
  .break?
  #bytesize
  #bytesize
VaList
  works with C code
  works with C code
Crystal::PointerLinkedList(T)
  empty?
    return true if there is no element in list
    return true if there is no element in list
  does each
  does each
  delete
    remove a node from list
    remove a node from list
  push
    append the node into the list
    append the node into the list
  shift?
    return nil if list is empty
    return nil if list is empty
    remove and return the first element
    remove and return the first element
Deque
  does each
  does each
  select!
    with pattern
    with pattern
    with block
    with block
  "#cycle(limit)" yielding
  "#cycle(limit)" yielding
  first?
    gives nil when empty
    gives nil when empty
    gets first? when non empty
    gets first? when non empty
  does clear
  does clear
  new
    creates with default value in block
    creates with default value in block
    creates from an array
    creates from an array
    creates with default value
    creates with default value
    raises on negative capacity
    raises on negative capacity
    raises on negative count
    raises on negative count
  "#cycle" iterator
  "#cycle" iterator
  implementation
    works the same as array when inserting at 3/4 size and deleting at 1/8 size
    works the same as array when inserting at 3/4 size and deleting at 1/8 size
    works the same as array
    works the same as array
    works the same as array when inserting at 1/8 size and deleting at 3/4 size
    works the same as array when inserting at 1/8 size and deleting at 3/4 size
  does clone
  does clone
  inspect
    assert
    assert
  does clone with recursive type
  does clone with recursive type
  does hash
  does hash
  []
    gets nilable
    gets nilable
    gets on positive index
    gets on positive index
    gets on negative index
    gets on negative index
  delete
    deletes many
    deletes many
    delete not found
    delete not found
  +
    does +
    does +
    does + with different types
    does + with different types
  last
    gets last when non empty
    gets last when non empty
    raises when empty
    raises when empty
  []=
    sets on positive index
    sets on positive index
    sets on negative index
    sets on negative index
  each_index iterator
    works while modifying deque
    works while modifying deque
    "#each_index" iterator
    "#each_index" iterator
    "#each_index" yielding
    "#each_index" yielding
  ==
    compares empty
    compares empty
    compares other types
    compares other types
    compares other
    compares other
    compares elements
    compares elements
  each iterator
    "#each" yielding
    "#each" yielding
    works while modifying deque
    works while modifying deque
    "#each" iterator
    "#each" iterator
  does unshift
  does unshift
  shift
    shifts when non empty
    shifts when non empty
    shifts negative count raises
    shifts negative count raises
    shifts more than what is available
    shifts more than what is available
    raises when empty
    raises when empty
    shifts many elements
    shifts many elements
  swap
    swaps but raises out of bounds on right
    swaps but raises out of bounds on right
    swaps with negative indices
    swaps with negative indices
    swaps
    swaps
    swaps but raises out of bounds on left
    swaps but raises out of bounds on left
  concat
    concats deque
    concats deque
    concats enumerable
    concats enumerable
    concats large deques
    concats large deques
    concats itself
    concats itself
    concats indexable
    concats indexable
  first
    gets first when non empty
    gets first when non empty
    raises when empty
    raises when empty
  empty
    is empty
    is empty
    is not empty
    is not empty
  rotate!
    rotates with size=0
    rotates with size=0
    rotates with size=capacity
    rotates with size=capacity
    rotates
    rotates
    rotates with size=1
    rotates with size=1
  "#cycle" yielding
  "#cycle" yielding
  does each_index
  does each_index
  pop
    pops many elements
    pops many elements
    pops negative count raises
    pops negative count raises
    raises when empty
    raises when empty
    pops when non empty
    pops when non empty
    pops more elements than what is available
    pops more elements than what is available
  "#reverse_each" yielding
  "#reverse_each" yielding
  size
    has size 2
    has size 2
    has size 0
    has size 0
  insert
    inserts with negative index
    inserts with negative index
    inserts with positive index
    inserts with positive index
    inserts out of range
    inserts out of range
    inserts with negative index (2)
    inserts with negative index (2)
  to_s
    does with recursive
    does with recursive
    does to_s
    does to_s
  "#cycle(limit)" iterator
  "#cycle(limit)" iterator
  does dup
  does dup
  reject!
    with block
    with block
    with pattern
    with pattern
  delete_at
    deletes out of bounds
    deletes out of bounds
    deletes negative index
    deletes negative index
    deletes positive index
    deletes positive index
  does equals? with custom block
  does equals? with custom block
  "#reverse_each" iterator
  "#reverse_each" iterator
  push
    has the << alias
    has the << alias
    returns the deque
    returns the deque
    adds one element to the deque
    adds one element to the deque
Time::Location
  .load_android
    loads Europe/Berlin
    loads Europe/Berlin
    loads new data if tzdata file was changed
    loads new data if tzdata file was changed
  .fixed
    with name
    with name
    positive
    positive
    raises if offset to large
    raises if offset to large
    negative
    negative
    without name
    without name
  .load_local
    with empty TZ
    with empty TZ
    with TZ
    with TZ
    with unset TZ
    with unset TZ
  #lookup
    reads from cache
    reads from cache
    looks up
    looks up
    first zone
      PST8PDT
      PST8PDT
      Pacific/Fakaofo
      Pacific/Fakaofo
    handles dst change
    handles dst change
    handles value after last transition
    handles value after last transition
    caches last zone
    caches last zone
  UTC
  UTC
  .load
    treats UTC as special case
    treats UTC as special case
    invalid timezone identifier
    invalid timezone identifier
    invalid zone file
    invalid zone file
    loads Europe/Berlin
    loads Europe/Berlin
    validating name
      dot dot
      dot dot
      absolute path
      absolute path
    name is folder
    name is folder
    with ZONEINFO
      does not fall back to default sources
      does not fall back to default sources
      loads new data if ZIP file was changed
      loads new data if ZIP file was changed
      loads from custom directory
      loads from custom directory
      loads from custom zipfile
      loads from custom zipfile
      caches result
      caches result
      raises if not available
      raises if not available
      loads new data if file was changed
      loads new data if file was changed
  .local
  .local
Float32 boundaries
  largest denormal 32
  largest denormal 32
  smallest normal 32
  smallest normal 32
  max Float32
  max Float32
  min Float32
  min Float32
  boundaries 1.5
  boundaries 1.5
  boundaries 1.0
  boundaries 1.0
Crystal::System::File
  .mktemp
    creates random file name
    creates random file name
    raises when no valid path is found
    raises when no valid path is found
    retries when file exists
    retries when file exists
HTTP::LogHandler
  logs
  logs
  log failed request
  log failed request
  logs to custom logger
  logs to custom logger
Char::Reader
  #next_char?
  #next_char?
  errors on invalid UTF-8
  errors on invalid UTF-8
  #current_char?
  #current_char?
  gets previous char (unicode)
  gets previous char (unicode)
  #previous_char
    reads on valid UTF-8
    reads on valid UTF-8
    errors on invalid UTF-8
    errors on invalid UTF-8
  #each
    yields chars
    yields chars
    does not yield if empty
    does not yield if empty
    checks bounds after block
    checks bounds after block
  starts at pos
  starts at pos
  starts at end
  starts at end
  iterates through chars
  iterates through chars
  gets previous char (ascii)
  gets previous char (ascii)
  iterates through empty string
  iterates through empty string
  iterates through string of size one
  iterates through string of size one
  sets pos
  sets pos
  peeks next char
  peeks next char
  #previous_char?
  #previous_char?
__udivti3
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
Pointer
  creates from int
  creates from int
  move_to
    performs with overlap left to right
    performs with overlap left to right
    raises on negative count
    raises on negative count
    performs with overlap right to left
    performs with overlap right to left
    moves to union of pointers
    moves to union of pointers
  maps_with_index!
  maps_with_index!
  performs arithmetic with u32
  performs arithmetic with u32
  does to_s
  does to_s
  copy_to
    raises on negative count
    raises on negative count
    doesn't raise OverflowError on unsigned size and different target type
    doesn't raise OverflowError on unsigned size and different target type
    performs
    performs
    copies to union of pointers
    copies to union of pointers
  memcmp
    assert
    assert
  compares two pointers by address
  compares two pointers by address
  does malloc with value
  does malloc with value
  maps!
  maps!
  maps_with_index!, with offset
  maps_with_index!, with offset
  does !
  does !
  does malloc with value from block
  does malloc with value from block
  realloc
    raises on negative count
    raises on negative count
  move_from
    performs with overlap right to left
    performs with overlap right to left
    moves from union of pointers
    moves from union of pointers
    performs with overlap left to right
    performs with overlap left to right
    raises on negative count
    raises on negative count
  does index with count
  does index with count
  raises if mallocs negative size
  raises if mallocs negative size
  copy_from
    raises on negative count
    raises on negative count
    copies from union of pointers
    copies from union of pointers
    performs
    performs
  copies/move with different types
  copies/move with different types
  clear
    clears with union
    clears with union
    clears many
    clears many
    clears one
    clears one
  clones
  clones
  shuffles!
  shuffles!
  performs arithmetic with u64
  performs arithmetic with u64
BigRational Math
  sqrt
  sqrt
NamedTuple
  compares with other named tuple type
  compares with other named tuple type
  #to_h
    creates a hash
    creates a hash
    creates an empty hash from an empty named tuple
    creates an empty hash from an empty named tuple
  does keys
  does keys
  compares with same named tuple type
  compares with same named tuple type
  does has_key? with symbol
  does has_key? with symbol
  merges with other named tuple
  merges with other named tuple
  .[] with non-literal index
    gets named tuple metaclass value with String key
    gets named tuple metaclass value with String key
    raises missing key
    raises missing key
    gets named tuple metaclass value with Symbol key
    gets named tuple metaclass value with Symbol key
  #dig?
    gets the value at given path given splat
    gets the value at given path given splat
    returns nil if not found
    returns nil if not found
  does map
  does map
  does NamedTuple#from
  does NamedTuple#from
  gets size
  gets size
  does sorted_keys
  does sorted_keys
  does has_key? with string
  does has_key? with string
  dups
  dups
  does empty
  does empty
  does each
  does each
  #[]? with non-literal index
    gets named tuple value or nil with Symbol key
    gets named tuple value or nil with Symbol key
    gets named tuple value or nil with String key
    gets named tuple value or nil with String key
  does types
  does types
  does each_with_index
  does each_with_index
  #to_a
    creates an array of key-value pairs
    creates an array of key-value pairs
    preserves key type for empty named tuples
    preserves key type for empty named tuples
  #dig
    gets the value at given path given splat
    gets the value at given path given splat
    raises KeyError if not found
    raises KeyError if not found
  does to_s
  does to_s
  .[]? with non-literal index
    gets named tuple metaclass value or nil with Symbol key
    gets named tuple metaclass value or nil with Symbol key
    gets named tuple metaclass value or nil with String key
    gets named tuple metaclass value or nil with String key
  does each_value
  does each_value
  compares with named tuple union (#5131)
  compares with named tuple union (#5131)
  clones
  clones
  does values
  does values
  does NamedTuple.from
  does NamedTuple.from
  computes a hash value
  computes a hash value
  does NamedTuple.new, without type vars
  does NamedTuple.new, without type vars
  #[] with non-literal index
    raises missing key
    raises missing key
    gets named tuple value with Symbol key
    gets named tuple value with Symbol key
    gets named tuple value with String key
    gets named tuple value with String key
  does NamedTuple.new, with hyphen in key
  does NamedTuple.new, with hyphen in key
  does NamedTuple.new, with type vars
  does NamedTuple.new, with type vars
  merges two empty named tuples
  merges two empty named tuples
  does each_key
  does each_key
OpenSSL::SSL::Socket
  OpenSSL::SSL::Socket::Server
    doesn't accept client when specified
    doesn't accept client when specified
    auto accept client by default
    auto accept client by default
LLVM::ABI::X86_Win64
  abi_info
    does with packed struct containing unaligned fields (#9873)
    does with packed struct containing unaligned fields (#9873)
    does with packed struct not containing unaligned fields
    does with packed struct not containing unaligned fields
    does with structs between 64 and 128 bits
    does with structs between 64 and 128 bits
    does with structs larger than 128 bits
    does with structs larger than 128 bits
Path
  #parent
     "/foo" (posix)
     "/foo" (posix)
     "C:\foo" (windows)
     "C:\foo" (windows)
     "foo\" (posix)
     "foo\" (posix)
     "/." (posix)
     "/." (posix)
     "C:/foo" (windows)
     "C:/foo" (windows)
     "\Users/foo\bar.cr" (posix)
     "\Users/foo\bar.cr" (posix)
     "./foo" (windows)
     "./foo" (windows)
     "/foo/C:/bar" (posix)
     "/foo/C:/bar" (posix)
     "\Users\foo\bar.cr" (windows)
     "\Users\foo\bar.cr" (windows)
     "foo/bar/" (posix)
     "foo/bar/" (posix)
     "foo//.//" (windows)
     "foo//.//" (windows)
     "C:\" (posix)
     "C:\" (posix)
     "/" (posix)
     "/" (posix)
     "./foo" (posix)
     "./foo" (posix)
     "C:/" (posix)
     "C:/" (posix)
     "/" (windows)
     "/" (windows)
     "foo" (posix)
     "foo" (posix)
     ".\foo" (windows)
     ".\foo" (windows)
     "/Users/foo/bar.cr" (posix)
     "/Users/foo/bar.cr" (posix)
     "C:/" (windows)
     "C:/" (windows)
     "foo\bar\." (windows)
     "foo\bar\." (windows)
     "/foo" (windows)
     "/foo" (windows)
     "Users/foo/bar.cr" (windows)
     "Users/foo/bar.cr" (windows)
     "/foo/C:/bar" (windows)
     "/foo/C:/bar" (windows)
     "foo\" (windows)
     "foo\" (windows)
     "C:" (windows)
     "C:" (windows)
     "foo\bar\" (posix)
     "foo\bar\" (posix)
     "\Users\foo\bar.cr" (posix)
     "\Users\foo\bar.cr" (posix)
     "foo/bar/." (posix)
     "foo/bar/." (posix)
     "." (windows)
     "." (windows)
     "/." (posix)
     "/." (posix)
     "foo//.//" (posix)
     "foo//.//" (posix)
     "foo/bar/.." (windows)
     "foo/bar/.." (windows)
     "foo/bar/." (windows)
     "foo/bar/." (windows)
     "" (windows)
     "" (windows)
     "C:\" (windows)
     "C:\" (windows)
     "foo\bar\.." (windows)
     "foo\bar\.." (windows)
     "\Users/foo\bar.cr" (windows)
     "\Users/foo\bar.cr" (windows)
     "foo" (windows)
     "foo" (windows)
     "////" (windows)
     "////" (windows)
     "\" (posix)
     "\" (posix)
     "\." (posix)
     "\." (posix)
     "C:\foo" (posix)
     "C:\foo" (posix)
     "" (posix)
     "" (posix)
     "foo\bar\." (posix)
     "foo\bar\." (posix)
     "foo/" (windows)
     "foo/" (windows)
     "/Users/foo/bar.cr" (windows)
     "/Users/foo/bar.cr" (windows)
     "foo\bar\" (windows)
     "foo\bar\" (windows)
     ".\foo" (posix)
     ".\foo" (posix)
     "." (posix)
     "." (posix)
     "C:" (posix)
     "C:" (posix)
     "C:/foo" (posix)
     "C:/foo" (posix)
     "foo/bar/" (windows)
     "foo/bar/" (windows)
     "foo/bar/.." (posix)
     "foo/bar/.." (posix)
     "Users/foo/bar.cr" (posix)
     "Users/foo/bar.cr" (posix)
     "////" (posix)
     "////" (posix)
     "/." (windows)
     "/." (windows)
     "\" (windows)
     "\" (windows)
     "foo/" (posix)
     "foo/" (posix)
     "foo\bar\.." (posix)
     "foo\bar\.." (posix)
     "/." (windows)
     "/." (windows)
     "\." (windows)
     "\." (windows)
  #==
    simple
    simple
    case sensitivity
    case sensitivity
  .home
    uses home from environment variable if set
    uses home from environment variable if set
    doesn't return empty string if environment variable is empty
    doesn't return empty string if environment variable is empty
    doesn't raise if environment variable is missing
    doesn't raise if environment variable is missing
  #relative_to
    mixed input paths
    mixed input paths
    paths that can't be relativized
    paths that can't be relativized
    relativizable paths
    relativizable paths
  #to_windows
     "foo/bar" (posix)
     "foo/bar" (posix)
     ""*/:<>?\| " (posix)
     ""*/:<>?\| " (posix)
     "C:\foo\bar" (posix)
     "C:\foo\bar" (posix)
    default: mappings=true "C:\foo\bar" (windows)
    default: mappings=true "C:\foo\bar" (windows)
     "C:\foo\bar" (windows)
     "C:\foo\bar" (windows)
     "C:\foo\bar" (posix)
     "C:\foo\bar" (posix)
     ""*/:<>?\| " (posix)
     ""*/:<>?\| " (posix)
     "C:\foo\bar" (windows)
     "C:\foo\bar" (windows)
    default: mappings=true "C:\foo\bar" (posix)
    default: mappings=true "C:\foo\bar" (posix)
     ""*/:<>?\| " (windows)
     ""*/:<>?\| " (windows)
     "foo/bar" (windows)
     "foo/bar" (windows)
     ""*/:<>?\| " (windows)
     ""*/:<>?\| " (windows)
     "foo/bar" (windows)
     "foo/bar" (windows)
     "foo/bar" (posix)
     "foo/bar" (posix)
  #drive
     "\\_.-~!$;=&'()*+,aB1\ !-.@^_`{}~#$%&'()aB1\" (posix)
     "\\_.-~!$;=&'()*+,aB1\ !-.@^_`{}~#$%&'()aB1\" (posix)
     "\\not-a\\share" (windows)
     "\\not-a\\share" (windows)
     "//foo" (posix)
     "//foo" (posix)
     "\\127.0.0.1\share\" (posix)
     "\\127.0.0.1\share\" (posix)
     "\\%10%20\share\" (posix)
     "\\%10%20\share\" (posix)
     "///not-a/share/" (posix)
     "///not-a/share/" (posix)
     "///not-a/share/" (windows)
     "///not-a/share/" (windows)
     "/not-a//share/" (windows)
     "/not-a//share/" (windows)
     "\\%10%20\share\" (windows)
     "\\%10%20\share\" (windows)
     "//some/share/foo/" (posix)
     "//some/share/foo/" (posix)
     "\\\not-a\share" (windows)
     "\\\not-a\share" (windows)
     "C:foo" (posix)
     "C:foo" (posix)
     "/foo" (windows)
     "/foo" (windows)
     "//some/share/" (posix)
     "//some/share/" (posix)
     "\\some\share" (windows)
     "\\some\share" (windows)
     "C:/foo" (posix)
     "C:/foo" (posix)
     "\\127.0.0.1\share\" (windows)
     "\\127.0.0.1\share\" (windows)
     "\\some\share\" (windows)
     "\\some\share\" (windows)
     "\\some\share" (posix)
     "\\some\share" (posix)
     "C:\foo" (windows)
     "C:\foo" (windows)
     "\\some$\share\" (windows)
     "\\some$\share\" (windows)
     "//some/share/" (windows)
     "//some/share/" (windows)
     "//foo" (windows)
     "//foo" (windows)
     "//some/share" (posix)
     "//some/share" (posix)
     "\\some\share\" (posix)
     "\\some\share\" (posix)
     "C:foo" (windows)
     "C:foo" (windows)
     "C:\foo" (posix)
     "C:\foo" (posix)
     "C:/foo" (windows)
     "C:/foo" (windows)
     "\\_.-~!$;=&'()*+,aB1\ !-.@^_`{}~#$%&'()aB1\" (windows)
     "\\_.-~!$;=&'()*+,aB1\ !-.@^_`{}~#$%&'()aB1\" (windows)
     "\\not-a\\share" (posix)
     "\\not-a\\share" (posix)
     "\\some\share\foo" (windows)
     "\\some\share\foo" (windows)
     "//some/share" (windows)
     "//some/share" (windows)
     "/foo" (posix)
     "/foo" (posix)
     "\\some$\share\" (posix)
     "\\some$\share\" (posix)
     "\\\not-a\share" (posix)
     "\\\not-a\share" (posix)
     "\\some\share\foo" (posix)
     "\\some\share\foo" (posix)
     "//some/share/foo/" (windows)
     "//some/share/foo/" (windows)
     "/not-a//share/" (posix)
     "/not-a//share/" (posix)
  #anchor
     "C:foo" (windows)
     "C:foo" (windows)
     "C:/foo" (posix)
     "C:/foo" (posix)
     "C:\foo" (windows)
     "C:\foo" (windows)
     "\foo" (posix)
     "\foo" (posix)
     "\\some\share" (posix)
     "\\some\share" (posix)
     "//some/share/" (posix)
     "//some/share/" (posix)
     "\\some\share\" (windows)
     "\\some\share\" (windows)
     "/foo" (posix)
     "/foo" (posix)
     "C:foo" (posix)
     "C:foo" (posix)
     "//some/share" (windows)
     "//some/share" (windows)
     "\foo" (windows)
     "\foo" (windows)
     "/foo" (windows)
     "/foo" (windows)
     "C:/foo" (windows)
     "C:/foo" (windows)
     "//some/share/" (windows)
     "//some/share/" (windows)
     "\\some\share" (windows)
     "\\some\share" (windows)
     "C:\foo" (posix)
     "C:\foo" (posix)
     "\\some\share\" (posix)
     "\\some\share\" (posix)
     "//some/share" (posix)
     "//some/share" (posix)
  #basename
     "a/x" (posix)
     "a/x" (posix)
     "a/.x" (posix)
     "a/.x" (posix)
     "////" (posix)
     "////" (posix)
     "/foo/" (windows)
     "/foo/" (windows)
     "" (windows)
     "" (windows)
     "\" (posix)
     "\" (posix)
     "\." (posix)
     "\." (posix)
     "/." (posix)
     "/." (posix)
     "\foo\bar\baz.cr" (windows)
     "\foo\bar\baz.cr" (windows)
    removes suffix
       "/foo/bar/baz.cr.tmp" (windows)
       "/foo/bar/baz.cr.tmp" (windows)
       "\foo\bar\baz.cr" (windows)
       "\foo\bar\baz.cr" (windows)
       "\foo/bar\baz.cr" (windows)
       "\foo/bar\baz.cr" (windows)
       "/foo/bar/baz.cr.tmp" (windows)
       "/foo/bar/baz.cr.tmp" (windows)
       "/foo/bar/baz.cr.tmp" (posix)
       "/foo/bar/baz.cr.tmp" (posix)
       "\foo\bar\baz.cr" (posix)
       "\foo\bar\baz.cr" (posix)
       "/foo/bar/baz.cr" (posix)
       "/foo/bar/baz.cr" (posix)
       "a.x" (windows)
       "a.x" (windows)
       "/foo/bar/baz.cr.tmp" (posix)
       "/foo/bar/baz.cr.tmp" (posix)
       "/foo/bar/baz.cr" (windows)
       "/foo/bar/baz.cr" (windows)
       "\foo\bar\baz.cr.tmp" (posix)
       "\foo\bar\baz.cr.tmp" (posix)
       "\foo\bar\baz.cr.tmp" (windows)
       "\foo\bar\baz.cr.tmp" (windows)
       "/foo/bar/baz.cr.tmp" (posix)
       "/foo/bar/baz.cr.tmp" (posix)
       "\foo/bar\baz.cr" (posix)
       "\foo/bar\baz.cr" (posix)
       "/foo/bar/baz.cr.tmp" (windows)
       "/foo/bar/baz.cr.tmp" (windows)
       "a.x" (posix)
       "a.x" (posix)
       "a.txt" (posix)
       "a.txt" (posix)
       "\foo\bar\baz.cr.tmp" (windows)
       "\foo\bar\baz.cr.tmp" (windows)
       "\foo\bar\baz.cr.tmp" (posix)
       "\foo\bar\baz.cr.tmp" (posix)
       "\foo\bar\baz.cr.tmp" (posix)
       "\foo\bar\baz.cr.tmp" (posix)
       "\foo\bar\baz.cr.tmp" (windows)
       "\foo\bar\baz.cr.tmp" (windows)
       "a.txt" (windows)
       "a.txt" (windows)
     "a/x." (posix)
     "a/x." (posix)
     "/foo/" (posix)
     "/foo/" (posix)
     "/foo/bar/baz.cr" (windows)
     "/foo/bar/baz.cr" (windows)
     "foo" (posix)
     "foo" (posix)
     "a/x" (windows)
     "a/x" (windows)
     "\." (windows)
     "\." (windows)
     "." (posix)
     "." (posix)
     "/" (windows)
     "/" (windows)
     "\foo\" (posix)
     "\foo\" (posix)
     "x" (windows)
     "x" (windows)
     "////" (windows)
     "////" (windows)
     "a/.x" (windows)
     "a/.x" (windows)
     "foo" (windows)
     "foo" (windows)
     "/foo/bar/baz.cr" (posix)
     "/foo/bar/baz.cr" (posix)
     "/" (posix)
     "/" (posix)
     "x" (posix)
     "x" (posix)
     "/." (windows)
     "/." (windows)
     "." (windows)
     "." (windows)
     "\foo\bar\baz.cr" (posix)
     "\foo\bar\baz.cr" (posix)
     "\" (windows)
     "\" (windows)
     "\foo\" (windows)
     "\foo\" (windows)
     "a/x." (windows)
     "a/x." (windows)
     "" (posix)
     "" (posix)
  #to_posix
    default: mappings=true "Cfoobar" (windows)
    default: mappings=true "Cfoobar" (windows)
     "C:\foo\bar" (windows)
     "C:\foo\bar" (windows)
    default: mappings=true "Cfoobar" (posix)
    default: mappings=true "Cfoobar" (posix)
     "/" (posix)
     "/" (posix)
     "/" (windows)
     "/" (windows)
     "Cfoobar" (posix)
     "Cfoobar" (posix)
     "C:\foo\bar" (posix)
     "C:\foo\bar" (posix)
     "Cfoobar" (windows)
     "Cfoobar" (windows)
     "Cfoobar" (windows)
     "Cfoobar" (windows)
     "/" (posix)
     "/" (posix)
     "foo/bar" (posix)
     "foo/bar" (posix)
     "foo/bar" (windows)
     "foo/bar" (windows)
     "foo/bar" (posix)
     "foo/bar" (posix)
     "C:\foo\bar" (posix)
     "C:\foo\bar" (posix)
     "Cfoobar" (posix)
     "Cfoobar" (posix)
     "foo/bar" (windows)
     "foo/bar" (windows)
     "C:\foo\bar" (windows)
     "C:\foo\bar" (windows)
     "/" (windows)
     "/" (windows)
  .[]
  .[]
  .posix
    assert
    assert
    assert
    assert
    assert
    assert
    joins components
    joins components
    fails with null byte
    fails with null byte
    assert
    assert
  .new
    assert
    assert
    fails with null byte
    fails with null byte
    assert
    assert
    assert
    assert
    joins components
    joins components
  #expand
    expands a path with multi-byte characters
      (base: "") "Ångström" (posix)
      (base: "") "Ångström" (posix)
      (base: "") "Ångström" (windows)
      (base: "") "Ångström" (windows)
    converts a pathname to an absolute pathname, using ~ (home) as base (trailing /)
      (base: "/tmp/gumby/ddd") "~/a" (posix)
      (base: "/tmp/gumby/ddd") "~/a" (posix)
      (base: "") "~" (posix)
      (base: "") "~" (posix)
      (base: "/tmp/gumby/ddd") "~/a" (windows)
      (base: "/tmp/gumby/ddd") "~/a" (windows)
      (base: "") "~/..badfilename" (posix)
      (base: "") "~/..badfilename" (posix)
      (base: "~/b") "~/a" (posix)
      (base: "~/b") "~/a" (posix)
      (base: "") "~/.." (windows)
      (base: "") "~/.." (windows)
      (base: "") "~/..badfilename" (windows)
      (base: "") "~/..badfilename" (windows)
      (base: "/tmp/gumby/ddd") "~" (windows)
      (base: "/tmp/gumby/ddd") "~" (windows)
      (base: "~/b") "~/a" (windows)
      (base: "~/b") "~/a" (windows)
      (base: "") "~" (windows)
      (base: "") "~" (windows)
      (base: "/tmp/gumby/ddd") "~" (posix)
      (base: "/tmp/gumby/ddd") "~" (posix)
      (base: "") "~/" (windows)
      (base: "") "~/" (windows)
      (base: "") "~/.." (posix)
      (base: "") "~/.." (posix)
      (base: "") "~/" (posix)
      (base: "") "~/" (posix)
    keeps trailing dots on absolute pathname
      (base: "") "a.." (posix)
      (base: "") "a.." (posix)
      (base: "") "a.." (windows)
      (base: "") "a.." (windows)
      (base: "") "a." (posix)
      (base: "") "a." (posix)
      (base: "") "a." (windows)
      (base: "") "a." (windows)
    ignores name starting with ~
      (base: "/current") "~foo.txt" (posix)
      (base: "/current") "~foo.txt" (posix)
      (base: "/current") "~foo.txt" (windows)
      (base: "/current") "~foo.txt" (windows)
    expands /./dir to /dir
      (base: "/") "/./dir" (posix)
      (base: "/") "/./dir" (posix)
      (base: "/") "/./dir" (windows)
      (base: "/") "/./dir" (windows)
    converts a pathname to an absolute pathname
      (base: "") "a" (windows)
      (base: "") "a" (windows)
      (base: "") "" (posix)
      (base: "") "" (posix)
      (base: "") "a" (windows)
      (base: "") "a" (windows)
      (base: "") "a" (posix)
      (base: "") "a" (posix)
      (base: "") "" (windows)
      (base: "") "" (windows)
      (base: "") "a" (posix)
      (base: "") "a" (posix)
    UNC path
      (base: "\\foo\bar\") "baz" (posix)
      (base: "\\foo\bar\") "baz" (posix)
      (base: "\\foo\bar\") "baz" (windows)
      (base: "\\foo\bar\") "baz" (windows)
      (base: "\\foo$\bar\") "baz" (posix)
      (base: "\\foo$\bar\") "baz" (posix)
      (base: "\\foo$\bar\") "baz" (windows)
      (base: "\\foo$\bar\") "baz" (windows)
    expand path with ..
      (base: "/tmp") "../../bin" (windows)
      (base: "/tmp") "../../bin" (windows)
      (base: "x/../tmp") "../bin" (windows)
      (base: "x/../tmp") "../bin" (windows)
      (base: "tmp/x") "../bin" (windows)
      (base: "tmp/x") "../bin" (windows)
      (base: "/") "../../bin" (posix)
      (base: "/") "../../bin" (posix)
      (base: "/tmp/x") "../../bin" (windows)
      (base: "/tmp/x") "../../bin" (windows)
      (base: "/tmp/x") "../../bin" (posix)
      (base: "/tmp/x") "../../bin" (posix)
      (base: "x/../tmp") "../bin" (posix)
      (base: "x/../tmp") "../bin" (posix)
      (base: "tmp/x") "../bin" (posix)
      (base: "tmp/x") "../bin" (posix)
      (base: "/") "../../bin" (windows)
      (base: "/") "../../bin" (windows)
      (base: "/tmp") "../../bin" (posix)
      (base: "/tmp") "../../bin" (posix)
    expand_path for common unix path gives a full path
      (base: "") "/tmp/" (windows)
      (base: "") "/tmp/" (windows)
      (base: "") "." (windows)
      (base: "") "." (windows)
      (base: "") "/tmp/" (posix)
      (base: "") "/tmp/" (posix)
      (base: "") "." (posix)
      (base: "") "." (posix)
      (base: "") "/default/base" (windows)
      (base: "") "/default/base" (windows)
      (base: "") "/default/base" (posix)
      (base: "") "/default/base" (posix)
      (base: "") "" (posix)
      (base: "") "" (posix)
      (base: "") "./////" (windows)
      (base: "") "./////" (windows)
      (base: "") "" (windows)
      (base: "") "" (windows)
      (base: "") "/tmp/../../../tmp" (windows)
      (base: "") "/tmp/../../../tmp" (windows)
      (base: "") "./////" (posix)
      (base: "") "./////" (posix)
      (base: "") "/tmp/../../../tmp" (posix)
      (base: "") "/tmp/../../../tmp" (posix)
    converts a pathname to an absolute pathname, using ~ (home) as base (HOME=/)
      (base: "") "~/..badfilename" (windows)
      (base: "") "~/..badfilename" (windows)
      (base: "") ".." (windows)
      (base: "") ".." (windows)
      (base: "/tmp/gumby/ddd") "~" (windows)
      (base: "/tmp/gumby/ddd") "~" (windows)
      (base: "/tmp/gumby/ddd") "~/a" (windows)
      (base: "/tmp/gumby/ddd") "~/a" (windows)
      (base: "") "~/..badfilename" (posix)
      (base: "") "~/..badfilename" (posix)
      (base: "") "~/" (posix)
      (base: "") "~/" (posix)
      (base: "~/b") "~/a" (windows)
      (base: "~/b") "~/a" (windows)
      (base: "/tmp/gumby/ddd") "~/a" (posix)
      (base: "/tmp/gumby/ddd") "~/a" (posix)
      (base: "/tmp/gumby/ddd") "~" (posix)
      (base: "/tmp/gumby/ddd") "~" (posix)
      (base: "~/b") "~/a" (posix)
      (base: "~/b") "~/a" (posix)
      (base: "") ".." (posix)
      (base: "") ".." (posix)
      (base: "") "~" (posix)
      (base: "") "~" (posix)
      (base: "") "~/" (windows)
      (base: "") "~/" (windows)
      (base: "") "~" (windows)
      (base: "") "~" (windows)
    supports ~\ for Windows paths only
      (base: "") "~\a" (windows)
      (base: "") "~\a" (windows)
      (base: "") "~\a" (posix)
      (base: "") "~\a" (posix)
    checks all possible types for expand(home:)
      (base: "") "~/a" (posix)
      (base: "") "~/a" (posix)
      (base: "") "~/a" (posix)
      (base: "") "~/a" (posix)
      (base: "") "~/a" (posix)
      (base: "") "~/a" (posix)
      (base: "") "~/a" (windows)
      (base: "") "~/a" (windows)
      (base: "") "~/a" (windows)
      (base: "") "~/a" (windows)
      (base: "") "~/a" (windows)
      (base: "") "~/a" (windows)
    replaces multiple / with a single /
      (base: "") "////some/path" (posix)
      (base: "") "////some/path" (posix)
      (base: "") "/some////path" (posix)
      (base: "") "/some////path" (posix)
      (base: "") "//some/path" (windows)
      (base: "") "//some/path" (windows)
      (base: "") "////some/path" (windows)
      (base: "") "////some/path" (windows)
      (base: "") "/some////path" (windows)
      (base: "") "/some////path" (windows)
      (base: "") "//some/path" (posix)
      (base: "") "//some/path" (posix)
    converts a pathname to an absolute pathname, using ~ (home) as base
      (base: "") "~" (windows)
      (base: "") "~" (windows)
      (base: "/tmp/gumby/ddd") "~/a" (posix)
      (base: "/tmp/gumby/ddd") "~/a" (posix)
      (base: "") "~/..badfilename" (windows)
      (base: "") "~/..badfilename" (windows)
      (base: "/tmp/gumby/ddd") "~" (posix)
      (base: "/tmp/gumby/ddd") "~" (posix)
      (base: "~/b") "~/a" (windows)
      (base: "~/b") "~/a" (windows)
      (base: "") "~/..badfilename" (posix)
      (base: "") "~/..badfilename" (posix)
      (base: "") "~" (posix)
      (base: "") "~" (posix)
      (base: "") "~/" (posix)
      (base: "") "~/" (posix)
      (base: "~/b") "~/a" (posix)
      (base: "~/b") "~/a" (posix)
      (base: "") ".." (windows)
      (base: "") ".." (windows)
      (base: "") ".." (posix)
      (base: "") ".." (posix)
      (base: "") "~/" (windows)
      (base: "") "~/" (windows)
      (base: "/tmp/gumby/ddd") "~" (windows)
      (base: "/tmp/gumby/ddd") "~" (windows)
      (base: "/tmp/gumby/ddd") "~/a" (windows)
      (base: "/tmp/gumby/ddd") "~/a" (windows)
    converts a pathname to an absolute pathname, using a complete path
      (base: "C:\tmp") "a" (posix)
      (base: "C:\tmp") "a" (posix)
      (base: "C:\tmp") "" (windows)
      (base: "C:\tmp") "" (windows)
      (base: "C:\tmp\xxx") "../a" (windows)
      (base: "C:\tmp\xxx") "../a" (windows)
      (base: "C:\tmp") "" (posix)
      (base: "C:\tmp") "" (posix)
      (base: "/tmp") "a" (posix)
      (base: "/tmp") "a" (posix)
      (base: "C:\tmp\xxx") "../a" (posix)
      (base: "C:\tmp\xxx") "../a" (posix)
      assert
      assert
      (base: "/") "." (posix)
      (base: "/") "." (posix)
      (base: "/tmp") "" (posix)
      (base: "/tmp") "" (posix)
      (base: "C:\tmp\xxx") "../a" (windows)
      (base: "C:\tmp\xxx") "../a" (windows)
      (base: "/tmp") "" (windows)
      (base: "/tmp") "" (windows)
      (base: "/tmp/xxx") "../a" (posix)
      (base: "/tmp/xxx") "../a" (posix)
      (base: "C:\tmp") "a" (windows)
      (base: "C:\tmp") "a" (windows)
      (base: "/tmp/xxx") "../a" (windows)
      (base: "/tmp/xxx") "../a" (windows)
      (base: "/tmp/xxx") "../a" (windows)
      (base: "/tmp/xxx") "../a" (windows)
      (base: "/") "." (windows)
      (base: "/") "." (windows)
      (base: "/tmp/xxx") "../a" (posix)
      (base: "/tmp/xxx") "../a" (posix)
      (base: "/tmp") "a" (windows)
      (base: "/tmp") "a" (windows)
      (base: "C:\tmp\xxx") "../a" (posix)
      (base: "C:\tmp\xxx") "../a" (posix)
    with drive
      (base: "D:\") "foo" (windows)
      (base: "D:\") "foo" (windows)
      (base: "D:\") "C:\foo" (posix)
      (base: "D:\") "C:\foo" (posix)
      (base: "D:\") "C:\" (windows)
      (base: "D:\") "C:\" (windows)
      (base: "D:\") "C:/foo" (posix)
      (base: "D:\") "C:/foo" (posix)
      (base: "D:\") "C:\" (windows)
      (base: "D:\") "C:\" (windows)
      (base: "D:") "foo" (posix)
      (base: "D:") "foo" (posix)
      (base: "D:") "C:" (windows)
      (base: "D:") "C:" (windows)
      (base: "D:\") "C:foo" (windows)
      (base: "D:\") "C:foo" (windows)
      (base: "D:\") "C:\" (posix)
      (base: "D:\") "C:\" (posix)
      (base: "D:/") "/foo" (posix)
      (base: "D:/") "/foo" (posix)
      (base: "D:\") "/foo" (windows)
      (base: "D:\") "/foo" (windows)
      (base: "D:/") "C:\foo" (windows)
      (base: "D:/") "C:\foo" (windows)
      (base: "D:") "\foo" (windows)
      (base: "D:") "\foo" (windows)
      (base: "D:/") "foo" (windows)
      (base: "D:/") "foo" (windows)
      (base: "D:\") "C:\foo" (windows)
      (base: "D:\") "C:\foo" (windows)
      (base: "D:\") "C:\foo" (windows)
      (base: "D:\") "C:\foo" (windows)
      (base: "D:/") "C:\" (windows)
      (base: "D:/") "C:\" (windows)
      (base: "D:\") "\foo" (windows)
      (base: "D:\") "\foo" (windows)
      (base: "D:") "C:/" (windows)
      (base: "D:") "C:/" (windows)
      (base: "D:") "C:foo" (windows)
      (base: "D:") "C:foo" (windows)
      (base: "D:\") "foo" (windows)
      (base: "D:\") "foo" (windows)
      (base: "D:\") "C:foo" (posix)
      (base: "D:\") "C:foo" (posix)
      (base: "D:") "C:/" (posix)
      (base: "D:") "C:/" (posix)
      (base: "D:") "/foo" (posix)
      (base: "D:") "/foo" (posix)
      (base: "D:/") "C:/" (windows)
      (base: "D:/") "C:/" (windows)
      (base: "D:\") "C:/" (windows)
      (base: "D:\") "C:/" (windows)
      (base: "D:\") "C:foo" (posix)
      (base: "D:\") "C:foo" (posix)
      (base: "D:\") "C:/" (windows)
      (base: "D:\") "C:/" (windows)
      (base: "D:") "C:/foo" (windows)
      (base: "D:") "C:/foo" (windows)
      (base: "D:\") "C:/foo" (windows)
      (base: "D:\") "C:/foo" (windows)
      (base: "D:\") "/foo" (posix)
      (base: "D:\") "/foo" (posix)
      (base: "D:/") "C:/foo" (windows)
      (base: "D:/") "C:/foo" (windows)
      (base: "D:\") "C:/" (posix)
      (base: "D:\") "C:/" (posix)
      (base: "D:/") "\foo" (posix)
      (base: "D:/") "\foo" (posix)
      (base: "D:") "\foo" (posix)
      (base: "D:") "\foo" (posix)
      (base: "D:/") "C:" (posix)
      (base: "D:/") "C:" (posix)
      (base: "D:/") "C:\foo" (posix)
      (base: "D:/") "C:\foo" (posix)
      (base: "D:") "C:\" (windows)
      (base: "D:") "C:\" (windows)
      (base: "D:\") "C:/" (posix)
      (base: "D:\") "C:/" (posix)
      (base: "D:/") "C:/foo" (posix)
      (base: "D:/") "C:/foo" (posix)
      (base: "D:") "C:/foo" (posix)
      (base: "D:") "C:/foo" (posix)
      (base: "D:\") "C:foo" (windows)
      (base: "D:\") "C:foo" (windows)
      (base: "D:") "C:\foo" (windows)
      (base: "D:") "C:\foo" (windows)
      (base: "D:/") "C:/" (posix)
      (base: "D:/") "C:/" (posix)
      (base: "D:") "C:\" (posix)
      (base: "D:") "C:\" (posix)
      (base: "D:\") "foo" (posix)
      (base: "D:\") "foo" (posix)
      (base: "D:\") "C:\" (posix)
      (base: "D:\") "C:\" (posix)
      (base: "D:/") "C:foo" (posix)
      (base: "D:/") "C:foo" (posix)
      (base: "D:/") "C:" (windows)
      (base: "D:/") "C:" (windows)
      (base: "D:/") "C:foo" (windows)
      (base: "D:/") "C:foo" (windows)
      (base: "D:") "C:\foo" (posix)
      (base: "D:") "C:\foo" (posix)
      (base: "D:\") "C:" (posix)
      (base: "D:\") "C:" (posix)
      (base: "D:\") "C:\foo" (posix)
      (base: "D:\") "C:\foo" (posix)
      (base: "D:\") "\foo" (windows)
      (base: "D:\") "\foo" (windows)
      (base: "D:\") "\foo" (posix)
      (base: "D:\") "\foo" (posix)
      (base: "D:\") "\foo" (posix)
      (base: "D:\") "\foo" (posix)
      (base: "D:") "C:foo" (posix)
      (base: "D:") "C:foo" (posix)
      (base: "D:") "foo" (windows)
      (base: "D:") "foo" (windows)
      (base: "D:\") "C:/foo" (windows)
      (base: "D:\") "C:/foo" (windows)
      (base: "D:\") "C:" (windows)
      (base: "D:\") "C:" (windows)
      (base: "D:\") "C:" (windows)
      (base: "D:\") "C:" (windows)
      (base: "D:\") "foo" (posix)
      (base: "D:\") "foo" (posix)
      (base: "D:/") "C:\" (posix)
      (base: "D:/") "C:\" (posix)
      (base: "D:/") "foo" (posix)
      (base: "D:/") "foo" (posix)
      (base: "D:") "C:" (posix)
      (base: "D:") "C:" (posix)
      (base: "D:\") "C:/foo" (posix)
      (base: "D:\") "C:/foo" (posix)
      (base: "D:/") "\foo" (windows)
      (base: "D:/") "\foo" (windows)
      (base: "D:/") "/foo" (windows)
      (base: "D:/") "/foo" (windows)
      (base: "D:") "/foo" (windows)
      (base: "D:") "/foo" (windows)
      (base: "D:\") "C:" (posix)
      (base: "D:\") "C:" (posix)
    doesn't expand ~
    doesn't expand ~
    converts a pathname to an absolute pathname, Ruby-Talk:18512
      (base: "") ".a" (windows)
      (base: "") ".a" (windows)
      (base: "") "a../b" (windows)
      (base: "") "a../b" (windows)
      (base: "") "..a" (posix)
      (base: "") "..a" (posix)
      (base: "") "..a" (windows)
      (base: "") "..a" (windows)
      (base: "") ".a" (posix)
      (base: "") ".a" (posix)
      (base: "") "a../b" (posix)
      (base: "") "a../b" (posix)
  #absolute?
     "C:/" (windows)
     "C:/" (windows)
     "foo" (posix)
     "foo" (posix)
     "foo" (windows)
     "foo" (windows)
     "\\some\share" (posix)
     "\\some\share" (posix)
     "C:" (posix)
     "C:" (posix)
     "C:" (windows)
     "C:" (windows)
     "./foo" (posix)
     "./foo" (posix)
     "c:\\" (windows)
     "c:\\" (windows)
     "//some/share/" (windows)
     "//some/share/" (windows)
     "C:/foo/bar" (posix)
     "C:/foo/bar" (posix)
     "\foo" (posix)
     "\foo" (posix)
     "C:/" (posix)
     "C:/" (posix)
     "/foo" (windows)
     "/foo" (windows)
     "\\some\share" (windows)
     "\\some\share" (windows)
     "C:\foo" (windows)
     "C:\foo" (windows)
     "c:\\" (posix)
     "c:\\" (posix)
     "foo" (windows)
     "foo" (windows)
     "/foo" (posix)
     "/foo" (posix)
     "foo" (posix)
     "foo" (posix)
     "/./foo" (windows)
     "/./foo" (windows)
     "./foo" (windows)
     "./foo" (windows)
     "C:/foo" (posix)
     "C:/foo" (posix)
     "\.\foo" (posix)
     "\.\foo" (posix)
     "\\some\share\" (posix)
     "\\some\share\" (posix)
     "\.\foo" (windows)
     "\.\foo" (windows)
     "C:/foo" (windows)
     "C:/foo" (windows)
     "//some/share" (windows)
     "//some/share" (windows)
     "~\foo" (posix)
     "~\foo" (posix)
     "C:\" (posix)
     "C:\" (posix)
     "~/foo" (windows)
     "~/foo" (windows)
     "C:/foo/bar" (windows)
     "C:/foo/bar" (windows)
     "\foo" (windows)
     "\foo" (windows)
     "C:\" (windows)
     "C:\" (windows)
     ".\foo" (posix)
     ".\foo" (posix)
     "\\some\share\" (windows)
     "\\some\share\" (windows)
     "//some/share/" (posix)
     "//some/share/" (posix)
     ".\foo" (windows)
     ".\foo" (windows)
     "/./foo" (posix)
     "/./foo" (posix)
     "~/foo" (posix)
     "~/foo" (posix)
     "~\foo" (windows)
     "~\foo" (windows)
     "C:\foo" (posix)
     "C:\foo" (posix)
     "//some/share" (posix)
     "//some/share" (posix)
  #join
    resolving "/a" "" (posix)
    resolving "/a" "" (posix)
    resolving "bar/baz" "foo" (posix)
    resolving "bar/baz" "foo" (posix)
    resolving "{"bar", "baz"}" "foo" (windows)
    resolving "{"bar", "baz"}" "foo" (windows)
    resolving ["/"]  "" (windows)
    resolving ["/"]  "" (windows)
    resolving "{"/", "bar"}" "foo" (posix)
    resolving "{"/", "bar"}" "foo" (posix)
    resolving ["bar\baz"]  "foo" (posix)
    resolving ["bar\baz"]  "foo" (posix)
    resolving ["a"].each "/" (posix)
    resolving ["a"].each "/" (posix)
    resolving ["bar"]  "\\\\foo" (posix)
    resolving ["bar"]  "\\\\foo" (posix)
    resolving [""]  "/" (windows)
    resolving [""]  "/" (windows)
    resolving ["\"].each "foo" (windows)
    resolving ["\"].each "foo" (windows)
    resolving ["Program Files"].each "c:" (windows)
    resolving ["Program Files"].each "c:" (windows)
    resolving ["\"]  "foo" (windows)
    resolving ["\"]  "foo" (windows)
    resolving ["/bar"]  "/foo/" (posix)
    resolving ["/bar"]  "/foo/" (posix)
    resolving ["Program Files"].each "c:\" (posix)
    resolving ["Program Files"].each "c:\" (posix)
    resolving "Program Files" "c:/" (windows)
    resolving "Program Files" "c:/" (windows)
    resolving "//bar" "///foo" (windows)
    resolving "//bar" "///foo" (windows)
    resolving ["a"]  "/" (posix)
    resolving ["a"]  "/" (posix)
    resolving "{"\\", "bar"}" "foo" (windows)
    resolving "{"\\", "bar"}" "foo" (windows)
    resolving "a" "" (posix)
    resolving "a" "" (posix)
    resolving ["//bar"]  "///foo" (posix)
    resolving ["//bar"]  "///foo" (posix)
    resolving ["/bar"]  "/foo/" (windows)
    resolving ["/bar"]  "/foo/" (windows)
    resolving "{"bar", ""}" "foo" (posix)
    resolving "{"bar", ""}" "foo" (posix)
    resolving "\" "foo" (windows)
    resolving "\" "foo" (windows)
    resolving "\\bar" "\\\foo" (windows)
    resolving "\\bar" "\\\foo" (windows)
    resolving ["a"].each "/" (windows)
    resolving ["a"].each "/" (windows)
    resolving "Program Files" "c:\" (windows)
    resolving "Program Files" "c:\" (windows)
    resolving ["bar\baz"].each "foo" (windows)
    resolving ["bar\baz"].each "foo" (windows)
    resolving "{"/", "bar"}" "foo" (windows)
    resolving "{"/", "bar"}" "foo" (windows)
    resolving [""].each "/" (windows)
    resolving [""].each "/" (windows)
    resolving ["//bar"]  "///foo" (windows)
    resolving ["//bar"]  "///foo" (windows)
    resolving ["Program Files"].each "c:\" (windows)
    resolving ["Program Files"].each "c:\" (windows)
    resolving "a" "/" (posix)
    resolving "a" "/" (posix)
    resolving ["bar/baz"].each "foo" (windows)
    resolving ["bar/baz"].each "foo" (windows)
    resolving ["bar"]  "\\\\foo" (windows)
    resolving ["bar"]  "\\\\foo" (windows)
    resolving ["/a"].each "" (windows)
    resolving ["/a"].each "" (windows)
    resolving "bar\baz" "foo" (windows)
    resolving "bar\baz" "foo" (windows)
    resolving [""].each "" (posix)
    resolving [""].each "" (posix)
    resolving "/bar" "/foo/" (posix)
    resolving "/bar" "/foo/" (posix)
    resolving ["bar"].each "\\\\foo" (posix)
    resolving ["bar"].each "\\\\foo" (posix)
    resolving "a" "\" (windows)
    resolving "a" "\" (windows)
    resolving "bar\baz" "foo" (windows)
    resolving "bar\baz" "foo" (windows)
    resolving "\a" "" (posix)
    resolving "\a" "" (posix)
    resolving "{"/bar/", "/baz/"}" "/foo/" (posix)
    resolving "{"/bar/", "/baz/"}" "/foo/" (posix)
    resolving ["a"].each "\" (windows)
    resolving ["a"].each "\" (windows)
    resolving "{"\\", "\\", "bar"}" "foo" (posix)
    resolving "{"\\", "\\", "bar"}" "foo" (posix)
    resolving ["/"].each "foo" (posix)
    resolving ["/"].each "foo" (posix)
    resolving [""]  "" (posix)
    resolving [""]  "" (posix)
    resolving "bar\baz" "foo" (posix)
    resolving "bar\baz" "foo" (posix)
    resolving "{"\\foo", "\\", "bar\\", "\\"}" "\" (posix)
    resolving "{"\\foo", "\\", "bar\\", "\\"}" "\" (posix)
    resolving "{"\\\\bar\\\\", "baz\\\\\\"}" "foo" (windows)
    resolving "{"\\\\bar\\\\", "baz\\\\\\"}" "foo" (windows)
    resolving ["/"].each "foo" (windows)
    resolving ["/"].each "foo" (windows)
    resolving ["\\bar"]  "\\\foo" (posix)
    resolving ["\\bar"]  "\\\foo" (posix)
    resolving ["a"]  "" (windows)
    resolving ["a"]  "" (windows)
    resolving ["\a"].each "" (posix)
    resolving ["\a"].each "" (posix)
    resolving ["Program Files"]  "c:/" (posix)
    resolving ["Program Files"]  "c:/" (posix)
    resolving ["/"]  "foo" (windows)
    resolving ["/"]  "foo" (windows)
    resolving ["\a"].each "" (windows)
    resolving ["\a"].each "" (windows)
    resolving ["a"].each "" (windows)
    resolving ["a"].each "" (windows)
    resolving "{"bar", "baz"}" "foo" (posix)
    resolving "{"bar", "baz"}" "foo" (posix)
    resolving "/a" "" (windows)
    resolving "/a" "" (windows)
    resolving "{"/", "/", "bar"}" "foo" (posix)
    resolving "{"/", "/", "bar"}" "foo" (posix)
    resolving "" "" (posix)
    resolving "" "" (posix)
    resolving "bar" "\\\\foo" (posix)
    resolving "bar" "\\\\foo" (posix)
    resolving "{"\\foo", "\\", "bar\\", "\\"}" "\" (windows)
    resolving "{"\\foo", "\\", "bar\\", "\\"}" "\" (windows)
    resolving ["/"].each "" (windows)
    resolving ["/"].each "" (windows)
    resolving ["bar"].each "///foo" (posix)
    resolving ["bar"].each "///foo" (posix)
    resolving ["bar/baz"]  "foo" (windows)
    resolving ["bar/baz"]  "foo" (windows)
    resolving "{"//bar//", "baz///"}" "foo" (windows)
    resolving "{"//bar//", "baz///"}" "foo" (windows)
    resolving ["Program Files"].each "c:/" (posix)
    resolving ["Program Files"].each "c:/" (posix)
    resolving "Program Files" "c:" (windows)
    resolving "Program Files" "c:" (windows)
    resolving "bar" "///foo" (posix)
    resolving "bar" "///foo" (posix)
    resolving "" "" (windows)
    resolving "" "" (windows)
    resolving "{"/bar/", "/baz/"}" "/foo/" (windows)
    resolving "{"/bar/", "/baz/"}" "/foo/" (windows)
    resolving "a" "\" (posix)
    resolving "a" "\" (posix)
    resolving "/" "" (posix)
    resolving "/" "" (posix)
    resolving ["Program Files"]  "c:\" (windows)
    resolving ["Program Files"]  "c:\" (windows)
    resolving ["/a"]  "" (windows)
    resolving ["/a"]  "" (windows)
    resolving ["bar"]  "///foo" (posix)
    resolving ["bar"]  "///foo" (posix)
    resolving "/bar" "/foo/" (windows)
    resolving "/bar" "/foo/" (windows)
    resolving ["a"]  "\" (posix)
    resolving ["a"]  "\" (posix)
    resolving ["a"]  "\" (windows)
    resolving ["a"]  "\" (windows)
    resolving ["/"]  "" (posix)
    resolving ["/"]  "" (posix)
    resolving "a" "/" (windows)
    resolving "a" "/" (windows)
    resolving "{"/foo", "/", "bar/", "/"}" "/" (posix)
    resolving "{"/foo", "/", "bar/", "/"}" "/" (posix)
    resolving ["\bar"].each "\foo\" (posix)
    resolving ["\bar"].each "\foo\" (posix)
    resolving [""]  "/" (posix)
    resolving [""]  "/" (posix)
    resolving ["a"].each "" (posix)
    resolving ["a"].each "" (posix)
    resolving "{"/", "/", "bar"}" "foo" (windows)
    resolving "{"/", "/", "bar"}" "foo" (windows)
    resolving "bar\baz" "foo" (posix)
    resolving "bar\baz" "foo" (posix)
    resolving ["//bar"].each "///foo" (windows)
    resolving ["//bar"].each "///foo" (windows)
    resolving "a" "" (windows)
    resolving "a" "" (windows)
    resolving ["\\bar"]  "\\\foo" (windows)
    resolving ["\\bar"]  "\\\foo" (windows)
    resolving "{"\\\\bar\\\\", "baz\\\\\\"}" "foo" (posix)
    resolving "{"\\\\bar\\\\", "baz\\\\\\"}" "foo" (posix)
    resolving ["Program Files"].each "c:/" (windows)
    resolving ["Program Files"].each "c:/" (windows)
    resolving ["\"].each "foo" (posix)
    resolving ["\"].each "foo" (posix)
    resolving ["\bar"]  "\foo\" (posix)
    resolving ["\bar"]  "\foo\" (posix)
    resolving ["bar/baz"].each "foo" (posix)
    resolving ["bar/baz"].each "foo" (posix)
    resolving ["\a"]  "" (posix)
    resolving ["\a"]  "" (posix)
    resolving "Program Files" "c:\" (posix)
    resolving "Program Files" "c:\" (posix)
    resolving "Program Files" "c:" (posix)
    resolving "Program Files" "c:" (posix)
    resolving ["Program Files"]  "c:" (posix)
    resolving ["Program Files"]  "c:" (posix)
    resolving "\bar" "\foo\" (windows)
    resolving "\bar" "\foo\" (windows)
    resolving "{"bar", ""}" "foo" (windows)
    resolving "{"bar", ""}" "foo" (windows)
    resolving ["\a"]  "" (windows)
    resolving ["\a"]  "" (windows)
    resolving ["\\bar"].each "\\\foo" (posix)
    resolving ["\\bar"].each "\\\foo" (posix)
    resolving ["a"]  "/" (windows)
    resolving ["a"]  "/" (windows)
    resolving ["/bar"].each "/foo/" (windows)
    resolving ["/bar"].each "/foo/" (windows)
    resolving ["bar\baz"].each "foo" (windows)
    resolving ["bar\baz"].each "foo" (windows)
    resolving ["bar\baz"]  "foo" (windows)
    resolving ["bar\baz"]  "foo" (windows)
    resolving "/" "" (windows)
    resolving "/" "" (windows)
    resolving "" "/" (posix)
    resolving "" "/" (posix)
    resolving ["Program Files"]  "c:\" (posix)
    resolving ["Program Files"]  "c:\" (posix)
    resolving ["bar\baz"].each "foo" (posix)
    resolving ["bar\baz"].each "foo" (posix)
    resolving ["bar/baz"]  "foo" (posix)
    resolving ["bar/baz"]  "foo" (posix)
    resolving "{"/foo", "/", "bar/", "/"}" "/" (windows)
    resolving "{"/foo", "/", "bar/", "/"}" "/" (windows)
    resolving ["\\bar"].each "\\\foo" (windows)
    resolving ["\\bar"].each "\\\foo" (windows)
    resolving ["/a"].each "" (posix)
    resolving ["/a"].each "" (posix)
    resolving "\\bar" "\\\foo" (posix)
    resolving "\\bar" "\\\foo" (posix)
    resolving "{"bar", ""}" "foo" (posix)
    resolving "{"bar", ""}" "foo" (posix)
    resolving ["/"]  "foo" (posix)
    resolving ["/"]  "foo" (posix)
    resolving "/" "foo" (windows)
    resolving "/" "foo" (windows)
    resolving [""].each "/" (posix)
    resolving [""].each "/" (posix)
    resolving ["Program Files"]  "c:/" (windows)
    resolving ["Program Files"]  "c:/" (windows)
    resolving "{"\\bar\\", "\\baz\\"}" "\foo\" (windows)
    resolving "{"\\bar\\", "\\baz\\"}" "\foo\" (windows)
    resolving "//bar" "///foo" (posix)
    resolving "//bar" "///foo" (posix)
    resolving [""].each "" (windows)
    resolving [""].each "" (windows)
    resolving "\bar" "\foo\" (posix)
    resolving "\bar" "\foo\" (posix)
    resolving ["\"]  "foo" (posix)
    resolving ["\"]  "foo" (posix)
    resolving ["/a"]  "" (posix)
    resolving ["/a"]  "" (posix)
    resolving ["a"]  "" (posix)
    resolving ["a"]  "" (posix)
    resolving "{"\\", "bar"}" "foo" (posix)
    resolving "{"\\", "bar"}" "foo" (posix)
    resolving "{"//bar//", "baz///"}" "foo" (posix)
    resolving "{"//bar//", "baz///"}" "foo" (posix)
    resolving ["Program Files"]  "c:" (windows)
    resolving ["Program Files"]  "c:" (windows)
    resolving "Program Files" "c:/" (posix)
    resolving "Program Files" "c:/" (posix)
    resolving ["/"].each "" (posix)
    resolving ["/"].each "" (posix)
    resolving ["bar\baz"].each "foo" (posix)
    resolving ["bar\baz"].each "foo" (posix)
    resolving ["bar"].each "\\\\foo" (windows)
    resolving ["bar"].each "\\\\foo" (windows)
    resolving ["bar\baz"]  "foo" (windows)
    resolving ["bar\baz"]  "foo" (windows)
    resolving "{"\\", "\\", "bar"}" "foo" (windows)
    resolving "{"\\", "\\", "bar"}" "foo" (windows)
    resolving "{"bar", ""}" "foo" (windows)
    resolving "{"bar", ""}" "foo" (windows)
    resolving ["Program Files"].each "c:" (posix)
    resolving ["Program Files"].each "c:" (posix)
    resolving ["\bar"]  "\foo\" (windows)
    resolving ["\bar"]  "\foo\" (windows)
    resolving "{"\\bar\\", "\\baz\\"}" "\foo\" (posix)
    resolving "{"\\bar\\", "\\baz\\"}" "\foo\" (posix)
    resolving "" "/" (windows)
    resolving "" "/" (windows)
    resolving ["//bar"].each "///foo" (posix)
    resolving ["//bar"].each "///foo" (posix)
    resolving ["a"].each "\" (posix)
    resolving ["a"].each "\" (posix)
    resolving "/" "foo" (posix)
    resolving "/" "foo" (posix)
    resolving ["bar"].each "///foo" (windows)
    resolving ["bar"].each "///foo" (windows)
    resolving "bar" "\\\\foo" (windows)
    resolving "bar" "\\\\foo" (windows)
    resolving [""]  "" (windows)
    resolving [""]  "" (windows)
    resolving ["bar\baz"]  "foo" (posix)
    resolving ["bar\baz"]  "foo" (posix)
    resolving "\a" "" (windows)
    resolving "\a" "" (windows)
    resolving "\" "foo" (posix)
    resolving "\" "foo" (posix)
    resolving ["\bar"].each "\foo\" (windows)
    resolving ["\bar"].each "\foo\" (windows)
    resolving "bar" "///foo" (windows)
    resolving "bar" "///foo" (windows)
    resolving ["/bar"].each "/foo/" (posix)
    resolving ["/bar"].each "/foo/" (posix)
    resolving "bar/baz" "foo" (windows)
    resolving "bar/baz" "foo" (windows)
    resolving ["bar"]  "///foo" (windows)
    resolving ["bar"]  "///foo" (windows)
  #parents
     "foo/bar/." (posix)
     "foo/bar/." (posix)
     "/foo" (windows)
     "/foo" (windows)
     "foo/../bar/" (windows)
     "foo/../bar/" (windows)
     "./foo" (posix)
     "./foo" (posix)
     "foo/bar/." (windows)
     "foo/bar/." (windows)
     "foo/./bar/." (posix)
     "foo/./bar/." (posix)
     ".\foo" (windows)
     ".\foo" (windows)
     "." (windows)
     "." (windows)
     "C:\Users\foo\bar.cr" (windows)
     "C:\Users\foo\bar.cr" (windows)
     "foo\bar\" (windows)
     "foo\bar\" (windows)
     "" (posix)
     "" (posix)
     "foo/bar/../." (windows)
     "foo/bar/../." (windows)
     "/" (posix)
     "/" (posix)
     "m/" (posix)
     "m/" (posix)
     "m/.gitignore" (windows)
     "m/.gitignore" (windows)
     "\" (posix)
     "\" (posix)
     "\Users\foo\bar.cr" (windows)
     "\Users\foo\bar.cr" (windows)
     "foo/../bar/." (windows)
     "foo/../bar/." (windows)
     "/Users/foo/bar.cr" (posix)
     "/Users/foo/bar.cr" (posix)
     "C:folder" (posix)
     "C:folder" (posix)
     "foo/bar/" (windows)
     "foo/bar/" (windows)
     "\Users/foo\bar.cr" (posix)
     "\Users/foo\bar.cr" (posix)
     "\Users\foo\bar.cr" (posix)
     "\Users\foo\bar.cr" (posix)
     "foo" (posix)
     "foo" (posix)
     "C:\" (posix)
     "C:\" (posix)
     "foo\bar\" (posix)
     "foo\bar\" (posix)
     "foo/./bar/" (posix)
     "foo/./bar/" (posix)
     "Users/foo/bar.cr" (posix)
     "Users/foo/bar.cr" (posix)
     "foo/bar/." (windows)
     "foo/bar/." (windows)
     "" (windows)
     "" (windows)
     "/" (windows)
     "/" (windows)
     "C:\" (windows)
     "C:\" (windows)
     "m/.gitignore" (posix)
     "m/.gitignore" (posix)
     "foo\" (windows)
     "foo\" (windows)
     "////" (windows)
     "////" (windows)
     "foo/./bar/" (windows)
     "foo/./bar/" (windows)
     "m//" (windows)
     "m//" (windows)
     "C:" (windows)
     "C:" (windows)
     "foo/../bar/." (posix)
     "foo/../bar/." (posix)
     "foo/bar/." (posix)
     "foo/bar/." (posix)
     "m" (windows)
     "m" (windows)
     "C:\." (windows)
     "C:\." (windows)
     "foo/bar/.." (posix)
     "foo/bar/.." (posix)
     "foo/bar/./." (posix)
     "foo/bar/./." (posix)
     "/m/" (posix)
     "/m/" (posix)
     "m//a/b" (posix)
     "m//a/b" (posix)
     "C:/" (windows)
     "C:/" (windows)
     "C:\\folder" (posix)
     "C:\\folder" (posix)
     "foo" (windows)
     "foo" (windows)
     "C:\\folder" (windows)
     "C:\\folder" (windows)
     "foo\" (posix)
     "foo\" (posix)
     "foo/../bar/" (posix)
     "foo/../bar/" (posix)
     "/." (posix)
     "/." (posix)
     "foo/bar/.." (windows)
     "foo/bar/.." (windows)
     "." (posix)
     "." (posix)
     "C:folder" (windows)
     "C:folder" (windows)
     "C:\Users\foo\bar.cr" (posix)
     "C:\Users\foo\bar.cr" (posix)
     "C:" (posix)
     "C:" (posix)
     "C:\folder" (posix)
     "C:\folder" (posix)
     "foo/" (posix)
     "foo/" (posix)
     "foo/bar/../." (posix)
     "foo/bar/../." (posix)
     "////" (posix)
     "////" (posix)
     "m//" (posix)
     "m//" (posix)
     "m" (posix)
     "m" (posix)
     "foo/./bar/." (windows)
     "foo/./bar/." (windows)
     ".\foo" (posix)
     ".\foo" (posix)
     "/m" (windows)
     "/m" (windows)
     "/foo" (posix)
     "/foo" (posix)
     "m//a/b" (windows)
     "m//a/b" (windows)
     "foo/bar/" (posix)
     "foo/bar/" (posix)
     "m/" (windows)
     "m/" (windows)
     "foo/" (windows)
     "foo/" (windows)
     "/." (windows)
     "/." (windows)
     "/Users/foo/bar.cr" (windows)
     "/Users/foo/bar.cr" (windows)
     "/m" (posix)
     "/m" (posix)
     "./foo" (windows)
     "./foo" (windows)
     "C:\." (posix)
     "C:\." (posix)
     "C:/" (posix)
     "C:/" (posix)
     "\Users/foo\bar.cr" (windows)
     "\Users/foo\bar.cr" (windows)
     "foo/bar/./." (windows)
     "foo/bar/./." (windows)
     "\" (windows)
     "\" (windows)
     "C:\folder" (windows)
     "C:\folder" (windows)
     "/m/" (windows)
     "/m/" (windows)
     "Users/foo/bar.cr" (windows)
     "Users/foo/bar.cr" (windows)
  #relative_to?
    on "/a/b": "/c/d" (windows)
    on "/a/b": "/c/d" (windows)
    on "./a/b": "a/b" (windows)
    on "./a/b": "a/b" (windows)
    on "a/b": "./a/b" (posix)
    on "a/b": "./a/b" (posix)
    on ".": ".." (posix)
    on ".": ".." (posix)
    on "a/b": "a/b/c/d" (posix)
    on "a/b": "a/b/c/d" (posix)
    on "a/b": "a/b/c/d" (windows)
    on "a/b": "a/b/c/d" (windows)
    on "a": "/a" (windows)
    on "a": "/a" (windows)
    on "a/b/c/d": "a/b/" (posix)
    on "a/b/c/d": "a/b/" (posix)
    on "/a/b/c/d": "/a/b/" (posix)
    on "/a/b/c/d": "/a/b/" (posix)
    on "/a/b": "/a/b" (posix)
    on "/a/b": "/a/b" (posix)
    on "a/b/c": "a/c/d" (posix)
    on "a/b/c": "a/c/d" (posix)
    on "a/b": "a/b/." (windows)
    on "a/b": "a/b/." (windows)
    on "./a/b": "a/b" (posix)
    on "./a/b": "a/b" (posix)
    on "a/b": "a/b/c" (windows)
    on "a/b": "a/b/c" (windows)
    on "/": "/a/c" (posix)
    on "/": "/a/c" (posix)
    on "/a/b/../c": "/a/b" (windows)
    on "/a/b/../c": "/a/b" (windows)
    on ".": "a/b" (windows)
    on ".": "a/b" (windows)
    on "/a/b": "/a/b/../c" (posix)
    on "/a/b": "/a/b/../c" (posix)
    on "a/b": "c/d" (posix)
    on "a/b": "c/d" (posix)
    on "a/b/.": "a/b" (windows)
    on "a/b/.": "a/b" (windows)
    on "/a/b": "/a/b" (windows)
    on "/a/b": "/a/b" (windows)
    on "a/b/.": "a/b" (posix)
    on "a/b/.": "a/b" (posix)
    on "a/b": "a/b/c" (posix)
    on "a/b": "a/b/c" (posix)
    on "/a/b": "/a/b/." (windows)
    on "/a/b": "/a/b/." (windows)
    on "../../a/b": "../../a/b/c/d" (windows)
    on "../../a/b": "../../a/b/c/d" (windows)
    on "/a/b/.": "/a/b" (windows)
    on "/a/b/.": "/a/b" (windows)
    on "a": "/a" (posix)
    on "a": "/a" (posix)
    on "/a/b/../c": "/a/b" (posix)
    on "/a/b/../c": "/a/b" (posix)
    on "/ab/cd": "/ab/c" (windows)
    on "/ab/cd": "/ab/c" (windows)
    on "a/b": "a/b/../c" (posix)
    on "a/b": "a/b/../c" (posix)
    on "a/b": "c/d" (windows)
    on "a/b": "c/d" (windows)
    on "/a/b": "/a/b/c/d" (posix)
    on "/a/b": "/a/b/c/d" (posix)
    on "/a/b": "/a/b/c/d" (windows)
    on "/a/b": "/a/b/c/d" (windows)
    on "a/b/../c": "a/b" (posix)
    on "a/b/../c": "a/b" (posix)
    on "/": "/" (windows)
    on "/": "/" (windows)
    on "/a/b/c/d": "/a/b/" (windows)
    on "/a/b/c/d": "/a/b/" (windows)
    on "ab/cd": "ab/c" (windows)
    on "ab/cd": "ab/c" (windows)
    on "/a/b/c/d": "/a/b" (posix)
    on "/a/b/c/d": "/a/b" (posix)
    on "a/b/c/d": "a/b/" (windows)
    on "a/b/c/d": "a/b/" (windows)
    on "/a/b": "/c/d" (posix)
    on "/a/b": "/c/d" (posix)
    on "a/b/c/d": "a/b" (posix)
    on "a/b/c/d": "a/b" (posix)
    on "a/b": "a/b" (posix)
    on "a/b": "a/b" (posix)
    on "..": "a" (posix)
    on "..": "a" (posix)
    on "..": "." (windows)
    on "..": "." (windows)
    on "/ab/cd": "/ab/c" (posix)
    on "/ab/cd": "/ab/c" (posix)
    on "..": "." (posix)
    on "..": "." (posix)
    on "a/b": "a/b/." (posix)
    on "a/b": "a/b/." (posix)
    on "/": "/a/c" (windows)
    on "/": "/a/c" (windows)
    on "/a/b/c/d/": "/a/b" (windows)
    on "/a/b/c/d/": "/a/b" (windows)
    on "/a/b/c/d/": "/a/b/" (windows)
    on "/a/b/c/d/": "/a/b/" (windows)
    on ".": "a/b" (posix)
    on ".": "a/b" (posix)
    on "/a/b/c": "/a/c/d" (windows)
    on "/a/b/c": "/a/c/d" (windows)
    on "/a/b": "/a/b/../c" (windows)
    on "/a/b": "/a/b/../c" (windows)
    on "ab/cd": "ab/cde" (windows)
    on "ab/cd": "ab/cde" (windows)
    on "a/b/c/d/": "a/b/" (posix)
    on "a/b/c/d/": "a/b/" (posix)
    on "a/b/c/d": "a/b" (windows)
    on "a/b/c/d": "a/b" (windows)
    on "/a/b/c/d/": "/a/b/" (posix)
    on "/a/b/c/d/": "/a/b/" (posix)
    on "/a/b/c": "/a/c/d" (posix)
    on "/a/b/c": "/a/c/d" (posix)
    on "../../a/b": "../../a/b/c/d" (posix)
    on "../../a/b": "../../a/b/c/d" (posix)
    on "a/b/c/d/": "a/b/" (windows)
    on "a/b/c/d/": "a/b/" (windows)
    on "/a/b/.": "/a/b" (posix)
    on "/a/b/.": "/a/b" (posix)
    on "a/b/c": "a/c/d" (windows)
    on "a/b/c": "a/c/d" (windows)
    special windows paths
      on "C:\Projects\a\..": "c:\projects" (posix)
      on "C:\Projects\a\..": "c:\projects" (posix)
      on "C:\Projects": "c:\projects" (windows)
      on "C:\Projects": "c:\projects" (windows)
      on "/a": "a" (windows)
      on "/a": "a" (windows)
      on "C:\Projects": "c:\projects\src" (windows)
      on "C:\Projects": "c:\projects\src" (windows)
      on "C:a\b\c": "c:a/b/d" (windows)
      on "C:a\b\c": "c:a/b/d" (windows)
      on "C:a\b\c": "c:a/b/d" (posix)
      on "C:a\b\c": "c:a/b/d" (posix)
      on "/a": "a" (posix)
      on "/a": "a" (posix)
      on "C:": "D:" (windows)
      on "C:": "D:" (windows)
      on "C:\Projects\a\..": "c:\projects" (windows)
      on "C:\Projects\a\..": "c:\projects" (windows)
      on "C:": "D:" (posix)
      on "C:": "D:" (posix)
      on "C:\": "D:\" (posix)
      on "C:\": "D:\" (posix)
      on "C:a\b\c": "C:a/b/d" (posix)
      on "C:a\b\c": "C:a/b/d" (posix)
      on "C:\Projects": "c:\projects" (posix)
      on "C:\Projects": "c:\projects" (posix)
      on "C:\": "D:\" (windows)
      on "C:\": "D:\" (windows)
      on "C:\Projects": "c:\projects\src" (posix)
      on "C:\Projects": "c:\projects\src" (posix)
      on "C:a\b\c": "C:a/b/d" (windows)
      on "C:a\b\c": "C:a/b/d" (windows)
    on "a/b": "./a/b" (windows)
    on "a/b": "./a/b" (windows)
    on "/a/b": "/a/b/." (posix)
    on "/a/b": "/a/b/." (posix)
    on "a/b": "a/b" (windows)
    on "a/b": "a/b" (windows)
    on "a/b": "a/b/../c" (windows)
    on "a/b": "a/b/../c" (windows)
    on "/../../a/b": "/../../a/b/c/d" (windows)
    on "/../../a/b": "/../../a/b/c/d" (windows)
    on "../..": ".." (posix)
    on "../..": ".." (posix)
    on "/": "/" (posix)
    on "/": "/" (posix)
    on ".": ".." (windows)
    on ".": ".." (windows)
    on "a/b/c/d/": "a/b" (posix)
    on "a/b/c/d/": "a/b" (posix)
    on "a/b/c/d/": "a/b" (windows)
    on "a/b/c/d/": "a/b" (windows)
    on "/ab/cd": "/ab/cde" (windows)
    on "/ab/cd": "/ab/cde" (windows)
    on "/a/b/c/d/": "/a/b" (posix)
    on "/a/b/c/d/": "/a/b" (posix)
    on "a/b/../c": "a/b" (windows)
    on "a/b/../c": "a/b" (windows)
    on "../..": ".." (windows)
    on "../..": ".." (windows)
    on "ab/cd": "ab/cde" (posix)
    on "ab/cd": "ab/cde" (posix)
    on "..": "a" (windows)
    on "..": "a" (windows)
    on "/../../a/b": "/../../a/b/c/d" (posix)
    on "/../../a/b": "/../../a/b/c/d" (posix)
    on "/a/b/c/d": "/a/b" (windows)
    on "/a/b/c/d": "/a/b" (windows)
    on "ab/cd": "ab/c" (posix)
    on "ab/cd": "ab/c" (posix)
    on "/ab/cd": "/ab/cde" (posix)
    on "/ab/cd": "/ab/cde" (posix)
  #stem
     "bar/foo.txt." (windows)
     "bar/foo.txt." (windows)
     "bar\.txt" (windows)
     "bar\.txt" (windows)
     "foo.txt.txt/" (posix)
     "foo.txt.txt/" (posix)
     "bar\foo.txt." (windows)
     "bar\foo.txt." (windows)
     ".txt.txt" (windows)
     ".txt.txt" (windows)
     ".txt.txt/" (posix)
     ".txt.txt/" (posix)
     "foo./" (posix)
     "foo./" (posix)
     "foo." (windows)
     "foo." (windows)
     "foo.txt./" (windows)
     "foo.txt./" (windows)
     "foo.txt." (posix)
     "foo.txt." (posix)
     "foo./" (windows)
     "foo./" (windows)
     "bar\foo.txt" (posix)
     "bar\foo.txt" (posix)
     "bar\.txt.txt" (windows)
     "bar\.txt.txt" (windows)
     ".txt.txt" (posix)
     ".txt.txt" (posix)
     "bar/foo.txt.txt" (windows)
     "bar/foo.txt.txt" (windows)
     "foo..txt" (windows)
     "foo..txt" (windows)
     "bar/foo..txt" (windows)
     "bar/foo..txt" (windows)
     "bar/foo.txt.txt" (posix)
     "bar/foo.txt.txt" (posix)
     "foo.txt" (windows)
     "foo.txt" (windows)
     "bar\.txt.txt" (posix)
     "bar\.txt.txt" (posix)
     "bar\.txt" (posix)
     "bar\.txt" (posix)
     "foo.txt" (posix)
     "foo.txt" (posix)
     "bar\foo..txt" (windows)
     "bar\foo..txt" (windows)
     "bar/foo." (posix)
     "bar/foo." (posix)
     "foo.txt./" (posix)
     "foo.txt./" (posix)
     "foo..txt/" (posix)
     "foo..txt/" (posix)
     "bar\foo.txt" (windows)
     "bar\foo.txt" (windows)
     "bar\foo.txt.txt" (posix)
     "bar\foo.txt.txt" (posix)
     "bar/.txt.txt" (windows)
     "bar/.txt.txt" (windows)
     "bar/foo.txt" (posix)
     "bar/foo.txt" (posix)
     ".txt.txt/" (windows)
     ".txt.txt/" (windows)
     "foo.txt." (windows)
     "foo.txt." (windows)
     "foo.txt.txt" (windows)
     "foo.txt.txt" (windows)
     "foo.txt.txt/" (windows)
     "foo.txt.txt/" (windows)
     "bar/.txt.txt" (posix)
     "bar/.txt.txt" (posix)
     "bar/foo.txt." (posix)
     "bar/foo.txt." (posix)
     "bar\foo..txt" (posix)
     "bar\foo..txt" (posix)
     "foo.txt.txt" (posix)
     "foo.txt.txt" (posix)
     "bar\foo." (windows)
     "bar\foo." (windows)
     "foo..txt/" (windows)
     "foo..txt/" (windows)
     ".txt" (posix)
     ".txt" (posix)
     "bar/foo." (windows)
     "bar/foo." (windows)
     ".txt/" (windows)
     ".txt/" (windows)
     "bar/.txt" (windows)
     "bar/.txt" (windows)
     "bar/foo..txt" (posix)
     "bar/foo..txt" (posix)
     ".txt/" (posix)
     ".txt/" (posix)
     "foo.txt/" (windows)
     "foo.txt/" (windows)
     "foo..txt" (posix)
     "foo..txt" (posix)
     "bar\foo.txt.txt" (windows)
     "bar\foo.txt.txt" (windows)
     "bar/.txt" (posix)
     "bar/.txt" (posix)
     "bar/foo.txt" (windows)
     "bar/foo.txt" (windows)
     "bar\foo.txt." (posix)
     "bar\foo.txt." (posix)
     "foo.txt/" (posix)
     "foo.txt/" (posix)
     "bar\foo." (posix)
     "bar\foo." (posix)
     "foo." (posix)
     "foo." (posix)
     ".txt" (windows)
     ".txt" (windows)
  #extension
     "test.ext/foo" (windows)
     "test.ext/foo" (windows)
     "/foo/bar/foo." (windows)
     "/foo/bar/foo." (windows)
     "test.ext/foo/" (posix)
     "test.ext/foo/" (posix)
     "/foo/bar/baz.cr" (posix)
     "/foo/bar/baz.cr" (posix)
     "test.ext\" (posix)
     "test.ext\" (posix)
     "test.ext/" (posix)
     "test.ext/" (posix)
     "/foo/bar/baz.cr.cz" (windows)
     "/foo/bar/baz.cr.cz" (windows)
     "test.ext/foo" (posix)
     "test.ext/foo" (posix)
     "/foo/bar/.profile.sh" (windows)
     "/foo/bar/.profile.sh" (windows)
     "test" (windows)
     "test" (windows)
     "test.ext/foo/" (windows)
     "test.ext/foo/" (windows)
     "/foo/bar/.profile.sh" (posix)
     "/foo/bar/.profile.sh" (posix)
     "test.ext/" (windows)
     "test.ext/" (windows)
     "test/." (posix)
     "test/." (posix)
     "/foo/bar/baz.cr.cz" (posix)
     "/foo/bar/baz.cr.cz" (posix)
     "test" (posix)
     "test" (posix)
     "/foo/bar/baz.cr" (windows)
     "/foo/bar/baz.cr" (windows)
     "/foo/bar/foo." (posix)
     "/foo/bar/foo." (posix)
     "test\." (posix)
     "test\." (posix)
     "test\." (windows)
     "test\." (windows)
     "test.ext\" (windows)
     "test.ext\" (windows)
     "/foo/bar/.profile" (posix)
     "/foo/bar/.profile" (posix)
     "/foo/bar/.profile" (windows)
     "/foo/bar/.profile" (windows)
     "test/." (windows)
     "test/." (windows)
  #each_part
    iterator "./foo" (windows)
    iterator "./foo" (windows)
    block "foo/bar/." (posix)
    block "foo/bar/." (posix)
    iterator "/" (windows)
    iterator "/" (windows)
    iterator "m//" (posix)
    iterator "m//" (posix)
    block ".\foo" (posix)
    block ".\foo" (posix)
    block "//some/share" (posix)
    block "//some/share" (posix)
    iterator "C:\." (windows)
    iterator "C:\." (windows)
    #parts "/." (posix)
    #parts "/." (posix)
    #parts "C:folder" (posix)
    #parts "C:folder" (posix)
    iterator "foo/bar/" (windows)
    iterator "foo/bar/" (windows)
    iterator "Users/foo/bar.cr" (windows)
    iterator "Users/foo/bar.cr" (windows)
    #parts "//some/share/bar.cr" (windows)
    #parts "//some/share/bar.cr" (windows)
    block "m//" (posix)
    block "m//" (posix)
    #parts "\\some\share\bar.cr" (windows)
    #parts "\\some\share\bar.cr" (windows)
    block "m/" (posix)
    block "m/" (posix)
    block "foo/bar/./." (windows)
    block "foo/bar/./." (windows)
    iterator "\\some\share\" (windows)
    iterator "\\some\share\" (windows)
    block "foo/bar/./." (posix)
    block "foo/bar/./." (posix)
    block "C:" (posix)
    block "C:" (posix)
    #parts "foo/bar/../." (windows)
    #parts "foo/bar/../." (windows)
    iterator "\Users/foo\bar.cr" (windows)
    iterator "\Users/foo\bar.cr" (windows)
    iterator "/m/" (posix)
    iterator "/m/" (posix)
    iterator "C:\\folder" (windows)
    iterator "C:\\folder" (windows)
    block "/." (posix)
    block "/." (posix)
    #parts "foo" (windows)
    #parts "foo" (windows)
    block "/Users/foo/bar.cr" (posix)
    block "/Users/foo/bar.cr" (posix)
    iterator "foo/bar/./." (windows)
    iterator "foo/bar/./." (windows)
    block "foo/./bar/" (windows)
    block "foo/./bar/" (windows)
    iterator "\\some\share" (windows)
    iterator "\\some\share" (windows)
    iterator "." (posix)
    iterator "." (posix)
    block "C:/" (posix)
    block "C:/" (posix)
    iterator "m/" (posix)
    iterator "m/" (posix)
    iterator "//some/share" (windows)
    iterator "//some/share" (windows)
    block "C:/" (windows)
    block "C:/" (windows)
    block "foo/../bar/" (windows)
    block "foo/../bar/" (windows)
    block "m/.gitignore" (windows)
    block "m/.gitignore" (windows)
    #parts "foo/bar/.." (windows)
    #parts "foo/bar/.." (windows)
    #parts "/m" (windows)
    #parts "/m" (windows)
    iterator "C:/" (windows)
    iterator "C:/" (windows)
    #parts "foo/bar/." (windows)
    #parts "foo/bar/." (windows)
    #parts "C:\Users\foo\bar.cr" (windows)
    #parts "C:\Users\foo\bar.cr" (windows)
    block "foo/" (posix)
    block "foo/" (posix)
    block "foo/bar/." (windows)
    block "foo/bar/." (windows)
    block "foo/bar/" (posix)
    block "foo/bar/" (posix)
    iterator "C:\." (posix)
    iterator "C:\." (posix)
    #parts "m//a/b" (windows)
    #parts "m//a/b" (windows)
    block "Users/foo/bar.cr" (windows)
    block "Users/foo/bar.cr" (windows)
    block "foo/./bar/." (posix)
    block "foo/./bar/." (posix)
    iterator "C:\Users\foo\bar.cr" (posix)
    iterator "C:\Users\foo\bar.cr" (posix)
    #parts "foo/" (windows)
    #parts "foo/" (windows)
    iterator "m" (posix)
    iterator "m" (posix)
    block "foo\" (posix)
    block "foo\" (posix)
    #parts "//some/share" (posix)
    #parts "//some/share" (posix)
    #parts "foo/../bar/." (posix)
    #parts "foo/../bar/." (posix)
    #parts "foo\" (windows)
    #parts "foo\" (windows)
    iterator "m/.gitignore" (posix)
    iterator "m/.gitignore" (posix)
    iterator "foo/bar/.." (posix)
    iterator "foo/bar/.." (posix)
    iterator "" (windows)
    iterator "" (windows)
    block "foo/./bar/." (windows)
    block "foo/./bar/." (windows)
    #parts "foo\bar\" (windows)
    #parts "foo\bar\" (windows)
    #parts ".\foo" (windows)
    #parts ".\foo" (windows)
    #parts "////" (windows)
    #parts "////" (windows)
    iterator "foo/bar/." (posix)
    iterator "foo/bar/." (posix)
    iterator "/m/" (windows)
    iterator "/m/" (windows)
    iterator "m" (windows)
    iterator "m" (windows)
    block "foo/../bar/." (windows)
    block "foo/../bar/." (windows)
    block "\\some\share" (windows)
    block "\\some\share" (windows)
    #parts "m/" (posix)
    #parts "m/" (posix)
    #parts "m\" (windows)
    #parts "m\" (windows)
    block "foo/" (windows)
    block "foo/" (windows)
    block "\\some\share\" (posix)
    block "\\some\share\" (posix)
    iterator "C:\folder" (windows)
    iterator "C:\folder" (windows)
    block "C:\Users\foo\bar.cr" (posix)
    block "C:\Users\foo\bar.cr" (posix)
    #parts "m//a/b" (posix)
    #parts "m//a/b" (posix)
    #parts "C:\" (windows)
    #parts "C:\" (windows)
    #parts "C:\\folder" (posix)
    #parts "C:\\folder" (posix)
    block "/" (windows)
    block "/" (windows)
    #parts "C:/" (posix)
    #parts "C:/" (posix)
    iterator "foo\bar\" (windows)
    iterator "foo\bar\" (windows)
    iterator "C:\Users\foo\bar.cr" (windows)
    iterator "C:\Users\foo\bar.cr" (windows)
    block "//some/share/bar.cr" (posix)
    block "//some/share/bar.cr" (posix)
    iterator "foo/bar/." (windows)
    iterator "foo/bar/." (windows)
    block "foo/bar/.." (posix)
    block "foo/bar/.." (posix)
    block "foo\bar\" (posix)
    block "foo\bar\" (posix)
    iterator "foo/" (windows)
    iterator "foo/" (windows)
    block "m\" (windows)
    block "m\" (windows)
    #parts "C:\" (posix)
    #parts "C:\" (posix)
    block "C:folder" (windows)
    block "C:folder" (windows)
    #parts "/m" (posix)
    #parts "/m" (posix)
    block "." (posix)
    block "." (posix)
    iterator "foo" (posix)
    iterator "foo" (posix)
    block "foo" (windows)
    block "foo" (windows)
    #parts "//some/share/bar.cr" (posix)
    #parts "//some/share/bar.cr" (posix)
    iterator "m\a/b" (windows)
    iterator "m\a/b" (windows)
    #parts ".\foo" (posix)
    #parts ".\foo" (posix)
    #parts "/m/" (posix)
    #parts "/m/" (posix)
    #parts "foo\bar\" (posix)
    #parts "foo\bar\" (posix)
    iterator "m\" (windows)
    iterator "m\" (windows)
    #parts "/" (windows)
    #parts "/" (windows)
    block "C:" (windows)
    block "C:" (windows)
    #parts "foo/bar/." (posix)
    #parts "foo/bar/." (posix)
    iterator "\\some\share" (posix)
    iterator "\\some\share" (posix)
    block "m" (posix)
    block "m" (posix)
    iterator "//some/share/" (posix)
    iterator "//some/share/" (posix)
    block "m//a/b" (windows)
    block "m//a/b" (windows)
    #parts "C:\folder" (windows)
    #parts "C:\folder" (windows)
    #parts "foo/bar/../." (posix)
    #parts "foo/bar/../." (posix)
    iterator "foo/bar/./." (posix)
    iterator "foo/bar/./." (posix)
    #parts "foo/../bar/." (windows)
    #parts "foo/../bar/." (windows)
    iterator "/." (posix)
    iterator "/." (posix)
    block "/Users/foo/bar.cr" (windows)
    block "/Users/foo/bar.cr" (windows)
    block "foo/../bar/." (posix)
    block "foo/../bar/." (posix)
    iterator "/m" (windows)
    iterator "/m" (windows)
    block "foo/./bar/" (posix)
    block "foo/./bar/" (posix)
    block "////" (windows)
    block "////" (windows)
    #parts "/Users/foo/bar.cr" (windows)
    #parts "/Users/foo/bar.cr" (windows)
    iterator "foo/./bar/." (windows)
    iterator "foo/./bar/." (windows)
    iterator "m\a/b" (posix)
    iterator "m\a/b" (posix)
    #parts "/." (windows)
    #parts "/." (windows)
    iterator "Users/foo/bar.cr" (posix)
    iterator "Users/foo/bar.cr" (posix)
    #parts "Users/foo/bar.cr" (windows)
    #parts "Users/foo/bar.cr" (windows)
    iterator "\\some\share\bar.cr" (posix)
    iterator "\\some\share\bar.cr" (posix)
    #parts "foo/bar/./." (windows)
    #parts "foo/bar/./." (windows)
    iterator "C:\" (posix)
    iterator "C:\" (posix)
    block "foo/bar/../." (windows)
    block "foo/bar/../." (windows)
    iterator "/foo" (posix)
    iterator "/foo" (posix)
    #parts "C:/" (windows)
    #parts "C:/" (windows)
    block "m//" (windows)
    block "m//" (windows)
    block "C:\Users\foo\bar.cr" (windows)
    block "C:\Users\foo\bar.cr" (windows)
    #parts "foo/./bar/." (windows)
    #parts "foo/./bar/." (windows)
    iterator "foo/../bar/." (windows)
    iterator "foo/../bar/." (windows)
    #parts "m//" (posix)
    #parts "m//" (posix)
    iterator "\Users/foo\bar.cr" (posix)
    iterator "\Users/foo\bar.cr" (posix)
    #parts "C:\." (posix)
    #parts "C:\." (posix)
    iterator "C:folder" (posix)
    iterator "C:folder" (posix)
    iterator "" (posix)
    iterator "" (posix)
    block "\\some\share\bar.cr" (windows)
    block "\\some\share\bar.cr" (windows)
    #parts "m" (windows)
    #parts "m" (windows)
    iterator "foo/bar/.." (windows)
    iterator "foo/bar/.." (windows)
    iterator "foo/bar/../." (posix)
    iterator "foo/bar/../." (posix)
    iterator "foo/../bar/" (posix)
    iterator "foo/../bar/" (posix)
    iterator "/" (posix)
    iterator "/" (posix)
    block "////" (posix)
    block "////" (posix)
    block "/" (posix)
    block "/" (posix)
    block "C:\\folder" (posix)
    block "C:\\folder" (posix)
    block "\\some\share\" (windows)
    block "\\some\share\" (windows)
    block "m\a/b" (windows)
    block "m\a/b" (windows)
    iterator "C:\\folder" (posix)
    iterator "C:\\folder" (posix)
    #parts "." (windows)
    #parts "." (windows)
    block "/." (windows)
    block "/." (windows)
    block "//some/share/bar.cr" (windows)
    block "//some/share/bar.cr" (windows)
    #parts "foo/" (posix)
    #parts "foo/" (posix)
    iterator "C:\folder" (posix)
    iterator "C:\folder" (posix)
    #parts "//some/share/" (windows)
    #parts "//some/share/" (windows)
    block ".\foo" (windows)
    block ".\foo" (windows)
    #parts "C:" (windows)
    #parts "C:" (windows)
    iterator "/Users/foo/bar.cr" (windows)
    iterator "/Users/foo/bar.cr" (windows)
    block "//some/share" (windows)
    block "//some/share" (windows)
    #parts "./foo" (posix)
    #parts "./foo" (posix)
    iterator "//some/share/bar.cr" (posix)
    iterator "//some/share/bar.cr" (posix)
    block "/m" (windows)
    block "/m" (windows)
    iterator "foo/bar/." (posix)
    iterator "foo/bar/." (posix)
    #parts "C:\Users\foo\bar.cr" (posix)
    #parts "C:\Users\foo\bar.cr" (posix)
    #parts "m/.gitignore" (posix)
    #parts "m/.gitignore" (posix)
    #parts "foo/../bar/" (posix)
    #parts "foo/../bar/" (posix)
    iterator "foo/./bar/" (windows)
    iterator "foo/./bar/" (windows)
    block "m\" (posix)
    block "m\" (posix)
    iterator "////" (windows)
    iterator "////" (windows)
    iterator "foo/bar/." (windows)
    iterator "foo/bar/." (windows)
    iterator "m/" (windows)
    iterator "m/" (windows)
    #parts "\" (posix)
    #parts "\" (posix)
    iterator "foo/bar/../." (windows)
    iterator "foo/bar/../." (windows)
    iterator "m\" (posix)
    iterator "m\" (posix)
    #parts "foo/bar/.." (posix)
    #parts "foo/bar/.." (posix)
    block "//some/share/" (windows)
    block "//some/share/" (windows)
    #parts "/" (posix)
    #parts "/" (posix)
    #parts "foo/bar/." (windows)
    #parts "foo/bar/." (windows)
    block "foo" (posix)
    block "foo" (posix)
    iterator "foo/./bar/" (posix)
    iterator "foo/./bar/" (posix)
    iterator "m//a/b" (posix)
    iterator "m//a/b" (posix)
    #parts "./foo" (windows)
    #parts "./foo" (windows)
    #parts "foo/../bar/" (windows)
    #parts "foo/../bar/" (windows)
    iterator "m/.gitignore" (windows)
    iterator "m/.gitignore" (windows)
    block "m" (windows)
    block "m" (windows)
    block "/m/" (posix)
    block "/m/" (posix)
    iterator "foo/./bar/." (posix)
    iterator "foo/./bar/." (posix)
    block "Users/foo/bar.cr" (posix)
    block "Users/foo/bar.cr" (posix)
    iterator "foo\" (windows)
    iterator "foo\" (windows)
    iterator "/m" (posix)
    iterator "/m" (posix)
    #parts "\\some\share" (posix)
    #parts "\\some\share" (posix)
    #parts "\Users/foo\bar.cr" (posix)
    #parts "\Users/foo\bar.cr" (posix)
    block "foo/bar/." (posix)
    block "foo/bar/." (posix)
    block "" (posix)
    block "" (posix)
    #parts "/foo" (posix)
    #parts "/foo" (posix)
    iterator "m//" (windows)
    iterator "m//" (windows)
    #parts "foo/bar/" (windows)
    #parts "foo/bar/" (windows)
    #parts "C:" (posix)
    #parts "C:" (posix)
    iterator "." (windows)
    iterator "." (windows)
    block "\Users\foo\bar.cr" (posix)
    block "\Users\foo\bar.cr" (posix)
    iterator "foo/../bar/" (windows)
    iterator "foo/../bar/" (windows)
    block "C:\" (windows)
    block "C:\" (windows)
    iterator "C:/" (posix)
    iterator "C:/" (posix)
    iterator "/Users/foo/bar.cr" (posix)
    iterator "/Users/foo/bar.cr" (posix)
    #parts "foo" (posix)
    #parts "foo" (posix)
    block "C:\\folder" (windows)
    block "C:\\folder" (windows)
    #parts "////" (posix)
    #parts "////" (posix)
    #parts "foo/./bar/." (posix)
    #parts "foo/./bar/." (posix)
    iterator "//some/share" (posix)
    iterator "//some/share" (posix)
    #parts "C:\\folder" (windows)
    #parts "C:\\folder" (windows)
    iterator "//some/share/bar.cr" (windows)
    iterator "//some/share/bar.cr" (windows)
    #parts "m/" (windows)
    #parts "m/" (windows)
    #parts "\" (windows)
    #parts "\" (windows)
    #parts "m\a/b" (windows)
    #parts "m\a/b" (windows)
    block "foo/../bar/" (posix)
    block "foo/../bar/" (posix)
    block "C:\folder" (windows)
    block "C:\folder" (windows)
    block "C:\." (posix)
    block "C:\." (posix)
    iterator "foo/" (posix)
    iterator "foo/" (posix)
    #parts "C:\." (windows)
    #parts "C:\." (windows)
    block "." (windows)
    block "." (windows)
    #parts "\\some\share\" (posix)
    #parts "\\some\share\" (posix)
    iterator "foo\bar\" (posix)
    iterator "foo\bar\" (posix)
    block "\Users/foo\bar.cr" (posix)
    block "\Users/foo\bar.cr" (posix)
    #parts "m/.gitignore" (windows)
    #parts "m/.gitignore" (windows)
    block "m\a/b" (posix)
    block "m\a/b" (posix)
    iterator "foo/../bar/." (posix)
    iterator "foo/../bar/." (posix)
    block "\\some\share" (posix)
    block "\\some\share" (posix)
    #parts "foo/./bar/" (posix)
    #parts "foo/./bar/" (posix)
    iterator "/." (windows)
    iterator "/." (windows)
    #parts "//some/share/" (posix)
    #parts "//some/share/" (posix)
    #parts "C:folder" (windows)
    #parts "C:folder" (windows)
    block "/m" (posix)
    block "/m" (posix)
    #parts "." (posix)
    #parts "." (posix)
    #parts "/Users/foo/bar.cr" (posix)
    #parts "/Users/foo/bar.cr" (posix)
    iterator "\\some\share\bar.cr" (windows)
    iterator "\\some\share\bar.cr" (windows)
    #parts "//some/share" (windows)
    #parts "//some/share" (windows)
    #parts "" (windows)
    #parts "" (windows)
    #parts "C:\folder" (posix)
    #parts "C:\folder" (posix)
    #parts "\\some\share\" (windows)
    #parts "\\some\share\" (windows)
    #parts "m\a/b" (posix)
    #parts "m\a/b" (posix)
    iterator "C:" (posix)
    iterator "C:" (posix)
    block "\\some\share\bar.cr" (posix)
    block "\\some\share\bar.cr" (posix)
    block "\Users\foo\bar.cr" (windows)
    block "\Users\foo\bar.cr" (windows)
    block "" (windows)
    block "" (windows)
    iterator ".\foo" (posix)
    iterator ".\foo" (posix)
    #parts "foo/bar/." (posix)
    #parts "foo/bar/." (posix)
    iterator "C:folder" (windows)
    iterator "C:folder" (windows)
    block "\Users/foo\bar.cr" (windows)
    block "\Users/foo\bar.cr" (windows)
    #parts "/m/" (windows)
    #parts "/m/" (windows)
    block "foo/bar/.." (windows)
    block "foo/bar/.." (windows)
    block "//some/share/" (posix)
    block "//some/share/" (posix)
    iterator "\" (windows)
    iterator "\" (windows)
    iterator "foo\" (posix)
    iterator "foo\" (posix)
    iterator "./foo" (posix)
    iterator "./foo" (posix)
    block "foo\" (windows)
    block "foo\" (windows)
    #parts "\\some\share" (windows)
    #parts "\\some\share" (windows)
    iterator "/foo" (windows)
    iterator "/foo" (windows)
    block "/foo" (posix)
    block "/foo" (posix)
    block "/foo" (windows)
    block "/foo" (windows)
    #parts "foo\" (posix)
    #parts "foo\" (posix)
    #parts "m" (posix)
    #parts "m" (posix)
    block "\" (posix)
    block "\" (posix)
    block "./foo" (windows)
    block "./foo" (windows)
    block "m/" (windows)
    block "m/" (windows)
    iterator "C:\" (windows)
    iterator "C:\" (windows)
    iterator "\\some\share\" (posix)
    iterator "\\some\share\" (posix)
    block "foo/bar/." (windows)
    block "foo/bar/." (windows)
    iterator "C:" (windows)
    iterator "C:" (windows)
    block "C:folder" (posix)
    block "C:folder" (posix)
    iterator "////" (posix)
    iterator "////" (posix)
    #parts "m\" (posix)
    #parts "m\" (posix)
    block "C:\folder" (posix)
    block "C:\folder" (posix)
    iterator "foo/bar/" (posix)
    iterator "foo/bar/" (posix)
    block "m/.gitignore" (posix)
    block "m/.gitignore" (posix)
    #parts "" (posix)
    #parts "" (posix)
    #parts "foo/bar/" (posix)
    #parts "foo/bar/" (posix)
    block "C:\." (windows)
    block "C:\." (windows)
    #parts "\Users\foo\bar.cr" (windows)
    #parts "\Users\foo\bar.cr" (windows)
    #parts "\\some\share\bar.cr" (posix)
    #parts "\\some\share\bar.cr" (posix)
    block "foo/bar/../." (posix)
    block "foo/bar/../." (posix)
    #parts "\Users/foo\bar.cr" (windows)
    #parts "\Users/foo\bar.cr" (windows)
    block "m//a/b" (posix)
    block "m//a/b" (posix)
    iterator "m//a/b" (windows)
    iterator "m//a/b" (windows)
    block "C:\" (posix)
    block "C:\" (posix)
    #parts "m//" (windows)
    #parts "m//" (windows)
    block "foo\bar\" (windows)
    block "foo\bar\" (windows)
    #parts "foo/bar/./." (posix)
    #parts "foo/bar/./." (posix)
    iterator "\Users\foo\bar.cr" (posix)
    iterator "\Users\foo\bar.cr" (posix)
    iterator ".\foo" (windows)
    iterator ".\foo" (windows)
    block "./foo" (posix)
    block "./foo" (posix)
    iterator "\" (posix)
    iterator "\" (posix)
    #parts "foo/./bar/" (windows)
    #parts "foo/./bar/" (windows)
    block "\" (windows)
    block "\" (windows)
    iterator "//some/share/" (windows)
    iterator "//some/share/" (windows)
    iterator "\Users\foo\bar.cr" (windows)
    iterator "\Users\foo\bar.cr" (windows)
    #parts "Users/foo/bar.cr" (posix)
    #parts "Users/foo/bar.cr" (posix)
    block "/m/" (windows)
    block "/m/" (windows)
    block "foo/bar/" (windows)
    block "foo/bar/" (windows)
    #parts "/foo" (windows)
    #parts "/foo" (windows)
    #parts "\Users\foo\bar.cr" (posix)
    #parts "\Users\foo\bar.cr" (posix)
    iterator "foo" (windows)
    iterator "foo" (windows)
  #ends_with_separator?
     "foo\" (posix)
     "foo\" (posix)
     "foo/" (windows)
     "foo/" (windows)
     "C:/" (posix)
     "C:/" (posix)
     "foo\" (windows)
     "foo\" (windows)
     "foo/" (posix)
     "foo/" (posix)
     "C:/" (windows)
     "C:/" (windows)
     "foo" (windows)
     "foo" (windows)
     "foo/." (posix)
     "foo/." (posix)
     "foo/bar" (windows)
     "foo/bar" (windows)
     "foo/." (windows)
     "foo/." (windows)
     "foo" (posix)
     "foo" (posix)
     "foo/bar" (posix)
     "foo/bar" (posix)
  .windows
    assert
    assert
    assert
    assert
    joins components
    joins components
    assert
    assert
    fails with null byte
    fails with null byte
    assert
    assert
  #dirname
     "C:\" (posix)
     "C:\" (posix)
     "m" (windows)
     "m" (windows)
     "/foo" (windows)
     "/foo" (windows)
     "/foo//" (windows)
     "/foo//" (windows)
     "C:/" (posix)
     "C:/" (posix)
     "m//a/b" (posix)
     "m//a/b" (posix)
     "foo" (posix)
     "foo" (posix)
     "m//" (posix)
     "m//" (posix)
     "foo/" (windows)
     "foo/" (windows)
     "m" (posix)
     "m" (posix)
     "m//a/b" (windows)
     "m//a/b" (windows)
     "m/" (posix)
     "m/" (posix)
     "C:" (windows)
     "C:" (windows)
     "/m" (posix)
     "/m" (posix)
     "C:" (posix)
     "C:" (posix)
     "m/.gitignore" (posix)
     "m/.gitignore" (posix)
     "m/.gitignore" (windows)
     "m/.gitignore" (windows)
     "/m" (windows)
     "/m" (windows)
     "/Users/foo/bar.cr" (posix)
     "/Users/foo/bar.cr" (posix)
     "C:\" (windows)
     "C:\" (windows)
     "/Users/foo/bar.cr" (windows)
     "/Users/foo/bar.cr" (windows)
     "m//" (windows)
     "m//" (windows)
     "C:/" (windows)
     "C:/" (windows)
     "/foo" (posix)
     "/foo" (posix)
     "/m/" (posix)
     "/m/" (posix)
     "/foo//" (posix)
     "/foo//" (posix)
     "m/" (windows)
     "m/" (windows)
     "/m/" (windows)
     "/m/" (windows)
     "/foo/" (windows)
     "/foo/" (windows)
     "/foo/" (posix)
     "/foo/" (posix)
     "foo/" (posix)
     "foo/" (posix)
     "foo" (windows)
     "foo" (windows)
  #root
     "C:\foo" (windows)
     "C:\foo" (windows)
     "//some/share" (posix)
     "//some/share" (posix)
     "//foo" (posix)
     "//foo" (posix)
     "\\foo" (posix)
     "\\foo" (posix)
     "\\foo" (windows)
     "\\foo" (windows)
     "/foo" (posix)
     "/foo" (posix)
     "/foo" (windows)
     "/foo" (windows)
     "C:foo" (windows)
     "C:foo" (windows)
     "\foo" (posix)
     "\foo" (posix)
     "\foo" (windows)
     "\foo" (windows)
     "//foo" (windows)
     "//foo" (windows)
     "//some/share" (windows)
     "//some/share" (windows)
     "\\some\share" (posix)
     "\\some\share" (posix)
     "\\some\share\" (windows)
     "\\some\share\" (windows)
     "\\some\share\" (posix)
     "\\some\share\" (posix)
     "C:\foo" (posix)
     "C:\foo" (posix)
     "\\some\share" (windows)
     "\\some\share" (windows)
     "C:/foo" (posix)
     "C:/foo" (posix)
     "//some/share/" (posix)
     "//some/share/" (posix)
     "C:foo" (posix)
     "C:foo" (posix)
     "C:/foo" (windows)
     "C:/foo" (windows)
     "//some/share/" (windows)
     "//some/share/" (windows)
  #normalize
    paths with backslash
      removes .
        normalizes "abc\." (windows)
        normalizes "abc\." (windows)
        normalizes "abc\.\def" (posix)
        normalizes "abc\.\def" (posix)
        normalizes "abc\.\def" (windows)
        normalizes "abc\.\def" (windows)
        normalizes "\.\abc\def" (posix)
        normalizes "\.\abc\def" (posix)
        normalizes "abc\." (posix)
        normalizes "abc\." (posix)
        normalizes "\.\abc\def" (windows)
        normalizes "\.\abc\def" (windows)
      already clean
        normalizes "a\b\c" (windows)
        normalizes "a\b\c" (windows)
        normalizes "..\.." (posix)
        normalizes "..\.." (posix)
        normalizes "abc\def" (windows)
        normalizes "abc\def" (windows)
        normalizes "\abc" (windows)
        normalizes "\abc" (windows)
        normalizes "..\..\abc" (posix)
        normalizes "..\..\abc" (posix)
        normalizes "\" (windows)
        normalizes "\" (windows)
        normalizes "\abc" (posix)
        normalizes "\abc" (posix)
        normalizes "a\b\c" (posix)
        normalizes "a\b\c" (posix)
        normalizes "\" (posix)
        normalizes "\" (posix)
        normalizes "..\..\abc" (windows)
        normalizes "..\..\abc" (windows)
        normalizes "abc\def" (posix)
        normalizes "abc\def" (posix)
        normalizes "..\.." (windows)
        normalizes "..\.." (windows)
      removes ..
        normalizes "abc\def\..\..\.." (posix)
        normalizes "abc\def\..\..\.." (posix)
        normalizes "abc\def\..\ghi\..\jkl" (windows)
        normalizes "abc\def\..\ghi\..\jkl" (windows)
        normalizes "\abc\def\..\..\.." (windows)
        normalizes "\abc\def\..\..\.." (windows)
        normalizes "abc\def\..\.." (windows)
        normalizes "abc\def\..\.." (windows)
        normalizes "abc\def\.." (posix)
        normalizes "abc\def\.." (posix)
        normalizes "abc\def\..\.." (posix)
        normalizes "abc\def\..\.." (posix)
        normalizes "abc\def\ghi\..\jkl" (posix)
        normalizes "abc\def\ghi\..\jkl" (posix)
        normalizes "abc\def\..\..\.." (windows)
        normalizes "abc\def\..\..\.." (windows)
        normalizes "abc\def\..\ghi\..\jkl" (posix)
        normalizes "abc\def\..\ghi\..\jkl" (posix)
        normalizes "\abc\def\..\..\.." (posix)
        normalizes "\abc\def\..\..\.." (posix)
        normalizes "abc\def\..\..\..\ghi\jkl\..\..\..\mno" (posix)
        normalizes "abc\def\..\..\..\ghi\jkl\..\..\..\mno" (posix)
        normalizes "\abc\def\..\.." (posix)
        normalizes "\abc\def\..\.." (posix)
        normalizes "abc\def\.." (windows)
        normalizes "abc\def\.." (windows)
        normalizes "abc\def\ghi\..\jkl" (windows)
        normalizes "abc\def\ghi\..\jkl" (windows)
        normalizes "\abc\def\..\.." (windows)
        normalizes "\abc\def\..\.." (windows)
        normalizes "abc\def\..\..\..\ghi\jkl\..\..\..\mno" (windows)
        normalizes "abc\def\..\..\..\ghi\jkl\..\..\..\mno" (windows)
      removes double slash
        normalizes "abc\\def\\ghi" (windows)
        normalizes "abc\\def\\ghi" (windows)
        normalizes "abc\\def\\ghi" (posix)
        normalizes "abc\\def\\ghi" (posix)
        normalizes "\\abc" (posix)
        normalizes "\\abc" (posix)
        normalizes "\\abc\\" (windows)
        normalizes "\\abc\\" (windows)
        normalizes "\\abc\\" (posix)
        normalizes "\\abc\\" (posix)
        normalizes "\\\abc" (posix)
        normalizes "\\\abc" (posix)
        normalizes "abc\\" (posix)
        normalizes "abc\\" (posix)
        normalizes "\\\abc" (windows)
        normalizes "\\\abc" (windows)
        normalizes "\\abc" (windows)
        normalizes "\\abc" (windows)
        normalizes "abc\\" (windows)
        normalizes "abc\\" (windows)
      combinations
        normalizes "abc\..\..\.\.\..\def" (posix)
        normalizes "abc\..\..\.\.\..\def" (posix)
        normalizes "abc\\.\..\def" (windows)
        normalizes "abc\\.\..\def" (windows)
        normalizes "abc\.\..\def" (windows)
        normalizes "abc\.\..\def" (windows)
        normalizes "abc\\.\..\def" (posix)
        normalizes "abc\\.\..\def" (posix)
        normalizes "abc\.\..\def" (posix)
        normalizes "abc\.\..\def" (posix)
        normalizes "abc\..\..\.\.\..\def" (windows)
        normalizes "abc\..\..\.\.\..\def" (windows)
      removes trailing slash
        normalizes "abc\" (posix)
        normalizes "abc\" (posix)
        normalizes "abc\def\" (windows)
        normalizes "abc\def\" (windows)
        normalizes "a\b\c\" (windows)
        normalizes "a\b\c\" (windows)
        normalizes "abc\" (windows)
        normalizes "abc\" (windows)
        normalizes "..\" (posix)
        normalizes "..\" (posix)
        normalizes "\abc\" (windows)
        normalizes "\abc\" (windows)
        normalizes "a\b\c\" (posix)
        normalizes "a\b\c\" (posix)
        normalizes ".\" (posix)
        normalizes ".\" (posix)
        normalizes "abc\def\" (posix)
        normalizes "abc\def\" (posix)
        normalizes ".\" (windows)
        normalizes ".\" (windows)
        normalizes "..\" (windows)
        normalizes "..\" (windows)
        normalizes "..\..\" (posix)
        normalizes "..\..\" (posix)
        normalizes "..\..\" (windows)
        normalizes "..\..\" (windows)
        normalizes "\abc\" (posix)
        normalizes "\abc\" (posix)
    path with forward slash
      removes .
        normalizes "abc/." (posix)
        normalizes "abc/." (posix)
        normalizes "abc/./def" (windows)
        normalizes "abc/./def" (windows)
        normalizes "abc/." (windows)
        normalizes "abc/." (windows)
        normalizes "/./abc/def" (posix)
        normalizes "/./abc/def" (posix)
        normalizes "abc/./def" (posix)
        normalizes "abc/./def" (posix)
        normalizes "/./abc/def" (windows)
        normalizes "/./abc/def" (windows)
      removes trailing slash
        normalizes "../" (posix)
        normalizes "../" (posix)
        normalizes "a/b/c/" (windows)
        normalizes "a/b/c/" (windows)
        normalizes "../" (windows)
        normalizes "../" (windows)
        normalizes "abc/" (windows)
        normalizes "abc/" (windows)
        normalizes "abc/def/" (posix)
        normalizes "abc/def/" (posix)
        normalizes "abc/" (posix)
        normalizes "abc/" (posix)
        normalizes "../../" (windows)
        normalizes "../../" (windows)
        normalizes "a/b/c/" (posix)
        normalizes "a/b/c/" (posix)
        normalizes "/abc/" (posix)
        normalizes "/abc/" (posix)
        normalizes "../../" (posix)
        normalizes "../../" (posix)
        normalizes "./" (windows)
        normalizes "./" (windows)
        normalizes "/abc/" (windows)
        normalizes "/abc/" (windows)
        normalizes "abc/def/" (windows)
        normalizes "abc/def/" (windows)
        normalizes "./" (posix)
        normalizes "./" (posix)
      removes double slash
        normalizes "//abc" (windows)
        normalizes "//abc" (windows)
        normalizes "abc//def//ghi" (windows)
        normalizes "abc//def//ghi" (windows)
        normalizes "abc//" (windows)
        normalizes "abc//" (windows)
        normalizes "abc//" (posix)
        normalizes "abc//" (posix)
        normalizes "///abc" (windows)
        normalizes "///abc" (windows)
        normalizes "//abc" (posix)
        normalizes "//abc" (posix)
        normalizes "//abc//" (windows)
        normalizes "//abc//" (windows)
        normalizes "abc//def//ghi" (posix)
        normalizes "abc//def//ghi" (posix)
        normalizes "///abc" (posix)
        normalizes "///abc" (posix)
        normalizes "//abc//" (posix)
        normalizes "//abc//" (posix)
      combinations
        normalizes "abc/../../././../def" (windows)
        normalizes "abc/../../././../def" (windows)
        normalizes "abc//./../def" (posix)
        normalizes "abc//./../def" (posix)
        normalizes "abc//./../def" (windows)
        normalizes "abc//./../def" (windows)
        normalizes "abc/./../def" (windows)
        normalizes "abc/./../def" (windows)
        normalizes "abc/./../def" (posix)
        normalizes "abc/./../def" (posix)
        normalizes "abc/../../././../def" (posix)
        normalizes "abc/../../././../def" (posix)
      removes ..
        normalizes "abc/def/../../.." (posix)
        normalizes "abc/def/../../.." (posix)
        normalizes "abc/def/ghi/../jkl" (windows)
        normalizes "abc/def/ghi/../jkl" (windows)
        normalizes "abc/def/ghi/../jkl" (posix)
        normalizes "abc/def/ghi/../jkl" (posix)
        normalizes "abc/def/.." (windows)
        normalizes "abc/def/.." (windows)
        normalizes "/abc/def/../.." (windows)
        normalizes "/abc/def/../.." (windows)
        normalizes "/abc/def/../../.." (windows)
        normalizes "/abc/def/../../.." (windows)
        normalizes "/abc/def/../../.." (posix)
        normalizes "/abc/def/../../.." (posix)
        normalizes "abc/def/../ghi/../jkl" (posix)
        normalizes "abc/def/../ghi/../jkl" (posix)
        normalizes "abc/def/../../.." (windows)
        normalizes "abc/def/../../.." (windows)
        normalizes "abc/def/../../../ghi/jkl/../../../mno" (posix)
        normalizes "abc/def/../../../ghi/jkl/../../../mno" (posix)
        normalizes "abc/def/.." (posix)
        normalizes "abc/def/.." (posix)
        normalizes "abc/def/../.." (windows)
        normalizes "abc/def/../.." (windows)
        normalizes "abc/def/../ghi/../jkl" (windows)
        normalizes "abc/def/../ghi/../jkl" (windows)
        normalizes "/abc/def/../.." (posix)
        normalizes "/abc/def/../.." (posix)
        normalizes "abc/def/../../../ghi/jkl/../../../mno" (windows)
        normalizes "abc/def/../../../ghi/jkl/../../../mno" (windows)
        normalizes "abc/def/../.." (posix)
        normalizes "abc/def/../.." (posix)
      already clean
        normalizes "a/b/c" (posix)
        normalizes "a/b/c" (posix)
        normalizes "." (posix)
        normalizes "." (posix)
        normalizes "abc" (windows)
        normalizes "abc" (windows)
        normalizes "" (windows)
        normalizes "" (windows)
        normalizes ".." (posix)
        normalizes ".." (posix)
        normalizes "../.." (posix)
        normalizes "../.." (posix)
        normalizes "" (posix)
        normalizes "" (posix)
        normalizes "abc" (posix)
        normalizes "abc" (posix)
        normalizes "abc/def" (posix)
        normalizes "abc/def" (posix)
        normalizes ".." (windows)
        normalizes ".." (windows)
        normalizes "../../abc" (posix)
        normalizes "../../abc" (posix)
        normalizes "/" (windows)
        normalizes "/" (windows)
        normalizes "abc/def" (windows)
        normalizes "abc/def" (windows)
        normalizes "../.." (windows)
        normalizes "../.." (windows)
        normalizes "../../abc" (windows)
        normalizes "../../abc" (windows)
        normalizes "." (windows)
        normalizes "." (windows)
        normalizes "a/b/c" (windows)
        normalizes "a/b/c" (windows)
        normalizes "/" (posix)
        normalizes "/" (posix)
        normalizes "/abc" (posix)
        normalizes "/abc" (posix)
        normalizes "/abc" (windows)
        normalizes "/abc" (windows)
    with drive
      normalizes "C:\foo" (posix)
      normalizes "C:\foo" (posix)
      normalizes "C:\" (windows)
      normalizes "C:\" (windows)
      normalizes "C:foo" (windows)
      normalizes "C:foo" (windows)
      normalizes "C:" (windows)
      normalizes "C:" (windows)
      normalizes "C:" (posix)
      normalizes "C:" (posix)
      normalizes "C:\foo" (windows)
      normalizes "C:\foo" (windows)
      normalizes "C:foo" (posix)
      normalizes "C:foo" (posix)
      normalizes "C:/foo" (windows)
      normalizes "C:/foo" (windows)
      normalizes "C:/foo" (posix)
      normalizes "C:/foo" (posix)
      normalizes "C:/" (windows)
      normalizes "C:/" (windows)
      normalizes "C:/" (posix)
      normalizes "C:/" (posix)
      normalizes "C:\" (posix)
      normalizes "C:\" (posix)
  #<=>
    case sensitivity
    case sensitivity
p
  can be used with tuples
  can be used with tuples
Float32
  #to_hexfloat
    trimming
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    exponents
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    hexits
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    corner cases
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    special cases
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
  .parse_hexfloat
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    invalid hexfloats
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    special cases
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    values close to zero
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    values close to MIN_POSITIVE and MAX
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
pp
  can be used with tuples
  can be used with tuples
Indexable::Mutable(T)
  #map!
    replaces each element with the block value
    replaces each element with the block value
  #update
    updates the value at the given index with the block
    updates the value at the given index with the block
    raises on out-of-bound indices
    raises on out-of-bound indices
    wraps negative indices
    wraps negative indices
  #[]=
    wraps negative indices
    wraps negative indices
    raises on out-of-bound indices
    raises on out-of-bound indices
    sets the value at the given index
    sets the value at the given index
  #shuffle!
    randomizes the order of all elements
    randomizes the order of all elements
  #map_with_index!
    without offset
      yields each element and index to the block
      yields each element and index to the block
    with offset
      yields each element and index plus offset to the block
      yields each element and index plus offset to the block
  #reverse!
    reverses the order of all elements in place
    reverses the order of all elements in place
  #swap
    wraps negative indices
    wraps negative indices
    raises on out-of-bound indices
    raises on out-of-bound indices
    exchanges the values at two indices
    exchanges the values at two indices
  #fill
    with block + range
      sets zero elements
      sets zero elements
      yields index to the block and sets elements in a subrange
      yields index to the block and sets elements in a subrange
      raises on out of bound start index
      raises on out of bound start index
    with block + start + count
      raises on out of bound start index
      raises on out of bound start index
      yields index to the block and sets elements in a subrange
      yields index to the block and sets elements in a subrange
      sets zero elements
      sets zero elements
    without block
      sets all elements to the same value
      sets all elements to the same value
    without block, with range
      sets zero elements
      sets zero elements
      sets a subrange of elements to the same value
      sets a subrange of elements to the same value
      raises on out of bound start index
      raises on out of bound start index
    without block, with start + count
      sets zero elements
      sets zero elements
      raises on out of bound start index
      raises on out of bound start index
      sets a subrange of elements to the same value
      sets a subrange of elements to the same value
    with block
      yields index to the block and sets all elements
      yields index to the block and sets all elements
    with block + offset
      yields index plus offset to the block and sets all elements
      yields index plus offset to the block and sets all elements
  #rotate!
    left-shifts all elements
    left-shifts all elements
Digest::SHA256
  does digest for "" in a block
  does digest for "" in a block
  digest with file content
  digest with file content
  does hexdigest for ""
  does hexdigest for ""
  resets
  resets
  does digest for "abc" in a block
  does digest for "abc" in a block
  does digest for "The quick brown fox jumps over the lazy dog" in a block
  does digest for "The quick brown fox jumps over the lazy dog" in a block
  resets
  resets
  #hexdigest can update within a loop from explicit expr (#9483)
  #hexdigest can update within a loop from explicit expr (#9483)
  #hexdigest can update within a loop by indirect expr (#9483)
  #hexdigest can update within a loop by indirect expr (#9483)
  can't call #final more than once
  can't call #final more than once
  does digest for "a"
  does digest for "a"
  does digest for "0123456701234567012345670123456701234567012345670123456701234567"
  does digest for "0123456701234567012345670123456701234567012345670123456701234567"
  does digest for "fooø"
  does digest for "fooø"
  does digest for "a" in a block
  does digest for "a" in a block
  resets
  resets
  can't call #final more than once
  can't call #final more than once
  resets
  resets
  does base64digest for ""
  does base64digest for ""
  does base64digest for "fooø"
  does base64digest for "fooø"
  resets
  resets
  does hexdigest for "0123456701234567012345670123456701234567012345670123456701234567"
  does hexdigest for "0123456701234567012345670123456701234567012345670123456701234567"
  does hexdigest for "a"
  does hexdigest for "a"
  does digest for "abc"
  does digest for "abc"
  does digest for "The quick brown fox jumps over the lazy dog"
  does digest for "The quick brown fox jumps over the lazy dog"
  resets
  resets
  does digest for "0123456701234567012345670123456701234567012345670123456701234567" in a block
  does digest for "0123456701234567012345670123456701234567012345670123456701234567" in a block
  does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  can't call #final more than once
  can't call #final more than once
  does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" in a block
  does digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" in a block
  does hexdigest for "fooø"
  does hexdigest for "fooø"
  does base64digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  does base64digest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  context are independent
  context are independent
  .dup
    leads to deterministic updates
    leads to deterministic updates
    preserves value
    preserves value
    leads to not sharing state
    leads to not sharing state
    preserves type
    preserves type
  resets
  resets
  does digest for "fooø" in a block
  does digest for "fooø" in a block
  does base64digest for "a"
  does base64digest for "a"
  does digest for ""
  does digest for ""
  does hexdigest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  does hexdigest for "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  does base64digest for "The quick brown fox jumps over the lazy dog"
  does base64digest for "The quick brown fox jumps over the lazy dog"
  can't call #final more than once
  can't call #final more than once
  can't call #final more than once
  can't call #final more than once
  does hexdigest for "abc"
  does hexdigest for "abc"
  does base64digest for "0123456701234567012345670123456701234567012345670123456701234567"
  does base64digest for "0123456701234567012345670123456701234567012345670123456701234567"
  does hexdigest for "The quick brown fox jumps over the lazy dog"
  does hexdigest for "The quick brown fox jumps over the lazy dog"
  can't call #final more than once
  can't call #final more than once
  does base64digest for "abc"
  does base64digest for "abc"
  can't call #final more than once
  can't call #final more than once
  returns the digest_size
  returns the digest_size
HTTP::Server
  #bind_tls
    binds SSL server context
    binds SSL server context
  doesn't raise on accept after close #2692
  doesn't raise on accept after close #2692
  binds to unused port
  binds to unused port
  #max_headers_size
    sets and gets size
    sets and gets size
    respects size on request
    respects size on request
  #close
    closes gracefully
    closes gracefully
  closes the server
  closes the server
  can process simultaneous SSL handshakes
  can process simultaneous SSL handshakes
  reuses the TCP port (SO_REUSEPORT)
  reuses the TCP port (SO_REUSEPORT)
  lists addresses
  lists addresses
  handles exception during SSL handshake (#6577)
  handles exception during SSL handshake (#6577)
  handles Expect: 100-continue correctly when body is read
  handles Expect: 100-continue correctly when body is read
  #remote_address / #local_address
    for https server
    for https server
    for http server
    for http server
  handles Expect: 100-continue correctly when body isn't read
  handles Expect: 100-continue correctly when body isn't read
  binds to different ports
  binds to different ports
  #bind
    fails after close
    fails after close
    with URI
      accepts String
      accepts String
      accepts URI
      accepts URI
      parses SSL
      parses SSL
      parses TCP
      parses TCP
      fails with unknown scheme
      fails with unknown scheme
      fails SSL with invalid params
      fails SSL with invalid params
    fails after listen
    fails after listen
  #max_request_line_size
    respects size on request
    respects size on request
    sets and gets size
    sets and gets size
  #listen
    fails after listen
    fails after listen
    fails after close
    fails after close
  #bind_unix
    binds to different unix sockets
    binds to different unix sockets
  #max_request_line_size
    respects size on request
    respects size on request
    sets and gets size
    sets and gets size
System::Group
  .find_by?(*, name)
    returns a group by name
    returns a group by name
    returns nil on nonexistent group
    returns nil on nonexistent group
  #to_s
    returns a string representation
    returns a string representation
  .find_by(*, name)
    raises on nonexistent group
    raises on nonexistent group
    returns a group by name
    returns a group by name
  .find_by?(*, id)
    returns nil on nonexistent group id
    returns nil on nonexistent group id
    returns a group by id
    returns a group by id
  #name
    is the same as the source name
    is the same as the source name
  .find_by(*, id)
    raises on nonexistent group name
    raises on nonexistent group name
    returns a group by id
    returns a group by id
  #id
    is the same as the source ID
    is the same as the source ID
Bool
  to_unsafe
    assert
    assert
    assert
    assert
  !
    assert
    assert
    assert
    assert
  |
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  &
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  clone
    assert
    assert
    assert
    assert
  to_s
    assert
    assert
    assert
    assert
  ^
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  hash
    assert
    assert
.__powidf2
.__powidf2
#to_www_form
  Number
  Number
  Enum
  Enum
  Bool
  Bool
  String
  String
  Array(T)
    of a union of types
    of a union of types
    of a single type
    of a single type
  Nil
  Nil
  Time
  Time
String#each_grapheme
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  GB9c
  GB9c
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  GB9c
  GB9c
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  GB9c
  GB9c
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  GB9c
  GB9c
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  GB9c
  GB9c
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  GB9c
  GB9c
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  GB9c
  GB9c
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump yielding
  string.dump iterator
  string.dump iterator
IO::MultiWriter
  #read
    raises
    raises
  #close
    stops reading
    stops reading
    closes the underlying stream if sync_close is true
    closes the underlying stream if sync_close is true
  #flush
    writes to IO and File
    writes to IO and File
  #write
    writes to multiple IOs
    writes to multiple IOs
LLVM::Type
  .const_int
    support Int128
    support Int128
    support Int64
    support Int64
HTTP::Headers
  #serialize
  #serialize
  doesn't match empty string
  doesn't match empty string
  deletes
  deletes
  does to_s
  does to_s
  doesn't match word with comma separated value, partial match
  doesn't match word with comma separated value, partial match
  #==
    equals other instance
    equals other instance
    case-insensitive keys
    case-insensitive keys
    different internal representation
    different internal representation
  adds array of string
  adds array of string
  matches word with comma separated value, partial match
  matches word with comma separated value, partial match
  fetches with block
  fetches with block
  is case insensitive
  is case insensitive
  gets all values
  gets all values
  is empty
  is empty
  raises an error if header value contains invalid character
  raises an error if header value contains invalid character
  dups
  dups
  validates content
  validates content
  merges and return self
  merges and return self
  fetches with default value
  fetches with default value
  matches word with comma separated value, partial match (array)
  matches word with comma separated value, partial match (array)
  adds string
  adds string
  matches word among headers
  matches word among headers
  doesn't match word with comma separated value, partial match (array)
  doesn't match word with comma separated value, partial match (array)
  is gets with []?
  is gets with []?
  clones
  clones
  matches word
  matches word
  can create header value with all US-ASCII visible chars (#2999)
  can create header value with all US-ASCII visible chars (#2999)
  matches word with comma separated value
  matches word with comma separated value
  matches word with comma separated value, case insensitive (#3626)
  matches word with comma separated value, case insensitive (#3626)
  has key
  has key
  it allows indifferent access for underscore and dash separated keys
  it allows indifferent access for underscore and dash separated keys
  should retain the input casing
  should retain the input casing
  does not matches word if missing header
  does not matches word if missing header
Char
  hex?
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  does to_s for multibyte char
  does to_s for multibyte char
  to_i rejects unsupported base (37)
  to_i rejects unsupported base (37)
  #dump
  #dump
  bytesize
    does for ascii
    does for ascii
    does for unicode
    does for unicode
  -
    assert
    assert
  in_set?
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    rejects invalid ranges
    rejects invalid ranges
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  does <=>
  does <=>
  does to_i with 16 base
  does to_i with 16 base
  index
    assert
    assert
    assert
    assert
  does bytes
  does bytes
  #inspect
  #inspect
  does to_i with base 36
  does to_i with base 36
  ascii_whitespace?
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  does to_f
  does to_f
  #titlecase?
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  does number?
  does number?
  #unicode_escape
  #unicode_escape
  does ord for multibyte char
  does ord for multibyte char
  #step
    "basic by" iterator
    "basic by" iterator
    "basic" iterator
    "basic" iterator
    "basic by" yielding
    "basic by" yielding
    "basic" yielding
    "basic" yielding
  does to_i without a base
  does to_i without a base
  #letter?
  #letter?
  does each_byte
  does each_byte
  lowercase?
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  +
    assert
    assert
  #titlecase
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #ascii_control?
  #ascii_control?
  uppercase?
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  escapes
  escapes
  does ascii_number?
  does ascii_number?
  #pred
  #pred
  +
    does for both unicode
    does for both unicode
    does for both ascii
    does for both ascii
  escapes with unicode
  escapes with unicode
  ascii_uppercase?
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #===(:Int)
  #===(:Int)
  #downcase
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #upcase
    assert
    assert
    assert
    assert
    assert
    assert
  ascii_letter?
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  does mark?
  does mark?
  ascii_lowercase?
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  does ascii?
  does ascii?
  #printable?
  #printable?
  to_i rejects unsupported base (1)
  to_i rejects unsupported base (1)
  clone
    assert
    assert
  #succ
  #succ
  alphanumeric?
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  does to_s for single-byte char
  does to_s for single-byte char
.__ashlti3
.__ashlti3
FileUtils
  tests rm with an existing path
  tests rm with an existing path
  .rm_rf
    delete recursively multiple directory
    delete recursively multiple directory
    doesn't return error on nonexistent file
    doesn't return error on nonexistent file
    delete recursively a directory
    delete recursively a directory
    doesn't return error on nonexistent files
    doesn't return error on nonexistent files
  .touch
    creates file if it doesn't exist
    creates file if it doesn't exist
    creates multiple files if they don't exists
    creates multiple files if they don't exists
  .ln
    fails with an extant destination
    fails with an extant destination
    fails with a nonexistent source
    fails with a nonexistent source
    creates a hardlink inside a destination dir
    creates a hardlink inside a destination dir
    creates multiple hardlinks inside a destination dir
    creates multiple hardlinks inside a destination dir
    creates a hardlink
    creates a hardlink
  tests mkdir_p with multiple existing path
  tests mkdir_p with multiple existing path
  tests mkdir with an existing path
  tests mkdir with an existing path
  .cp_r
    copies a directory recursively if destination exists leaving existing files
    copies a directory recursively if destination exists leaving existing files
    copies a directory recursively
    copies a directory recursively
    copies a directory recursively if destination exists and is empty
    copies a directory recursively if destination exists and is empty
  tests mkdir and rmdir with multiple new paths
  tests mkdir and rmdir with multiple new paths
  tests rmdir with multiple nonexistent path
  tests rmdir with multiple nonexistent path
  tests rmdir with an nonexistent path
  tests rmdir with an nonexistent path
  .cmp
    compares two equal files
    compares two equal files
    compares two different files
    compares two different files
  .pwd
    returns the current working directory
    returns the current working directory
  .mv
    raises an error if non correct arguments
    raises an error if non correct arguments
    raises an error if dest is non correct
    raises an error if dest is non correct
    moves multiple files to one place
    moves multiple files to one place
    moves a file from one place to another
    moves a file from one place to another
    moves all existing files to destination
    moves all existing files to destination
  .cp
    copies a file
    copies a file
    raises an error if the directory doesn't exist
    raises an error if the directory doesn't exist
    copies permissions
    copies permissions
    copies multiple files
    copies multiple files
  tests rmdir with multiple path that cannot be removed
  tests rmdir with multiple path that cannot be removed
  .ln_sf
    overwrites a destination file inside a dir
    overwrites a destination file inside a dir
    creates multiple symlinks in a destination dir, with overwrites
    creates multiple symlinks in a destination dir, with overwrites
    overwrites a destination named pipe
    overwrites a destination named pipe
    overwrites a destination file
    overwrites a destination file
    overwrites a destination dir in dir
    overwrites a destination dir in dir
    creates a symlink even if there's nothing to overwrite
    creates a symlink even if there's nothing to overwrite
  .cd
    accepts a block
    accepts a block
    raises
    raises
    should work
    should work
  tests mkdir_p with multiples new path
  tests mkdir_p with multiples new path
  tests rm with nonexistent path
  tests rm with nonexistent path
  tests mkdir and rmdir with a new path
  tests mkdir and rmdir with a new path
  tests mkdir with multiples existing paths
  tests mkdir with multiples existing paths
  tests rm with multiple existing paths
  tests rm with multiple existing paths
  .rm_r
    deletes a directory recursively
    deletes a directory recursively
    doesn't follow symlinks
    doesn't follow symlinks
  tests rm with some nonexistent paths
  tests rm with some nonexistent paths
  tests rmdir with a path that cannot be removed
  tests rmdir with a path that cannot be removed
  .ln_s
    creates a symlink
    creates a symlink
    creates multiple symlinks inside a destination dir
    creates multiple symlinks inside a destination dir
    creates a symlink inside a destination dir
    creates a symlink inside a destination dir
    works with a nonexistent source
    works with a nonexistent source
    fails with an existing destination
    fails with an existing destination
BigDecimal
  performs arithmetic with other number types
  performs arithmetic with other number types
  can be converted from scientific notation
  can be converted from scientific notation
  #inspect
    assert
    assert
  keeps precision
  keeps precision
  upkeeps hashing invariant
  upkeeps hashing invariant
  is comparable with other types
  is comparable with other types
  #trunc
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #round
    #integer?
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    with digits
      to_positive
      to_positive
      ties_away
      ties_away
      to_negative
      to_negative
      ties_even
      ties_even
      to_zero
      to_zero
    rounding modes
      ties_even
      ties_even
      to_positive
      to_positive
      default (=ties_even)
      default (=ties_even)
      to_zero
      to_zero
      to_negative
      to_negative
      ties_away
      ties_away
  raises if creating from infinity
  raises if creating from infinity
  performs arithmetic with bigdecimals
  performs arithmetic with bigdecimals
  initializes from valid input
  initializes from valid input
  exponentiates
  exponentiates
  can normalize quotient
  can normalize quotient
  exponentiates with negative powers
  exponentiates with negative powers
  #<=>
    compares against NaNs
    compares against NaNs
  can be converted from other types
  can be converted from other types
  converts to string
  converts to string
  #ceil
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  raises if creating from NaN
  raises if creating from NaN
  handles modulus correctly
  handles modulus correctly
  converts to other number types
  converts to other number types
  hashes
  hashes
  #floor
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  raises InvalidBigDecimalException when initializing from invalid input
  raises InvalidBigDecimalException when initializing from invalid input
Log
  building for type ignores parent source (types are absolute sources)
  building for type ignores parent source (types are absolute sources)
  can build with Log = ::Log.for(self)
  can build with Log = ::Log.for(self)
  can build nested with level override
  can build nested with level override
  can build for class
  can build for class
  can build with level override
  can build with level override
  can build sources from nested
  can build sources from nested
  can build for structs
  can build for structs
  can build for module type
  can build for module type
  can build for generic class (ignores generic args)
  can build for generic class (ignores generic args)
Class
  does to_s
  does to_s
  clones
  clones
  #nilable?
  #nilable?
  does |
  does |
  does ===
  does ===
  does to_s with name redefined (#7292)
  does to_s with name redefined (#7292)
  comparison operators
    >=
    >=
    >
    >
    <
    <
    <=
    <=
  dups
  dups
  casts, allowing the class to be passed in at runtime
  casts, allowing the class to be passed in at runtime
Socket
  .accept
  .accept
  .unix
    creates a unix socket
    creates a unix socket
  closes on exec by default
  closes on exec by default
  sends messages
  sends messages
  #tty?
    with non TTY
    with non TTY
  #finalize
    does not flush
    does not flush
  accept raises timeout error if read_timeout is specified
  accept raises timeout error if read_timeout is specified
  #bind
    using IPv4
      binds to port using Socket::IPAddress
      binds to port using Socket::IPAddress
      binds to port using default IP
      binds to port using default IP
      binds to port
      binds to port
    using IPv6
      binds to port using Socket::IPAddress
      binds to port using Socket::IPAddress
      binds to port using default IP
      binds to port using default IP
      binds to port
      binds to port
  sends datagram over unix socket
  sends datagram over unix socket
XML::XPathContext
  finds with variable binding (float)
  finds with variable binding (float)
  finds nodes
  finds nodes
  finds boolean
  finds boolean
  finds with variable binding (nodes)
  finds with variable binding (nodes)
  finds with implicit (root) namespaces
  finds with implicit (root) namespaces
  finds string
  finds string
  finds with root namespaces (using prefix)
  finds with root namespaces (using prefix)
  finds with root namespaces
  finds with root namespaces
  raises on invalid xpath
  raises on invalid xpath
  NodeSet#to_s
  NodeSet#to_s
  returns nil with invalid xpath
  returns nil with invalid xpath
  finds with variable binding (bool)
  finds with variable binding (bool)
  finds with variable binding
  finds with variable binding
  finds with explicit namespace
  finds with explicit namespace
  finds with variable binding (node)
  finds with variable binding (node)
  finds with variable binding (string)
  finds with variable binding (string)
  finds number
  finds number
Compress::Gzip
  writes and reads to memory
  writes and reads to memory
  reads file with extra fields from file system
  reads file with extra fields from file system
  rewinds
  rewinds
  writes and reads file with extra fields
  writes and reads file with extra fields
XML
  doesn't set invalid node name
  doesn't set invalid node name
  parses HTML UTF-8 from IO (#13703)
  parses HTML UTF-8 from IO (#13703)
  unlinks nodes
  unlinks nodes
  deletes an attribute
  deletes an attribute
  parses XML UTF-8 from IO (#13703)
  parses XML UTF-8 from IO (#13703)
  #namespace
    when the element does not have a namespace, but has namespace declarations
      should return nil
      should return nil
    when the node has a namespace
      with a default prefix
        return the default namespace
        return the default namespace
      with a prefix
        return the prefixed namespace
        return the prefixed namespace
      without an explicit declaration on the node
        returns the related namespace
        returns the related namespace
    when the node does not have namespace
      should return nil
      should return nil
  gets version
  gets version
  parses
  parses
  #namespace_scopes
    includes parent namespaces
    includes parent namespaces
    returns empty array if no namespaces scopes exists
    returns empty array if no namespaces scopes exists
    gets root namespaces scopes
    gets root namespaces scopes
  #namespaces
    gets root namespaces as hash
    gets root namespaces as hash
    returns an empty hash if there are no namespaces
    returns an empty hash if there are no namespaces
    includes parent namespaces
    includes parent namespaces
  does to_s with correct encoding (#2319)
  does to_s with correct encoding (#2319)
  escapes content
  escapes content
  shows content when inspecting attribute
  shows content when inspecting attribute
  gets empty content
  gets empty content
  changes an attribute
  changes an attribute
  #namespace_definitions
    returns namespaces explicitly defined
    returns namespaces explicitly defined
    returns an empty array if no namespaces are defined
    returns an empty array if no namespaces are defined
  parses HTML UTF-8 from memory (#13703)
  parses HTML UTF-8 from memory (#13703)
  sets node text/content
  sets node text/content
  does to_s
  does to_s
  .build_fragment
    closes open elements
    closes open elements
    builds fragment without XML declaration
    builds fragment without XML declaration
  gets encoding
  gets encoding
  parses from io
  parses from io
  sets an attribute
  sets an attribute
  gets encoding when nil
  gets encoding when nil
  escapes content HTML fragment
  escapes content HTML fragment
  raises exception on empty string
  raises exception on empty string
  #errors
  #errors
  navigates in tree
  navigates in tree
  parses XML UTF-8 from memory (#13703)
  parses XML UTF-8 from memory (#13703)
  reads big xml file (#1455)
  reads big xml file (#1455)
  .build
  .build
  doesn't set invalid node content
  doesn't set invalid node content
  sets node name
  sets node name
String UTF16
  .from_utf16
    in the range U+D800..U+DFFF
    in the range U+D800..U+DFFF
    in the range U+E000 to U+FFFF
    in the range U+E000 to U+FFFF
    handles null bytes
    handles null bytes
    in the range U+10000..U+10FFFF
    in the range U+10000..U+10FFFF
    in the range U+0000..U+D7FF
    in the range U+0000..U+D7FF
    with pointer reads multiple strings
    with pointer reads multiple strings
  to_utf16
    in the range U+E000 to U+FFFF
    in the range U+E000 to U+FFFF
    in the range U+D800..U+DFFF
    in the range U+D800..U+DFFF
    in the range U+0000..U+D7FF
    in the range U+0000..U+D7FF
    in the range U+10000..U+10FFFF
    in the range U+10000..U+10FFFF
    in the range U+0000..U+FF
    in the range U+0000..U+FF
BitArray
  #any?
    without block
      returns true if any bits are set
      returns true if any bits are set
  "#each" yielding
  "#each" yielding
  #rotate!
    rotates medium BitArray
    rotates medium BitArray
    rotates large BitArray
    rotates large BitArray
    rotates short BitArray
    rotates short BitArray
    rotates empty BitArray
    rotates empty BitArray
  #includes?
    returns whether the given bit is included
    returns whether the given bit is included
  #toggle
    toggles a bit
    toggles a bit
    raises on out of bound index
    raises on out of bound index
    toggles with index == size and count
    toggles with index == size and count
    toggles with index and count
    toggles with index and count
    toggles with range
    toggles with range
    toggles with index < 0 and count
    toggles with index < 0 and count
    toggles with index and count, not enough bits
    toggles with index and count, not enough bits
    raises on negative count
    raises on negative count
    toggles zero bits correctly
    toggles zero bits correctly
  #none?
    without block
      returns true if no bits are set
      returns true if no bits are set
  does to_s and inspect
  does to_s and inspect
  .new
    without block
      initializes with initial value
      initializes with initial value
      initializes with false by default
      initializes with false by default
      initializes with non-Int32 size
      initializes with non-Int32 size
      initializes with unused bits cleared
      initializes with unused bits cleared
    raises if size is negative
    raises if size is negative
    with block
      initializes elements with block
      initializes elements with block
  sets first bit to false
  sets first bit to false
  #tally
    without block
      tallies into the given hash
      tallies into the given hash
      doesn't add key into the tally hash if element doesn't exist
      doesn't add key into the tally hash if element doesn't exist
      tallies the number of set and cleared bits
      tallies the number of set and cleared bits
  sets first bit to true
  sets first bit to true
  #one?
    returns true if exactly one bit is set
    returns true if exactly one bit is set
  "#each_index" yielding
  "#each_index" yielding
  #fill
    without block, with range
      raises if start index is out of range
      raises if start index is out of range
      sets or clears a subrange of bits
      sets or clears a subrange of bits
    without block
      sets all bits
      sets all bits
      clears all bits
      clears all bits
    without block, with start and count
      raises if start index is out of range
      raises if start index is out of range
      sets or clears a subrange of bits
      sets or clears a subrange of bits
  reads bits from slice
  reads bits from slice
  []
    gets with start and count exceeding size
    gets with start and count exceeding size
    gets on inclusive range
    gets on inclusive range
    zeroes unused bits
    zeroes unused bits
    raises on index out of bounds
    raises on index out of bounds
    doesn't exceed limits
    doesn't exceed limits
    gets on inclusive range with negative indices
    gets on inclusive range with negative indices
    gets (0..0) on empty array
    gets (0..0) on empty array
    raises on too negative left bound
    raises on too negative left bound
    gets with negative start
    gets with negative start
    raises on negative count
    raises on negative count
    gets 0, 0 on empty array
    gets 0, 0 on empty array
    gets on endless range
    gets on endless range
    raises on index out of bounds with start and count
    raises on index out of bounds with start and count
    gets on exclusive range
    gets on exclusive range
    gets with start and count
    gets with start and count
    gets on large bitarrays
    gets on large bitarrays
    gets on beginless range
    gets on beginless range
    raises on negative count on empty Array
    raises on negative count on empty Array
    raises on index out of bounds with range
    raises on index out of bounds with range
    gets on range with start higher than end
    gets on range with start higher than end
    does not cause overflow (#8494)
    does not cause overflow (#8494)
    gets on medium bitarrays
    gets on medium bitarrays
    returns empty if at end
    returns empty if at end
    gets on exclusive range with negative indices
    gets on exclusive range with negative indices
    raises on negative count
    raises on negative count
    preserves equality
    preserves equality
    gets on range with start higher than negative end
    gets on range with start higher than negative end
  sets second bit to false
  sets second bit to false
  provides dup
  provides dup
  #rindex
    without block
      accepts a start offset
      accepts a start offset
      returns index of last bit cleared
      returns index of last bit cleared
      returns index of last bit set
      returns index of last bit set
  has size
  has size
  #count
    without block
      returns the number of bits set
      returns the number of bits set
      returns the number of bits cleared
      returns the number of bits cleared
  "#reverse_each" iterator
  "#reverse_each" iterator
  is initially empty
  is initially empty
  #all?
    without block
      returns true if all bits are set
      returns true if all bits are set
  sets last bit to true with negative index
  sets last bit to true with negative index
  ==
    compares other type
    compares other type
    compares other initialized with true (#8543)
    compares other initialized with true (#8543)
    compares empty
    compares empty
    compares elements
    compares elements
    compares other
    compares other
  sets second bit to true
  sets second bit to true
  raises when out of bounds
  raises when out of bounds
  "#reverse_each" yielding
  "#reverse_each" yielding
  inverts all bits
  inverts all bits
  #reverse!
    reverses large BitArray
    reverses large BitArray
    reverses empty BitArray
    reverses empty BitArray
    reverses short BitArray
    reverses short BitArray
    reverses medium BitArray
    reverses medium BitArray
  read bits written from slice
  read bits written from slice
  #index
    without block
      returns index of first bit cleared
      returns index of first bit cleared
      accepts a start offset
      accepts a start offset
      returns index of first bit set
      returns index of first bit set
  "#each_index" iterator
  "#each_index" iterator
  "#each" iterator
  "#each" iterator
Exception
  inspects with cause
  inspects with cause
  allows subclassing #message
  allows subclassing #message
  inspects
  inspects
  collect memory within ensure block
  collect memory within ensure block
IO::Buffered
  does new with block
  does new with block
  sync
    syncs (write)
    syncs (write)
  does puts with big string
  does puts with big string
  encoding
    decode
      gets big string
      gets big string
      gets
      gets
      gets_to_end
      gets_to_end
      gets big EUC-JP string
      gets big EUC-JP string
      reads char
      reads char
      gets with chomp = false
      gets with chomp = false
  does gets with chomp = false
  does gets with chomp = false
  shouldn't call unbuffered read if reading to an empty slice
  shouldn't call unbuffered read if reading to an empty slice
  skips
  skips
  does gets with char delimiter
  does gets with char delimiter
  does gets with char and limit without off-by-one
  does gets with char and limit without off-by-one
  does gets
  does gets
  does gets with big line
  does gets with big line
  read_buffering
    works with IO#read_byte
    works with IO#read_byte
    works with IO#read_byte (already buffered)
    works with IO#read_byte (already buffered)
    works with IO#read
    works with IO#read
    works with IO#read (already buffered)
    works with IO#read (already buffered)
  does gets with char and limit when not found in buffer
  does gets with char and limit when not found in buffer
  does puts
  does puts
  does gets with unicode char delimiter
  does gets with unicode char delimiter
  does gets with char and limit
  does gets with char and limit
  can set buffer_size to the same value after first use
  can set buffer_size to the same value after first use
  raises if invoking gets with negative limit
  raises if invoking gets with negative limit
  does puts many times
  does puts many times
  does gets with limit
  does gets with limit
  reads char
  reads char
  skips big
  skips big
  can report buffer_size
  can report buffer_size
  does gets with char and limit when not found in buffer (2)
  does gets with char and limit when not found in buffer (2)
  can not set buffer_size after first use
  can not set buffer_size after first use
  does gets with big line and \r\n
  does gets with big line and \r\n
  rewinds
  rewinds
  reads more than the buffer's internal capacity
  reads more than the buffer's internal capacity
  peeks
  peeks
  flush_on_newline
    flushes on 

    flushes on 

    doesn't write past count
    doesn't write past count
  can set buffer_size
  can set buffer_size
  reads byte
  reads byte
  does gets with big line and chomp = false
  does gets with big line and chomp = false
  writes more than the buffer's internal capacity
  writes more than the buffer's internal capacity
  writes bytes
  writes bytes
Log::Metadata::Value
  initialize
  initialize
  json
  json
  accessors
  accessors
Float::Printer::DiyFP
  normalizes ordered
  normalizes ordered
  converts min f64
  converts min f64
  multiply rounding
  multiply rounding
  normalizes min f64
  normalizes min f64
  converts ordered 64
  converts ordered 64
  multiply rounding
  multiply rounding
  multiply
  multiply
  converts ordered 32
  converts ordered 32
  converts max f64
  converts max f64
  converts min f32
  converts min f32
  multiply
  multiply
  normalizes max f64
  normalizes max f64
  multiply big numbers
  multiply big numbers
  converts max f32
  converts max f32
Crypto::Bcrypt::Password
  new
    parses salt
    parses salt
    validates the hash string has the required amount of parts
    validates the hash string has the required amount of parts
    parses cost
    parses cost
    parses digest
    parses digest
    raises on unsupported version (#11584)
    raises on unsupported version (#11584)
    parses version
    parses version
  verify
    verifies password version 2 is correct (#11584)
    verifies password version 2 is correct (#11584)
    verifies password version 2y is correct
    verifies password version 2y is correct
    verifies password version 2b is correct (#11584)
    verifies password version 2b is correct (#11584)
    verifies password is correct
    verifies password is correct
    verifies password version 2a is correct (#11584)
    verifies password version 2a is correct (#11584)
    verifies password is incorrect
    verifies password is incorrect
  create
    generates salt
    generates salt
    generates digest
    generates digest
    uses cost
    uses cost
OAuth::AuthorizationHeader
  builds
  builds
Digest::CRC32
  calculates hash from UInt8 slices
  calculates hash from UInt8 slices
  calculates digest from string
  calculates digest from string
  #hexdigest can update within a loop from explicit expr (#9483)
  #hexdigest can update within a loop from explicit expr (#9483)
  can take a block
  can take a block
  calculates hash from string
  calculates hash from string
  should be able to calculate crc32
  should be able to calculate crc32
  digest with file content
  digest with file content
  context are independent
  context are independent
  should be able to calculate crc32 combined
  should be able to calculate crc32 combined
  calculates hash from unicode string
  calculates hash from unicode string
  resets
  resets
  calculates base64'd hash from string
  calculates base64'd hash from string
  .dup
    preserves type
    preserves type
    preserves value
    preserves value
    leads to deterministic updates
    leads to deterministic updates
    leads to not sharing state
    leads to not sharing state
  return the digest size
  return the digest size
  can't call final twice
  can't call final twice
  calculates hash of #to_slice
  calculates hash of #to_slice
  #hexdigest can update within a loop by indirect expr (#9483)
  #hexdigest can update within a loop by indirect expr (#9483)
UUID
  parsing strings
    returns nil if it has the wrong number of characters
    returns nil if it has the wrong number of characters
    returns a properly parsed UUID
    returns a properly parsed UUID
    returns nil if it has incorrect characters
    returns nil if it has incorrect characters
  initialize from static array
    works with static array and version
    works with static array and version
    works with static array, variant and version
    works with static array, variant and version
    works with static array and variant
    works with static array and variant
    works with static array only
    works with static array only
  #==
    matches identical UUIDs
    matches identical UUIDs
  initialize with String
    works with string and version
    works with string and version
    works with string only
    works with string only
    works with string and variant
    works with string and variant
    can be built from strings
    can be built from strings
  v1
    returns true if UUID is v1, false otherwise
    returns true if UUID is v1, false otherwise
  v4!
    returns true if UUID is v4, raises otherwise
    returns true if UUID is v4, raises otherwise
  v3
    generates DNS based names correctly
    generates DNS based names correctly
    generates X500 based names correctly
    generates X500 based names correctly
    generates OID based names correctly
    generates OID based names correctly
    generates URL based names correctly
    generates URL based names correctly
  v4?
    returns true if UUID is v4, false otherwise
    returns true if UUID is v4, false otherwise
  v7
    generates UUIDs that are sortable with 1ms precision
    generates UUIDs that are sortable with 1ms precision
    generates a v7 UUID
    generates a v7 UUID
  initializes zeroed UUID
  initializes zeroed UUID
  fails on invalid arguments when creating
  fails on invalid arguments when creating
  #<=>
    correctly compares two UUIDs
    correctly compares two UUIDs
  v2
    returns true if UUID is v2, false otherwise
    returns true if UUID is v2, false otherwise
  v5
    generates OID based names correctly
    generates OID based names correctly
    generates X500 based names correctly
    generates X500 based names correctly
    generates DNS based names correctly
    generates DNS based names correctly
    generates URL based names correctly
    generates URL based names correctly
  initializes with slice
  initializes with slice
  initializes from UUID
  initializes from UUID
  supports different string formats
    hexstring
    hexstring
    urn
    urn
    normal output
    normal output
  random initialize
    does inspect
    does inspect
    works with no options
    works with no options
    works with variant
    works with variant
    works with version
    works with version
exit
  exits with given error code
  exits with given error code
  exits normally with status 0
  exits normally with status 0
Log::Dispatcher
  create dispatcher from enum
  create dispatcher from enum
Log::Metadata
  empty?
  empty?
  []?
  []?
  extend
  extend
  json
  json
  extend against empty values without creating a new instance
  extend against empty values without creating a new instance
  #dup
    creates a shallow copy
    creates a shallow copy
  defrags
  defrags
  []
  []
  ==
  ==
  empty
  empty
Regex
  #inspect
    with literal-compatible options
      escapes
      escapes
      prints flags
      prints flags
    with non-literal-compatible options
      escapes
      escapes
      prints flags
      prints flags
  #==
  #==
  .error?
  .error?
  #matches?
    options
      anchored
      anchored
      extended
        ignores white space
        ignores white space
        ignores comments
        ignores comments
      multiline
        anchor
        anchor
        span
        span
      ignore case
      ignore case
    with options
      deprecated Regex::Options
      deprecated Regex::Options
      Regex::MatchOptions
      Regex::MatchOptions
    doesn't crash with a large single line string
    doesn't crash with a large single line string
    basic
    basic
    unicode
      unicode support
      unicode support
      matches unicode char against [[:print:]] (#11262)
      matches unicode char against [[:print:]] (#11262)
      matches unicode char against [[:alnum:]] (#4704)
      matches unicode char against [[:alnum:]] (#4704)
      invalid codepoint
      invalid codepoint
  #===
    basic
    basic
    assigns captures
    assigns captures
  #match
    with options
      deprecated Regex::Options
      deprecated Regex::Options
      Regex::Match options
      Regex::Match options
    returns nil on non-match
    returns nil on non-match
    with invalid UTF-8
    with invalid UTF-8
    skip invalid UTF check
    skip invalid UTF check
    with pos
      char index
      char index
      positive
      positive
      negative
      negative
    assigns captures
    assigns captures
    returns matchdata
    returns matchdata
  #options
  #options
  #+
  #+
  #match!
    with options
      Regex::Match options
      Regex::Match options
    assigns captures
    assigns captures
    raises on non-match
    raises on non-match
    returns match data
    returns match data
  #name_table
    alpanumeric
    alpanumeric
    is a map of capture group number to name
    is a map of capture group number to name
    more than 255 groups
    more than 255 groups
    duplicate name
    duplicate name
  .new
    doesn't crash when PCRE tries to free some memory (#771)
    doesn't crash when PCRE tries to free some memory (#771)
    raises on invalid UTF-8
    raises on invalid UTF-8
    raises exception with invalid regex
    raises exception with invalid regex
    options
      regular
      regular
      unnamed option
      unnamed option
  #capture_count
  #capture_count
  #clone
  #clone
  .supports_match_options?
  .supports_match_options?
  .escape
  .escape
  #to_s
    with options
    with options
    with slash
    with slash
    interpolation
    interpolation
  #matches_at_byte_index?
    positive index
    positive index
    multibyte index
    multibyte index
    negative
    negative
    with options
      deprecated Regex::Options
      deprecated Regex::Options
      Regex::MatchOptions
      Regex::MatchOptions
  #dup
  #dup
  .literal
  .literal
  .union
    combines Regex objects in the same way as Regex#+
    combines Regex objects in the same way as Regex#+
    constructs a Regex that matches things any of its arguments match
    constructs a Regex that matches things any of its arguments match
    returns a regular expression that will match passed arguments
    returns a regular expression that will match passed arguments
    accepts a single Array(String | Regex) argument
    accepts a single Array(String | Regex) argument
    quotes any string arguments
    quotes any string arguments
    returns a Regex with an Array(String) with special characters
    returns a Regex with an Array(String) with special characters
    accepts a single Tuple(String | Regex) argument
    accepts a single Tuple(String | Regex) argument
  #hash
  #hash
  #=~
    accepts any type
    accepts any type
    returns match index or nil
    returns match index or nil
    assigns captures
    assigns captures
  #match_at_byte_index
    negative
    negative
    with options
      deprecated Regex::Options
      deprecated Regex::Options
      Regex::MatchOptions
      Regex::MatchOptions
    assigns captures
    assigns captures
    positive index
    positive index
    multibyte index
    multibyte index
  .supports_compile_options?
  .supports_compile_options?
  #source
  #source
  .needs_escape?
    String
    String
    Char
    Char
XML::Reader
  #node_type
    returns the node type
    returns the node type
  #next
    reads next node in doc order, skipping subtrees
    reads next node in doc order, skipping subtrees
  #[]?
    reads node attributes
    reads node attributes
    raises if attribute contains null byte
    raises if attribute contains null byte
  #move_to_first_attribute
    moves to the first attribute of the node
    moves to the first attribute of the node
  #move_to_attribute
    moves to attribute with the specified name
    moves to attribute with the specified name
    raises if attribute contains null byte
    raises if attribute contains null byte
  #read_inner_xml
    reads the contents of the node including child nodes and markup
    reads the contents of the node including child nodes and markup
  #expand?
    is only available until the next read
    is only available until the next read
    parses the content of the node and subtree
    parses the content of the node and subtree
  .new
    with default parser options
      can be initialized from an io
      can be initialized from an io
      can be initialized from a string
      can be initialized from a string
    with custom parser options
      can be initialized from a string
      can be initialized from a string
      can be initialized from an io
      can be initialized from an io
  #expand
    parses the content of the node and subtree
    parses the content of the node and subtree
    is only available until the next read
    is only available until the next read
    raises an exception if the node could not be expanded
    raises an exception if the node could not be expanded
  #read
    reads all nodes
    reads all nodes
    reads all non-blank nodes with NOBLANKS option
    reads all non-blank nodes with NOBLANKS option
  #move_to_next_attribute
    moves to the next attribute of the node
    moves to the next attribute of the node
  #depth
    returns the depth of the node
    returns the depth of the node
  #empty_element?
    checks if the node is empty
    checks if the node is empty
  #to_unsafe
    returns a pointer to the underlying LibXML::XMLTextReader
    returns a pointer to the underlying LibXML::XMLTextReader
  #read_outer_xml
    reads the xml of the node including child nodes and markup
    reads the xml of the node including child nodes and markup
  #move_to_element
    moves to the element node that contains the current attribute node
    moves to the element node that contains the current attribute node
  #value
    reads node text value
    reads node text value
  #[]
    reads node attributes
    reads node attributes
    raises if attribute contains null byte
    raises if attribute contains null byte
  #name
    reads node name
    reads node name
  #has_attributes?
    checks if the node has attributes
    checks if the node has attributes
  #attributes_count
    returns the node's number of attributes
    returns the node's number of attributes
  #next_sibling
    reads next sibling node in doc order, skipping subtrees
    reads next sibling node in doc order, skipping subtrees
Spec
  list_tags
    does nothing if there are no examples
    does nothing if there are no examples
    lists the count of all tags
    lists the count of all tags
    lists the count of slow tags
    lists the count of slow tags
Indexable(T)
  #to_a
    without a block of an interface type
    without a block of an interface type
  permutations
    accepts a block
    accepts a block
    assert
    assert
    assert
    assert
    assert
    assert
    returns iterator
    returns iterator
    yielding dup of arrays
    yielding dup of arrays
    yields with reuse = true
    yields with reuse = true
    returns iterator with given size
    returns iterator with given size
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    returns iterator with reuse = true
    returns iterator with reuse = true
  does each
  does each
  .each_cartesian
    does with an Indexable of Indexables, without block, combined with select
    does with an Indexable of Indexables, without block, combined with select
    does with reuse = array, with block
    does with reuse = array, with block
    does with an Indexable of Indexables, without block
    does with an Indexable of Indexables, without block
    does with reuse = true, with block
    does with reuse = true, with block
    does with reuse = true, without block
    does with reuse = true, without block
    does with an Indexable of Indexables, with block
    does with an Indexable of Indexables, with block
    does with reuse = array, without block
    does with reuse = array, without block
  combinations
    yielding dup of arrays
    yielding dup of arrays
    assert
    assert
    assert
    assert
    assert
    assert
    accepts a block
    accepts a block
    assert
    assert
    does with reuse = true
    does with reuse = true
    returns iterator with reuse = array
    returns iterator with reuse = array
    assert
    assert
    assert
    assert
    returns iterator with reuse = true
    returns iterator with reuse = true
    assert
    assert
    does with reuse = array
    does with reuse = array
    assert
    assert
    assert
    assert
    assert
    assert
    returns iterator
    returns iterator
    assert
    assert
  fetch
    fetches with block
    fetches with block
    fetches with default value
    fetches with default value
  .cartesian_product
    does with an Indexable of Indexables
    does with an Indexable of Indexables
    does with a Tuple of Tuples with mixed types
    does with a Tuple of Tuples with mixed types
  #join
    joins non-strings
    joins non-strings
    joins strings (non-empty case)
    joins strings (non-empty case)
    joins when T has String
    joins when T has String
    joins strings (empty case)
    joins strings (empty case)
    with IO
    with IO
  iterates until its size, having mutated (#3386)
  iterates until its size, having mutated (#3386)
  iterates through a subset of its elements (#3386)
  iterates through a subset of its elements (#3386)
  #index
    does index with big offset
    does index with big offset
    offset type
    offset type
    does index with big negative offset
    does index with big negative offset
  #index!
    raises if no element is found
    raises if no element is found
    offset type
    offset type
  #rindex
    does rindex with big offset
    does rindex with big offset
    offset type
    offset type
    does rindex with big negative offset
    does rindex with big negative offset
  #cartesian_product
    does with >1 other Indexables
    does with >1 other Indexables
    does with 1 other Indexable
    does with 1 other Indexable
  does each_index
  does each_index
  iterates within a range of indices, no beginning
  iterates within a range of indices, no beginning
  iterates within a range of indices, no end
  iterates within a range of indices, no end
  iterates until its size, having mutated (#3386)
  iterates until its size, having mutated (#3386)
  #rindex!
    does rindex with big negative offset
    does rindex with big negative offset
    does rindex with big offset
    does rindex with big offset
    offset type
    offset type
  iterates within a range of indices (#3386)
  iterates within a range of indices (#3386)
  iterates until its size (#3386)
  iterates until its size (#3386)
  dig
    raises IndexError if not found
    raises IndexError if not found
    gets the value at given path given splat
    gets the value at given path given splat
  dig?
    returns nil if not found
    returns nil if not found
    gets the value at given path given splat
    gets the value at given path given splat
  repeated_combinations
    returns iterator with reuse = array
    returns iterator with reuse = array
    assert
    assert
    yields with reuse = array
    yields with reuse = array
    assert
    assert
    returns iterator
    returns iterator
    assert
    assert
    assert
    assert
    assert
    assert
    yielding dup of arrays
    yielding dup of arrays
    returns iterator with reuse = true
    returns iterator with reuse = true
    assert
    assert
    accepts a block
    accepts a block
    n > size (#14088)
      "#each_repeated_combination" iterator
      "#each_repeated_combination" iterator
      "#each_repeated_combination" yielding
      "#each_repeated_combination" yielding
      "#each_repeated_combination" iterator
      "#each_repeated_combination" iterator
      "#each_repeated_combination" yielding
      "#each_repeated_combination" yielding
    assert
    assert
    yields with reuse = true
    yields with reuse = true
    assert
    assert
    assert
    assert
  #each_cartesian
    does with 1 other Indexable, without block
    does with 1 other Indexable, without block
    does with >1 other Indexables, without block
    does with >1 other Indexables, without block
    does with 1 other Indexable, with block
    does with 1 other Indexable, with block
    does with 1 other Indexable, without block, combined with select
    does with 1 other Indexable, without block, combined with select
    does with >1 other Indexables, with block
    does with >1 other Indexables, with block
JSON serialization
  provide symmetric encoding and decoding for Union types
  provide symmetric encoding and decoding for Union types
  to_json
    does for Int32
    does for Int32
    does for Hash with Float64 keys
    does for Hash with Float64 keys
    does for Iterator
    does for Iterator
    does for Set
    does for Set
    does for Array
    does for Array
    does for Int128
    does for Int128
    does for BigDecimal
    does for BigDecimal
    does for Hash with Float32 keys
    does for Hash with Float32 keys
    does for String with control codes
    does for String with control codes
    does for Tuple
    does for Tuple
    does for String with control codes in a few places
    does for String with control codes in a few places
    does for String with quote
    does for String with quote
    raises if Float is NaN
    raises if Float is NaN
    does for String
    does for String
    does for BigFloat
    does for BigFloat
    raises if Float is infinity
    raises if Float is infinity
    Enum
      normal enum
      normal enum
      flag enum
      flag enum
    does for NamedTuple
    does for NamedTuple
    does for Path
    does for Path
    does for Hash
    does for Hash
    does for Nil
    does for Nil
    does for Float64
    does for Float64
    does for Hash with symbol keys
    does for Hash with symbol keys
    does for Hash with newlines
    does for Hash with newlines
    Enum::ValueConverter
      flag enum
      flag enum
      normal enum
      normal enum
    does for Hash with BigInt keys
    does for Hash with BigInt keys
    does for Hash with int keys
    does for Hash with int keys
    does for UUID
    does for UUID
    does for Deque
    does for Deque
    does for StaticArray
    does for StaticArray
    does for Bool
    does for Bool
    does for BigInt
    does for BigInt
    does for String with slash
    does for String with slash
  from_json
    deserializes union with Int64 (fast path)
    deserializes union with Int64 (fast path)
    does UInt128.from_json
    does UInt128.from_json
    deserializes with root
    deserializes with root
    does for tuple
    does for tuple
    parse exceptions
      captures overflows for integer types
      captures overflows for integer types
      has correct location when raises in NamedTuple#from_json
      has correct location when raises in NamedTuple#from_json
      has correct location when raises in Union#from_json
      has correct location when raises in Union#from_json
    deserializes union with UInt64 (fast path)
    deserializes union with UInt64 (fast path)
    errors on non-base-10 ints
    errors on non-base-10 ints
    does for BigDecimal from int
    does for BigDecimal from int
    does Array(Float64)#from_json
    does Array(Float64)#from_json
    Enum::ValueConverter.from_json
      flag enum
      flag enum
      normal enum
      normal enum
    deserializes union with Int16 (fast path)
    deserializes union with Int16 (fast path)
    does UInt16.from_json
    does UInt16.from_json
    raises for BigFloat from unsupported types
    raises for BigFloat from unsupported types
    deserializes union with Float64 (fast path)
    deserializes union with Float64 (fast path)
    does for tuple with file-private type
    does for tuple with file-private type
    Enum
      flag enum
      flag enum
      normal enum
      normal enum
    does for empty named tuple
    does for empty named tuple
    does for BigFloat from int
    does for BigFloat from int
    does Path.from_json
    does Path.from_json
    does UInt32.from_json
    does UInt32.from_json
    does Hash(String, String)#from_json
    does Hash(String, String)#from_json
    does Array(Float32)#from_json
    does Array(Float32)#from_json
    does Hash(String, Int32)#from_json
    does Hash(String, Int32)#from_json
    deserializes union with UInt8 (fast path)
    deserializes union with UInt8 (fast path)
    raises if Int32.from_json overflows
    raises if Int32.from_json overflows
    deserializes union with Int128 (fast path)
    deserializes union with Int128 (fast path)
    raises an error Iterator(String)#from_json with invalid JSON
    raises an error Iterator(String)#from_json with invalid JSON
    does Int64.from_json
    does Int64.from_json
    does Array(Bool)#from_json
    does Array(Bool)#from_json
    does for UUID (hyphenated)
    does for UUID (hyphenated)
    deserializes union
    deserializes union
    does for BigFloat from string
    does for BigFloat from string
    does for named tuple with nilable fields and null (#8089)
    does for named tuple with nilable fields and null (#8089)
    raises if UInt128.from_json overflows
    raises if UInt128.from_json overflows
    does Hash(BigDecimal, String)#from_json
    does Hash(BigDecimal, String)#from_json
    deserializes union with bool (fast path)
    deserializes union with bool (fast path)
    deserializes Time
    deserializes Time
    does for BigInt
    does for BigInt
    raises for BigInt from unsupported types
    raises for BigInt from unsupported types
    deserializes union with Int8 (fast path)
    deserializes union with Int8 (fast path)
    does String.from_json
    does String.from_json
    deserializes union with UInt16 (fast path)
    deserializes union with UInt16 (fast path)
    deserializes union with Int32 (fast path)
    deserializes union with Int32 (fast path)
    raises if Int8.from_json overflows
    raises if Int8.from_json overflows
    does Hash(Float64, String)#from_json
    does Hash(Float64, String)#from_json
    deserializes union with Float32 (fast path)
    deserializes union with Float32 (fast path)
    does for UUID (hex)
    does for UUID (hex)
    raises if UInt32.from_json overflows
    raises if UInt32.from_json overflows
    does Hash(Float32, String)#from_json
    does Hash(Float32, String)#from_json
    does UInt64.from_json
    does UInt64.from_json
    does Hash(BigFloat, String)#from_json
    does Hash(BigFloat, String)#from_json
    does for named tuple with file-private type
    does for named tuple with file-private type
    does UInt8.from_json
    does UInt8.from_json
    raises an error Iterator(String)#from_json with invalid types
    raises an error Iterator(String)#from_json with invalid types
    does for Array(Int32) from IO
    does for Array(Int32) from IO
    raises for BigDecimal from unsupported types
    raises for BigDecimal from unsupported types
    raises if UInt8.from_json overflows
    raises if UInt8.from_json overflows
    does Int16.from_json
    does Int16.from_json
    errors on underscores inside ints
    errors on underscores inside ints
    does for named tuple with nilable fields (#8089)
    does for named tuple with nilable fields (#8089)
    does Hash(BigInt, String)#from_json
    does Hash(BigInt, String)#from_json
    raises if UInt64.from_json overflows
    raises if UInt64.from_json overflows
    does for empty tuple
    does for empty tuple
    raises an error Hash(String, Int32)#from_json with null value
    raises an error Hash(String, Int32)#from_json with null value
    does for named tuple
    does for named tuple
    does Deque(String)#from_json
    does Deque(String)#from_json
    does Array(Int64)#from_json
    does Array(Int64)#from_json
    does Array(Int32)#from_json
    does Array(Int32)#from_json
    does for named tuple with spaces in key and quote char (#10918)
    does for named tuple with spaces in key and quote char (#10918)
    does for Array(Int32) with block
    does for Array(Int32) with block
    does Iterator(String)#from_json
    does Iterator(String)#from_json
    deserializes unions of the same kind and remains stable
    deserializes unions of the same kind and remains stable
    deserializes union with UInt128 (fast path)
    deserializes union with UInt128 (fast path)
    does Int128.from_json
    does Int128.from_json
    raises if Int128.from_json overflows
    raises if Int128.from_json overflows
    deserializes union with UInt32 (fast path)
    deserializes union with UInt32 (fast path)
    does for named tuple with spaces in key (#10918)
    does for named tuple with spaces in key (#10918)
    deserializes union of Int32 and Float64 (#7333)
    deserializes union of Int32 and Float64 (#7333)
    raises if Int64.from_json overflows
    raises if Int64.from_json overflows
    raises if UInt16.from_json overflows
    raises if UInt16.from_json overflows
    does for UUID (urn)
    does for UUID (urn)
    does for BigDecimal from string
    does for BigDecimal from string
    does Int8.from_json
    does Int8.from_json
    does Hash(Int32, String)#from_json
    does Hash(Int32, String)#from_json
    does for BigDecimal from float
    does for BigDecimal from float
    does Array(Nil)#from_json
    does Array(Nil)#from_json
    raises if Int16.from_json overflows
    raises if Int16.from_json overflows
    does Int32.from_json
    does Int32.from_json
    does for BigFloat
    does for BigFloat
  to_pretty_json
    does for empty Array
    does for empty Array
    does for Array with indent
    does for Array with indent
    does for Float64
    does for Float64
    Time
      omit sub-second precision
      omit sub-second precision
      #to_json
      #to_json
    does for empty Hash
    does for empty Hash
    does for Int32
    does for Int32
    does for Hash
    does for Hash
    does for String
    does for String
    does for Bool
    does for Bool
    does for nested Array
    does for nested Array
    does for nested Hash with indent
    does for nested Hash with indent
    does for Nil
    does for Nil
    does for Array
    does for Array
    does for nested Hash
    does for nested Hash
Spec::ExampleGroup
  #randomize
    with a seed
    with a seed
    by default
    by default
  #report
    should include parent's description
    should include parent's description
  #all_tags
    should include ancestor tags
    should include ancestor tags
Box
  boxing nil in a reference-like union returns a null pointer (#11839)
  boxing nil in a reference-like union returns a null pointer (#11839)
  boxing a nilable value returns the same value
  boxing a nilable value returns the same value
  boxing nil in a value-like union doesn't crash (#11839)
  boxing nil in a value-like union doesn't crash (#11839)
  boxing a nilable reference returns the same pointer
  boxing a nilable reference returns the same pointer
  boxes with explicit type
  boxes with explicit type
  boxes and unboxes
  boxes and unboxes
  boxing a reference returns the same pointer
  boxing a reference returns the same pointer
  boxing nil returns a null pointer
  boxing nil returns a null pointer
File
  .tempfile
    accepts single suffix argument
    accepts single suffix argument
    with block
      accepts dir argument
      accepts dir argument
      closes file
      closes file
      accepts single suffix argument
      accepts single suffix argument
      accepts prefix and suffix arguments
      accepts prefix and suffix arguments
    accepts prefix and suffix arguments
    accepts prefix and suffix arguments
    creates and writes
    creates and writes
    fails in nonwriteable folder
    fails in nonwriteable folder
    accepts dir argument
    accepts dir argument
    rejects null byte
    rejects null byte
  .tempname
    accepts single suffix argument
    accepts single suffix argument
    accepts dir argument
    accepts dir argument
    creates a path without creating the file
    creates a path without creating the file
    accepts prefix with separator
    accepts prefix with separator
    accepts prefix and suffix arguments
    accepts prefix and suffix arguments
WaitGroup
  waits until concurrent executions are finished
  waits until concurrent executions are finished
  increments the counter from executing fibers
  increments the counter from executing fibers
  #add
    can't increment after reaching negative counter
    can't increment after reaching negative counter
    resumes waiters when reaching negative counter
    resumes waiters when reaching negative counter
    can't decrement to a negative counter
    can't decrement to a negative counter
  takes a block to WaitGroup.wait
  takes a block to WaitGroup.wait
  #done
    can't decrement to a negative counter
    can't decrement to a negative counter
    resumes waiters when reaching negative counter
    resumes waiters when reaching negative counter
  stress add/done/wait
  stress add/done/wait
  #wait
    immediately raises when counter is negative
    immediately raises when counter is negative
    raises when counter is positive after wake up
    raises when counter is positive after wake up
    immediately returns when counter is zero
    immediately returns when counter is zero
__modti3
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
YAML::Any
  .new
  .new
  clones
  clones
  exposes $~ when doing Regex#===
  exposes $~ when doing Regex#===
  #size
    of array
    of array
    of hash
    of hash
  can compare with ===
  can compare with ===
  #dig?
    returns nil for non-Hash/Array intermediary values
    returns nil for non-Hash/Array intermediary values
    returns nil if not found
    returns nil if not found
    gets the value at given path given splat
    gets the value at given path given splat
  #[]?
    hash
      fetches Float64
      fetches Float64
      fetches Slice(UInt8)
      fetches Slice(UInt8)
      fetches Int64
      fetches Int64
      fetches Array(YAML::Any)
      fetches Array(YAML::Any)
      fetches Set(YAML::Any)
      fetches Set(YAML::Any)
      fetches Nil
      fetches Nil
      fetches Hash(YAML::Any, YAML::Any)
      fetches Hash(YAML::Any, YAML::Any)
      fetches Time
      fetches Time
      fetches Bool
      fetches Bool
      fetches String
      fetches String
    of array
    of array
    of hash with integer keys
    of hash with integer keys
    of hash
    of hash
  is enumerable
  is enumerable
  returns array of any when doing parse all
  returns array of any when doing parse all
  #[]
    of array
    of array
    hash
      fetches Hash(YAML::Any, YAML::Any)
      fetches Hash(YAML::Any, YAML::Any)
      fetches Bool
      fetches Bool
      fetches Time
      fetches Time
      fetches Nil
      fetches Nil
      fetches Array(YAML::Any)
      fetches Array(YAML::Any)
      fetches Slice(UInt8)
      fetches Slice(UInt8)
      fetches Set(YAML::Any)
      fetches Set(YAML::Any)
      fetches String
      fetches String
      fetches Float64
      fetches Float64
      fetches Int64
      fetches Int64
  #to_json
  #to_json
  traverses big structure
  traverses big structure
  dups
  dups
  compares to other objects
  compares to other objects
  dig
    raises if not found
    raises if not found
    gets the value at given path given splat
    gets the value at given path given splat
  casts
    gets anchor
    gets anchor
    gets float64
    gets float64
    doesn't get quoted numbers
    doesn't get quoted numbers
    gets int32
    gets int32
    gets bytes
    gets bytes
    gets hash
    gets hash
    gets int64
    gets int64
    gets string
    gets string
    gets yes/no unquoted booleans
    gets yes/no unquoted booleans
    gets nil
    gets nil
    gets float32 from JSON integer (#8618)
    gets float32 from JSON integer (#8618)
    gets float64 from JSON integer (#8618)
    gets float64 from JSON integer (#8618)
    gets time
    gets time
    gets array
    gets array
    gets bool
    gets bool
    gets float32
    gets float32
String::Builder
  raises EOFError
  raises EOFError
  raises if invokes to_s twice
  raises if invokes to_s twice
  builds
  builds
  #chomp!
    returns self
    returns self
  goes back
  goes back
  allocates for > 1 GB
  allocates for > 1 GB
  goes back all
  goes back all
HTTP::Client
  will retry once on connection error
  will retry once on connection error
  cannot reconnect when initialized with IO
  cannot reconnect when initialized with IO
  doesn't read the body if request was HEAD
  doesn't read the body if request was HEAD
  tests write_timeout
  tests write_timeout
  #set_defaults
    sets default Host header
    sets default Host header
  will not retry when closed (block) (#12464)
  will not retry when closed (block) (#12464)
  will not retry when closed (non-block) (#12464)
  will not retry when closed (non-block) (#12464)
  works with IO
  works with IO
  tests empty Content-Type
  tests empty Content-Type
  tests read_timeout
  tests read_timeout
  can be subclassed
  can be subclassed
  raises if URI is missing scheme
  raises if URI is missing scheme
  from String
    raises when not a host
    raises when not a host
  will retry a broken socket
  will retry a broken socket
  sends a 'connection: close' header on one-shot request with block
  sends a 'connection: close' header on one-shot request with block
  raises if URI is missing host
  raises if URI is missing host
  logging
    emit logs with block
    emit logs with block
    emit logs
    emit logs
  tests connect_timeout
  tests connect_timeout
  sends a 'connection: close' header on one-shot request
  sends a 'connection: close' header on one-shot request
  from a host
    yields to a block
    yields to a block
  will not retry if IO::Error in request handling
  will not retry if IO::Error in request handling
  from URI
    raises error if URI is missing host
    raises error if URI is missing host
    keeps context
    keeps context
    allows for specified ports
    allows for specified ports
    has sane defaults
    has sane defaults
    doesn't take context for HTTP
    doesn't take context for HTTP
    yields to a block
    yields to a block
    raises error if not http schema
    raises error if not http schema
    detects HTTPS
    detects HTTPS
  can specify host and port when initialized with IO
  can specify host and port when initialized with IO
  ensures closing the response when breaking out of block
  ensures closing the response when breaking out of block
  sends the host header ipv6 with brackets
  sends the host header ipv6 with brackets
  retry does not affect implicit compression (#11354)
  retry does not affect implicit compression (#11354)
Log::Builder
  creates a log with nil backend
  creates a log with nil backend
  can turn off parent and allow child source
  can turn off parent and allow child source
  creates a log for broadcast backend
  creates a log for broadcast backend
  can reconfigures existing logs
  can reconfigures existing logs
  creates a log with single backend
  creates a log with single backend
  uses last level for a source x backend (single-backend)
  uses last level for a source x backend (single-backend)
  creates a log with broadcast backend
  creates a log with broadcast backend
  removes all logs backends on .clear
  removes all logs backends on .clear
  should allow collection of unreferenced logs
  should allow collection of unreferenced logs
  creates a log for same broadcast backend added multiple times
  creates a log for same broadcast backend added multiple times
  should allow recreation of deallocated logs
  should allow recreation of deallocated logs
  returns log without backend if pattern does not match
  returns log without backend if pattern does not match
  returns log with backend if pattern matches
  returns log with backend if pattern matches
  uses last level for a source x backend
  uses last level for a source x backend
  returns same instance
  returns same instance
  .matches
    on third level
    on third level
    on second level
    on second level
    on top-level
    on top-level
    avoids prefix collision
    avoids prefix collision
    on first level
    on first level
  does not alter user-provided broadcast backend
  does not alter user-provided broadcast backend
UNIXSocket
  sends and receives messages
  sends and receives messages
  tests read and write timeouts
  tests read and write timeouts
  raises when path is too long
  raises when path is too long
  tests socket options
  tests socket options
  creates a pair of sockets
  creates a pair of sockets
  sync flag after accept
  sync flag after accept
Backtrace
  prints exception backtrace to stderr
  prints exception backtrace to stderr
  print exception with non-existing PWD
  print exception with non-existing PWD
  prints file line:column
  prints file line:column
  prints crash backtrace to stderr
  prints crash backtrace to stderr
  doesn't relativize paths outside of current dir (#10169)
  doesn't relativize paths outside of current dir (#10169)
OpenSSL::SSL::Context
  insecure for server
  insecure for server
  returns options
  returns options
  sets the verify mode
  sets the verify mode
  fails to set private key
  fails to set private key
  new for server
  new for server
  sets certificate chain
  sets certificate chain
  ciphers
    sets cipher_suites
    sets cipher_suites
    sets old ciphers
    sets old ciphers
    sets modern ciphers
    sets modern ciphers
    sets ciphers
    sets ciphers
    sets intermediate ciphers
    sets intermediate ciphers
    uses intermediate default ciphers
    uses intermediate default ciphers
  removes options
  removes options
  returns modes
  returns modes
  sets private key
  sets private key
  adds options
  adds options
  calls #finalize on insecure client context
  calls #finalize on insecure client context
  calls #finalize on insecure server context
  calls #finalize on insecure server context
  new for client
  new for client
  adds temporary ecdh curve (P-256)
  adds temporary ecdh curve (P-256)
  changes security level
  changes security level
  LibSSL::VerifyMode
    .parse none (#7455)
    .parse none (#7455)
  removes modes
  removes modes
  fails to set certificate chain
  fails to set certificate chain
  .from_hash
    builds
    builds
    errors
    errors
  alpn_protocol=
  alpn_protocol=
  adds modes
  adds modes
  insecure for client
  insecure for client
IO::Delimited
  #write
    raises
    raises
  #read
    with partial read
      handles partial reads
      handles partial reads
    without peeking
      doesn't clobber active_delimiter_buffer
      doesn't clobber active_delimiter_buffer
      handles nearly a delimiter at the end
      handles nearly a delimiter at the end
      doesn't clobber the buffer on closely-offset partial matches
      doesn't clobber the buffer on closely-offset partial matches
      doesn't read past the limit
      doesn't read past the limit
      handles the delimiter at the start
      handles the delimiter at the start
      doesn't read past the limit (char-by-char)
      doesn't read past the limit (char-by-char)
      handles the delimiter at the end
      handles the delimiter at the end
    with peeking
      handles the delimiter at the end
      handles the delimiter at the end
      handles the delimiter at the start
      handles the delimiter at the start
      handles the case of peek matching first byte, not having enough room, but later matching
      handles the case of peek matching first byte, not having enough room, but later matching
      handles the case of peek matching first byte, not having enough room, but rest not matching
      handles the case of peek matching first byte, not having enough room, but rest not matching
      doesn't read past the limit, single byte
      doesn't read past the limit, single byte
      returns empty when there's no data
      returns empty when there's no data
      peeks, everything matches but we can't know what will happen after that
      peeks, everything matches but we can't know what will happen after that
      handles the case of the active delimited buffer including the delimiter
      handles the case of the active delimited buffer including the delimiter
      handles nearly a delimiter at the end
      handles nearly a delimiter at the end
      handles the case of peek matching first byte, not having enough room, but later not matching
      handles the case of peek matching first byte, not having enough room, but later not matching
      handles the case of peek matching first byte, not having enough room, but rest not immediately matching (with a potential match afterwards)
      handles the case of peek matching first byte, not having enough room, but rest not immediately matching (with a potential match afterwards)
      doesn't read past the limit (char-by-char)
      doesn't read past the limit (char-by-char)
      can peek if first byte found but doesn't fully match, and the byte isn't there in the peek buffer
      can peek if first byte found but doesn't fully match, and the byte isn't there in the peek buffer
      doesn't clobber the buffer on closely-offset partial matches
      doesn't clobber the buffer on closely-offset partial matches
      doesn't read past the limit
      doesn't read past the limit
      handles the case of peek matching first byte, not having enough room, but later not matching (limted slice)
      handles the case of peek matching first byte, not having enough room, but later not matching (limted slice)
      doesn't clobber active_delimiter_buffer
      doesn't clobber active_delimiter_buffer
      can peek if first byte found but doesn't fully match, and there's that first byte again in the peek buffer
      can peek if first byte found but doesn't fully match, and there's that first byte again in the peek buffer
      handles the case of peek matching first byte, not having enough room, later only partially matching
      handles the case of peek matching first byte, not having enough room, later only partially matching
  #gets with peeking when can't peek
    gets
    gets
    peeks
    peeks
  #close
    stops reading
    stops reading
    closes the underlying stream if sync_close is true
    closes the underlying stream if sync_close is true
Number
  #format
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    does not perform double rounding when decimal places are given
    does not perform double rounding when decimal places are given
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    extracts integer part correctly (#12997)
    extracts integer part correctly (#12997)
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #humanize
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    using custom prefixes
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
Enumerable
  index_by
    creates a hash indexed by the value returned by the block
    creates a hash indexed by the value returned by the block
    overrides values if a value is returned twice
    overrides values if a value is returned twice
  first
    calls block if empty
    calls block if empty
    assert
    assert
    raises if enumerable empty
    raises if enumerable empty
    gets first
    gets first
  in_groups_of
    raises argument error if size is less than 0
    raises argument error if size is less than 0
    assert
    assert
    reuses with existing array
    reuses with existing array
    assert
    assert
    assert
    assert
    assert
    assert
    reuses with true
    reuses with true
    takes a block
    takes a block
    assert
    assert
  to_h
    with block
    with block
    for array
    for array
    for tuples
    for tuples
  find!
    finds
    finds
    raises if not found
    raises if not found
  sum
    assert
    assert
    slices
    slices
    strings
    strings
    assert
    assert
    array of arrays
    array of arrays
    assert
    assert
    assert
    assert
    uses additive_identity from type
    uses additive_identity from type
    assert
    assert
    assert
    assert
    float
    float
  max_by?
    returns nil if empty
    returns nil if empty
  first?
    returns nil if enumerable empty
    returns nil if enumerable empty
    gets first?
    gets first?
  zip
    works for Iterators as receiver
    works for Iterators as receiver
  minmax_by
    assert
    assert
  product
    assert
    assert
    assert
    assert
    uses zero from type
    uses zero from type
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #present?
    assert
    assert
    assert
    assert
  partition
    assert
    assert
    with mono type on mono type
    with mono type on mono type
    with missing type on union type
    with missing type on union type
    assert
    assert
    with mono type on union type
    with mono type on union type
    with union type on union type
    with union type on union type
  max_of
    raises if not comparable
    raises if not comparable
    assert
    assert
  #join
    (&)
    (&)
    (io, separator, &)
    (io, separator, &)
    (separator, io) (deprecated)
    (separator, io) (deprecated)
    (io)
    (io)
    (separator, io, &) (deprecated)
    (separator, io, &) (deprecated)
    (separator, &)
    (separator, &)
    (separator)
    (separator)
    (io, &)
    (io, &)
    (io, separator)
    (io, separator)
    ()
    ()
  all? with pattern
    returns true
    returns true
    returns false
    returns false
  map_with_index
    yields the element and the index
    yields the element and the index
    yields the element and the index of an iterator
    yields the element and the index of an iterator
  count with block
    returns the number of the times the item is present
    returns the number of the times the item is present
  chunk
    does not return elements for which the block returns Enumerable::Chunk::Drop
    does not return elements for which the block returns Enumerable::Chunk::Drop
    rewind
    rewind
    returns elements for which the block returns Enumerable::Chunk::Alone in separate Arrays
    returns elements for which the block returns Enumerable::Chunk::Alone in separate Arrays
    nil allowed as value
    nil allowed as value
    alone all
    alone all
    work with class
    work with class
    drop all
    drop all
    nil 2 case
    nil 2 case
    works with block
    works with block
    returns elements of the Enumerable in an Array of Tuple, {v, ary}, where 'ary' contains the consecutive elements for which the block returned the value 'v'
    returns elements of the Enumerable in an Array of Tuple, {v, ary}, where 'ary' contains the consecutive elements for which the block returned the value 'v'
    reuses true
    reuses true
    works
    works
  #to_set
    without block
      creates a Set from the unique elements of the collection
      creates a Set from the unique elements of the collection
    with block
      creates a Set from running the block against the collection's elements
      creates a Set from running the block against the collection's elements
  first
    assert
    assert
    raises if count is negative
    raises if count is negative
    assert
    assert
  min
    raises if empty
    raises if empty
    raises if n is negative
    raises if n is negative
    assert
    assert
    assert
    assert
    raises if not comparable
    raises if not comparable
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    raises if not comparable in min(n)
    raises if not comparable in min(n)
    assert
    assert
    does not modify the array
    does not modify the array
  #empty?
    assert
    assert
    assert
    assert
  max?
    returns nil if empty
    returns nil if empty
  max_of?
    returns nil if empty
    returns nil if empty
  none?
    assert
    assert
    assert
    assert
  to_a
    without a block of an interface type
    without a block of an interface type
    without a block
    without a block
    with a block
    with a block
  index with a block
    returns nil if no object could be found
    returns nil if no object could be found
    returns the index of the first element where the block returns true
    returns the index of the first element where the block returns true
  to_a
    converts to an Array
    converts to an Array
  reduce
    does not raise if empty if there is a memo argument
    does not raise if empty if there is a memo argument
    assert
    assert
    assert
    assert
    raises if empty
    raises if empty
    assert
    assert
    allows block return type to be different from element type
    allows block return type to be different from element type
    assert
    assert
  zip?
    works for Iterators as receiver
    works for Iterators as receiver
  any? without block
    returns true if at least one element is truthy
    returns true if at least one element is truthy
    returns false if all elements are falsey
    returns false if all elements are falsey
  size without block
    returns the number of elements in the Enumerable
    returns the number of elements in the Enumerable
  #accumulate
    prefix sums
      assert
      assert
      assert
      assert
      assert
      assert
    prefix sums, with init
      assert
      assert
      preserves initial type
      preserves initial type
      assert
      assert
      assert
      assert
    generic cumulative fold
      assert
      assert
      assert
      assert
    generic cumulative fold, with init
      preserves initial type
      preserves initial type
      assert
      assert
      assert
      assert
  max_by
    assert
    assert
  index! with a block
    raises if not found
    raises if not found
    returns the index of the first element where the block returns true
    returns the index of the first element where the block returns true
  min?
    returns nil if empty
    returns nil if empty
  sample
    multiple-element
      samples k elements out of n
      samples k elements out of n
      samples 0 elements
      samples 0 elements
      samples k elements out of n, where k > n
      samples k elements out of n, where k > n
      raises on k < 0
      raises on k < 0
      samples k elements out of n, with random
      samples k elements out of n, with random
      samples 1 element
      samples 1 element
    single-element
      raises on empty self
      raises on empty self
      samples without random
      samples without random
      samples with random
      samples with random
  each_with_index
    gets each_with_index iterator
    gets each_with_index iterator
    yields the element and the index
    yields the element and the index
    accepts an optional offset parameter
    accepts an optional offset parameter
  index with an object
    returns nil if the object was not found
    returns nil if the object was not found
    returns the index of that object if found
    returns the index of that object if found
  compact map
    assert
    assert
  each_with_object
    yields the element and the given object
    yields the element and the given object
    gets each_with_object iterator
    gets each_with_object iterator
  includes?
    is false if the object is not part of the collection
    is false if the object is not part of the collection
    is true if the object exists in the collection
    is true if the object exists in the collection
  skip
    returns an empty array when skipping more elements than array size
    returns an empty array when skipping more elements than array size
    returns an array without the skipped elements
    returns an array without the skipped elements
    raises if count is negative
    raises if count is negative
  min_of?
    returns nil if empty
    returns nil if empty
  map
    applies the function to each element and returns a new array
    applies the function to each element and returns a new array
    leaves the original unmodified
    leaves the original unmodified
  minmax_of
    assert
    assert
    raises if not comparable
    raises if not comparable
  index! with an object
    raises if not found
    raises if not found
    returns the index of that object if found
    returns the index of that object if found
  min_by
    assert
    assert
  all? with block
    returns false
    returns false
    returns true
    returns true
  minmax
    assert
    assert
    raises if empty
    raises if empty
  min_by?
    returns nil if empty
    returns nil if empty
  minmax?
    raises if not comparable
    raises if not comparable
    returns two nils if empty
    returns two nils if empty
  group_by
    groups can group by size (like the doc example)
    groups can group by size (like the doc example)
    assert
    assert
  all? without block
    returns false
    returns false
    returns true
    returns true
  none? with pattern
    assert
    assert
    assert
    assert
  select
    with type
    with type
    selects the values for which the block returns true
    selects the values for which the block returns true
    with pattern
    with pattern
  in slices of
    assert
    assert
    assert
    assert
    raises argument error if size is less than 0
    raises argument error if size is less than 0
    assert
    assert
    assert
    assert
  each_slice
    reuses with existing array
    reuses with existing array
    returns each_slice iterator
    returns each_slice iterator
    returns full slices
    returns full slices
    returns partial slices
    returns partial slices
    reuses with true
    reuses with true
  none? without block
    assert
    assert
    assert
    assert
  any? with block
    returns true if at least one element fulfills the condition
    returns true if at least one element fulfills the condition
    returns false if all elements does not fulfill the condition
    returns false if all elements does not fulfill the condition
  reduce?
    assert
    assert
    returns nil if empty
    returns nil if empty
    allows block return type to be different from element type
    allows block return type to be different from element type
  cycle
    calls forever if we don't break
    calls forever if we don't break
    calls the block n times given the optional argument
    calls the block n times given the optional argument
  #each_cons_pair
    returns running pairs
    returns running pairs
  minmax_of?
    returns two nils if empty
    returns two nils if empty
  any? with pattern
    returns false
    returns false
    returns true
    returns true
  reject
    with type
    with type
    with type, for tuples
    with type, for tuples
    rejects with pattern
    rejects with pattern
    rejects the values for which the block returns true
    rejects the values for which the block returns true
  tally_by
    returns a hash with counts according to the value returned by the block
    returns a hash with counts according to the value returned by the block
    with hash
      returns a hash with counts according to the value returned by the block
      returns a hash with counts according to the value returned by the block
  min_of
    assert
    assert
    raises if not comparable
    raises if not comparable
  flat_map
    does example 4
    does example 4
    does example 1
    does example 1
    does example 2
    does example 2
    does example 3
    does example 3
    accepts mixed element types
    accepts mixed element types
    flattens iterators
    flattens iterators
  find
    doesn't find with default value
    doesn't find with default value
    doesn't find
    doesn't find
    finds
    finds
  each_step
    "accepts an offset larger then the enumerable size" yielding
    "accepts an offset larger then the enumerable size" yielding
    "yields every 2nd element" yielding
    "yields every 2nd element" yielding
    "accepts an optional offset parameter" iterator
    "accepts an optional offset parameter" iterator
    "accepts an offset larger then the step size" yielding
    "accepts an offset larger then the step size" yielding
    doesn't accept a negative offset
    doesn't accept a negative offset
    "accepts a step larger then the enumerable size" iterator
    "accepts a step larger then the enumerable size" iterator
    doesn't accept a step of 0
    doesn't accept a step of 0
    "accepts an offset larger then the enumerable size" iterator
    "accepts an offset larger then the enumerable size" iterator
    "accepts a step larger then the enumerable size" yielding
    "accepts a step larger then the enumerable size" yielding
    "accepts an offset larger then the step size" iterator
    "accepts an offset larger then the step size" iterator
    "accepts an offset of 0" yielding
    "accepts an offset of 0" yielding
    "accepts an offset of 0" iterator
    "accepts an offset of 0" iterator
    doesn't accept a negative step
    doesn't accept a negative step
    "yields every 2nd element" iterator
    "yields every 2nd element" iterator
    "accepts an optional offset parameter" yielding
    "accepts an optional offset parameter" yielding
  max
    raises if n is negative
    raises if n is negative
    assert
    assert
    does not modify the array
    does not modify the array
    assert
    assert
    assert
    assert
    assert
    assert
    raises if not comparable
    raises if not comparable
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    raises if empty
    raises if empty
    raises if not comparable in max(n)
    raises if not comparable in max(n)
  chunks
    nil 2 case
    nil 2 case
    returns elements for which the block returns Enumerable::Chunk::Alone in separate Arrays
    returns elements for which the block returns Enumerable::Chunk::Alone in separate Arrays
    works
    works
    drop all
    drop all
    work with class
    work with class
    nil allowed as value
    nil allowed as value
    work with pure enumerable
    work with pure enumerable
    alone all
    alone all
    does not return elements for which the block returns Enumerable::Chunk::Drop
    does not return elements for which the block returns Enumerable::Chunk::Drop
  minmax_by?
    returns two nils if empty
    returns two nils if empty
  tally
    returns a hash with counts according to the value
    returns a hash with counts according to the value
    with hash
      tallies an interface type
      tallies an interface type
      updates existing hash with counts according to the value
      updates existing hash with counts according to the value
      returns a hash with Int64 counts according to the value
      returns a hash with Int64 counts according to the value
      returns a hash with counts according to the value
      returns a hash with counts according to the value
      ignores the default value
      ignores the default value
  one?
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  skip_while
    skips elements while the condition holds true
    skips elements while the condition holds true
    returns the full Array if the first check is false
    returns the full Array if the first check is false
    does not yield to the block anymore once it returned false
    does not yield to the block anymore once it returned false
    returns an empty array if the condition is always true
    returns an empty array if the condition is always true
  take_while
    returns the full Array if the condition is always true
    returns the full Array if the condition is always true
    returns an empty Array if the block is false for the first element
    returns an empty Array if the block is false for the first element
    keeps elements while the block returns true
    keeps elements while the block returns true
    does not call the block again once it returned false
    does not call the block again once it returned false
  #each_cons
    yield
      returns running pairs
      returns running pairs
      yields running pairs with reuse = deque
      yields running pairs with reuse = deque
      yields running pairs with reuse = true
      yields running pairs with reuse = true
      yields running pairs with reuse = array
      yields running pairs with reuse = array
      returns running triples
      returns running triples
    iterator
      iterates
      iterates
      iterates with reuse = true
      iterates with reuse = true
      iterates with reuse = array
      iterates with reuse = array
      iterates with reuse = deque
      iterates with reuse = deque
Struct
  does dup
  does dup
  does ==
  does ==
  does hash for struct wrapper (#1940)
  does hash for struct wrapper (#1940)
  should retrieve multiple descendants from hashed data structure
  should retrieve multiple descendants from hashed data structure
  clones with def_clone
  clones with def_clone
  does hash
  does hash
  does to_s
  does to_s
File
  iterates with each_byte
  iterates with each_byte
  fsync
    syncs OS file buffer to disk
    syncs OS file buffer to disk
  closed stream
    raises if writing on a closed stream
    raises if writing on a closed stream
  size
    raises an error when the file does not exist
    raises an error when the file does not exist
    assert
    assert
    raises an error when a component of the path is a file
    raises an error when a component of the path is a file
    assert
    assert
  .copy
    copies a file
    copies a file
    overwrites existing destination and permissions
    overwrites existing destination and permissions
    copies permissions
    copies permissions
  link
    creates a hard link
    creates a hard link
  rewinds
  rewinds
  encoding
    reads with encoding
    reads with encoding
    writes with encoding
    writes with encoding
    does each line with encoding
    does each line with encoding
    reads lines with encoding
    reads lines with encoding
    opens with encoding
    opens with encoding
  raises if invoking seek with a closed file
  raises if invoking seek with a closed file
  reads at offset
  reads at offset
  opens with perm (File::Permissions)
  opens with perm (File::Permissions)
  File::Info
    gets for a character device
    gets for a character device
    .readable?
      gives false when the file has no read permissions
      gives false when the file has no read permissions
      gives false when the file has no permissions
      gives false when the file has no permissions
      gives false when the file doesn't exist
      gives false when the file doesn't exist
      follows symlinks
      follows symlinks
      gives true
      gives true
      gives false when the symbolic link destination doesn't exist
      gives false when the symbolic link destination doesn't exist
      gives false when a component of the path is a file
      gives false when a component of the path is a file
    tests unequal for file and directory
    tests unequal for file and directory
    gets mtime for new file
    gets mtime for new file
    gets for non-existent file and raises
    gets for non-existent file and raises
    tests equal for the same file
    tests equal for the same file
    .executable?
      gives true
      gives true
      gives false when the file doesn't exist
      gives false when the file doesn't exist
      gives false when a component of the path is a file
      gives false when a component of the path is a file
      gives false
      gives false
      follows symlinks
      follows symlinks
    gets for a symlink
    gets for a symlink
    gets for this file
    gets for this file
    gets for pipe
    gets for pipe
    .writable?
      gives true
      gives true
      gives false when the symbolic link destination doesn't exist
      gives false when the symbolic link destination doesn't exist
      gives false when a component of the path is a file
      gives false when a component of the path is a file
      gives false when the file doesn't exist
      gives false when the file doesn't exist
      follows symlinks
      follows symlinks
      gives false when the file has no write permissions
      gives false when the file has no write permissions
    tests unequal for different files
    tests unequal for different files
    gets for this directory
    gets for this directory
    tests equal for the same directory
    tests equal for the same directory
    gets for open file
    gets for open file
  raises when reading at offset outside of bounds
  raises when reading at offset outside of bounds
  raises when writing to a file with no permission
  raises when writing to a file with no permission
  raises when reading a file with no permission
  raises when reading a file with no permission
  .match?
    * don't match path separator
    * don't match path separator
    special chars
    special chars
    ** matches path separator
    ** matches path separator
    alternates
    alternates
    matches basics
    matches basics
    matches unicode characters
    matches unicode characters
    classes
    classes
    escape
    escape
    classes escapes
    classes escapes
    matches multiple expansions
    matches multiple expansions
  truncate
    truncates
    truncates
    truncates completely when no size is passed
    truncates completely when no size is passed
    requires a file opened for writing
    requires a file opened for writing
  .expand_path
    converts a pathname to an absolute pathname
    converts a pathname to an absolute pathname
  gets basename
  gets basename
  .readlink
    reads link
    reads link
  utime
    raises if file not found
    raises if file not found
    sets times with instance method
    sets times with instance method
    sets times with class method
    sets times with class method
  reads lines from file with chomp = false
  reads lines from file with chomp = false
  raises if invoking tell with a closed file
  raises if invoking tell with a closed file
  opens with perm (int)
  opens with perm (int)
  raises on null byte
    errors on symlink?
    errors on symlink?
    errors on basename
    errors on basename
    errors on directory?
    errors on directory?
    errors on exists?
    errors on exists?
    errors on symlink, second arg
    errors on symlink, second arg
    errors on executable?
    errors on executable?
    errors on rename (second arg)
    errors on rename (second arg)
    errors on symlink, first arg
    errors on symlink, first arg
    errors on file?
    errors on file?
    errors on link, second arg
    errors on link, second arg
    errors on expand_path, first arg
    errors on expand_path, first arg
    errors on extname
    errors on extname
    errors on new
    errors on new
    errors on rename (first arg)
    errors on rename (first arg)
    errors on join
    errors on join
    errors on readable?
    errors on readable?
    errors on link, first arg
    errors on link, first arg
    errors on expand_path, second arg
    errors on expand_path, second arg
    errors on writable?
    errors on writable?
    errors on size
    errors on size
    errors on info?
    errors on info?
    errors on basename 2, first arg
    errors on basename 2, first arg
    errors on basename 2, second arg
    errors on basename 2, second arg
    errors on dirname
    errors on dirname
    errors on delete
    errors on delete
    errors on info
    errors on info
  returns the current write position with tell
  returns the current write position with tell
  gets dirname
  gets dirname
  close
    should not raise when closing twice
    should not raise when closing twice
    is not closed when opening
    is not closed when opening
    does to_s when closed
    does to_s when closed
    is closed when closed
    is closed when closed
  rename
    renames a File instance
    renames a File instance
    replaces a file
    replaces a file
    raises if old file doesn't exist
    raises if old file doesn't exist
    renames a file
    renames a file
  returns the actual position with tell after append
  returns the actual position with tell after append
  locks file opened in append mode (#14702)
  locks file opened in append mode (#14702)
  exists?
    gives false
    gives false
    gives true
    gives true
    follows symlinks
    follows symlinks
    gives false when a component of the path is a file
    gives false when a component of the path is a file
  clears the read buffer after a seek
  clears the read buffer after a seek
  reads entire file from proc virtual filesystem
  reads entire file from proc virtual filesystem
  truncates file opened in append mode (#14702)
  truncates file opened in append mode (#14702)
  #realpath
    raises if file doesn't exist
    raises if file doesn't exist
    expands paths for normal files
    expands paths for normal files
    expands paths of symlinks
    expands paths of symlinks
    expands multiple layers of symlinks
    expands multiple layers of symlinks
  empty?
    gives false when file is not empty
    gives false when file is not empty
    gives true when file is empty
    gives true when file is empty
    raises an error when a component of the path is a file
    raises an error when a component of the path is a file
    raises an error when the file does not exist
    raises an error when the file does not exist
  can navigate with pos
  can navigate with pos
  blocking
    reads non-blocking file
    reads non-blocking file
    opens regular file as blocking
    opens regular file as blocking
    opens regular file as non-blocking
    opens regular file as non-blocking
    writes and reads large non-blocking file
    writes and reads large non-blocking file
    opens fifo file as non-blocking
    opens fifo file as non-blocking
    opens character device
    opens character device
  symlink
    works if destination contains forward slashes (#14520)
    works if destination contains forward slashes (#14520)
    creates a symbolic link
    creates a symbolic link
  reads entire file
  reads entire file
  chmod
    can take File::Permissions
    can take File::Permissions
    changes file permissions with instance method
    changes file permissions with instance method
    raises when destination doesn't exist
    raises when destination doesn't exist
    changes dir permissions
    changes dir permissions
    changes file permissions with class method
    changes file permissions with class method
    follows symlinks
    follows symlinks
  #delete
    deletes
    deletes
  reads lines from file
  reads lines from file
  supports the `b` mode flag
  supports the `b` mode flag
  file?
    gives false when a component of the path is a file
    gives false when a component of the path is a file
    gives false when the file doesn't exist
    gives false when the file doesn't exist
    gives false with dir
    gives false with dir
    gives true
    gives true
  flock
    blocking: false
      #flock_exclusive soft blocking fiber
      #flock_exclusive soft blocking fiber
      #flock_shared soft blocking fiber
      #flock_shared soft blocking fiber
      #flock_shared
      #flock_shared
    blocking: true
      #flock_shared
      #flock_shared
      #flock_shared soft blocking fiber
      #flock_shared soft blocking fiber
      #flock_exclusive soft blocking fiber
      #flock_exclusive soft blocking fiber
    #flock_exclusive
    #flock_exclusive
  write
    raises if trying to write to a file not opened for writing
    raises if trying to write to a file not opened for writing
    can write to a file
    can write to a file
    writes bytes
    writes bytes
    can create a new file in append mode
    can create a new file in append mode
    writes io
    writes io
    can append to an existing file
    can append to an existing file
  does not overwrite existing content in append mode
  does not overwrite existing content in append mode
  .same_content?
    compares two different files
    compares two different files
    compares two equal files
    compares two equal files
  symlink?
    gives false when the symlink doesn't exist
    gives false when the symlink doesn't exist
    gives false when a component of the path is a file
    gives false when a component of the path is a file
    gives false
    gives false
  reads lines from file with each
  reads lines from file with each
  gets path
  gets path
  returns the current read position with tell
  returns the current read position with tell
  .delete
    deletes a read-only file
    deletes a read-only file
    deletes a file
    deletes a file
    deletes an open file
    deletes an open file
    raises when file doesn't exist
    raises when file doesn't exist
    deletes? a file
    deletes? a file
    deletes a symlink directory
    deletes a symlink directory
  same?
    compares following symlinks only if requested
    compares following symlinks only if requested
  does to_s and inspect
  does to_s and inspect
  constructs a path from parts
  constructs a path from parts
  raises if opening a non-existent file
  raises if opening a non-existent file
  File::Permissions
    does to_s
    does to_s
  iterates with each_char
  iterates with each_char
  .touch
    touches existing
      directory
      directory
      file
      file
    raises if path contains non-existent directory
    raises if path contains non-existent directory
    creates file if it doesn't exist
    creates file if it doesn't exist
    sets file times to given time
    sets file times to given time
    sets file times to current time if no time argument given
    sets file times to current time if no time argument given
    raises if file cannot be accessed
    raises if file cannot be accessed
  gets extname
  gets extname
  seeks from the current position
  seeks from the current position
  reads lines from file with each, chomp = false
  reads lines from file with each, chomp = false
  chown
  chown
  directory?
    gives false
    gives false
    gives true
    gives true
    gives false when the directory doesn't exist
    gives false when the directory doesn't exist
    gives false when a component of the path is a file
    gives false when a component of the path is a file
  gets basename removing suffix
  gets basename removing suffix
Float
  does infinite?
  does infinite?
  #next_float
    does for f64
    does for f64
    does for f32
    does for f32
  #prev_float
    does for f32
    does for f32
    does for f64
    does for f64
  **
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  hash
    does for Float64
    does for Float64
    does for Float32
    does for Float32
  round
    assert
    assert
    assert
    assert
    assert
    assert
  remainder
    preserves type
    preserves type
    assert
    assert
    assert
    assert
    raises when mods by zero
    raises when mods by zero
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  floor division //
    applies floor
    applies floor
    preserves type of lhs
    preserves type of lhs
  clones
  clones
  #inspect
    does inspect for f64 with IO
    does inspect for f64 with IO
    does inspect for f64
    does inspect for f64
    does inspect for f32
    does inspect for f32
    does inspect for f32
    does inspect for f32
  does nan?
  does nan?
  does finite?
  does finite?
  constants have right binary value
  constants have right binary value
  does unary -
  does unary -
  fdiv
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  converts infinity
  converts infinity
  ceil
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #abs
  #abs
  #to_s
    does to_s for f32
    does to_s for f32
    does to_s for f64
    does to_s for f64
  divmod
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #integer?
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  %
    uses modulo behavior, not remainder behavior
    uses modulo behavior, not remainder behavior
  returns nil in <=> for NaN values (Float32)
  returns nil in <=> for NaN values (Float32)
  modulo
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    raises when mods by zero
    raises when mods by zero
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  returns nil in <=> for NaN values (Float64)
  returns nil in <=> for NaN values (Float64)
  .new
    fallback overload
    fallback overload
    String overload
    String overload
  floor
    assert
    assert
    assert
    assert
ARGV
  accepts UTF-8 command-line arguments
  accepts UTF-8 command-line arguments
Int
  #rotate_right
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  does %
  does %
  "#times for UInt32 (#5019)" yielding
  "#times for UInt32 (#5019)" yielding
  #to_unsigned!
    does for Int16
    does for Int16
    does for Int128
    does for Int128
    does for UInt128
    does for UInt128
    does for UInt64
    does for UInt64
    does for Int32
    does for Int32
    does for Int64
    does for Int64
    does for UInt16
    does for UInt16
    does for UInt32
    does for UInt32
    does for UInt8
    does for UInt8
    does for Int8
    does for Int8
  #popcount
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #to_unsigned
    does for Int8
    does for Int8
    does for UInt128
    does for UInt128
    does for Int128
    does for Int128
    does for Int32
    does for Int32
    does for UInt64
    does for UInt64
    does for Int64
    does for Int64
    does for Int16
    does for Int16
    does for UInt8
    does for UInt8
    does for UInt32
    does for UInt32
    does for UInt16
    does for UInt16
  arithmetic division /
    divides negative numbers
    divides negative numbers
    divides Int::MIN by -1
    divides Int::MIN by -1
    divides by zero
    divides by zero
  upto iterator ups and downs
  upto iterator ups and downs
  #to_signed
    does for UInt128
    does for UInt128
    does for Int64
    does for Int64
    does for UInt32
    does for UInt32
    does for UInt64
    does for UInt64
    does for Int8
    does for Int8
    does for Int128
    does for Int128
    does for UInt8
    does for UInt8
    does for UInt16
    does for UInt16
    does for Int16
    does for Int16
    does for Int32
    does for Int32
  #unsafe_chr
  #unsafe_chr
  lcm
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    doesn't silently overflow
    doesn't silently overflow
  gcd
    assert
    assert
    doesn't silently overflow
    doesn't silently overflow
    assert
    assert
    raises on too big result to fit in result type
    raises on too big result to fit in result type
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  does downto
  does downto
  tdivs
  tdivs
  downto iterator ups and downs
  downto iterator ups and downs
  abs
    does for unsigned
    does for unsigned
    does for signed
    does for signed
  floor division //
    preserves type of lhs
    preserves type of lhs
    divides negative numbers
    divides negative numbers
  pred
    assert
    assert
    assert
    assert
    assert
    assert
  #bits
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    raises when invalid indexes are provided
    raises when invalid indexes are provided
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #chr
  #chr
  raises when divides Int::MIN by -1
  raises when divides Int::MIN by -1
  fdiv
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #to_signed!
    does for Int64
    does for Int64
    does for Int8
    does for Int8
    does for UInt32
    does for UInt32
    does for UInt64
    does for UInt64
    does for Int16
    does for Int16
    does for Int128
    does for Int128
    does for UInt16
    does for UInt16
    does for Int32
    does for Int32
    does for UInt128
    does for UInt128
    does for UInt8
    does for UInt8
  gets upto iterator max
  gets upto iterator max
  **
    with positive Int32
    with positive Int32
    should work with large integers
    should work with large integers
    raises with negative exponent
    raises with negative exponent
    with positive UInt8
    with positive UInt8
    with float
      assert
      assert
      assert
      assert
      assert
      assert
  #to_s
    precision parameter
      converts 0 to "0" * 200
      converts 0 to "0" * 200
      converts -1 to "-#{"0" * 199}1"
      converts -1 to "-#{"0" * 199}1"
      converts 1 to "1"
      converts 1 to "1"
      converts 1 to "01"
      converts 1 to "01"
      converts 123 to "123"
      converts 123 to "123"
      converts 0 to "00000"
      converts 0 to "00000"
      converts 9223372036854775807_i64 to "#{"0" * 137}#{"1" * 63}"
      converts 9223372036854775807_i64 to "#{"0" * 137}#{"1" * 63}"
      converts 1 to "1"
      converts 1 to "1"
      converts 1 to "00001"
      converts 1 to "00001"
      converts 9223372036854775807_i64 to "#{"1" * 63}"
      converts 9223372036854775807_i64 to "#{"1" * 63}"
      converts 123 to "123"
      converts 123 to "123"
      converts 2 to "#{"0" * 199}2"
      converts 2 to "#{"0" * 199}2"
      converts -9223372036854775808_i64 to "-#{"0" * 136}1#{"0" * 63}"
      converts -9223372036854775808_i64 to "-#{"0" * 136}1#{"0" * 63}"
      converts 0 to "0"
      converts 0 to "0"
      converts 1 to "#{"0" * 199}1"
      converts 1 to "#{"0" * 199}1"
      converts -9223372036854775808_i64 to "-01#{"0" * 63}"
      converts -9223372036854775808_i64 to "-01#{"0" * 63}"
      converts -1 to "-1"
      converts -1 to "-1"
      converts 123 to "#{"0" * 197}123"
      converts 123 to "#{"0" * 197}123"
      raises on negative precision
      raises on negative precision
      converts -1 to "-00001"
      converts -1 to "-00001"
      converts -9223372036854775808_i64 to "-1#{"0" * 63}"
      converts -9223372036854775808_i64 to "-1#{"0" * 63}"
      converts 0 to ""
      converts 0 to ""
      converts 2 to "2"
      converts 2 to "2"
      converts 2 to "02"
      converts 2 to "02"
      converts 9223372036854775807_i64 to "#{"1" * 63}"
      converts 9223372036854775807_i64 to "#{"1" * 63}"
      converts 9223372036854775807_i64 to "0#{"1" * 63}"
      converts 9223372036854775807_i64 to "0#{"1" * 63}"
      converts 2 to "2"
      converts 2 to "2"
      converts 123 to "123"
      converts 123 to "123"
      converts 0 to "00"
      converts 0 to "00"
      converts -1 to "-01"
      converts -1 to "-01"
      converts -9223372036854775808_i64 to "-1#{"0" * 63}"
      converts -9223372036854775808_i64 to "-1#{"0" * 63}"
      converts 123 to "00123"
      converts 123 to "00123"
      converts -1 to "-1"
      converts -1 to "-1"
      converts 2 to "00002"
      converts 2 to "00002"
    converts 1 to "1"
    converts 1 to "1"
    converts 0 to "0"
    converts 0 to "0"
    extrema for various int sizes
      converts -32768_i16 to "-32768"
      converts -32768_i16 to "-32768"
      converts 65535_u16 to "65535"
      converts 65535_u16 to "65535"
      converts Int128::MIN to "-170141183460469231731687303715884105728"
      converts Int128::MIN to "-170141183460469231731687303715884105728"
      converts 9223372036854775807_i64 to "9223372036854775807"
      converts 9223372036854775807_i64 to "9223372036854775807"
      converts 18446744073709551615_u64 to "18446744073709551615"
      converts 18446744073709551615_u64 to "18446744073709551615"
      converts 255_u8 to "255"
      converts 255_u8 to "255"
      converts Int128::MAX to "170141183460469231731687303715884105727"
      converts Int128::MAX to "170141183460469231731687303715884105727"
      converts 127_i8 to "127"
      converts 127_i8 to "127"
      converts -9223372036854775808_i64 to "-9223372036854775808"
      converts -9223372036854775808_i64 to "-9223372036854775808"
      converts 32767_i16 to "32767"
      converts 32767_i16 to "32767"
      converts UInt128::MAX to "340282366920938463463374607431768211455"
      converts UInt128::MAX to "340282366920938463463374607431768211455"
      converts -128_i8 to "-128"
      converts -128_i8 to "-128"
      converts -2147483648 to "-2147483648"
      converts -2147483648 to "-2147483648"
      converts 2147483647 to "2147483647"
      converts 2147483647 to "2147483647"
      converts 4294967295_u32 to "4294967295"
      converts 4294967295_u32 to "4294967295"
    base and upcase parameters
      converts 61 to "Z"
      converts 61 to "Z"
      converts -12 to "-1100"
      converts -12 to "-1100"
      converts -1234 to "-ya"
      converts -1234 to "-ya"
      converts -1234 to "-4d2"
      converts -1234 to "-4d2"
      converts 0 to "0"
      converts 0 to "0"
      converts 1 to "1"
      converts 1 to "1"
      converts -1234 to "-YA"
      converts -1234 to "-YA"
      raises on base 1
      raises on base 1
      converts 1234 to "4d2"
      converts 1234 to "4d2"
      converts 0 to "0"
      converts 0 to "0"
      converts 0 to "0"
      converts 0 to "0"
      converts 36 to "A"
      converts 36 to "A"
      raises on base 62 with upcase
      raises on base 62 with upcase
      converts 12 to "1100"
      converts 12 to "1100"
      converts 3843 to "ZZ"
      converts 3843 to "ZZ"
      converts 10 to "a"
      converts 10 to "a"
      converts 1234 to "YA"
      converts 1234 to "YA"
      converts Int128::MIN to "-1#{"0" * 127}"
      converts Int128::MIN to "-1#{"0" * 127}"
      converts -1234 to "-4D2"
      converts -1234 to "-4D2"
      converts 1 to "1"
      converts 1 to "1"
      converts 35 to "z"
      converts 35 to "z"
      converts 97 to "1z"
      converts 97 to "1z"
      converts 1 to "1"
      converts 1 to "1"
      converts 62 to "10"
      converts 62 to "10"
      raises on base 37
      raises on base 37
      converts 1234 to "ya"
      converts 1234 to "ya"
      converts -123456 to "-11110001001000000"
      converts -123456 to "-11110001001000000"
      converts 1234 to "4D2"
      converts 1234 to "4D2"
  divisible_by?
    assert
    assert
    assert
    assert
  returns 0 when doing IntN::MIN % -1 (#8306)
  returns 0 when doing IntN::MIN % -1 (#8306)
  #integer?
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  step
    steps through limit
    steps through limit
  ~
    assert
    assert
    assert
    assert
  .new
    fallback overload
    fallback overload
    String overload
    String overload
  #byte_swap
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  does upto
  does upto
  #neg_signed
    does not overflow on Int32::MIN.abs_unsigned
    does not overflow on Int32::MIN.abs_unsigned
    does for Int64
    does for Int64
    does for UInt128
    does for UInt128
    does for UInt32
    does for UInt32
    does for Int128
    does for Int128
    does for UInt8
    does for UInt8
    does for Int32
    does for Int32
    does for Int16
    does for Int16
    does for UInt64
    does for UInt64
    does for UInt16
    does for UInt16
    does for Int8
    does for Int8
    does not overflow on Int128::MIN.abs_unsigned
    does not overflow on Int128::MIN.abs_unsigned
    does not overflow on Int16::MIN.abs_unsigned
    does not overflow on Int16::MIN.abs_unsigned
    does not overflow on Int64::MIN.abs_unsigned
    does not overflow on Int64::MIN.abs_unsigned
    does not overflow on Int8::MIN.abs_unsigned
    does not overflow on Int8::MIN.abs_unsigned
  raises when mods by zero
  raises when mods by zero
  gets downto iterator unsigned
  gets downto iterator unsigned
  holds true that x == q*y + r
  holds true that x == q*y + r
  &**
    works with large integers
    works with large integers
    wraps with larger integers
    wraps with larger integers
    with UInt8
    with UInt8
    raises with negative exponent
    raises with negative exponent
    with positive Int32
    with positive Int32
  "#times" yielding
  "#times" yielding
  #inspect
    doesn't append the type using IO
    doesn't append the type using IO
    doesn't append the type
    doesn't append the type
  gets upto iterator
  gets upto iterator
  does downto min
  does downto min
  #bit_reverse
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  divmod
    assert
    assert
  gets to iterator
  gets to iterator
  #===(:Char)
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  odd?
    assert
    assert
    assert
    assert
  does downto min unsigned
  does downto min unsigned
  compares signed vs. unsigned integers
  compares signed vs. unsigned integers
  "#times" iterator
  "#times" iterator
  bit
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #trailing_zeros_count
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  % doesn't overflow (#7979)
  % doesn't overflow (#7979)
  #rotate_left
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  compares equality and inequality of signed vs. unsigned integers
  compares equality and inequality of signed vs. unsigned integers
  #abs_unsigned
    does for UInt8
    does for UInt8
    does for Int8
    does for Int8
    does for Int128
    does for Int128
    does not overflow on Int128::MIN
    does not overflow on Int128::MIN
    does for Int64
    does for Int64
    does for UInt32
    does for UInt32
    does for Int16
    does for Int16
    does for UInt128
    does for UInt128
    does for Int32
    does for Int32
    does not overflow on Int8::MIN
    does not overflow on Int8::MIN
    does for UInt64
    does for UInt64
    does not overflow on Int64::MIN
    does not overflow on Int64::MIN
    does for UInt16
    does for UInt16
    does not overflow on Int16::MIN
    does not overflow on Int16::MIN
    does not overflow on Int32::MIN
    does not overflow on Int32::MIN
  <<
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  gets downto iterator
  gets downto iterator
  succ
    assert
    assert
    assert
    assert
    assert
    assert
  returns 0 when doing IntN::MIN.remainder(-1) (#8306)
  returns 0 when doing IntN::MIN.remainder(-1) (#8306)
  even?
    assert
    assert
    assert
    assert
  "#times for UInt32 (#5019)" iterator
  "#times for UInt32 (#5019)" iterator
  does upto max
  does upto max
  #digits
    works for non-Int32
    works for non-Int32
    works for positive numbers or zero
    works for positive numbers or zero
    works with a base
    works with a base
    raises for invalid base
    raises for invalid base
    raises for negative numbers
    raises for negative numbers
    works for maximums
    works for maximums
  raises when divides by zero
  raises when divides by zero
  #leading_zeros_count
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  >>
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  clones
  clones
  #bit_length
    for primitive integers
    for primitive integers
    for BigInt
    for BigInt
  does remainder
  does remainder
  to
    does downwards
    does downwards
    does upwards
    does upwards
    does when same
    does when same
Compress::Zlib::Writer
  can be closed without sync
  can be closed without sync
  can be closed with sync (2)
  can be closed with sync (2)
  can be flushed
  can be flushed
  can be closed with sync (1)
  can be closed with sync (1)
  should be able to write
  should be able to write
Process.find_executable
  fails to find '/tmp/cr-spec-abc463dd/find_executable/base/inbase/'
  fails to find '/tmp/cr-spec-abc463dd/find_executable/base/inbase/'
  fails to find 'inbase/'
  fails to find 'inbase/'
  fails to find 'inbase'
  fails to find 'inbase'
  fails to find './inpath'
  fails to find './inpath'
  fails to find 'not_exe'
  fails to find 'not_exe'
  finds '../base/inbase' as 'inbase'
  finds '../base/inbase' as 'inbase'
  fails to find '.'
  fails to find '.'
  fails to find './not_exe'
  fails to find './not_exe'
  finds '/tmp/cr-spec-abc463dd/find_executable/base/inbase' as 'inbase'
  finds '/tmp/cr-spec-abc463dd/find_executable/base/inbase' as 'inbase'
  fails to find 'sub/insub/'
  fails to find 'sub/insub/'
  fails to find './sub'
  fails to find './sub'
  finds './inbase' as 'inbase'
  finds './inbase' as 'inbase'
  fails to find ''
  fails to find ''
  fails to find 'sub'
  fails to find 'sub'
  finds 'inpath' as '../path/inpath'
  finds 'inpath' as '../path/inpath'
  fails to find '/tmp/cr-spec-abc463dd/find_executable/base/sub'
  fails to find '/tmp/cr-spec-abc463dd/find_executable/base/sub'
  finds 'sub/insub' as 'sub/insub'
  finds 'sub/insub' as 'sub/insub'
  fails to find 'sub/not_exe'
  fails to find 'sub/not_exe'
Process
  .parse_arguments_windows
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    raises an error if double quote is unclosed
    raises an error if double quote is unclosed
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  .quote_posix
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    join
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    assert
    assert
  .parse_arguments_posix
    assert
    assert
    raises an error when double quote is unclosed
    raises an error when double quote is unclosed
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    raises an error if single quote is unclosed
    raises an error if single quote is unclosed
  .executable_path
    searches executable
    searches executable
  .quote_windows
    assert
    assert
    assert
    assert
    join
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  .parse_arguments
    uses the native platform rules
    uses the native platform rules
BigInt
  adds
  adds
  #bit
  #bit
  can use Number::[]
  can use Number::[]
  #divisible_by?
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  exponentiates
  exponentiates
  raises if creating from infinity
  raises if creating from infinity
  raises if factorial of negative
  raises if factorial of negative
  creates from unsigned ints
  creates from unsigned ints
  does gcd and lcm
  does gcd and lcm
  #to_u128!
    converts to UInt128
    converts to UInt128
    converts modulo (2 ** 128)
    converts modulo (2 ** 128)
  negates
  negates
  #to_i8
    converts to Int8
    converts to Int8
    raises OverflowError
    raises OverflowError
  #integer?
    assert
    assert
    assert
    assert
  #trailing_zeros_count
  #trailing_zeros_count
  #to_u32!
    converts modulo (2 ** 32)
    converts modulo (2 ** 32)
    converts to UInt32
    converts to UInt32
  #to_i!
    converts to Int32
    converts to Int32
  multiplies
  multiplies
  tdivs
  tdivs
  #to_i
    converts to Int32
    converts to Int32
  does modulo with negative numbers
  does modulo with negative numbers
  #to_u64
    raises OverflowError
    raises OverflowError
    converts to UInt64
    converts to UInt64
  #to_u8!
    converts to UInt8
    converts to UInt8
    converts modulo (2 ** 8)
    converts modulo (2 ** 8)
  #to_u128
    converts to UInt128
    converts to UInt128
    raises OverflowError
    raises OverflowError
  subs
  subs
  #to_u16!
    converts modulo (2 ** 16)
    converts modulo (2 ** 16)
    converts to UInt16
    converts to UInt16
  #to_u!
    converts to UInt32
    converts to UInt32
  #to_i16
    converts to Int16
    converts to Int16
    raises OverflowError
    raises OverflowError
  does bitwise not
  does bitwise not
  has unsafe_shr (#8691)
  has unsafe_shr (#8691)
  does remainder with negative numbers
  does remainder with negative numbers
  does String#to_big_i
  does String#to_big_i
  compares against float
  compares against float
  does to_big_f
  does to_big_f
  creates from signed ints
  creates from signed ints
  #to_i8!
    converts modulo (2 ** 8)
    converts modulo (2 ** 8)
    converts to Int8
    converts to Int8
  divides
  divides
  #to_i32
    raises OverflowError
    raises OverflowError
    converts to Int32
    converts to Int32
  creates from string
  creates from string
  compares
  compares
  #digits
    raises for invalid base
    raises for invalid base
    works for positive numbers or zero
    works for positive numbers or zero
    raises for negative numbers
    raises for negative numbers
    works with a base
    works with a base
  raises if creating from NaN
  raises if creating from NaN
  #to_s
    precision parameter
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    base and upcase parameters
      assert
      assert
      raises on base 1
      raises on base 1
      assert
      assert
      assert
      assert
      assert
      assert
      raises on base 37
      raises on base 37
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      raises on base 62 with upcase
      raises on base 62 with upcase
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
  raises if mods by zero
  raises if mods by zero
  #to_u16
    raises OverflowError
    raises OverflowError
    converts to UInt16
    converts to UInt16
  does bitwise and
  does bitwise and
  gets factorial value
  gets factorial value
  clones
  clones
  #to_u8
    raises OverflowError
    raises OverflowError
    converts to UInt8
    converts to UInt8
  #humanize_bytes
    assert
    assert
    assert
    assert
  divides with negative numbers
  divides with negative numbers
  raises if factorial of 2^64
  raises if factorial of 2^64
  raises if divides by zero
  raises if divides by zero
  creates with a value of zero
  creates with a value of zero
  raises if creates from string but invalid
  raises if creates from string but invalid
  #to_i64
    converts to Int64
    converts to Int64
    raises OverflowError
    raises OverflowError
  #to_i16!
    converts modulo (2 ** 16)
    converts modulo (2 ** 16)
    converts to Int16
    converts to Int16
  creates from float
  creates from float
  #hash
  #hash
  #to_u
    converts to UInt32
    converts to UInt32
  #to_i64!
    converts to Int64
    converts to Int64
    converts modulo (2 ** 64)
    converts modulo (2 ** 64)
  #to_u64!
    converts to UInt64
    converts to UInt64
    converts modulo (2 ** 64)
    converts modulo (2 ** 64)
  raises if divides by zero
  raises if divides by zero
  does bitwise left shift
  does bitwise left shift
  #to_i128!
    converts modulo (2 ** 128)
    converts modulo (2 ** 128)
    converts to Int128
    converts to Int128
  does modulo
  does modulo
  #to_i32!
    converts modulo (2 ** 32)
    converts modulo (2 ** 32)
    converts to Int32
    converts to Int32
  divides with negative numbers
  divides with negative numbers
  #inspect
    assert
    assert
  #to_i128
    raises OverflowError
    raises OverflowError
    converts to Int128
    converts to Int128
  divides
  divides
  does bitwise or
  does bitwise or
  gets absolute value
  gets absolute value
  does bitwise xor
  does bitwise xor
  does popcount
  does popcount
  #to_u32
    converts to UInt32
    converts to UInt32
    raises OverflowError
    raises OverflowError
  does bitwise right shift
  does bitwise right shift
  divides and calculates the modulo
  divides and calculates the modulo
Spec::Methods
  .assert_iterates_yielding
    tuple
    tuple
    less than expected elements
    less than expected elements
    ensures type equality
    ensures type equality
    infinite
    infinite
    more than expected elements
    more than expected elements
    basic
    basic
  .assert_iterates_iterator
    less than expected elements
    less than expected elements
    ensures type equality
    ensures type equality
    basic
    basic
    more than expected elements
    more than expected elements
    infinite
    infinite
    tuple
    tuple
YAML::Schema::FailSafe
  raises on parse all ":"
  raises on parse all ":"
  raises on parse all "\n    this: \"raises\"\n      an: \"yaml\"\n        parse: \"exception\"\n  "
  raises on parse all "\n    this: \"raises\"\n      an: \"yaml\"\n        parse: \"exception\"\n  "
  raises on parse "\n    this: \"gives\"\n      an: \"error\"\n  "
  raises on parse "\n    this: \"gives\"\n      an: \"error\"\n  "
  parses "\n    context:\n        replace_me: \"Yes please!\"\n  "
  parses "\n    context:\n        replace_me: \"Yes please!\"\n  "
  parses "123"
  parses "123"
  parses all "\n    context:\n        replace_me: \"Yes please!\"\n  "
  parses all "\n    context:\n        replace_me: \"Yes please!\"\n  "
  raises on parse ":"
  raises on parse ":"
  parses "321"
  parses "321"
  parses "\n    first:\n      document:\n\n    second:\n      document:\n  "
  parses "\n    first:\n      document:\n\n    second:\n      document:\n  "
  parses all "\n    foo:\n      bar: 123\n\n    bar:\n      foo: 321\n  "
  parses all "\n    foo:\n      bar: 123\n\n    bar:\n      foo: 321\n  "
Log::ShortFormat
  appends the exception
  appends the exception
  shows the context data
  shows the context data
  formats an entry
  formats an entry
  shows context and entry data
  shows context and entry data
  hides the source if empty
  hides the source if empty
Atomic(T)
  #max with signed enum
  #max with signed enum
  #max with pointer type
  #max with pointer type
  #min with signed
  #min with signed
  #xor
  #xor
  #compare_and_set
    with integer
    with integer
    with pointer
    with pointer
    with reference union
    with reference union
    with bool
    with bool
    explicit ordering
    explicit ordering
    with nilable reference
    with nilable reference
    with enum
    with enum
    with flags enum
    with flags enum
    with reference type
    with reference type
  #min with signed enum
  #min with signed enum
  #adds
  #adds
  #max with unsigned
  #max with unsigned
  #and
  #and
  #min with unsigned
  #min with unsigned
  #sub
  #sub
  #swap
    with integer
    with integer
    with reference union
    with reference union
    explicit ordering
    explicit ordering
    with reference type
    with reference type
    with bool
    with bool
    with nilable reference
    with nilable reference
    with pointer type
    with pointer type
  #nand
  #nand
  #min with pointer type
  #min with pointer type
  atomic bool
    sizeof
    sizeof
    gets and sets
    gets and sets
  #or
  #or
  #set
    with integer
    with integer
    with pointer type
    with pointer type
    explicit ordering
    explicit ordering
    with bool
    with bool
    with nil (#4062)
    with nil (#4062)
  #max with signed
  #max with signed
  #lazy_set
  #lazy_set
OpenSSL::SSL::Socket
  closes connection to server that doesn't properly terminate SSL session
  closes connection to server that doesn't properly terminate SSL session
  returns the peer certificate
  returns the peer certificate
  accepts clients that only write then close the connection
  accepts clients that only write then close the connection
  interprets graceful EOF of underlying socket as SSL termination
  interprets graceful EOF of underlying socket as SSL termination
  returns selected alpn protocol
  returns selected alpn protocol
  returns the TLS version
  returns the TLS version
  returns the cipher that is currently in use
  returns the cipher that is currently in use
__floattidf
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
  passes compiler-rt builtins unit tests
record
  can copy_with record with parent type
  can copy_with record with parent type
  uses the default values on the ivars
  uses the default values on the ivars
  can clone record with parent type
  can clone record with parent type
  defines record with type declaration and initialization
  defines record with type declaration and initialization
  defines record with type declarations
  defines record with type declarations
  defines record with assignments
  defines record with assignments
IO::ByteFormat
  big endian
    decode
      from slice
        reads float64
        reads float64
        reads float32
        reads float32
        reads int16
        reads int16
        reads int8
        reads int8
      from io
        reads float32
        reads float32
        reads unt16
        reads unt16
        reads int8
        reads int8
        reads int16
        reads int16
        reads int32
        reads int32
        reads float64
        reads float64
        reads int64
        reads int64
    encode
      writes float64
      writes float64
      writes int16
      writes int16
      writes int8
      writes int8
      writes int64
      writes int64
      writes float32
      writes float32
      writes int32
      writes int32
  little endian
    encode
      to slice
        writes int16 to larger slice
        writes int16 to larger slice
        writes int8
        writes int8
        writes int16
        writes int16
      to io
        writes float32
        writes float32
        writes int32
        writes int32
        writes float64
        writes float64
        writes int8
        writes int8
        writes int16
        writes int16
        writes uint16
        writes uint16
        writes int64
        writes int64
    decode
      from io
        reads int16
        reads int16
        reads float32
        reads float32
        reads int64
        reads int64
        reads float64
        reads float64
        reads int8
        reads int8
        reads int32
        reads int32
        reads unt16
        reads unt16
      from slice
        reads int16
        reads int16
        reads float32
        reads float32
        reads int16 from larger slice
        reads int16 from larger slice
        reads int8
        reads int8
        reads float64
        reads float64
Random::Secure
  returns a random integer in range (#8219)
  returns a random integer in range (#8219)
  fully fills a large buffer
  fully fills a large buffer
  returns random number from a secure system source
  returns random number from a secure system source
HTTP::Request
  doesn't raise on request with multiple Content_length headers
  doesn't raise on request with multiple Content_length headers
  serialize GET (with cookie)
  serialize GET (with cookie)
  serialize POST (with bytes body)
  serialize POST (with bytes body)
  #path
    returns parsed path
    returns parsed path
    falls back to /
    falls back to /
  .from_io
    handles malformed request
    handles malformed request
    parses empty string (EOF), returns nil (no peek)
    parses empty string (EOF), returns nil (no peek)
    parses POST (with body)
    parses POST (with body)
    handles unsupported HTTP version
    handles unsupported HTTP version
    headers are case insensitive
    headers are case insensitive
    parses GET
    parses GET
    stores normalized case for common header name (capitalized) (#8060)
    stores normalized case for common header name (capitalized) (#8060)
    parses GET with query params
    parses GET with query params
    parses GET with spaces in request line
    parses GET with spaces in request line
    parses empty header
    parses empty header
    stores normalized case for common header name (mixed) (#8060)
    stores normalized case for common header name (mixed) (#8060)
    parses empty string (EOF), returns nil
    parses empty string (EOF), returns nil
    long headers
      fails for too-long headers with custom size
      fails for too-long headers with custom size
      fails for too-long headers
      fails for too-long headers
      handles long headers with custom size
      handles long headers with custom size
      handles long headers
      handles long headers
    stores normalized case for common header name (lowercase) (#8060)
    stores normalized case for common header name (lowercase) (#8060)
    long single header
      fails for too-long header
      fails for too-long header
      handles long header
      handles long header
    parses GET without \r
    parses GET without \r
    parses GET with cookie
    parses GET with cookie
    parses GET (just \n instead of \r\n)
    parses GET (just \n instead of \r\n)
    long request lines
      fails for too-long URI with custom size
      fails for too-long URI with custom size
      handles long URI
      handles long URI
      handles long URI with custom size
      handles long URI with custom size
      fails for too-long URI
      fails for too-long URI
  #if_match
    reads single value
    reads single value
    reads multiple values
    reads multiple values
    reads *
    reads *
  keep-alive
    is false in HTTP/1.1 if `Connection: close` header is present
    is false in HTTP/1.1 if `Connection: close` header is present
    is true by default in HTTP/1.1
    is true by default in HTTP/1.1
    is true in HTTP/1.0 if `Connection: keep-alive` header is present
    is true in HTTP/1.0 if `Connection: keep-alive` header is present
    is false by default in HTTP/1.0
    is false by default in HTTP/1.0
  raises if serializing POST body with incorrect content-length (less then real)
  raises if serializing POST body with incorrect content-length (less then real)
  #path=
    updates serialized form
    updates serialized form
    updates @resource
    updates @resource
    sets path
    sets path
  serialize GET (with cookies, from headers)
  serialize GET (with cookies, from headers)
  #host_with_port
    gets request host with port from the headers
    gets request host with port from the headers
  #hostname
    #hostname
    #hostname
    gets request hostname from the headers
    gets request hostname from the headers
  #if_none_match
    reads single value
    reads single value
    reads multiple values
    reads multiple values
    reads *
    reads *
  #form_params
    returns ignors invalid content-type
    returns ignors invalid content-type
    returns can safely be called on get requests
    returns can safely be called on get requests
    returns parsed HTTP::Params
    returns parsed HTTP::Params
  serialize POST (with body)
  serialize POST (with body)
  #query_params
    affects #query when modified
    affects #query when modified
    updates serialized form when modified
    updates serialized form when modified
    happily parses when query is not a canonical url-encoded string
    happily parses when query is not a canonical url-encoded string
    updates @resource when modified
    updates @resource when modified
    is affected when #query is modified
    is affected when #query is modified
    returns parsed URI::Params
    returns parsed URI::Params
  serialize POST (with io body, with content-length header)
  serialize POST (with io body, with content-length header)
  serialize GET (with query params)
  serialize GET (with query params)
  #query=
    updates @resource
    updates @resource
    sets query
    sets query
    updates serialized form
    updates serialized form
  #query
    returns request's query
    returns request's query
  raises if request has multiple and differing content-length headers
  raises if request has multiple and differing content-length headers
  raises if serializing POST body with incorrect content-length (more then real)
  raises if serializing POST body with incorrect content-length (more then real)
  serialize GET
  serialize GET
  serialize POST (with io body, without content-length header)
  serialize POST (with io body, without content-length header)
Compress::Zlib::Reader
  can be closed without sync
  can be closed without sync
  should not freeze when reading empty slice
  should not freeze when reading empty slice
  should not read from empty stream
  should not read from empty stream
  can be closed with sync (2)
  can be closed with sync (2)
  can be closed with sync (1)
  can be closed with sync (1)
  rewinds
  rewinds
  should be able to read
  should be able to read
  should raise buffer error on error (#6575)
  should raise buffer error on error (#6575)
.__lshrti3
.__lshrti3
Socket
  .ip?
  .ip?
  ==
  ==
StringScanner
  #string
    assert
    assert
  #scan
    returns nil if it can't match from the offset
    returns nil if it can't match from the offset
    returns the string matched and advances the offset
    returns the string matched and advances the offset
  #skip
    advances the offset but does not returns the string matched
    advances the offset but does not returns the string matched
  #check_until
    returns the string matched and advances the offset
    returns the string matched and advances the offset
    returns nil if it can't match from the offset
    returns nil if it can't match from the offset
  #eos
    it is true when the offset is at the end
    it is true when the offset is at the end
  #peek
    shows the next len characters without advancing the offset
    shows the next len characters without advancing the offset
  #offset
    returns the current position
    returns the current position
  #rest
    returns the remainder of the string from the offset
    returns the remainder of the string from the offset
  #reset
    resets the scan offset to the beginning and clears the last match
    resets the scan offset to the beginning and clears the last match
  #offset=
    sets the current position
    sets the current position
    raises on negative positions
    raises on negative positions
  #scan_until
    returns nil if it can't match from the offset
    returns nil if it can't match from the offset
    returns the string matched and advances the offset
    returns the string matched and advances the offset
  #skip_until
    advances the offset but does not returns the string matched
    advances the offset but does not returns the string matched
  #[]?
    allows access to subgroups of the last match
    allows access to subgroups of the last match
    raises when there is no subgroup
    raises when there is no subgroup
    returns nil when there is no last match
    returns nil when there is no last match
  #inspect
    works with small strings
    works with small strings
    has information on the scanner
    has information on the scanner
  #check
    returns the string matched but does not advances the offset
    returns the string matched but does not advances the offset
    returns nil if it can't match from the offset
    returns nil if it can't match from the offset
  #terminate
    moves the scan offset to the end of the string and clears the last match
    moves the scan offset to the end of the string and clears the last match
  #[]
    allows access to subgroups of the last match
    allows access to subgroups of the last match
    raises when there is no subgroup
    raises when there is no subgroup
    raises when there is no last match
    raises when there is no last match
unbuffered
  can be closed
  can be closed
  can receive? when closed
  can receive? when closed
  blocks if there is no receiver
  blocks if there is no receiver
  pings
  pings
  deliver many senders
  deliver many senders
  wakes up sender fiber when channel is closed
  wakes up sender fiber when channel is closed
  can be closed after sending
  can be closed after sending
  works with select
  works with select
  can receive? when not empty
  can receive? when not empty
  can be closed from different fiber
  can be closed from different fiber
  can send and receive nil
  can send and receive nil
  wakes up receiver fibers when channel is closed
  wakes up receiver fibers when channel is closed
  cannot send if closed
  cannot send if closed
  can send successfully without raise
  can send successfully without raise
OpenSSL::X509::Certificate
  extension
  extension
  #signature_algorithm
  #signature_algorithm
  subject
  subject
  #digest
  #digest
LLVM::ABI::AVR
  abi_info
    struct args within 18 bytes
    struct args within 18 bytes
    struct args over 18 bytes
    struct args over 18 bytes
    returns struct within 8 bytes
    returns struct within 8 bytes
    multiple arguments
    multiple arguments
    int64
    int64
    double
    double
    int32
    int32
    int1
    int1
    float
    float
    int16
    int16
    multiple arguments above registers
    multiple arguments above registers
    int8
    int8
    returns struct over 8 bytes
    returns struct over 8 bytes
  size
    for struct
    for struct
    for packed struct
    for packed struct
    for pointer
    for pointer
    for integer
    for integer
    for float
    for float
    for array
    for array
    for double
    for double
  align
    for double
    for double
    for packed struct
    for packed struct
    for struct
    for struct
    for integer
    for integer
    for array
    for array
    for float
    for float
    for pointer
    for pointer
Socket::IPAddress
  .parse_v4_fields?
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #==
  #==
  .v4_mapped_v6
    constructs an IPv4-mapped IPv6 address
    constructs an IPv4-mapped IPv6 address
    raises on out of bound port number
    raises on out of bound port number
    constructs from StaticArray
    constructs from StaticArray
    raises on out of bound field
    raises on out of bound field
  .v6
    constructs from StaticArray
    constructs from StaticArray
    raises on out of bound port number
    raises on out of bound port number
    raises on out of bound field
    raises on out of bound field
    constructs an IPv6 address
    constructs an IPv6 address
  .valid_v6?
  .valid_v6?
  #private?
  #private?
  errors on out of range port numbers
  errors on out of range port numbers
  .parse
    parses IPv6
    parses IPv6
    ignores path and params
    ignores path and params
    fails with missing host
    fails with missing host
    fails host name
    fails host name
    fails with missing port
    fails with missing port
    parses IPv4
    parses IPv4
  transforms an IPv6 address into a C struct and back
  transforms an IPv6 address into a C struct and back
  .valid?
  .valid?
  .parse_v6_fields?
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #loopback?
  #loopback?
  transforms an IPv4 address into a C struct and back
  transforms an IPv4 address into a C struct and back
  #unspecified?
  #unspecified?
  #to_s
  #to_s
  .valid_port?
  .valid_port?
  #link_local?
  #link_local?
  .v4
    raises on out of bound field
    raises on out of bound field
    constructs an IPv4 address
    constructs an IPv4 address
    constructs from StaticArray
    constructs from StaticArray
    raises on out of bound port number
    raises on out of bound port number
  .valid_v4?
  .valid_v4?
  #address
  #address
  won't resolve domains
  won't resolve domains
Float64
  #to_hexfloat
    hexits
      assert
      assert
      assert
      assert
    exponents
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    trimming
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    corner cases
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    special cases
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
  .parse_hexfloat
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    special cases
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    values close to zero
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    values close to MIN_POSITIVE and MAX
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    invalid hexfloats
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    round-to-nearest, ties-to-even
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
      assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
IO::Sized
  peeks
  peeks
  gets
  gets
  #close
    closes the underlying stream if sync_close is true
    closes the underlying stream if sync_close is true
    stops reading
    stops reading
  gets with chomp = false
  gets with chomp = false
  skips
  skips
  read_byte
  read_byte
  #read
    allows extending the size
    allows extending the size
    doesn't read past the limit when reading char-by-char
    doesn't read past the limit when reading char-by-char
    doesn't read past the limit when reading the correct size
    doesn't read past the limit when reading the correct size
    raises on negative numbers
    raises on negative numbers
    reads partially when supplied with a larger slice
    reads partially when supplied with a larger slice
  doesn't peek when remaining = 0 (#4261)
  doesn't peek when remaining = 0 (#4261)
  #write
    raises
    raises
Regex::MatchData
  #to_s
  #to_s
  #byte_end
    with unmatched capture
    with unmatched capture
    char index
    char index
  #to_a
    converts into an array
    converts into an array
    converts into an array having nil
    converts into an array having nil
  #pre_match
    returns the part of the string before the match
    returns the part of the string before the match
    works with unicode
    works with unicode
    returns an empty string when there's nothing before
    returns an empty string when there's nothing before
  #to_h
    converts into a hash
    converts into a hash
    converts into a hash with duplicated names
    converts into a hash with duplicated names
    converts into a hash having nil
    converts into a hash having nil
  #string
  #string
  #size
  #size
  #==
  #==
  #begin
    with unmatched capture
    with unmatched capture
    out of range
    out of range
    with capture
    with capture
    no captures
    no captures
    char index
    char index
  #end
    out of range
    out of range
    char index
    char index
    no captures
    no captures
    with capture
    with capture
    with unmatched capture
    with unmatched capture
  #[]
    String
      captures duplicated named group
      captures duplicated named group
      raises exception on optional empty group
      raises exception on optional empty group
      raises exception when named group doesn't exist
      raises exception when named group doesn't exist
      captures empty group
      captures empty group
      capture named group
      capture named group
      named groups with same prefix
      named groups with same prefix
    Range
      can use range
      can use range
      can use start and count
      can use start and count
    Int
      captures empty group
      captures empty group
      raises exception on optional empty group
      raises exception on optional empty group
      raises if outside match range with []
      raises if outside match range with []
      raises if special variable accessed on invalid capture group
      raises if special variable accessed on invalid capture group
      can use negative index
      can use negative index
  #named_captures
    gets more than 127 named captures
    gets more than 127 named captures
    gets a hash of named captures with optional
    gets a hash of named captures with optional
    gets a hash of named captures
    gets a hash of named captures
    gets a hash of named captures with duplicated name
    gets a hash of named captures with duplicated name
  #inspect
  #inspect
  #byte_begin
    char index
    char index
    with unmatched capture
    with unmatched capture
  #pretty_print
  #pretty_print
  #captures
    gets an array of unnamed captures
    gets an array of unnamed captures
    gets an array of unnamed captures with optional
    gets an array of unnamed captures with optional
    doesn't get named captures when there are more than 255
    doesn't get named captures when there are more than 255
  #post_match
    works with unicode
    works with unicode
    returns the part of the string after the match
    returns the part of the string after the match
    returns an empty string when there's nothing after
    returns an empty string when there's nothing after
  #regex
  #regex
  #hash
  #hash
  #[]?
    Range
      can use start and count
      can use start and count
      can use range
      can use range
    Int
      can use negative index
      can use negative index
      returns nil if outside match range with []
      returns nil if outside match range with []
      capture optional empty group
      capture optional empty group
      capture empty group
      capture empty group
    String
      capture empty group
      capture empty group
      capture named group
      capture named group
      capture optional empty group
      capture optional empty group
      returns nil exception when named group doesn't exist
      returns nil exception when named group doesn't exist
      captures duplicated named group
      captures duplicated named group
CSV
  strips
  strips
  gets row values with string
  gets row values with string
  gets row values with regex
  gets row values with regex
  can do new with block
  can do new with block
  works without headers
  works without headers
  rewind
    IO based
      without headers
      without headers
      with headers
      with headers
    string based
      without headers
      without headers
      with headers
      with headers
  raises if trying to access before first row
  raises if trying to access before first row
  returns a Tuple(String, String) for current row with indices
  returns a Tuple(String, String) for current row with indices
  gets row values with integer
  gets row values with integer
  works without headers
  works without headers
  can do each
  can do each
  returns a Tuple(String, String) for current row with headers
  returns a Tuple(String, String) for current row with headers
  gets current row
  gets current row
  gets headers
  gets headers
  returns a Tuple(String, String) for this row with headers
  returns a Tuple(String, String) for this row with headers
  returns a Tuple(String, String) for this row with indices
  returns a Tuple(String, String) for this row with indices
raise
  shouldn't overwrite the callstack on re-raise
  shouldn't overwrite the callstack on re-raise
  should set exception's callstack
  should set exception's callstack
Comparable(T)
  clamp
    number
      clamps integers
      clamps integers
      fails with an exclusive range
      fails with an exclusive range
      clamps floats
      clamps floats
    String
      clamps strings
      clamps strings
  can compare against Int (#2461)
  can compare against Int (#2461)
  checks for nil
  checks for nil
Socket::Address
  .parse
    fails with unknown scheme
    fails with unknown scheme
    accepts URI
    accepts URI
    parses UNIX
    parses UNIX
    parses UDP
    parses UDP
    parses TCP
    parses TCP
URI::Punycode
  encodes Hello-Another-Way-それぞれ to Hello-Another-Way--fc4qua97gba
  encodes Hello-Another-Way-それぞれ to Hello-Another-Way--fc4qua97gba
  decodes Hello-Another-Way--fc4qua05auwb3674vfr0b to Hello-Another-Way-それぞれの場所
  decodes Hello-Another-Way--fc4qua05auwb3674vfr0b to Hello-Another-Way-それぞれの場所
  decodes de-jg4avhby1noc0d to パフィーdeルンバ
  decodes de-jg4avhby1noc0d to パフィーdeルンバ
  translate to ascii only host name
  translate to ascii only host name
  encodes MajiでKoiする5秒前 to MajiKoi5-783gue6qz075azm5e
  encodes MajiでKoiする5秒前 to MajiKoi5-783gue6qz075azm5e
  encodes ひとつ屋根の下2 to 2-u9tlzr9756bt3uc0v
  encodes ひとつ屋根の下2 to 2-u9tlzr9756bt3uc0v
  decodes MajiKoi5-783gue6qz075azm5e to MajiでKoiする5秒前
  decodes MajiKoi5-783gue6qz075azm5e to MajiでKoiする5秒前
  decodes -with-SUPER-MONKEYS-pc58ag80a8qai00g7n9n to 安室奈美恵-with-SUPER-MONKEYS
  decodes -with-SUPER-MONKEYS-pc58ag80a8qai00g7n9n to 安室奈美恵-with-SUPER-MONKEYS
  decodes d9juau41awczczp to そのスピードで
  decodes d9juau41awczczp to そのスピードで
  decodes 3B-ww4c5e180e575a65lsy2b to 3年B組金八先生
  decodes 3B-ww4c5e180e575a65lsy2b to 3年B組金八先生
  encodes 3年B組金八先生 to 3B-ww4c5e180e575a65lsy2b
  encodes 3年B組金八先生 to 3B-ww4c5e180e575a65lsy2b
  decodes Hello-Another-Way--fc4qua97gba to Hello-Another-Way-それぞれ
  decodes Hello-Another-Way--fc4qua97gba to Hello-Another-Way-それぞれ
  encodes 安室奈美恵-with-SUPER-MONKEYS to -with-SUPER-MONKEYS-pc58ag80a8qai00g7n9n
  encodes 安室奈美恵-with-SUPER-MONKEYS to -with-SUPER-MONKEYS-pc58ag80a8qai00g7n9n
  encodes Hello-Another-Way-それぞれの場所 to Hello-Another-Way--fc4qua05auwb3674vfr0b
  encodes Hello-Another-Way-それぞれの場所 to Hello-Another-Way--fc4qua05auwb3674vfr0b
  encodes そのスピードで to d9juau41awczczp
  encodes そのスピードで to d9juau41awczczp
  encodes パフィーdeルンバ to de-jg4avhby1noc0d
  encodes パフィーdeルンバ to de-jg4avhby1noc0d
  decodes 2-u9tlzr9756bt3uc0v to ひとつ屋根の下2
  decodes 2-u9tlzr9756bt3uc0v to ひとつ屋根の下2
Thread
  allows passing an argumentless fun to execute
  allows passing an argumentless fun to execute
  names the thread
  names the thread
  yields the processor
  yields the processor
  returns current thread object
  returns current thread object
  raises inside thread and gets it on join
  raises inside thread and gets it on join
BigRational
  #denominator
  #denominator
  #to_big_r
  #to_big_r
  #%
  #%
  #to_f
  #to_f
  #to_f!
  #to_f!
  #*
  #*
  is a number
  is a number
  clones
  clones
  #floor
  #floor
  #ceil
  #ceil
  #//
  #//
  #to_f64!
  #to_f64!
  #format
  #format
  #to_s
  #to_s
  #round
    rounding modes
      to_negative
      to_negative
      default (=ties_even)
      default (=ties_even)
      to_zero
      to_zero
      ties_away
      ties_away
      to_positive
      to_positive
      ties_even
      ties_even
  #+
  #+
  Float64#to_big_r
  Float64#to_big_r
  #to_f32!
  #to_f32!
  #tdiv
  #tdiv
  BigDecimal#to_big_r
  BigDecimal#to_big_r
  .new
    initializes from BigFloat with high precision
    initializes from BigFloat with high precision
    raises if creating from infinity
    raises if creating from infinity
    raises if creating from NaN
    raises if creating from NaN
    initialize
    initialize
  #remainder
  #remainder
  #-
  #-
  #<<
  #<<
  #to_f32
  #to_f32
  #>>
  #>>
  Int#to_big_r
  Int#to_big_r
  #- (negation)
  #- (negation)
  #abs
  #abs
  Float32#to_big_r
  Float32#to_big_r
  #inspect
    assert
    assert
  #<=>
    Float and Comparable
    Float and Comparable
    Int and Comparable
    Int and Comparable
    compares against NaNs
    compares against NaNs
    BigFloat and Comparable
    BigFloat and Comparable
    BigInt and Comparable
    BigInt and Comparable
    BigRational and Comparable
    BigRational and Comparable
  #/
  #/
  #numerator
  #numerator
  #to_f64
  #to_f64
  #**
    exponentiates with negative powers
    exponentiates with negative powers
    exponentiates with positive powers
    exponentiates with positive powers
    cannot raise 0 to a negative power
    cannot raise 0 to a negative power
  #integer?
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
  #inv
  #inv
  #trunc
  #trunc
  #to_big_f
  #to_big_f
XML
  parses HTML from IO
  parses HTML from IO
  parses HTML
  parses HTML
  raises error when parsing empty string (#2752)
  raises error when parsing empty string (#2752)
  gets name of HTML document node (#4040)
  gets name of HTML document node (#4040)
  parses html5 (#1404)
  parses html5 (#1404)
Crystal::SyntaxHighlighter::HTML
  #highlight!
    "foo = bar(\"baz\#{PI + 1}\") # comment"
    "foo = bar(\"baz\#{PI + 1}\") # comment"
    "\"foo"
    "\"foo"
    "%i[foo"
    "%i[foo"
    "foo, bar = <<-FOO, <<-BAR\n  foo\n  FOO"
    "foo, bar = <<-FOO, <<-BAR\n  foo\n  FOO"
    "foo, bar = <<-FOO, <<-BAR\n  foo"
    "foo, bar = <<-FOO, <<-BAR\n  foo"
    "%w[foo"
    "%w[foo"
  .highlight
    "foo, bar = <<-FOO, <<-BAR\n  foo\n  FOO\n  bar\n  BAR"
    "foo, bar = <<-FOO, <<-BAR\n  foo\n  FOO\n  bar\n  BAR"
    "require"
    "require"
    "def []"
    "def []"
    "if"
    "if"
    "1 - 2"
    "1 - 2"
    "%w(foo  bar\n  baz)"
    "%w(foo  bar\n  baz)"
    "extend"
    "extend"
    "1 |= 2"
    "1 |= 2"
    "def >>"
    "def >>"
    "1 > 2"
    "1 > 2"
    "\"foo\#{[1, bar, \"str\"]}baz\""
    "\"foo\#{[1, bar, \"str\"]}baz\""
    "def <="
    "def <="
    "asm"
    "asm"
    "# foo"
    "# foo"
    "with"
    "with"
    "1 %= 2"
    "1 %= 2"
    "1 **= 2"
    "1 **= 2"
    "def +"
    "def +"
    "$~"
    "$~"
    "rescue"
    "rescue"
    "\"<>\""
    "\"<>\""
    "# foo\n# bar\n"
    "# foo\n# bar\n"
    "struct"
    "struct"
    "pointerof"
    "pointerof"
    "1 &** 2"
    "1 &** 2"
    "yield"
    "yield"
    "enum"
    "enum"
    ":\"foo\""
    ":\"foo\""
    "`foo`"
    "`foo`"
    "# <\">"
    "# <\">"
    "1 ! 2"
    "1 ! 2"
    "def []="
    "def []="
    "def <<"
    "def <<"
    "private"
    "private"
    "abstract"
    "abstract"
    "offsetof"
    "offsetof"
    "next"
    "next"
    "%w<foo bar baz>"
    "%w<foo bar baz>"
    "1 += 2"
    "1 += 2"
    "1 /2"
    "1 /2"
    "def &"
    "def &"
    "select"
    "select"
    "1/ 2"
    "1/ 2"
    "1 || 2"
    "1 || 2"
    "false"
    "false"
    "ensure"
    "ensure"
    "fun"
    "fun"
    "1 //= 2"
    "1 //= 2"
    "1 | 2"
    "1 | 2"
    "then"
    "then"
    "def **"
    "def **"
    "super"
    "super"
    "\"nest1\#{foo + \"nest2\#{1 + 1}bar\"}baz\""
    "\"nest1\#{foo + \"nest2\#{1 + 1}bar\"}baz\""
    "1 <=> 2"
    "1 <=> 2"
    "Foo"
    "Foo"
    "a /b/"
    "a /b/"
    "%<foo>"
    "%<foo>"
    "self"
    "self"
    "macro"
    "macro"
    "for"
    "for"
    "1 -= 2"
    "1 -= 2"
    "1 ** 2"
    "1 ** 2"
    "break"
    "break"
    "42"
    "42"
    "$2?"
    "$2?"
    "1 >= 2"
    "1 >= 2"
    "def !="
    "def !="
    "%Q(foo)"
    "%Q(foo)"
    "typeof"
    "typeof"
    "def -"
    "def -"
    "%r(foo)xim"
    "%r(foo)xim"
    "'a'"
    "'a'"
    "# bar\n"
    "# bar\n"
    "sizeof"
    "sizeof"
    "1 < 2"
    "1 < 2"
    "foo"
    "foo"
    "1 && 2"
    "1 && 2"
    "alias"
    "alias"
    "def //"
    "def //"
    "is_a?"
    "is_a?"
    "lib"
    "lib"
    "/foo/xim"
    "/foo/xim"
    "%w(foo bar baz)"
    "%w(foo bar baz)"
    "1 >> 2"
    "1 >> 2"
    "1 = 2"
    "1 = 2"
    "def >"
    "def >"
    "def |"
    "def |"
    "1 ^ 2"
    "1 ^ 2"
    "1 != 2"
    "1 != 2"
    "1 /= 2"
    "1 /= 2"
    "module"
    "module"
    "nil?"
    "nil?"
    "1 []? 2"
    "1 []? 2"
    "1 =~ 2"
    "1 =~ 2"
    "1 &+ 2"
    "1 &+ 2"
    "1 / 2"
    "1 / 2"
    "1 &* 2"
    "1 &* 2"
    "do"
    "do"
    "$?"
    "$?"
    "nil"
    "nil"
    "1 &- 2"
    "1 &- 2"
    "union"
    "union"
    "self"
    "self"
    "out"
    "out"
    "1 &&= 2"
    "1 &&= 2"
    "elsif"
    "elsif"
    "while"
    "while"
    "1 !~ 2"
    "1 !~ 2"
    "%x(foo)"
    "%x(foo)"
    "def =~"
    "def =~"
    "until"
    "until"
    "true"
    "true"
    "def >="
    "def >="
    "1 <<= 2"
    "1 <<= 2"
    "1 <= 2"
    "1 <= 2"
    "alignof"
    "alignof"
    "a/ b"
    "a/ b"
    "def foo"
    "def foo"
    "include"
    "include"
    "'<'"
    "'<'"
    "\"foo\#{bar}baz\""
    "\"foo\#{bar}baz\""
    "of"
    "of"
    "$1"
    "$1"
    "1/2"
    "1/2"
    "a / b"
    "a / b"
    "%i(foo bar baz)"
    "%i(foo bar baz)"
    "end"
    "end"
    "1 % 2"
    "1 % 2"
    "uninitialized"
    "uninitialized"
    "1 ||= 2"
    "1 ||= 2"
    "foo = bar(\"baz\#{PI + 1}\") # comment"
    "foo = bar(\"baz\#{PI + 1}\") # comment"
    "1 * 2"
    "1 * 2"
    "instance_sizeof"
    "instance_sizeof"
    "1 &-= 2"
    "1 &-= 2"
    "def"
    "def"
    "1 &+= 2"
    "1 &+= 2"
    "1 &= 2"
    "1 &= 2"
    "when"
    "when"
    "def ^"
    "def ^"
    "def =="
    "def =="
    "1 &*= 2"
    "1 &*= 2"
    "1 === 2"
    "1 === 2"
    "1 << 2"
    "1 << 2"
    "def <"
    "def <"
    "verbatim"
    "verbatim"
    "1 [] 2"
    "1 [] 2"
    "\"foo\""
    "\"foo\""
    "type"
    "type"
    "1 ^= 2"
    "1 ^= 2"
    "1 & 2"
    "1 & 2"
    "123_i64"
    "123_i64"
    "annotation"
    "annotation"
    "1 *= 2"
    "1 *= 2"
    "else"
    "else"
    "protected"
    "protected"
    "unless"
    "unless"
    "instance_alignof"
    "instance_alignof"
    "def %"
    "def %"
    "begin"
    "begin"
    "Foo::Bar"
    "Foo::Bar"
    "as"
    "as"
    "a/b"
    "a/b"
    "as?"
    "as?"
    "%q(foo)"
    "%q(foo)"
    "Set{1, 2, 3}"
    "Set{1, 2, 3}"
    "return"
    "return"
    "def *"
    "def *"
    "def !~"
    "def !~"
    "def <=>"
    "def <=>"
    "1 == 2"
    "1 == 2"
    "case"
    "case"
    "def ~"
    "def ~"
    "1 []= 2"
    "1 []= 2"
    "def []?"
    "def []?"
    "1 + 2"
    "1 + 2"
    "class"
    "class"
    "foo\nbar"
    "foo\nbar"
    "%(foo)"
    "%(foo)"
    "in"
    "in"
    "1 ~ 2"
    "1 ~ 2"
    ":foo"
    ":foo"
    "foo bar"
    "foo bar"
    "1 // 2"
    "1 // 2"
    "1 >>= 2"
    "1 >>= 2"
    "3.14"
    "3.14"
    "def /"
    "def /"
OAuth::AccessToken
  creates from response body
  creates from response body
WinError
  #message
  #message
  .value
  .value
  .wsa_value
  .wsa_value
Random::PCG32
  can be initialized without explicit seed
  can be initialized without explicit seed
  can jump ahead
  can jump ahead
  can jump back
  can jump back
  generates random numbers as generated official implementation
  generates random numbers as generated official implementation
concurrent
  spawn
    uses spawn macro
    uses spawn macro
    spawns named with macro
    spawns named with macro
    spawns named
    spawns named
  schedules intermitting sleeps
  schedules intermitting sleeps
  accepts method call with receiver
  accepts method call with receiver
YAML
  parser
    parses recursive sequence
    parses recursive sequence
    assert
    assert
    parses alias to scalar
    parses alias to scalar
    assert
    assert
    assert
    assert
    parses recursive mapping
    parses recursive mapping
    assert
    assert
    assert
    assert
    merging with << key
      parses from IO
      parses from IO
      raises if merging with missing alias
      raises if merging with missing alias
      doesn't merge explicit string key <<
      doesn't merge explicit string key <<
      merges other mapping with alias
      merges other mapping with alias
      has correct line/number info (#2585)
      has correct line/number info (#2585)
      merges other mapping
      merges other mapping
      has correct line/number info (2)
      has correct line/number info (2)
      merges other mapping with array of alias
      merges other mapping with array of alias
      has correct message (#4006)
      has correct message (#4006)
      doesn't merge empty mapping
      doesn't merge empty mapping
      doesn't merge arrays
      doesn't merge arrays
    assert
    assert
  dump
    writes YAML to a stream
    writes YAML to a stream
    returns YAML as a string
    returns YAML as a string
OpenSSL::PKCS5
  computes pbkdf2_hmac MD5
  computes pbkdf2_hmac MD5
  computes pbkdf2_hmac SHA256
  computes pbkdf2_hmac SHA256
  computes pbkdf2_hmac SHA1
  computes pbkdf2_hmac SHA1
  computes pbkdf2_hmac SHA384
  computes pbkdf2_hmac SHA384
  computes pbkdf2_hmac SHA256
  computes pbkdf2_hmac SHA256
  computes pbkdf2_hmac SHA384
  computes pbkdf2_hmac SHA384
  computes pbkdf2_hmac SHA512
  computes pbkdf2_hmac SHA512
  computes pbkdf2_hmac SHA224
  computes pbkdf2_hmac SHA224
  computes pbkdf2_hmac SHA512
  computes pbkdf2_hmac SHA512
  computes pbkdf2_hmac SHA256
  computes pbkdf2_hmac SHA256
  computes pbkdf2_hmac SHA224
  computes pbkdf2_hmac SHA224
  computes pbkdf2_hmac SHA384
  computes pbkdf2_hmac SHA384
  computes pbkdf2_hmac SHA1
  computes pbkdf2_hmac SHA1
  computes pbkdf2_hmac MD5
  computes pbkdf2_hmac MD5
  computes pbkdf2_hmac_sha1
  computes pbkdf2_hmac_sha1
  computes pbkdf2_hmac SHA256
  computes pbkdf2_hmac SHA256
  computes pbkdf2_hmac MD5
  computes pbkdf2_hmac MD5
  computes pbkdf2_hmac SHA224
  computes pbkdf2_hmac SHA224
  computes pbkdf2_hmac SHA512
  computes pbkdf2_hmac SHA512
  computes pbkdf2_hmac MD5
  computes pbkdf2_hmac MD5
  computes pbkdf2_hmac SHA384
  computes pbkdf2_hmac SHA384
  computes pbkdf2_hmac SHA1
  computes pbkdf2_hmac SHA1
  computes pbkdf2_hmac SHA1
  computes pbkdf2_hmac SHA1
  computes pbkdf2_hmac SHA512
  computes pbkdf2_hmac SHA512
  computes pbkdf2_hmac SHA224
  computes pbkdf2_hmac SHA224

Pending:
  Number #round edge cases
  URI .parse unescaped @ in user/password should not confuse host
  TCPServer settings
  Spec matchers pending block is not compiled pending has block with valid syntax, but invalid semantics
  UDPSocket #connect with a IPv6 address
  UDPSocket using IPv6 joins and transmits to multicast groups
  UDPSocket using IPv4 joins and transmits to multicast groups
  Math Functions for computing quotient and remainder
  String #reverse converts invalid code units to replacement char
  Path #expand converts a pathname to an absolute pathname, using a complete path assert
  String#each_grapheme GB9c
  String#each_grapheme GB9c
  String#each_grapheme GB9c
  String#each_grapheme GB9c
  String#each_grapheme GB9c
  String#each_grapheme GB9c
  String#each_grapheme GB9c
  Regex #match with pos negative
  Regex #matches_at_byte_index? negative
  Regex #match_at_byte_index negative
  OpenSSL::SSL::Context ciphers uses intermediate default ciphers
  OpenSSL::X509::Certificate #digest

Finished in 8:52 minutes
17720 examples, 0 failures, 0 errors, 22 pending
Randomized with seed: 26192
make[2]: Leaving directory '/build/reproducible-path/crystal-1.14.0+dfsg'
make release=1 verbose=1 progress=1 threads=20 CRYSTAL_CONFIG_PATH="lib:/usr/lib/crystal/lib" CRYSTAL_CACHE_DIR="/tmp/crystal" interpreter=1 primitives_spec
make[2]: Entering directory '/build/reproducible-path/crystal-1.14.0+dfsg'
./bin/crystal build -D strict_multi_assign -D preview_overload_order --release --progress --threads 20 --link-flags="-Wl,-z,relro"  --exclude-warnings spec/std --exclude-warnings spec/compiler --exclude-warnings spec/primitives -o .build/primitives_spec spec/primitives_spec.cr
Using compiled compiler at .build/crystal
[1/13] Parse                             
[1/13] Parse                             
[2/13] Semantic (top level)              
[2/13] Semantic (top level)              
[3/13] Semantic (new)                    
[3/13] Semantic (new)                    
[4/13] Semantic (type declarations)      
[4/13] Semantic (type declarations)      
[5/13] Semantic (abstract def check)     
[5/13] Semantic (abstract def check)     
[6/13] Semantic (restrictions augmenter) 
[6/13] Semantic (restrictions augmenter) 
[7/13] Semantic (ivars initializers)     
[7/13] Semantic (ivars initializers)     
[8/13] Semantic (cvars initializers)     
[8/13] Semantic (cvars initializers)     
[9/13] Semantic (main)                   
[9/13] Semantic (main)                   
[10/13] Semantic (cleanup)                
[10/13] Semantic (cleanup)                
[11/13] Semantic (recursive struct check) 
[11/13] Semantic (recursive struct check) 
[12/13] Codegen (crystal)                 
[12/13] Codegen (crystal)                 
[13/13] Codegen (bc+obj)                  
[13/13] [0/1] Codegen (bc+obj)                  
[13/13] [1/1] Codegen (bc+obj)                  
[13/13] [1/1] Codegen (bc+obj)                  
[14/13] Codegen (linking)                 
[14/13] Codegen (linking)                 
                                       
.build/primitives_spec -v --order=random   
Randomized with seed: 92833
Primitives: Slice
  .literal
    creates multiple literals
    creates multiple literals
    creates a read-only Slice(Float64)
    creates a read-only Slice(Float64)
    creates multiple literals
    creates multiple literals
    creates a read-only Slice(Int128)
    creates a read-only Slice(Int128)
    creates multiple literals
    creates multiple literals
    creates multiple literals
    creates multiple literals
    creates a read-only Slice(UInt32)
    creates a read-only Slice(UInt32)
    creates a read-only Slice(UInt64)
    creates a read-only Slice(UInt64)
    creates multiple literals
    creates multiple literals
    creates multiple literals
    creates multiple literals
    creates multiple literals
    creates multiple literals
    creates multiple literals
    creates multiple literals
    creates a read-only Slice(UInt16)
    creates a read-only Slice(UInt16)
    creates multiple literals
    creates multiple literals
    creates a read-only Slice(Int64)
    creates a read-only Slice(Int64)
    creates a read-only Slice(UInt128)
    creates a read-only Slice(UInt128)
    creates a read-only Slice(Int16)
    creates a read-only Slice(Int16)
    creates a read-only Slice(UInt8)
    creates a read-only Slice(UInt8)
    creates a read-only Slice(Int8)
    creates a read-only Slice(Int8)
    creates a read-only Slice(Int32)
    creates a read-only Slice(Int32)
    creates multiple literals
    creates multiple literals
    creates multiple literals
    creates multiple literals
    creates a read-only Slice(Float32)
    creates a read-only Slice(Float32)
    creates multiple literals
    creates multiple literals
Primitives: pointer
  .malloc
    is non-atomic for ReferenceStorage(T) if T is non-atomic (#14692)
    is non-atomic for ReferenceStorage(T) if T is non-atomic (#14692)
Crystal::Command
  exec external commands
  exec external commands
Primitives: Int
  #unsafe_chr
    doesn't raise on overflow
    doesn't raise on overflow
  #to_f
    raises on overflow for UInt128#to_f32
    raises on overflow for UInt128#to_f32
  #to_i
    raises on overflow for Int32#to_i128
    raises on overflow for Int32#to_i128
    raises on overflow for UInt16#to_i
    raises on overflow for UInt16#to_i
    raises on overflow for Int64#to_u32
    raises on overflow for Int64#to_u32
    raises on overflow for Int8#to_i32
    raises on overflow for Int8#to_i32
    raises on overflow for Int64#to_i16
    raises on overflow for Int64#to_i16
    raises on overflow for UInt128#to_u8
    raises on overflow for UInt128#to_u8
    raises on overflow for UInt32#to_u128
    raises on overflow for UInt32#to_u128
    raises on overflow for Int16#to_u16
    raises on overflow for Int16#to_u16
    raises on overflow for UInt64#to_i32
    raises on overflow for UInt64#to_i32
    raises on overflow for UInt8#to_u64
    raises on overflow for UInt8#to_u64
    raises on overflow for UInt64#to_i
    raises on overflow for UInt64#to_i
    raises on overflow for Int128#to_i64
    raises on overflow for Int128#to_i64
    raises on overflow for UInt8#to_u
    raises on overflow for UInt8#to_u
    raises on overflow for UInt32#to_u16
    raises on overflow for UInt32#to_u16
    raises on overflow for UInt8#to_u128
    raises on overflow for UInt8#to_u128
    raises on overflow for Int32#to_u32
    raises on overflow for Int32#to_u32
    raises on overflow for Int16#to_i
    raises on overflow for Int16#to_i
    raises on overflow for UInt32#to_i16
    raises on overflow for UInt32#to_i16
    raises on overflow for Int16#to_i8
    raises on overflow for Int16#to_i8
    raises on overflow for UInt128#to_u
    raises on overflow for UInt128#to_u
    raises on overflow for UInt128#to_i32
    raises on overflow for UInt128#to_i32
    raises on overflow for Int16#to_u128
    raises on overflow for Int16#to_u128
    raises on overflow for UInt8#to_u16
    raises on overflow for UInt8#to_u16
    raises on overflow for UInt128#to_u16
    raises on overflow for UInt128#to_u16
    raises on overflow for Int128#to_u32
    raises on overflow for Int128#to_u32
    raises on overflow for Int128#to_u
    raises on overflow for Int128#to_u
    raises on overflow for UInt64#to_u
    raises on overflow for UInt64#to_u
    raises on overflow for Int32#to_i8
    raises on overflow for Int32#to_i8
    raises on overflow for UInt32#to_u64
    raises on overflow for UInt32#to_u64
    raises on overflow for Int32#to_i64
    raises on overflow for Int32#to_i64
    raises on overflow for UInt32#to_i128
    raises on overflow for UInt32#to_i128
    raises on overflow for Int8#to_u
    raises on overflow for Int8#to_u
    raises on overflow for UInt32#to_i
    raises on overflow for UInt32#to_i
    raises on overflow for UInt64#to_u8
    raises on overflow for UInt64#to_u8
    raises on overflow for UInt16#to_i64
    raises on overflow for UInt16#to_i64
    raises on overflow for Int64#to_u16
    raises on overflow for Int64#to_u16
    raises on overflow for Int128#to_u128
    raises on overflow for Int128#to_u128
    raises on overflow for Int8#to_u8
    raises on overflow for Int8#to_u8
    raises on overflow for Int32#to_u
    raises on overflow for Int32#to_u
    raises on overflow for Int16#to_u32
    raises on overflow for Int16#to_u32
    raises on overflow for Int8#to_u32
    raises on overflow for Int8#to_u32
    raises on overflow for UInt128#to_i8
    raises on overflow for UInt128#to_i8
    raises on overflow for UInt16#to_u64
    raises on overflow for UInt16#to_u64
    raises on overflow for UInt32#to_i32
    raises on overflow for UInt32#to_i32
    raises on overflow for Int8#to_u16
    raises on overflow for Int8#to_u16
    raises on overflow for UInt64#to_u128
    raises on overflow for UInt64#to_u128
    raises on overflow for UInt8#to_u32
    raises on overflow for UInt8#to_u32
    raises on overflow for Int32#to_u128
    raises on overflow for Int32#to_u128
    raises on overflow for Int8#to_i128
    raises on overflow for Int8#to_i128
    raises on overflow for UInt16#to_i128
    raises on overflow for UInt16#to_i128
    raises on overflow for Int8#to_u64
    raises on overflow for Int8#to_u64
    raises on overflow for UInt128#to_i
    raises on overflow for UInt128#to_i
    raises on overflow for UInt64#to_i64
    raises on overflow for UInt64#to_i64
    raises on overflow for UInt128#to_i64
    raises on overflow for UInt128#to_i64
    raises on overflow for Int64#to_i32
    raises on overflow for Int64#to_i32
    raises on overflow for UInt16#to_i8
    raises on overflow for UInt16#to_i8
    raises on overflow for UInt8#to_i
    raises on overflow for UInt8#to_i
    raises on overflow for Int64#to_i8
    raises on overflow for Int64#to_i8
    raises on overflow for UInt32#to_i64
    raises on overflow for UInt32#to_i64
    raises on overflow for UInt16#to_u8
    raises on overflow for UInt16#to_u8
    raises on overflow for Int64#to_u128
    raises on overflow for Int64#to_u128
    raises on overflow for UInt64#to_u32
    raises on overflow for UInt64#to_u32
    raises on overflow for UInt8#to_i32
    raises on overflow for UInt8#to_i32
    raises on overflow for UInt16#to_u32
    raises on overflow for UInt16#to_u32
    raises on overflow for Int16#to_u
    raises on overflow for Int16#to_u
    raises on overflow for UInt32#to_i8
    raises on overflow for UInt32#to_i8
    raises on overflow for Int16#to_u64
    raises on overflow for Int16#to_u64
    raises on overflow for Int8#to_u128
    raises on overflow for Int8#to_u128
    raises on overflow for Int64#to_i
    raises on overflow for Int64#to_i
    raises on overflow for Int32#to_i16
    raises on overflow for Int32#to_i16
    raises on overflow for Int32#to_u8
    raises on overflow for Int32#to_u8
    raises on overflow for UInt128#to_u32
    raises on overflow for UInt128#to_u32
    raises on overflow for UInt16#to_u
    raises on overflow for UInt16#to_u
    raises on overflow for Int64#to_u
    raises on overflow for Int64#to_u
    raises on overflow for UInt128#to_i128
    raises on overflow for UInt128#to_i128
    raises on overflow for Int16#to_u8
    raises on overflow for Int16#to_u8
    raises on overflow for Int64#to_u64
    raises on overflow for Int64#to_u64
    raises on overflow for UInt64#to_i8
    raises on overflow for UInt64#to_i8
    raises on overflow for UInt64#to_u16
    raises on overflow for UInt64#to_u16
    raises on overflow for UInt64#to_i16
    raises on overflow for UInt64#to_i16
    raises on overflow for UInt128#to_i16
    raises on overflow for UInt128#to_i16
    raises on overflow for UInt8#to_i8
    raises on overflow for UInt8#to_i8
    raises on overflow for Int8#to_i16
    raises on overflow for Int8#to_i16
    raises on overflow for Int64#to_u8
    raises on overflow for Int64#to_u8
    raises on overflow for Int16#to_i64
    raises on overflow for Int16#to_i64
    raises on overflow for UInt16#to_u128
    raises on overflow for UInt16#to_u128
    raises on overflow for Int32#to_u64
    raises on overflow for Int32#to_u64
    raises on overflow for UInt128#to_u64
    raises on overflow for UInt128#to_u64
    raises on overflow for Int128#to_i8
    raises on overflow for Int128#to_i8
    raises on overflow for Int128#to_i
    raises on overflow for Int128#to_i
    raises on overflow for Int64#to_i128
    raises on overflow for Int64#to_i128
    raises on overflow for UInt32#to_u8
    raises on overflow for UInt32#to_u8
    raises on overflow for Int32#to_u16
    raises on overflow for Int32#to_u16
    raises on overflow for UInt16#to_i32
    raises on overflow for UInt16#to_i32
    raises on overflow for Int16#to_i128
    raises on overflow for Int16#to_i128
    raises on overflow for UInt8#to_i128
    raises on overflow for UInt8#to_i128
    raises on overflow for Int16#to_i32
    raises on overflow for Int16#to_i32
    raises on overflow for Int128#to_u64
    raises on overflow for Int128#to_u64
    raises on overflow for UInt64#to_i128
    raises on overflow for UInt64#to_i128
    raises on overflow for Int128#to_u16
    raises on overflow for Int128#to_u16
    raises on overflow for Int8#to_i
    raises on overflow for Int8#to_i
    raises on overflow for Int8#to_i64
    raises on overflow for Int8#to_i64
    raises on overflow for Int128#to_i32
    raises on overflow for Int128#to_i32
    raises on overflow for Int128#to_u8
    raises on overflow for Int128#to_u8
    raises on overflow for UInt8#to_i16
    raises on overflow for UInt8#to_i16
    raises on overflow for UInt8#to_i64
    raises on overflow for UInt8#to_i64
    raises on overflow for Int128#to_i16
    raises on overflow for Int128#to_i16
    raises on overflow for UInt16#to_i16
    raises on overflow for UInt16#to_i16
  #to_f!
    doesn't raise on overflow for UInt128#to_f32
    doesn't raise on overflow for UInt128#to_f32
  #to_i!
    preserves negative sign
    preserves negative sign
    works from greater values to smaller types
    works from greater values to smaller types
    works from negative values to unsigned types
    works from negative values to unsigned types
  #-
    overflow test UInt16 - Int128
    overflow test UInt16 - Int128
    overflow test Int32 - UInt64
    overflow test Int32 - UInt64
    overflow test UInt32 - UInt128
    overflow test UInt32 - UInt128
    overflow test Int16 - Int64
    overflow test Int16 - Int64
    overflow test UInt8 - UInt32
    overflow test UInt8 - UInt32
    overflow test Int16 - UInt32
    overflow test Int16 - UInt32
    overflow test Int16 - Int128
    overflow test Int16 - Int128
    overflow test Int8 - Int64
    overflow test Int8 - Int64
    overflow test Int16 - Int16
    overflow test Int16 - Int16
    overflow test UInt8 - UInt128
    overflow test UInt8 - UInt128
    overflow test Int128 - Int32
    overflow test Int128 - Int32
    overflow test UInt32 - Int64
    overflow test UInt32 - Int64
    overflow test UInt128 - Int8
    overflow test UInt128 - Int8
    overflow test UInt32 - UInt32
    overflow test UInt32 - UInt32
    overflow test UInt64 - Int128
    overflow test UInt64 - Int128
    overflow test UInt128 - Int32
    overflow test UInt128 - Int32
    overflow test Int64 - UInt128
    overflow test Int64 - UInt128
    overflow test UInt64 - Int64
    overflow test UInt64 - Int64
    overflow test UInt32 - Int32
    overflow test UInt32 - Int32
    overflow test UInt8 - Int64
    overflow test UInt8 - Int64
    overflow test UInt32 - UInt16
    overflow test UInt32 - UInt16
    overflow test UInt16 - UInt16
    overflow test UInt16 - UInt16
    overflow test Int16 - UInt16
    overflow test Int16 - UInt16
    overflow test Int32 - Int128
    overflow test Int32 - Int128
    overflow test UInt16 - UInt64
    overflow test UInt16 - UInt64
    overflow test Int32 - UInt8
    overflow test Int32 - UInt8
    overflow test UInt8 - UInt64
    overflow test UInt8 - UInt64
    overflow test UInt128 - UInt8
    overflow test UInt128 - UInt8
    overflow test Int8 - Int128
    overflow test Int8 - Int128
    overflow test Int128 - UInt8
    overflow test Int128 - UInt8
    overflow test Int64 - Int8
    overflow test Int64 - Int8
    overflow test Int32 - UInt32
    overflow test Int32 - UInt32
    overflow test Int32 - Int8
    overflow test Int32 - Int8
    overflow test UInt64 - UInt128
    overflow test UInt64 - UInt128
    overflow test Int64 - Int64
    overflow test Int64 - Int64
    overflow test Int8 - Int32
    overflow test Int8 - Int32
    overflow test UInt64 - UInt8
    overflow test UInt64 - UInt8
    overflow test UInt32 - Int16
    overflow test UInt32 - Int16
    overflow test Int32 - Int32
    overflow test Int32 - Int32
    overflow test Int16 - UInt8
    overflow test Int16 - UInt8
    overflow test Int64 - Int16
    overflow test Int64 - Int16
    overflow test Int128 - UInt16
    overflow test Int128 - UInt16
    overflow test UInt128 - Int128
    overflow test UInt128 - Int128
    overflow test Int32 - UInt128
    overflow test Int32 - UInt128
    overflow test UInt64 - UInt16
    overflow test UInt64 - UInt16
    overflow test UInt16 - Int64
    overflow test UInt16 - Int64
    overflow test UInt64 - UInt32
    overflow test UInt64 - UInt32
    overflow test UInt128 - Int64
    overflow test UInt128 - Int64
    overflow test Int8 - Int16
    overflow test Int8 - Int16
    overflow test UInt8 - UInt16
    overflow test UInt8 - UInt16
    overflow test UInt64 - Int8
    overflow test UInt64 - Int8
    overflow test Int8 - UInt64
    overflow test Int8 - UInt64
    overflow test UInt32 - UInt8
    overflow test UInt32 - UInt8
    overflow test UInt128 - Int16
    overflow test UInt128 - Int16
    overflow test Int8 - Int8
    overflow test Int8 - Int8
    overflow test Int8 - UInt16
    overflow test Int8 - UInt16
    overflow test UInt16 - Int32
    overflow test UInt16 - Int32
    overflow test Int16 - Int32
    overflow test Int16 - Int32
    overflow test Int64 - UInt64
    overflow test Int64 - UInt64
    overflow test Int64 - Int128
    overflow test Int64 - Int128
    overflow test Int64 - UInt8
    overflow test Int64 - UInt8
    overflow test Int64 - UInt16
    overflow test Int64 - UInt16
    overflow test Int128 - UInt64
    overflow test Int128 - UInt64
    overflow test Int32 - Int16
    overflow test Int32 - Int16
    overflow test Int128 - Int64
    overflow test Int128 - Int64
    overflow test UInt64 - Int16
    overflow test UInt64 - Int16
    overflow test UInt32 - Int8
    overflow test UInt32 - Int8
    overflow test Int64 - Int32
    overflow test Int64 - Int32
    overflow test UInt8 - Int16
    overflow test UInt8 - Int16
    overflow test Int8 - UInt8
    overflow test Int8 - UInt8
    overflow test UInt8 - Int8
    overflow test UInt8 - Int8
    overflow test Int16 - Int8
    overflow test Int16 - Int8
    overflow test Int128 - UInt128
    overflow test Int128 - UInt128
    overflow test Int128 - Int8
    overflow test Int128 - Int8
    overflow test UInt128 - UInt16
    overflow test UInt128 - UInt16
    overflow test UInt32 - UInt64
    overflow test UInt32 - UInt64
    overflow test Int16 - UInt128
    overflow test Int16 - UInt128
    overflow test UInt8 - Int32
    overflow test UInt8 - Int32
    overflow test Int64 - UInt32
    overflow test Int64 - UInt32
    overflow test Int32 - UInt16
    overflow test Int32 - UInt16
    overflow test UInt32 - Int128
    overflow test UInt32 - Int128
    overflow test Int32 - Int64
    overflow test Int32 - Int64
    overflow test UInt16 - UInt32
    overflow test UInt16 - UInt32
    overflow test UInt128 - UInt32
    overflow test UInt128 - UInt32
    overflow test UInt16 - Int8
    overflow test UInt16 - Int8
    overflow test UInt128 - UInt128
    overflow test UInt128 - UInt128
    overflow test Int128 - Int16
    overflow test Int128 - Int16
    overflow test UInt8 - Int128
    overflow test UInt8 - Int128
    overflow test Int16 - UInt64
    overflow test Int16 - UInt64
    overflow test UInt128 - UInt64
    overflow test UInt128 - UInt64
    overflow test UInt16 - UInt8
    overflow test UInt16 - UInt8
    overflow test UInt16 - UInt128
    overflow test UInt16 - UInt128
    overflow test UInt8 - UInt8
    overflow test UInt8 - UInt8
    overflow test Int128 - UInt32
    overflow test Int128 - UInt32
    overflow test Int8 - UInt32
    overflow test Int8 - UInt32
    overflow test Int128 - Int128
    overflow test Int128 - Int128
    overflow test UInt64 - Int32
    overflow test UInt64 - Int32
    overflow test UInt16 - Int16
    overflow test UInt16 - Int16
    overflow test UInt64 - UInt64
    overflow test UInt64 - UInt64
    overflow test Int8 - UInt128
    overflow test Int8 - UInt128
  #&*
    wraps around for UInt8
    wraps around for UInt8
    wraps around for UInt64
    wraps around for UInt64
    wraps around for Int128
    wraps around for Int128
    wraps around for UInt128
    wraps around for UInt128
    wraps around for UInt32
    wraps around for UInt32
    wraps around for UInt16
    wraps around for UInt16
    wraps around for Int8
    wraps around for Int8
    wraps around for Int16
    wraps around for Int16
    wraps around for Int32
    wraps around for Int32
    wraps around for Int64
    wraps around for Int64
  #&-
    wraps around for Int16
    wraps around for Int16
    wraps around for Int8
    wraps around for Int8
    wraps around for UInt8
    wraps around for UInt8
    wraps around for UInt64
    wraps around for UInt64
    wraps around for UInt16
    wraps around for UInt16
    wraps around for Int32
    wraps around for Int32
    wraps around for UInt128
    wraps around for UInt128
    wraps around for UInt32
    wraps around for UInt32
    wraps around for Int64
    wraps around for Int64
    wraps around for Int128
    wraps around for Int128
  #&+
    wraps around for UInt128
    wraps around for UInt128
    wraps around for UInt8
    wraps around for UInt8
    wraps around for UInt16
    wraps around for UInt16
    wraps around for Int16
    wraps around for Int16
    wraps around for Int64
    wraps around for Int64
    wraps around for UInt32
    wraps around for UInt32
    wraps around for UInt64
    wraps around for UInt64
    wraps around for Int32
    wraps around for Int32
    wraps around for Int128
    wraps around for Int128
    wraps around for Int8
    wraps around for Int8
  #*
    overflow test Int8 * UInt32
    overflow test Int8 * UInt32
    overflow test UInt8 * Int32
    overflow test UInt8 * Int32
    overflow test Int64 * Int64
    overflow test Int64 * Int64
    overflow test UInt32 * UInt64
    overflow test UInt32 * UInt64
    overflow test Int16 * UInt32
    overflow test Int16 * UInt32
    overflow test Int8 * Int8
    overflow test Int8 * Int8
    overflow test UInt128 * UInt32
    overflow test UInt128 * UInt32
    overflow test UInt32 * Int128
    overflow test UInt32 * Int128
    overflow test Int8 * UInt128
    overflow test Int8 * UInt128
    overflow test UInt32 * UInt128
    overflow test UInt32 * UInt128
    overflow test Int32 * UInt64
    overflow test Int32 * UInt64
    overflow test Int128 * UInt128
    overflow test Int128 * UInt128
    overflow test Int16 * UInt16
    overflow test Int16 * UInt16
    overflow test Int16 * Int128
    overflow test Int16 * Int128
    overflow test UInt8 * UInt128
    overflow test UInt8 * UInt128
    overflow test Int128 * UInt16
    overflow test Int128 * UInt16
    overflow test UInt16 * UInt64
    overflow test UInt16 * UInt64
    overflow test Int64 * UInt64
    overflow test Int64 * UInt64
    overflow test Int16 * UInt8
    overflow test Int16 * UInt8
    overflow test Int16 * Int16
    overflow test Int16 * Int16
    overflow test UInt64 * Int32
    overflow test UInt64 * Int32
    overflow test Int32 * UInt8
    overflow test Int32 * UInt8
    overflow test Int8 * Int64
    overflow test Int8 * Int64
    overflow test UInt128 * Int128
    overflow test UInt128 * Int128
    overflow test UInt64 * UInt8
    overflow test UInt64 * UInt8
    overflow test Int32 * UInt16
    overflow test Int32 * UInt16
    overflow test UInt128 * UInt128
    overflow test UInt128 * UInt128
    overflow test Int16 * UInt128
    overflow test Int16 * UInt128
    overflow test UInt128 * Int32
    overflow test UInt128 * Int32
    overflow test Int8 * UInt16
    overflow test Int8 * UInt16
    overflow test UInt128 * UInt8
    overflow test UInt128 * UInt8
    overflow test UInt8 * Int64
    overflow test UInt8 * Int64
    overflow test Int128 * Int16
    overflow test Int128 * Int16
    overflow test Int8 * UInt64
    overflow test Int8 * UInt64
    overflow test UInt16 * Int16
    overflow test UInt16 * Int16
    overflow test Int128 * UInt32
    overflow test Int128 * UInt32
    overflow test Int16 * UInt64
    overflow test Int16 * UInt64
    overflow test Int64 * UInt8
    overflow test Int64 * UInt8
    overflow test Int64 * Int128
    overflow test Int64 * Int128
    overflow test UInt8 * Int16
    overflow test UInt8 * Int16
    overflow test Int32 * Int128
    overflow test Int32 * Int128
    overflow test Int32 * UInt32
    overflow test Int32 * UInt32
    overflow test UInt16 * UInt128
    overflow test UInt16 * UInt128
    overflow test UInt32 * Int16
    overflow test UInt32 * Int16
    overflow test Int32 * Int16
    overflow test Int32 * Int16
    overflow test Int128 * Int8
    overflow test Int128 * Int8
    overflow test UInt8 * UInt16
    overflow test UInt8 * UInt16
    overflow test Int64 * Int32
    overflow test Int64 * Int32
    overflow test UInt64 * Int64
    overflow test UInt64 * Int64
    overflow test UInt16 * Int8
    overflow test UInt16 * Int8
    overflow test Int64 * UInt16
    overflow test Int64 * UInt16
    overflow test UInt8 * UInt64
    overflow test UInt8 * UInt64
    overflow test Int64 * Int16
    overflow test Int64 * Int16
    overflow test Int128 * UInt64
    overflow test Int128 * UInt64
    overflow test Int128 * Int32
    overflow test Int128 * Int32
    overflow test UInt128 * UInt16
    overflow test UInt128 * UInt16
    overflow test UInt32 * UInt16
    overflow test UInt32 * UInt16
    overflow test UInt16 * UInt16
    overflow test UInt16 * UInt16
    overflow test Int16 * Int8
    overflow test Int16 * Int8
    overflow test UInt64 * UInt16
    overflow test UInt64 * UInt16
    overflow test UInt64 * Int8
    overflow test UInt64 * Int8
    overflow test Int32 * Int64
    overflow test Int32 * Int64
    overflow test UInt32 * UInt8
    overflow test UInt32 * UInt8
    overflow test UInt128 * Int16
    overflow test UInt128 * Int16
    overflow test Int16 * Int32
    overflow test Int16 * Int32
    overflow test UInt128 * Int64
    overflow test UInt128 * Int64
    overflow test UInt32 * Int32
    overflow test UInt32 * Int32
    overflow test UInt16 * UInt32
    overflow test UInt16 * UInt32
    overflow test Int8 * Int16
    overflow test Int8 * Int16
    overflow test Int8 * UInt8
    overflow test Int8 * UInt8
    overflow test Int8 * Int32
    overflow test Int8 * Int32
    overflow test UInt8 * UInt32
    overflow test UInt8 * UInt32
    overflow test Int8 * Int128
    overflow test Int8 * Int128
    overflow test Int32 * Int8
    overflow test Int32 * Int8
    overflow test UInt16 * Int128
    overflow test UInt16 * Int128
    overflow test Int64 * UInt128
    overflow test Int64 * UInt128
    overflow test Int64 * Int8
    overflow test Int64 * Int8
    overflow test Int128 * UInt8
    overflow test Int128 * UInt8
    overflow test UInt64 * UInt32
    overflow test UInt64 * UInt32
    overflow test UInt8 * UInt8
    overflow test UInt8 * UInt8
    overflow test Int32 * Int32
    overflow test Int32 * Int32
    overflow test UInt64 * UInt64
    overflow test UInt64 * UInt64
    overflow test Int64 * UInt32
    overflow test Int64 * UInt32
    overflow test UInt64 * Int128
    overflow test UInt64 * Int128
    overflow test UInt128 * UInt64
    overflow test UInt128 * UInt64
    overflow test Int16 * Int64
    overflow test Int16 * Int64
    overflow test UInt16 * Int32
    overflow test UInt16 * Int32
    overflow test UInt128 * Int8
    overflow test UInt128 * Int8
    overflow test UInt32 * UInt32
    overflow test UInt32 * UInt32
    overflow test UInt16 * UInt8
    overflow test UInt16 * UInt8
    overflow test UInt32 * Int8
    overflow test UInt32 * Int8
    overflow test Int128 * Int128
    overflow test Int128 * Int128
    overflow test Int128 * Int64
    overflow test Int128 * Int64
    overflow test UInt8 * Int128
    overflow test UInt8 * Int128
    overflow test Int32 * UInt128
    overflow test Int32 * UInt128
    overflow test UInt32 * Int64
    overflow test UInt32 * Int64
    overflow test UInt8 * Int8
    overflow test UInt8 * Int8
    overflow test UInt16 * Int64
    overflow test UInt16 * Int64
    overflow test UInt64 * Int16
    overflow test UInt64 * Int16
    overflow test UInt64 * UInt128
    overflow test UInt64 * UInt128
  #+
    overflow test Int128 + UInt16
    overflow test Int128 + UInt16
    overflow test UInt128 + Int64
    overflow test UInt128 + Int64
    overflow test UInt64 + UInt8
    overflow test UInt64 + UInt8
    overflow test Int16 + UInt8
    overflow test Int16 + UInt8
    overflow test UInt64 + Int16
    overflow test UInt64 + Int16
    overflow test Int128 + UInt8
    overflow test Int128 + UInt8
    overflow test Int32 + Int128
    overflow test Int32 + Int128
    overflow test UInt32 + UInt16
    overflow test UInt32 + UInt16
    overflow test UInt64 + UInt16
    overflow test UInt64 + UInt16
    overflow test Int16 + Int16
    overflow test Int16 + Int16
    overflow test Int64 + Int64
    overflow test Int64 + Int64
    overflow test Int64 + UInt32
    overflow test Int64 + UInt32
    overflow test Int128 + Int128
    overflow test Int128 + Int128
    overflow test Int16 + UInt128
    overflow test Int16 + UInt128
    overflow test UInt128 + UInt128
    overflow test UInt128 + UInt128
    overflow test Int32 + Int8
    overflow test Int32 + Int8
    overflow test Int8 + Int64
    overflow test Int8 + Int64
    overflow test Int32 + Int32
    overflow test Int32 + Int32
    overflow test Int16 + UInt64
    overflow test Int16 + UInt64
    overflow test UInt32 + Int32
    overflow test UInt32 + Int32
    overflow test UInt128 + Int8
    overflow test UInt128 + Int8
    overflow test UInt8 + UInt32
    overflow test UInt8 + UInt32
    overflow test UInt64 + Int8
    overflow test UInt64 + Int8
    overflow test Int128 + UInt128
    overflow test Int128 + UInt128
    overflow test Int64 + UInt16
    overflow test Int64 + UInt16
    overflow test Int32 + UInt32
    overflow test Int32 + UInt32
    overflow test UInt128 + Int16
    overflow test UInt128 + Int16
    overflow test UInt32 + UInt8
    overflow test UInt32 + UInt8
    overflow test UInt8 + Int32
    overflow test UInt8 + Int32
    overflow test Int16 + Int64
    overflow test Int16 + Int64
    overflow test Int32 + Int16
    overflow test Int32 + Int16
    overflow test UInt64 + UInt64
    overflow test UInt64 + UInt64
    overflow test UInt32 + Int128
    overflow test UInt32 + Int128
    overflow test UInt8 + Int64
    overflow test UInt8 + Int64
    overflow test Int8 + UInt64
    overflow test Int8 + UInt64
    overflow test Int16 + Int8
    overflow test Int16 + Int8
    overflow test Int8 + UInt32
    overflow test Int8 + UInt32
    overflow test UInt32 + Int64
    overflow test UInt32 + Int64
    overflow test Int16 + Int128
    overflow test Int16 + Int128
    overflow test UInt64 + Int64
    overflow test UInt64 + Int64
    overflow test UInt128 + UInt64
    overflow test UInt128 + UInt64
    overflow test UInt16 + UInt32
    overflow test UInt16 + UInt32
    overflow test Int128 + Int64
    overflow test Int128 + Int64
    overflow test Int128 + UInt32
    overflow test Int128 + UInt32
    overflow test UInt16 + Int16
    overflow test UInt16 + Int16
    overflow test Int8 + Int32
    overflow test Int8 + Int32
    overflow test UInt32 + Int8
    overflow test UInt32 + Int8
    overflow test UInt128 + UInt8
    overflow test UInt128 + UInt8
    overflow test Int64 + UInt64
    overflow test Int64 + UInt64
    overflow test UInt16 + Int128
    overflow test UInt16 + Int128
    overflow test Int128 + Int8
    overflow test Int128 + Int8
    overflow test UInt16 + Int32
    overflow test UInt16 + Int32
    overflow test Int64 + Int8
    overflow test Int64 + Int8
    overflow test UInt32 + Int16
    overflow test UInt32 + Int16
    overflow test UInt16 + UInt8
    overflow test UInt16 + UInt8
    overflow test UInt8 + UInt128
    overflow test UInt8 + UInt128
    overflow test Int32 + UInt16
    overflow test Int32 + UInt16
    overflow test UInt16 + Int8
    overflow test UInt16 + Int8
    overflow test Int8 + UInt16
    overflow test Int8 + UInt16
    overflow test UInt8 + UInt16
    overflow test UInt8 + UInt16
    overflow test UInt8 + Int128
    overflow test UInt8 + Int128
    overflow test Int8 + Int128
    overflow test Int8 + Int128
    overflow test Int8 + UInt8
    overflow test Int8 + UInt8
    overflow test UInt32 + UInt128
    overflow test UInt32 + UInt128
    overflow test Int64 + Int128
    overflow test Int64 + Int128
    overflow test UInt64 + UInt32
    overflow test UInt64 + UInt32
    overflow test Int32 + UInt8
    overflow test Int32 + UInt8
    overflow test Int32 + UInt64
    overflow test Int32 + UInt64
    overflow test Int16 + UInt32
    overflow test Int16 + UInt32
    overflow test UInt8 + Int16
    overflow test UInt8 + Int16
    overflow test UInt32 + UInt32
    overflow test UInt32 + UInt32
    overflow test Int64 + Int16
    overflow test Int64 + Int16
    overflow test Int128 + Int16
    overflow test Int128 + Int16
    overflow test UInt128 + UInt16
    overflow test UInt128 + UInt16
    overflow test Int64 + Int32
    overflow test Int64 + Int32
    overflow test UInt64 + UInt128
    overflow test UInt64 + UInt128
    overflow test Int32 + UInt128
    overflow test Int32 + UInt128
    overflow test UInt16 + UInt16
    overflow test UInt16 + UInt16
    overflow test UInt64 + Int128
    overflow test UInt64 + Int128
    overflow test UInt16 + UInt128
    overflow test UInt16 + UInt128
    overflow test UInt64 + Int32
    overflow test UInt64 + Int32
    overflow test Int128 + UInt64
    overflow test Int128 + UInt64
    overflow test Int16 + Int32
    overflow test Int16 + Int32
    overflow test UInt16 + UInt64
    overflow test UInt16 + UInt64
    overflow test Int8 + Int16
    overflow test Int8 + Int16
    overflow test Int16 + UInt16
    overflow test Int16 + UInt16
    overflow test UInt8 + UInt64
    overflow test UInt8 + UInt64
    overflow test UInt16 + Int64
    overflow test UInt16 + Int64
    overflow test Int128 + Int32
    overflow test Int128 + Int32
    overflow test Int8 + Int8
    overflow test Int8 + Int8
    overflow test Int8 + UInt128
    overflow test Int8 + UInt128
    overflow test UInt128 + UInt32
    overflow test UInt128 + UInt32
    overflow test UInt32 + UInt64
    overflow test UInt32 + UInt64
    overflow test UInt128 + Int32
    overflow test UInt128 + Int32
    overflow test Int64 + UInt128
    overflow test Int64 + UInt128
    overflow test Int32 + Int64
    overflow test Int32 + Int64
    overflow test UInt8 + Int8
    overflow test UInt8 + Int8
    overflow test UInt8 + UInt8
    overflow test UInt8 + UInt8
    overflow test Int64 + UInt8
    overflow test Int64 + UInt8
    overflow test UInt128 + Int128
    overflow test UInt128 + Int128
Primitives: Float
  #>
    returns false for Float64::NAN > Float64::NAN
    returns false for Float64::NAN > Float64::NAN
    returns false for Float32::NAN > UInt16.zero
    returns false for Float32::NAN > UInt16.zero
    returns false for Float32::NAN > Int8.zero
    returns false for Float32::NAN > Int8.zero
    returns false for Float64::NAN > Int32.zero
    returns false for Float64::NAN > Int32.zero
    returns false for Float32::NAN > Int32.zero
    returns false for Float32::NAN > Int32.zero
    returns false for Float32::NAN > Float64.zero
    returns false for Float32::NAN > Float64.zero
    returns false for Float64::NAN > Int8.zero
    returns false for Float64::NAN > Int8.zero
    returns false for Float64::NAN > Int64.zero
    returns false for Float64::NAN > Int64.zero
    returns false for Float32::NAN > UInt128.zero
    returns false for Float32::NAN > UInt128.zero
    returns false for Float32::NAN > Float32.zero
    returns false for Float32::NAN > Float32.zero
    returns false for Float64::NAN > Int16.zero
    returns false for Float64::NAN > Int16.zero
    returns false for Float64::NAN > UInt32.zero
    returns false for Float64::NAN > UInt32.zero
    returns false for Float64::NAN > UInt128.zero
    returns false for Float64::NAN > UInt128.zero
    returns false for Float32::NAN > UInt8.zero
    returns false for Float32::NAN > UInt8.zero
    returns false for Float32::NAN > Int16.zero
    returns false for Float32::NAN > Int16.zero
    returns false for Float32::NAN > Float32::NAN
    returns false for Float32::NAN > Float32::NAN
    returns false for Float64::NAN > UInt64.zero
    returns false for Float64::NAN > UInt64.zero
    returns false for Float64::NAN > Float32.zero
    returns false for Float64::NAN > Float32.zero
    returns false for Float32::NAN > Float64::NAN
    returns false for Float32::NAN > Float64::NAN
    returns false for Float32::NAN > Int64.zero
    returns false for Float32::NAN > Int64.zero
    returns false for Float64::NAN > Float64.zero
    returns false for Float64::NAN > Float64.zero
    returns false for Float32::NAN > UInt64.zero
    returns false for Float32::NAN > UInt64.zero
    returns false for Float64::NAN > UInt8.zero
    returns false for Float64::NAN > UInt8.zero
    returns false for Float64::NAN > UInt16.zero
    returns false for Float64::NAN > UInt16.zero
    returns false for Float64::NAN > Int128.zero
    returns false for Float64::NAN > Int128.zero
    returns false for Float64::NAN > Float32::NAN
    returns false for Float64::NAN > Float32::NAN
    returns false for Float32::NAN > Int128.zero
    returns false for Float32::NAN > Int128.zero
    returns false for Float32::NAN > UInt32.zero
    returns false for Float32::NAN > UInt32.zero
  #!=
    returns true for Float32::NAN != Int128.zero
    returns true for Float32::NAN != Int128.zero
    returns true for Float32::NAN != Float32::NAN
    returns true for Float32::NAN != Float32::NAN
    returns true for Float64::NAN != Int128.zero
    returns true for Float64::NAN != Int128.zero
    returns true for Float64::NAN != Float64::NAN
    returns true for Float64::NAN != Float64::NAN
    returns true for Float64::NAN != Int16.zero
    returns true for Float64::NAN != Int16.zero
    returns true for Float64::NAN != Int64.zero
    returns true for Float64::NAN != Int64.zero
    returns true for Float32::NAN != Int64.zero
    returns true for Float32::NAN != Int64.zero
    returns true for Float32::NAN != UInt128.zero
    returns true for Float32::NAN != UInt128.zero
    returns true for Float64::NAN != Float32::NAN
    returns true for Float64::NAN != Float32::NAN
    returns true for Float64::NAN != Float64.zero
    returns true for Float64::NAN != Float64.zero
    returns true for Float64::NAN != UInt8.zero
    returns true for Float64::NAN != UInt8.zero
    returns true for Float32::NAN != Int32.zero
    returns true for Float32::NAN != Int32.zero
    returns true for Float64::NAN != UInt64.zero
    returns true for Float64::NAN != UInt64.zero
    returns true for Float64::NAN != UInt16.zero
    returns true for Float64::NAN != UInt16.zero
    returns true for Float64::NAN != Float32.zero
    returns true for Float64::NAN != Float32.zero
    returns true for Float32::NAN != Int16.zero
    returns true for Float32::NAN != Int16.zero
    returns true for Float32::NAN != UInt16.zero
    returns true for Float32::NAN != UInt16.zero
    returns true for Float64::NAN != Int32.zero
    returns true for Float64::NAN != Int32.zero
    returns true for Float32::NAN != Float64::NAN
    returns true for Float32::NAN != Float64::NAN
    returns true for Float64::NAN != UInt32.zero
    returns true for Float64::NAN != UInt32.zero
    returns true for Float64::NAN != UInt128.zero
    returns true for Float64::NAN != UInt128.zero
    returns true for Float32::NAN != UInt8.zero
    returns true for Float32::NAN != UInt8.zero
    returns true for Float32::NAN != Float64.zero
    returns true for Float32::NAN != Float64.zero
    returns true for Float64::NAN != Int8.zero
    returns true for Float64::NAN != Int8.zero
    returns true for Float32::NAN != Int8.zero
    returns true for Float32::NAN != Int8.zero
    returns true for Float32::NAN != UInt32.zero
    returns true for Float32::NAN != UInt32.zero
    returns true for Float32::NAN != UInt64.zero
    returns true for Float32::NAN != UInt64.zero
    returns true for Float32::NAN != Float32.zero
    returns true for Float32::NAN != Float32.zero
  #<=
    returns false for Float32::NAN <= UInt64.zero
    returns false for Float32::NAN <= UInt64.zero
    returns false for Float64::NAN <= UInt128.zero
    returns false for Float64::NAN <= UInt128.zero
    returns false for Float32::NAN <= UInt16.zero
    returns false for Float32::NAN <= UInt16.zero
    returns false for Float32::NAN <= Float32.zero
    returns false for Float32::NAN <= Float32.zero
    returns false for Float64::NAN <= Int64.zero
    returns false for Float64::NAN <= Int64.zero
    returns false for Float32::NAN <= Float32::NAN
    returns false for Float32::NAN <= Float32::NAN
    returns false for Float32::NAN <= Int8.zero
    returns false for Float32::NAN <= Int8.zero
    returns false for Float32::NAN <= UInt8.zero
    returns false for Float32::NAN <= UInt8.zero
    returns false for Float64::NAN <= Int16.zero
    returns false for Float64::NAN <= Int16.zero
    returns false for Float64::NAN <= Int128.zero
    returns false for Float64::NAN <= Int128.zero
    returns false for Float64::NAN <= Int32.zero
    returns false for Float64::NAN <= Int32.zero
    returns false for Float64::NAN <= Float32.zero
    returns false for Float64::NAN <= Float32.zero
    returns false for Float64::NAN <= UInt16.zero
    returns false for Float64::NAN <= UInt16.zero
    returns false for Float64::NAN <= Float64.zero
    returns false for Float64::NAN <= Float64.zero
    returns false for Float32::NAN <= Int32.zero
    returns false for Float32::NAN <= Int32.zero
    returns false for Float32::NAN <= Int128.zero
    returns false for Float32::NAN <= Int128.zero
    returns false for Float32::NAN <= Int64.zero
    returns false for Float32::NAN <= Int64.zero
    returns false for Float64::NAN <= UInt8.zero
    returns false for Float64::NAN <= UInt8.zero
    returns false for Float64::NAN <= UInt64.zero
    returns false for Float64::NAN <= UInt64.zero
    returns false for Float64::NAN <= Int8.zero
    returns false for Float64::NAN <= Int8.zero
    returns false for Float64::NAN <= Float64::NAN
    returns false for Float64::NAN <= Float64::NAN
    returns false for Float32::NAN <= Int16.zero
    returns false for Float32::NAN <= Int16.zero
    returns false for Float32::NAN <= UInt32.zero
    returns false for Float32::NAN <= UInt32.zero
    returns false for Float32::NAN <= UInt128.zero
    returns false for Float32::NAN <= UInt128.zero
    returns false for Float64::NAN <= Float32::NAN
    returns false for Float64::NAN <= Float32::NAN
    returns false for Float64::NAN <= UInt32.zero
    returns false for Float64::NAN <= UInt32.zero
    returns false for Float32::NAN <= Float64.zero
    returns false for Float32::NAN <= Float64.zero
    returns false for Float32::NAN <= Float64::NAN
    returns false for Float32::NAN <= Float64::NAN
  #<
    returns false for Float64::NAN < Int128.zero
    returns false for Float64::NAN < Int128.zero
    returns false for Float64::NAN < Float32.zero
    returns false for Float64::NAN < Float32.zero
    returns false for Float32::NAN < Int32.zero
    returns false for Float32::NAN < Int32.zero
    returns false for Float32::NAN < Int8.zero
    returns false for Float32::NAN < Int8.zero
    returns false for Float32::NAN < UInt64.zero
    returns false for Float32::NAN < UInt64.zero
    returns false for Float32::NAN < UInt128.zero
    returns false for Float32::NAN < UInt128.zero
    returns false for Float64::NAN < Int8.zero
    returns false for Float64::NAN < Int8.zero
    returns false for Float32::NAN < Float64.zero
    returns false for Float32::NAN < Float64.zero
    returns false for Float32::NAN < UInt8.zero
    returns false for Float32::NAN < UInt8.zero
    returns false for Float32::NAN < Float32::NAN
    returns false for Float32::NAN < Float32::NAN
    returns false for Float64::NAN < UInt128.zero
    returns false for Float64::NAN < UInt128.zero
    returns false for Float64::NAN < UInt8.zero
    returns false for Float64::NAN < UInt8.zero
    returns false for Float32::NAN < Int128.zero
    returns false for Float32::NAN < Int128.zero
    returns false for Float32::NAN < Float64::NAN
    returns false for Float32::NAN < Float64::NAN
    returns false for Float64::NAN < UInt32.zero
    returns false for Float64::NAN < UInt32.zero
    returns false for Float64::NAN < UInt16.zero
    returns false for Float64::NAN < UInt16.zero
    returns false for Float64::NAN < Float64.zero
    returns false for Float64::NAN < Float64.zero
    returns false for Float64::NAN < Int32.zero
    returns false for Float64::NAN < Int32.zero
    returns false for Float64::NAN < UInt64.zero
    returns false for Float64::NAN < UInt64.zero
    returns false for Float32::NAN < Int64.zero
    returns false for Float32::NAN < Int64.zero
    returns false for Float32::NAN < Int16.zero
    returns false for Float32::NAN < Int16.zero
    returns false for Float32::NAN < UInt16.zero
    returns false for Float32::NAN < UInt16.zero
    returns false for Float32::NAN < UInt32.zero
    returns false for Float32::NAN < UInt32.zero
    returns false for Float64::NAN < Int16.zero
    returns false for Float64::NAN < Int16.zero
    returns false for Float64::NAN < Float32::NAN
    returns false for Float64::NAN < Float32::NAN
    returns false for Float64::NAN < Int64.zero
    returns false for Float64::NAN < Int64.zero
    returns false for Float32::NAN < Float32.zero
    returns false for Float32::NAN < Float32.zero
    returns false for Float64::NAN < Float64::NAN
    returns false for Float64::NAN < Float64::NAN
  #to_i
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises on overflow for Float64#to_i16
    raises on overflow for Float64#to_i16
    raises on overflow for Float64#to_i
    raises on overflow for Float64#to_i
    raises on overflow for Float32#to_i64
    raises on overflow for Float32#to_i64
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises on overflow for Float32#to_i8
    raises on overflow for Float32#to_i8
    raises on overflow for Float64#to_i64
    raises on overflow for Float64#to_i64
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises on overflow for Float64#to_i8
    raises on overflow for Float64#to_i8
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises on overflow for Float32#to_u8
    raises on overflow for Float32#to_u8
    raises overflow if equal to Int::MAX (#11105)
    raises overflow if equal to Int::MAX (#11105)
    raises on overflow for Float32#to_i128
    raises on overflow for Float32#to_i128
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises on overflow for Float64#to_u32
    raises on overflow for Float64#to_u32
    raises on overflow for Float32#to_i16
    raises on overflow for Float32#to_i16
    raises on overflow for Float64#to_u16
    raises on overflow for Float64#to_u16
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises on overflow for Float32#to_i
    raises on overflow for Float32#to_i
    raises on overflow for Float32#to_u64
    raises on overflow for Float32#to_u64
    raises on overflow for Float64#to_u8
    raises on overflow for Float64#to_u8
    raises on overflow for Float32#to_u32
    raises on overflow for Float32#to_u32
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises on overflow for Float64#to_u64
    raises on overflow for Float64#to_u64
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises on overflow for Float64#to_i32
    raises on overflow for Float64#to_i32
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises on overflow for Float32#to_u
    raises on overflow for Float32#to_u
    raises on overflow for Float64#to_i128
    raises on overflow for Float64#to_i128
    raises on overflow for Float32#to_u128
    raises on overflow for Float32#to_u128
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    doesn't raise overflow if lower than Int::MAX (#11105)
    doesn't raise overflow if lower than Int::MAX (#11105)
    raises on overflow for Float32#to_u16
    raises on overflow for Float32#to_u16
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises on overflow for Float64#to_u
    raises on overflow for Float64#to_u
    raises on overflow for Float32#to_i32
    raises on overflow for Float32#to_i32
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises overflow if not a number (#10421)
    raises on overflow for Float64#to_u128
    raises on overflow for Float64#to_u128
  #>=
    returns false for Float64::NAN >= Int32.zero
    returns false for Float64::NAN >= Int32.zero
    returns false for Float64::NAN >= UInt64.zero
    returns false for Float64::NAN >= UInt64.zero
    returns false for Float32::NAN >= Int16.zero
    returns false for Float32::NAN >= Int16.zero
    returns false for Float64::NAN >= Float32::NAN
    returns false for Float64::NAN >= Float32::NAN
    returns false for Float64::NAN >= UInt32.zero
    returns false for Float64::NAN >= UInt32.zero
    returns false for Float64::NAN >= UInt16.zero
    returns false for Float64::NAN >= UInt16.zero
    returns false for Float32::NAN >= UInt64.zero
    returns false for Float32::NAN >= UInt64.zero
    returns false for Float64::NAN >= Int64.zero
    returns false for Float64::NAN >= Int64.zero
    returns false for Float32::NAN >= Float64::NAN
    returns false for Float32::NAN >= Float64::NAN
    returns false for Float32::NAN >= UInt128.zero
    returns false for Float32::NAN >= UInt128.zero
    returns false for Float32::NAN >= Int32.zero
    returns false for Float32::NAN >= Int32.zero
    returns false for Float32::NAN >= Float32.zero
    returns false for Float32::NAN >= Float32.zero
    returns false for Float32::NAN >= Int8.zero
    returns false for Float32::NAN >= Int8.zero
    returns false for Float64::NAN >= Int16.zero
    returns false for Float64::NAN >= Int16.zero
    returns false for Float64::NAN >= Int8.zero
    returns false for Float64::NAN >= Int8.zero
    returns false for Float32::NAN >= Float64.zero
    returns false for Float32::NAN >= Float64.zero
    returns false for Float64::NAN >= Float32.zero
    returns false for Float64::NAN >= Float32.zero
    returns false for Float32::NAN >= Float32::NAN
    returns false for Float32::NAN >= Float32::NAN
    returns false for Float64::NAN >= UInt8.zero
    returns false for Float64::NAN >= UInt8.zero
    returns false for Float32::NAN >= Int64.zero
    returns false for Float32::NAN >= Int64.zero
    returns false for Float32::NAN >= UInt8.zero
    returns false for Float32::NAN >= UInt8.zero
    returns false for Float64::NAN >= Float64::NAN
    returns false for Float64::NAN >= Float64::NAN
    returns false for Float64::NAN >= Float64.zero
    returns false for Float64::NAN >= Float64.zero
    returns false for Float32::NAN >= Int128.zero
    returns false for Float32::NAN >= Int128.zero
    returns false for Float64::NAN >= UInt128.zero
    returns false for Float64::NAN >= UInt128.zero
    returns false for Float64::NAN >= Int128.zero
    returns false for Float64::NAN >= Int128.zero
    returns false for Float32::NAN >= UInt32.zero
    returns false for Float32::NAN >= UInt32.zero
    returns false for Float32::NAN >= UInt16.zero
    returns false for Float32::NAN >= UInt16.zero
  #to_f
    doesn't raise for infinity
    doesn't raise for infinity
    raises on overflow for Float64#to_f32
    raises on overflow for Float64#to_f32
    doesn't raise for NaN
    doesn't raise for NaN
  #==
    returns false for Float32::NAN == Float32.zero
    returns false for Float32::NAN == Float32.zero
    returns false for Float32::NAN == Int32.zero
    returns false for Float32::NAN == Int32.zero
    returns false for Float32::NAN == Int16.zero
    returns false for Float32::NAN == Int16.zero
    returns false for Float32::NAN == Int64.zero
    returns false for Float32::NAN == Int64.zero
    returns false for Float64::NAN == Int32.zero
    returns false for Float64::NAN == Int32.zero
    returns false for Float64::NAN == Int8.zero
    returns false for Float64::NAN == Int8.zero
    returns false for Float64::NAN == Float32::NAN
    returns false for Float64::NAN == Float32::NAN
    returns false for Float32::NAN == Float64::NAN
    returns false for Float32::NAN == Float64::NAN
    returns false for Float64::NAN == UInt16.zero
    returns false for Float64::NAN == UInt16.zero
    returns false for Float64::NAN == Float64::NAN
    returns false for Float64::NAN == Float64::NAN
    returns false for Float64::NAN == Int128.zero
    returns false for Float64::NAN == Int128.zero
    returns false for Float32::NAN == UInt16.zero
    returns false for Float32::NAN == UInt16.zero
    returns false for Float64::NAN == UInt8.zero
    returns false for Float64::NAN == UInt8.zero
    returns false for Float32::NAN == Int8.zero
    returns false for Float32::NAN == Int8.zero
    returns false for Float64::NAN == Float64.zero
    returns false for Float64::NAN == Float64.zero
    returns false for Float64::NAN == Int16.zero
    returns false for Float64::NAN == Int16.zero
    returns false for Float32::NAN == UInt64.zero
    returns false for Float32::NAN == UInt64.zero
    returns false for Float64::NAN == UInt64.zero
    returns false for Float64::NAN == UInt64.zero
    returns false for Float64::NAN == UInt32.zero
    returns false for Float64::NAN == UInt32.zero
    returns false for Float32::NAN == UInt8.zero
    returns false for Float32::NAN == UInt8.zero
    returns false for Float64::NAN == Float32.zero
    returns false for Float64::NAN == Float32.zero
    returns false for Float32::NAN == UInt32.zero
    returns false for Float32::NAN == UInt32.zero
    returns false for Float32::NAN == Int128.zero
    returns false for Float32::NAN == Int128.zero
    returns false for Float64::NAN == UInt128.zero
    returns false for Float64::NAN == UInt128.zero
    returns false for Float32::NAN == UInt128.zero
    returns false for Float32::NAN == UInt128.zero
    returns false for Float32::NAN == Float64.zero
    returns false for Float32::NAN == Float64.zero
    returns false for Float64::NAN == Int64.zero
    returns false for Float64::NAN == Int64.zero
    returns false for Float32::NAN == Float32::NAN
    returns false for Float32::NAN == Float32::NAN
Primitives: reference
  .pre_initialize
    doesn't fail on complex ivar initializer if value is discarded (#14325)
    doesn't fail on complex ivar initializer if value is discarded (#14325)
    works when address is on the stack
    works when address is on the stack
    sets type ID
    sets type ID
    runs inline instance initializers
    runs inline instance initializers
    raises on abstract virtual type
    raises on abstract virtual type
    zeroes the instance data
    zeroes the instance data
    works with virtual type
    works with virtual type
  .allocate
    doesn't fail on complex ivar initializer if value is discarded (#14325)
    doesn't fail on complex ivar initializer if value is discarded (#14325)
  .unsafe_construct
    constructs an object in-place
    constructs an object in-place

Finished in 8.93 seconds
700 examples, 0 failures, 0 errors, 0 pending
Randomized with seed: 92833
make[2]: Leaving directory '/build/reproducible-path/crystal-1.14.0+dfsg'
make[1]: Leaving directory '/build/reproducible-path/crystal-1.14.0+dfsg'
   create-stamp debian/debhelper-build-stamp
   dh_prep
   debian/rules override_dh_auto_install
make[1]: Entering directory '/build/reproducible-path/crystal-1.14.0+dfsg'
dh_auto_install -- PREFIX=/usr
	make -j20 install DESTDIR=/build/reproducible-path/crystal-1.14.0\+dfsg/debian/tmp AM_UPDATE_INFO_DIR=no "INSTALL=install --strip-program=true" PREFIX=/usr
make[2]: Entering directory '/build/reproducible-path/crystal-1.14.0+dfsg'
gzip -c -9 man/crystal.1 > man/crystal.1.gz
install --strip-program=true -d -m 0755 "/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/bin/"
install: WARNING: ignoring --strip-program option as -s option was not specified
install --strip-program=true -m 0755 ".build/crystal" "/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/bin/crystal"
install: WARNING: ignoring --strip-program option as -s option was not specified
install --strip-program=true -d -m 0755 /build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal
install: WARNING: ignoring --strip-program option as -s option was not specified
cp -av src "/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src"
'src' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src'
'src/SOURCE_DATE_EPOCH' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/SOURCE_DATE_EPOCH'
'src/VERSION' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/VERSION'
'src/annotations.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/annotations.cr'
'src/array.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/array.cr'
'src/atomic.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/atomic.cr'
'src/base64.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/base64.cr'
'src/benchmark.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/benchmark.cr'
'src/benchmark' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/benchmark'
'src/benchmark/bm.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/benchmark/bm.cr'
'src/benchmark/ips.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/benchmark/ips.cr'
'src/big.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/big.cr'
'src/big' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/big'
'src/big/big_decimal.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/big/big_decimal.cr'
'src/big/big_float.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/big/big_float.cr'
'src/big/big_int.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/big/big_int.cr'
'src/big/big_rational.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/big/big_rational.cr'
'src/big/json.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/big/json.cr'
'src/big/lib_gmp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/big/lib_gmp.cr'
'src/big/number.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/big/number.cr'
'src/big/yaml.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/big/yaml.cr'
'src/bit_array.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/bit_array.cr'
'src/bool.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/bool.cr'
'src/box.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/box.cr'
'src/channel.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/channel.cr'
'src/channel' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/channel'
'src/channel/select.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/channel/select.cr'
'src/channel/select' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/channel/select'
'src/channel/select/select_action.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/channel/select/select_action.cr'
'src/channel/select/timeout_action.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/channel/select/timeout_action.cr'
'src/char.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/char.cr'
'src/char' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/char'
'src/char/reader.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/char/reader.cr'
'src/class.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/class.cr'
'src/colorize.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/colorize.cr'
'src/comparable.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/comparable.cr'
'src/compiler' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler'
'src/compiler/crystal.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal.cr'
'src/compiler/crystal' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal'
'src/compiler/crystal/annotatable.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/annotatable.cr'
'src/compiler/crystal/codegen' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen'
'src/compiler/crystal/codegen/asm.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/asm.cr'
'src/compiler/crystal/codegen/ast.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/ast.cr'
'src/compiler/crystal/codegen/cache_dir.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/cache_dir.cr'
'src/compiler/crystal/codegen/call.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/call.cr'
'src/compiler/crystal/codegen/cast.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/cast.cr'
'src/compiler/crystal/codegen/class_var.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/class_var.cr'
'src/compiler/crystal/codegen/codegen.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/codegen.cr'
'src/compiler/crystal/codegen/cond.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/cond.cr'
'src/compiler/crystal/codegen/const.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/const.cr'
'src/compiler/crystal/codegen/context.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/context.cr'
'src/compiler/crystal/codegen/crystal_llvm_builder.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/crystal_llvm_builder.cr'
'src/compiler/crystal/codegen/debug.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/debug.cr'
'src/compiler/crystal/codegen/exception.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/exception.cr'
'src/compiler/crystal/codegen/experimental.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/experimental.cr'
'src/compiler/crystal/codegen/fun.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/fun.cr'
'src/compiler/crystal/codegen/link.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/link.cr'
'src/compiler/crystal/codegen/llvm_builder_helper.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/llvm_builder_helper.cr'
'src/compiler/crystal/codegen/llvm_id.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/llvm_id.cr'
'src/compiler/crystal/codegen/llvm_typer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/llvm_typer.cr'
'src/compiler/crystal/codegen/match.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/match.cr'
'src/compiler/crystal/codegen/once.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/once.cr'
'src/compiler/crystal/codegen/phi.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/phi.cr'
'src/compiler/crystal/codegen/primitives.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/primitives.cr'
'src/compiler/crystal/codegen/target.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/target.cr'
'src/compiler/crystal/codegen/type_id.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/type_id.cr'
'src/compiler/crystal/codegen/types.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/types.cr'
'src/compiler/crystal/codegen/unions.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/codegen/unions.cr'
'src/compiler/crystal/command.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/command.cr'
'src/compiler/crystal/command' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/command'
'src/compiler/crystal/command/clear_cache.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/command/clear_cache.cr'
'src/compiler/crystal/command/cursor.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/command/cursor.cr'
'src/compiler/crystal/command/docs.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/command/docs.cr'
'src/compiler/crystal/command/env.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/command/env.cr'
'src/compiler/crystal/command/eval.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/command/eval.cr'
'src/compiler/crystal/command/format.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/command/format.cr'
'src/compiler/crystal/command/playground.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/command/playground.cr'
'src/compiler/crystal/command/repl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/command/repl.cr'
'src/compiler/crystal/command/spec.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/command/spec.cr'
'src/compiler/crystal/compiler.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/compiler.cr'
'src/compiler/crystal/config.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/config.cr'
'src/compiler/crystal/crystal_path.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/crystal_path.cr'
'src/compiler/crystal/error.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/error.cr'
'src/compiler/crystal/exception.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/exception.cr'
'src/compiler/crystal/ffi' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/ffi'
'src/compiler/crystal/ffi/call_interface.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/ffi/call_interface.cr'
'src/compiler/crystal/ffi/closure.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/ffi/closure.cr'
'src/compiler/crystal/ffi/ffi.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/ffi/ffi.cr'
'src/compiler/crystal/ffi/lib_ffi.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/ffi/lib_ffi.cr'
'src/compiler/crystal/ffi/type.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/ffi/type.cr'
'src/compiler/crystal/formatter.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/formatter.cr'
'src/compiler/crystal/interpreter.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter.cr'
'src/compiler/crystal/interpreter' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter'
'src/compiler/crystal/interpreter/c.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/c.cr'
'src/compiler/crystal/interpreter/cast.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/cast.cr'
'src/compiler/crystal/interpreter/class_vars.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/class_vars.cr'
'src/compiler/crystal/interpreter/closure.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/closure.cr'
'src/compiler/crystal/interpreter/closure_context.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/closure_context.cr'
'src/compiler/crystal/interpreter/compiled_block.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/compiled_block.cr'
'src/compiler/crystal/interpreter/compiled_def.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/compiled_def.cr'
'src/compiler/crystal/interpreter/compiled_instructions.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/compiled_instructions.cr'
'src/compiler/crystal/interpreter/compiler.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/compiler.cr'
'src/compiler/crystal/interpreter/constants.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/constants.cr'
'src/compiler/crystal/interpreter/context.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/context.cr'
'src/compiler/crystal/interpreter/debug.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/debug.cr'
'src/compiler/crystal/interpreter/disassembler.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/disassembler.cr'
'src/compiler/crystal/interpreter/escaping_exception.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/escaping_exception.cr'
'src/compiler/crystal/interpreter/ffi_closure_context.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/ffi_closure_context.cr'
'src/compiler/crystal/interpreter/instruction.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/instruction.cr'
'src/compiler/crystal/interpreter/instructions.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/instructions.cr'
'src/compiler/crystal/interpreter/interpreter.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/interpreter.cr'
'src/compiler/crystal/interpreter/lib_function.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/lib_function.cr'
'src/compiler/crystal/interpreter/local_vars.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/local_vars.cr'
'src/compiler/crystal/interpreter/local_vars_gatherer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/local_vars_gatherer.cr'
'src/compiler/crystal/interpreter/multidispatch.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/multidispatch.cr'
'src/compiler/crystal/interpreter/op_code.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/op_code.cr'
'src/compiler/crystal/interpreter/primitives.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/primitives.cr'
'src/compiler/crystal/interpreter/pry_reader.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/pry_reader.cr'
'src/compiler/crystal/interpreter/repl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/repl.cr'
'src/compiler/crystal/interpreter/repl_reader.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/repl_reader.cr'
'src/compiler/crystal/interpreter/to_bool.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/to_bool.cr'
'src/compiler/crystal/interpreter/value.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/interpreter/value.cr'
'src/compiler/crystal/loader.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/loader.cr'
'src/compiler/crystal/loader' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/loader'
'src/compiler/crystal/loader/msvc.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/loader/msvc.cr'
'src/compiler/crystal/loader/unix.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/loader/unix.cr'
'src/compiler/crystal/macros.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/macros.cr'
'src/compiler/crystal/macros' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/macros'
'src/compiler/crystal/macros/interpreter.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/macros/interpreter.cr'
'src/compiler/crystal/macros/macros.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/macros/macros.cr'
'src/compiler/crystal/macros/methods.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/macros/methods.cr'
'src/compiler/crystal/macros/types.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/macros/types.cr'
'src/compiler/crystal/program.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/program.cr'
'src/compiler/crystal/progress_tracker.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/progress_tracker.cr'
'src/compiler/crystal/semantic.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic.cr'
'src/compiler/crystal/semantic' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic'
'src/compiler/crystal/semantic/abstract_def_checker.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/abstract_def_checker.cr'
'src/compiler/crystal/semantic/ast.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/ast.cr'
'src/compiler/crystal/semantic/bindings.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/bindings.cr'
'src/compiler/crystal/semantic/call.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/call.cr'
'src/compiler/crystal/semantic/call_error.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/call_error.cr'
'src/compiler/crystal/semantic/class_vars_initializer_visitor.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/class_vars_initializer_visitor.cr'
'src/compiler/crystal/semantic/cleanup_transformer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/cleanup_transformer.cr'
'src/compiler/crystal/semantic/conversions.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/conversions.cr'
'src/compiler/crystal/semantic/cover.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/cover.cr'
'src/compiler/crystal/semantic/default_arguments.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/default_arguments.cr'
'src/compiler/crystal/semantic/exception.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/exception.cr'
'src/compiler/crystal/semantic/exhaustiveness_checker.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/exhaustiveness_checker.cr'
'src/compiler/crystal/semantic/filters.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/filters.cr'
'src/compiler/crystal/semantic/fix_missing_types.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/fix_missing_types.cr'
'src/compiler/crystal/semantic/flags.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/flags.cr'
'src/compiler/crystal/semantic/hooks.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/hooks.cr'
'src/compiler/crystal/semantic/instance_vars_initializer_visitor.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/instance_vars_initializer_visitor.cr'
'src/compiler/crystal/semantic/lib.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/lib.cr'
'src/compiler/crystal/semantic/literal_expander.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/literal_expander.cr'
'src/compiler/crystal/semantic/main_visitor.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/main_visitor.cr'
'src/compiler/crystal/semantic/match.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/match.cr'
'src/compiler/crystal/semantic/math_interpreter.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/math_interpreter.cr'
'src/compiler/crystal/semantic/method_lookup.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/method_lookup.cr'
'src/compiler/crystal/semantic/method_missing.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/method_missing.cr'
'src/compiler/crystal/semantic/new.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/new.cr'
'src/compiler/crystal/semantic/normalizer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/normalizer.cr'
'src/compiler/crystal/semantic/path_lookup.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/path_lookup.cr'
'src/compiler/crystal/semantic/recursive_struct_checker.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/recursive_struct_checker.cr'
'src/compiler/crystal/semantic/restrictions.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/restrictions.cr'
'src/compiler/crystal/semantic/restrictions_augmenter.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/restrictions_augmenter.cr'
'src/compiler/crystal/semantic/semantic_visitor.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/semantic_visitor.cr'
'src/compiler/crystal/semantic/suggestions.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/suggestions.cr'
'src/compiler/crystal/semantic/to_s.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/to_s.cr'
'src/compiler/crystal/semantic/top_level_visitor.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/top_level_visitor.cr'
'src/compiler/crystal/semantic/transformer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/transformer.cr'
'src/compiler/crystal/semantic/type_declaration_processor.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/type_declaration_processor.cr'
'src/compiler/crystal/semantic/type_declaration_visitor.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/type_declaration_visitor.cr'
'src/compiler/crystal/semantic/type_guess_visitor.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/type_guess_visitor.cr'
'src/compiler/crystal/semantic/type_intersect.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/type_intersect.cr'
'src/compiler/crystal/semantic/type_lookup.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/type_lookup.cr'
'src/compiler/crystal/semantic/type_merge.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/type_merge.cr'
'src/compiler/crystal/semantic/type_to_restriction.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/type_to_restriction.cr'
'src/compiler/crystal/semantic/warnings.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/semantic/warnings.cr'
'src/compiler/crystal/syntax.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/syntax.cr'
'src/compiler/crystal/syntax' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/syntax'
'src/compiler/crystal/syntax/ast.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/syntax/ast.cr'
'src/compiler/crystal/syntax/exception.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/syntax/exception.cr'
'src/compiler/crystal/syntax/lexer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/syntax/lexer.cr'
'src/compiler/crystal/syntax/location.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/syntax/location.cr'
'src/compiler/crystal/syntax/parser.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/syntax/parser.cr'
'src/compiler/crystal/syntax/to_s.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/syntax/to_s.cr'
'src/compiler/crystal/syntax/token.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/syntax/token.cr'
'src/compiler/crystal/syntax/transformer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/syntax/transformer.cr'
'src/compiler/crystal/syntax/virtual_file.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/syntax/virtual_file.cr'
'src/compiler/crystal/syntax/visitor.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/syntax/visitor.cr'
'src/compiler/crystal/tools' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools'
'src/compiler/crystal/tools/context.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/context.cr'
'src/compiler/crystal/tools/dependencies.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/dependencies.cr'
'src/compiler/crystal/tools/doc.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc.cr'
'src/compiler/crystal/tools/doc' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc'
'src/compiler/crystal/tools/doc/constant.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/constant.cr'
'src/compiler/crystal/tools/doc/generator.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/generator.cr'
'src/compiler/crystal/tools/doc/html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/html'
'src/compiler/crystal/tools/doc/html/404.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/html/404.html'
'src/compiler/crystal/tools/doc/html/_head.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/html/_head.html'
'src/compiler/crystal/tools/doc/html/_list_items.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/html/_list_items.html'
'src/compiler/crystal/tools/doc/html/_macros_inherited.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/html/_macros_inherited.html'
'src/compiler/crystal/tools/doc/html/_method_detail.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/html/_method_detail.html'
'src/compiler/crystal/tools/doc/html/_method_summary.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/html/_method_summary.html'
'src/compiler/crystal/tools/doc/html/_methods_inherited.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/html/_methods_inherited.html'
'src/compiler/crystal/tools/doc/html/_other_types.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/html/_other_types.html'
'src/compiler/crystal/tools/doc/html/_sidebar.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/html/_sidebar.html'
'src/compiler/crystal/tools/doc/html/css' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/html/css'
'src/compiler/crystal/tools/doc/html/css/style.css' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/html/css/style.css'
'src/compiler/crystal/tools/doc/html/js' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/html/js'
'src/compiler/crystal/tools/doc/html/js/_navigator.js' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/html/js/_navigator.js'
'src/compiler/crystal/tools/doc/html/js/_search.js' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/html/js/_search.js'
'src/compiler/crystal/tools/doc/html/js/_usage-modal.js' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/html/js/_usage-modal.js'
'src/compiler/crystal/tools/doc/html/js/_versions.js' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/html/js/_versions.js'
'src/compiler/crystal/tools/doc/html/js/doc.js' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/html/js/doc.js'
'src/compiler/crystal/tools/doc/html/main.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/html/main.html'
'src/compiler/crystal/tools/doc/html/sitemap.xml' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/html/sitemap.xml'
'src/compiler/crystal/tools/doc/html/type.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/html/type.html'
'src/compiler/crystal/tools/doc/item.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/item.cr'
'src/compiler/crystal/tools/doc/macro.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/macro.cr'
'src/compiler/crystal/tools/doc/main.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/main.cr'
'src/compiler/crystal/tools/doc/markd_doc_renderer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/markd_doc_renderer.cr'
'src/compiler/crystal/tools/doc/method.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/method.cr'
'src/compiler/crystal/tools/doc/project_info.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/project_info.cr'
'src/compiler/crystal/tools/doc/relative_location.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/relative_location.cr'
'src/compiler/crystal/tools/doc/templates.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/templates.cr'
'src/compiler/crystal/tools/doc/to_json.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/to_json.cr'
'src/compiler/crystal/tools/doc/type.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/doc/type.cr'
'src/compiler/crystal/tools/expand.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/expand.cr'
'src/compiler/crystal/tools/flags.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/flags.cr'
'src/compiler/crystal/tools/formatter.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/formatter.cr'
'src/compiler/crystal/tools/git.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/git.cr'
'src/compiler/crystal/tools/implementations.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/implementations.cr'
'src/compiler/crystal/tools/init.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/init.cr'
'src/compiler/crystal/tools/init' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/init'
'src/compiler/crystal/tools/init/template' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/init/template'
'src/compiler/crystal/tools/init/template/editorconfig.ecr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/init/template/editorconfig.ecr'
'src/compiler/crystal/tools/init/template/example.cr.ecr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/init/template/example.cr.ecr'
'src/compiler/crystal/tools/init/template/example_spec.cr.ecr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/init/template/example_spec.cr.ecr'
'src/compiler/crystal/tools/init/template/gitignore.ecr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/init/template/gitignore.ecr'
'src/compiler/crystal/tools/init/template/license.ecr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/init/template/license.ecr'
'src/compiler/crystal/tools/init/template/readme.md.ecr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/init/template/readme.md.ecr'
'src/compiler/crystal/tools/init/template/shard.yml.ecr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/init/template/shard.yml.ecr'
'src/compiler/crystal/tools/init/template/spec_helper.cr.ecr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/init/template/spec_helper.cr.ecr'
'src/compiler/crystal/tools/playground.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground.cr'
'src/compiler/crystal/tools/playground' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground'
'src/compiler/crystal/tools/playground/agent.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/agent.cr'
'src/compiler/crystal/tools/playground/agent_instrumentor_transformer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/agent_instrumentor_transformer.cr'
'src/compiler/crystal/tools/playground/public' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/public'
'src/compiler/crystal/tools/playground/public/application.css' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/public/application.css'
'src/compiler/crystal/tools/playground/public/application.js' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/public/application.js'
'src/compiler/crystal/tools/playground/public/favicon.ico' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/public/favicon.ico'
'src/compiler/crystal/tools/playground/public/icon.svg' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/public/icon.svg'
'src/compiler/crystal/tools/playground/public/session.js' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/public/session.js'
'src/compiler/crystal/tools/playground/public/settings.js' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/public/settings.js'
'src/compiler/crystal/tools/playground/public/vendor' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/public/vendor'
'src/compiler/crystal/tools/playground/public/vendor/ansi_up-1.3.0' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/public/vendor/ansi_up-1.3.0'
'src/compiler/crystal/tools/playground/public/vendor/ansi_up-1.3.0/ansi_up.js' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/public/vendor/ansi_up-1.3.0/ansi_up.js'
'src/compiler/crystal/tools/playground/public/vendor/ansi_up-1.3.0/theme.css' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/public/vendor/ansi_up-1.3.0/theme.css'
'src/compiler/crystal/tools/playground/public/vendor/materialize-v0.97.5' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/public/vendor/materialize-v0.97.5'
'src/compiler/crystal/tools/playground/public/vendor/materialize-v0.97.5/css' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/public/vendor/materialize-v0.97.5/css'
'src/compiler/crystal/tools/playground/public/vendor/materialize-v0.97.5/css/materialize.min.css' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/public/vendor/materialize-v0.97.5/css/materialize.min.css'
'src/compiler/crystal/tools/playground/public/vendor/materialize-v0.97.5/js' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/public/vendor/materialize-v0.97.5/js'
'src/compiler/crystal/tools/playground/public/vendor/materialize-v0.97.5/js/materialize.min.js' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/public/vendor/materialize-v0.97.5/js/materialize.min.js'
'src/compiler/crystal/tools/playground/public/vendor/octicons-19.5.0' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/public/vendor/octicons-19.5.0'
'src/compiler/crystal/tools/playground/public/vendor/octicons-19.5.0/octicons.css' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/public/vendor/octicons-19.5.0/octicons.css'
'src/compiler/crystal/tools/playground/public/vendor/octicons-19.5.0/octicons.svg' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/public/vendor/octicons-19.5.0/octicons.svg'
'src/compiler/crystal/tools/playground/server.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/server.cr'
'src/compiler/crystal/tools/playground/views' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/views'
'src/compiler/crystal/tools/playground/views/_about.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/views/_about.html'
'src/compiler/crystal/tools/playground/views/_index.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/views/_index.html'
'src/compiler/crystal/tools/playground/views/_settings.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/views/_settings.html'
'src/compiler/crystal/tools/playground/views/_workbook.html.ecr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/views/_workbook.html.ecr'
'src/compiler/crystal/tools/playground/views/layout.html.ecr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/playground/views/layout.html.ecr'
'src/compiler/crystal/tools/print_hierarchy.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/print_hierarchy.cr'
'src/compiler/crystal/tools/print_types_visitor.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/print_types_visitor.cr'
'src/compiler/crystal/tools/table_print.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/table_print.cr'
'src/compiler/crystal/tools/typed_def_processor.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/typed_def_processor.cr'
'src/compiler/crystal/tools/unreachable.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/tools/unreachable.cr'
'src/compiler/crystal/types.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/types.cr'
'src/compiler/crystal/util.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/util.cr'
'src/compiler/crystal/warnings.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/crystal/warnings.cr'
'src/compiler/requires.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compiler/requires.cr'
'src/complex.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/complex.cr'
'src/compress' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compress'
'src/compress/deflate' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compress/deflate'
'src/compress/deflate/deflate.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compress/deflate/deflate.cr'
'src/compress/deflate/reader.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compress/deflate/reader.cr'
'src/compress/deflate/writer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compress/deflate/writer.cr'
'src/compress/gzip' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compress/gzip'
'src/compress/gzip/gzip.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compress/gzip/gzip.cr'
'src/compress/gzip/header.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compress/gzip/header.cr'
'src/compress/gzip/reader.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compress/gzip/reader.cr'
'src/compress/gzip/writer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compress/gzip/writer.cr'
'src/compress/zip' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compress/zip'
'src/compress/zip/checksum_reader.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compress/zip/checksum_reader.cr'
'src/compress/zip/checksum_writer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compress/zip/checksum_writer.cr'
'src/compress/zip/compression_method.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compress/zip/compression_method.cr'
'src/compress/zip/file.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compress/zip/file.cr'
'src/compress/zip/file_info.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compress/zip/file_info.cr'
'src/compress/zip/reader.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compress/zip/reader.cr'
'src/compress/zip/writer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compress/zip/writer.cr'
'src/compress/zip/zip.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compress/zip/zip.cr'
'src/compress/zlib' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compress/zlib'
'src/compress/zlib/reader.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compress/zlib/reader.cr'
'src/compress/zlib/writer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compress/zlib/writer.cr'
'src/compress/zlib/zlib.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/compress/zlib/zlib.cr'
'src/concurrent.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/concurrent.cr'
'src/crypto' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crypto'
'src/crypto/bcrypt.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crypto/bcrypt.cr'
'src/crypto/bcrypt' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crypto/bcrypt'
'src/crypto/bcrypt/base64.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crypto/bcrypt/base64.cr'
'src/crypto/bcrypt/blowfish.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crypto/bcrypt/blowfish.cr'
'src/crypto/bcrypt/password.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crypto/bcrypt/password.cr'
'src/crypto/blowfish.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crypto/blowfish.cr'
'src/crypto/subtle.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crypto/subtle.cr'
'src/crystal' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal'
'src/crystal/at_exit_handlers.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/at_exit_handlers.cr'
'src/crystal/atomic_semaphore.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/atomic_semaphore.cr'
'src/crystal/compiler_rt.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/compiler_rt.cr'
'src/crystal/compiler_rt' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/compiler_rt'
'src/crystal/compiler_rt/divmod128.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/compiler_rt/divmod128.cr'
'src/crystal/compiler_rt/fixint.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/compiler_rt/fixint.cr'
'src/crystal/compiler_rt/float.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/compiler_rt/float.cr'
'src/crystal/compiler_rt/mul.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/compiler_rt/mul.cr'
'src/crystal/compiler_rt/multi3.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/compiler_rt/multi3.cr'
'src/crystal/compiler_rt/pow.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/compiler_rt/pow.cr'
'src/crystal/compiler_rt/shift.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/compiler_rt/shift.cr'
'src/crystal/datum.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/datum.cr'
'src/crystal/digest' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/digest'
'src/crystal/digest/md5.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/digest/md5.cr'
'src/crystal/digest/sha1.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/digest/sha1.cr'
'src/crystal/dwarf.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/dwarf.cr'
'src/crystal/dwarf' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/dwarf'
'src/crystal/dwarf/abbrev.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/dwarf/abbrev.cr'
'src/crystal/dwarf/info.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/dwarf/info.cr'
'src/crystal/dwarf/line_numbers.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/dwarf/line_numbers.cr'
'src/crystal/dwarf/strings.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/dwarf/strings.cr'
'src/crystal/elf.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/elf.cr'
'src/crystal/fiber_channel.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/fiber_channel.cr'
'src/crystal/hasher.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/hasher.cr'
'src/crystal/iconv.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/iconv.cr'
'src/crystal/interpreter.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/interpreter.cr'
'src/crystal/lib_iconv.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/lib_iconv.cr'
'src/crystal/mach_o.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/mach_o.cr'
'src/crystal/main.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/main.cr'
'src/crystal/once.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/once.cr'
'src/crystal/pointer_linked_list.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/pointer_linked_list.cr'
'src/crystal/rw_lock.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/rw_lock.cr'
'src/crystal/scheduler.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/scheduler.cr'
'src/crystal/small_deque.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/small_deque.cr'
'src/crystal/spin_lock.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/spin_lock.cr'
'src/crystal/syntax_highlighter.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/syntax_highlighter.cr'
'src/crystal/syntax_highlighter' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/syntax_highlighter'
'src/crystal/syntax_highlighter/colorize.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/syntax_highlighter/colorize.cr'
'src/crystal/syntax_highlighter/html.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/syntax_highlighter/html.cr'
'src/crystal/system.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system.cr'
'src/crystal/system' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system'
'src/crystal/system/addrinfo.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/addrinfo.cr'
'src/crystal/system/dir.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/dir.cr'
'src/crystal/system/env.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/env.cr'
'src/crystal/system/event_loop.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/event_loop.cr'
'src/crystal/system/event_loop' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/event_loop'
'src/crystal/system/event_loop/file_descriptor.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/event_loop/file_descriptor.cr'
'src/crystal/system/event_loop/socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/event_loop/socket.cr'
'src/crystal/system/fiber.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/fiber.cr'
'src/crystal/system/file.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/file.cr'
'src/crystal/system/file_descriptor.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/file_descriptor.cr'
'src/crystal/system/file_info.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/file_info.cr'
'src/crystal/system/group.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/group.cr'
'src/crystal/system/mime.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/mime.cr'
'src/crystal/system/panic.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/panic.cr'
'src/crystal/system/path.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/path.cr'
'src/crystal/system/print_error.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/print_error.cr'
'src/crystal/system/process.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/process.cr'
'src/crystal/system/random.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/random.cr'
'src/crystal/system/signal.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/signal.cr'
'src/crystal/system/socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/socket.cr'
'src/crystal/system/thread.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/thread.cr'
'src/crystal/system/thread_condition_variable.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/thread_condition_variable.cr'
'src/crystal/system/thread_linked_list.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/thread_linked_list.cr'
'src/crystal/system/thread_mutex.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/thread_mutex.cr'
'src/crystal/system/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/time.cr'
'src/crystal/system/unix.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix.cr'
'src/crystal/system/unix' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix'
'src/crystal/system/unix/addrinfo.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/addrinfo.cr'
'src/crystal/system/unix/arc4random.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/arc4random.cr'
'src/crystal/system/unix/dir.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/dir.cr'
'src/crystal/system/unix/env.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/env.cr'
'src/crystal/system/unix/event_libevent.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/event_libevent.cr'
'src/crystal/system/unix/event_loop_libevent.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/event_loop_libevent.cr'
'src/crystal/system/unix/fiber.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/fiber.cr'
'src/crystal/system/unix/file.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/file.cr'
'src/crystal/system/unix/file_descriptor.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/file_descriptor.cr'
'src/crystal/system/unix/file_info.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/file_info.cr'
'src/crystal/system/unix/getrandom.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/getrandom.cr'
'src/crystal/system/unix/group.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/group.cr'
'src/crystal/system/unix/hostname.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/hostname.cr'
'src/crystal/system/unix/lib_event2.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/lib_event2.cr'
'src/crystal/system/unix/mime.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/mime.cr'
'src/crystal/system/unix/path.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/path.cr'
'src/crystal/system/unix/process.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/process.cr'
'src/crystal/system/unix/pthread.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/pthread.cr'
'src/crystal/system/unix/pthread_condition_variable.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/pthread_condition_variable.cr'
'src/crystal/system/unix/pthread_mutex.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/pthread_mutex.cr'
'src/crystal/system/unix/signal.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/signal.cr'
'src/crystal/system/unix/socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/socket.cr'
'src/crystal/system/unix/syscall.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/syscall.cr'
'src/crystal/system/unix/sysconf_cpucount.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/sysconf_cpucount.cr'
'src/crystal/system/unix/sysctl_cpucount.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/sysctl_cpucount.cr'
'src/crystal/system/unix/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/time.cr'
'src/crystal/system/unix/urandom.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/urandom.cr'
'src/crystal/system/unix/user.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/unix/user.cr'
'src/crystal/system/user.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/user.cr'
'src/crystal/system/wasi' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/wasi'
'src/crystal/system/wasi/addrinfo.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/wasi/addrinfo.cr'
'src/crystal/system/wasi/cpucount.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/wasi/cpucount.cr'
'src/crystal/system/wasi/dir.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/wasi/dir.cr'
'src/crystal/system/wasi/event_loop.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/wasi/event_loop.cr'
'src/crystal/system/wasi/fiber.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/wasi/fiber.cr'
'src/crystal/system/wasi/file.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/wasi/file.cr'
'src/crystal/system/wasi/file_descriptor.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/wasi/file_descriptor.cr'
'src/crystal/system/wasi/group.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/wasi/group.cr'
'src/crystal/system/wasi/hostname.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/wasi/hostname.cr'
'src/crystal/system/wasi/lib_wasi.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/wasi/lib_wasi.cr'
'src/crystal/system/wasi/main.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/wasi/main.cr'
'src/crystal/system/wasi/path.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/wasi/path.cr'
'src/crystal/system/wasi/process.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/wasi/process.cr'
'src/crystal/system/wasi/random.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/wasi/random.cr'
'src/crystal/system/wasi/signal.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/wasi/signal.cr'
'src/crystal/system/wasi/socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/wasi/socket.cr'
'src/crystal/system/wasi/thread.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/wasi/thread.cr'
'src/crystal/system/wasi/thread_condition_variable.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/wasi/thread_condition_variable.cr'
'src/crystal/system/wasi/thread_mutex.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/wasi/thread_mutex.cr'
'src/crystal/system/wasi/user.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/wasi/user.cr'
'src/crystal/system/wasi/wasi.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/wasi/wasi.cr'
'src/crystal/system/win32' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32'
'src/crystal/system/win32/addrinfo.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/addrinfo.cr'
'src/crystal/system/win32/addrinfo_win7.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/addrinfo_win7.cr'
'src/crystal/system/win32/cpucount.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/cpucount.cr'
'src/crystal/system/win32/crypto.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/crypto.cr'
'src/crystal/system/win32/dir.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/dir.cr'
'src/crystal/system/win32/env.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/env.cr'
'src/crystal/system/win32/event_loop_iocp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/event_loop_iocp.cr'
'src/crystal/system/win32/fiber.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/fiber.cr'
'src/crystal/system/win32/file.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/file.cr'
'src/crystal/system/win32/file_descriptor.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/file_descriptor.cr'
'src/crystal/system/win32/file_info.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/file_info.cr'
'src/crystal/system/win32/group.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/group.cr'
'src/crystal/system/win32/hostname.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/hostname.cr'
'src/crystal/system/win32/iocp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/iocp.cr'
'src/crystal/system/win32/library_archive.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/library_archive.cr'
'src/crystal/system/win32/mime.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/mime.cr'
'src/crystal/system/win32/path.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/path.cr'
'src/crystal/system/win32/process.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/process.cr'
'src/crystal/system/win32/random.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/random.cr'
'src/crystal/system/win32/signal.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/signal.cr'
'src/crystal/system/win32/socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/socket.cr'
'src/crystal/system/win32/thread.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/thread.cr'
'src/crystal/system/win32/thread_condition_variable.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/thread_condition_variable.cr'
'src/crystal/system/win32/thread_mutex.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/thread_mutex.cr'
'src/crystal/system/win32/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/time.cr'
'src/crystal/system/win32/user.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/user.cr'
'src/crystal/system/win32/visual_studio.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/visual_studio.cr'
'src/crystal/system/win32/windows_registry.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/windows_registry.cr'
'src/crystal/system/win32/windows_sdk.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/windows_sdk.cr'
'src/crystal/system/win32/wmain.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/wmain.cr'
'src/crystal/system/win32/zone_names.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/win32/zone_names.cr'
'src/crystal/system/windows.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/system/windows.cr'
'src/crystal/thread_local_value.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/thread_local_value.cr'
'src/crystal/tracing.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/crystal/tracing.cr'
'src/csv.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/csv.cr'
'src/csv' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/csv'
'src/csv/builder.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/csv/builder.cr'
'src/csv/error.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/csv/error.cr'
'src/csv/lexer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/csv/lexer.cr'
'src/csv/lexer' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/csv/lexer'
'src/csv/lexer/io_based.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/csv/lexer/io_based.cr'
'src/csv/lexer/string_based.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/csv/lexer/string_based.cr'
'src/csv/parser.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/csv/parser.cr'
'src/csv/token.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/csv/token.cr'
'src/deque.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/deque.cr'
'src/digest.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/digest.cr'
'src/digest' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/digest'
'src/digest/adler32.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/digest/adler32.cr'
'src/digest/crc32.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/digest/crc32.cr'
'src/digest/digest.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/digest/digest.cr'
'src/digest/io_digest.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/digest/io_digest.cr'
'src/digest/md5.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/digest/md5.cr'
'src/digest/sha1.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/digest/sha1.cr'
'src/digest/sha256.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/digest/sha256.cr'
'src/digest/sha512.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/digest/sha512.cr'
'src/dir.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/dir.cr'
'src/dir' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/dir'
'src/dir/glob.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/dir/glob.cr'
'src/docs_main.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/docs_main.cr'
'src/docs_pseudo_methods.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/docs_pseudo_methods.cr'
'src/ecr.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/ecr.cr'
'src/ecr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/ecr'
'src/ecr/lexer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/ecr/lexer.cr'
'src/ecr/macros.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/ecr/macros.cr'
'src/ecr/process.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/ecr/process.cr'
'src/ecr/processor.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/ecr/processor.cr'
'src/empty.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/empty.cr'
'src/enum.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/enum.cr'
'src/enumerable.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/enumerable.cr'
'src/env.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/env.cr'
'src/errno.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/errno.cr'
'src/exception.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/exception.cr'
'src/exception' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/exception'
'src/exception/call_stack.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/exception/call_stack.cr'
'src/exception/call_stack' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/exception/call_stack'
'src/exception/call_stack/dwarf.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/exception/call_stack/dwarf.cr'
'src/exception/call_stack/elf.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/exception/call_stack/elf.cr'
'src/exception/call_stack/interpreter.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/exception/call_stack/interpreter.cr'
'src/exception/call_stack/libunwind.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/exception/call_stack/libunwind.cr'
'src/exception/call_stack/mach_o.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/exception/call_stack/mach_o.cr'
'src/exception/call_stack/null.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/exception/call_stack/null.cr'
'src/exception/call_stack/stackwalk.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/exception/call_stack/stackwalk.cr'
'src/exception/lib_unwind.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/exception/lib_unwind.cr'
'src/fiber.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/fiber.cr'
'src/fiber' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/fiber'
'src/fiber/context.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/fiber/context.cr'
'src/fiber/context' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/fiber/context'
'src/fiber/context/aarch64.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/fiber/context/aarch64.cr'
'src/fiber/context/arm.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/fiber/context/arm.cr'
'src/fiber/context/i386.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/fiber/context/i386.cr'
'src/fiber/context/interpreted.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/fiber/context/interpreted.cr'
'src/fiber/context/wasm32.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/fiber/context/wasm32.cr'
'src/fiber/context/x86_64-microsoft.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/fiber/context/x86_64-microsoft.cr'
'src/fiber/context/x86_64-sysv.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/fiber/context/x86_64-sysv.cr'
'src/fiber/stack_pool.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/fiber/stack_pool.cr'
'src/file.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/file.cr'
'src/file' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/file'
'src/file/error.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/file/error.cr'
'src/file/info.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/file/info.cr'
'src/file/preader.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/file/preader.cr'
'src/file/tempfile.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/file/tempfile.cr'
'src/file_utils.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/file_utils.cr'
'src/float.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/float.cr'
'src/float' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/float'
'src/float/printer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/float/printer.cr'
'src/float/printer' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/float/printer'
'src/float/printer/cached_powers.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/float/printer/cached_powers.cr'
'src/float/printer/diy_fp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/float/printer/diy_fp.cr'
'src/float/printer/dragonbox.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/float/printer/dragonbox.cr'
'src/float/printer/dragonbox_cache.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/float/printer/dragonbox_cache.cr'
'src/float/printer/grisu3.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/float/printer/grisu3.cr'
'src/float/printer/hexfloat.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/float/printer/hexfloat.cr'
'src/float/printer/ieee.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/float/printer/ieee.cr'
'src/float/printer/ryu_printf.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/float/printer/ryu_printf.cr'
'src/float/printer/ryu_printf_table.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/float/printer/ryu_printf_table.cr'
'src/gc.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/gc.cr'
'src/gc' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/gc'
'src/gc/boehm.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/gc/boehm.cr'
'src/gc/none.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/gc/none.cr'
'src/hash.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/hash.cr'
'src/html.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/html.cr'
'src/html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/html'
'src/html/entities.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/html/entities.cr'
'src/http.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http.cr'
'src/http' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http'
'src/http/client.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/client.cr'
'src/http/client' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/client'
'src/http/client/response.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/client/response.cr'
'src/http/common.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/common.cr'
'src/http/content.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/content.cr'
'src/http/cookie.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/cookie.cr'
'src/http/formdata.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/formdata.cr'
'src/http/formdata' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/formdata'
'src/http/formdata/builder.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/formdata/builder.cr'
'src/http/formdata/parser.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/formdata/parser.cr'
'src/http/formdata/part.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/formdata/part.cr'
'src/http/headers.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/headers.cr'
'src/http/log.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/log.cr'
'src/http/params.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/params.cr'
'src/http/request.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/request.cr'
'src/http/server.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/server.cr'
'src/http/server' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/server'
'src/http/server/context.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/server/context.cr'
'src/http/server/handler.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/server/handler.cr'
'src/http/server/handlers' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/server/handlers'
'src/http/server/handlers/compress_handler.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/server/handlers/compress_handler.cr'
'src/http/server/handlers/error_handler.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/server/handlers/error_handler.cr'
'src/http/server/handlers/log_handler.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/server/handlers/log_handler.cr'
'src/http/server/handlers/static_file_handler.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/server/handlers/static_file_handler.cr'
'src/http/server/handlers/static_file_handler.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/server/handlers/static_file_handler.html'
'src/http/server/handlers/websocket_handler.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/server/handlers/websocket_handler.cr'
'src/http/server/request_processor.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/server/request_processor.cr'
'src/http/server/response.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/server/response.cr'
'src/http/status.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/status.cr'
'src/http/web_socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/web_socket.cr'
'src/http/web_socket' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/web_socket'
'src/http/web_socket/close_code.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/web_socket/close_code.cr'
'src/http/web_socket/protocol.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/http/web_socket/protocol.cr'
'src/humanize.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/humanize.cr'
'src/indexable.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/indexable.cr'
'src/indexable' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/indexable'
'src/indexable/mutable.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/indexable/mutable.cr'
'src/ini.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/ini.cr'
'src/int.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/int.cr'
'src/intrinsics.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/intrinsics.cr'
'src/io.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/io.cr'
'src/io' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/io'
'src/io/argf.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/io/argf.cr'
'src/io/buffered.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/io/buffered.cr'
'src/io/byte_format.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/io/byte_format.cr'
'src/io/console.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/io/console.cr'
'src/io/delimited.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/io/delimited.cr'
'src/io/encoding.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/io/encoding.cr'
'src/io/encoding_stubs.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/io/encoding_stubs.cr'
'src/io/error.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/io/error.cr'
'src/io/evented.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/io/evented.cr'
'src/io/file_descriptor.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/io/file_descriptor.cr'
'src/io/hexdump.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/io/hexdump.cr'
'src/io/memory.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/io/memory.cr'
'src/io/multi_writer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/io/multi_writer.cr'
'src/io/sized.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/io/sized.cr'
'src/io/stapled.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/io/stapled.cr'
'src/iterable.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/iterable.cr'
'src/iterator.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/iterator.cr'
'src/json.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/json.cr'
'src/json' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/json'
'src/json/any.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/json/any.cr'
'src/json/builder.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/json/builder.cr'
'src/json/from_json.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/json/from_json.cr'
'src/json/lexer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/json/lexer.cr'
'src/json/lexer' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/json/lexer'
'src/json/lexer/io_based.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/json/lexer/io_based.cr'
'src/json/lexer/string_based.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/json/lexer/string_based.cr'
'src/json/parser.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/json/parser.cr'
'src/json/pull_parser.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/json/pull_parser.cr'
'src/json/serialization.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/json/serialization.cr'
'src/json/to_json.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/json/to_json.cr'
'src/json/token.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/json/token.cr'
'src/kernel.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/kernel.cr'
'src/levenshtein.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/levenshtein.cr'
'src/lib_c.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c.cr'
'src/lib_c' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c'
'src/lib_c/aarch64-android' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android'
'src/lib_c/aarch64-android/c' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c'
'src/lib_c/aarch64-android/c/arpa' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/arpa'
'src/lib_c/aarch64-android/c/arpa/inet.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/arpa/inet.cr'
'src/lib_c/aarch64-android/c/dirent.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/dirent.cr'
'src/lib_c/aarch64-android/c/dlfcn.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/dlfcn.cr'
'src/lib_c/aarch64-android/c/elf.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/elf.cr'
'src/lib_c/aarch64-android/c/errno.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/errno.cr'
'src/lib_c/aarch64-android/c/fcntl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/fcntl.cr'
'src/lib_c/aarch64-android/c/grp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/grp.cr'
'src/lib_c/aarch64-android/c/iconv.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/iconv.cr'
'src/lib_c/aarch64-android/c/link.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/link.cr'
'src/lib_c/aarch64-android/c/netdb.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/netdb.cr'
'src/lib_c/aarch64-android/c/netinet' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/netinet'
'src/lib_c/aarch64-android/c/netinet/in.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/netinet/in.cr'
'src/lib_c/aarch64-android/c/netinet/tcp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/netinet/tcp.cr'
'src/lib_c/aarch64-android/c/pthread.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/pthread.cr'
'src/lib_c/aarch64-android/c/pwd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/pwd.cr'
'src/lib_c/aarch64-android/c/sched.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/sched.cr'
'src/lib_c/aarch64-android/c/signal.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/signal.cr'
'src/lib_c/aarch64-android/c/stdarg.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/stdarg.cr'
'src/lib_c/aarch64-android/c/stddef.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/stddef.cr'
'src/lib_c/aarch64-android/c/stdint.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/stdint.cr'
'src/lib_c/aarch64-android/c/stdio.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/stdio.cr'
'src/lib_c/aarch64-android/c/stdlib.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/stdlib.cr'
'src/lib_c/aarch64-android/c/string.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/string.cr'
'src/lib_c/aarch64-android/c/sys' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/sys'
'src/lib_c/aarch64-android/c/sys/file.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/sys/file.cr'
'src/lib_c/aarch64-android/c/sys/ioctl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/sys/ioctl.cr'
'src/lib_c/aarch64-android/c/sys/mman.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/sys/mman.cr'
'src/lib_c/aarch64-android/c/sys/resource.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/sys/resource.cr'
'src/lib_c/aarch64-android/c/sys/select.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/sys/select.cr'
'src/lib_c/aarch64-android/c/sys/socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/sys/socket.cr'
'src/lib_c/aarch64-android/c/sys/stat.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/sys/stat.cr'
'src/lib_c/aarch64-android/c/sys/syscall.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/sys/syscall.cr'
'src/lib_c/aarch64-android/c/sys/system_properties.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/sys/system_properties.cr'
'src/lib_c/aarch64-android/c/sys/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/sys/time.cr'
'src/lib_c/aarch64-android/c/sys/types.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/sys/types.cr'
'src/lib_c/aarch64-android/c/sys/un.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/sys/un.cr'
'src/lib_c/aarch64-android/c/sys/wait.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/sys/wait.cr'
'src/lib_c/aarch64-android/c/termios.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/termios.cr'
'src/lib_c/aarch64-android/c/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/time.cr'
'src/lib_c/aarch64-android/c/unistd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-android/c/unistd.cr'
'src/lib_c/aarch64-darwin' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin'
'src/lib_c/aarch64-darwin/c' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c'
'src/lib_c/aarch64-darwin/c/arpa' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/arpa'
'src/lib_c/aarch64-darwin/c/arpa/inet.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/arpa/inet.cr'
'src/lib_c/aarch64-darwin/c/dirent.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/dirent.cr'
'src/lib_c/aarch64-darwin/c/dlfcn.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/dlfcn.cr'
'src/lib_c/aarch64-darwin/c/errno.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/errno.cr'
'src/lib_c/aarch64-darwin/c/fcntl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/fcntl.cr'
'src/lib_c/aarch64-darwin/c/grp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/grp.cr'
'src/lib_c/aarch64-darwin/c/iconv.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/iconv.cr'
'src/lib_c/aarch64-darwin/c/mach' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/mach'
'src/lib_c/aarch64-darwin/c/mach/mach_time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/mach/mach_time.cr'
'src/lib_c/aarch64-darwin/c/netdb.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/netdb.cr'
'src/lib_c/aarch64-darwin/c/netinet' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/netinet'
'src/lib_c/aarch64-darwin/c/netinet/in.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/netinet/in.cr'
'src/lib_c/aarch64-darwin/c/netinet/tcp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/netinet/tcp.cr'
'src/lib_c/aarch64-darwin/c/pthread.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/pthread.cr'
'src/lib_c/aarch64-darwin/c/pwd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/pwd.cr'
'src/lib_c/aarch64-darwin/c/sched.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/sched.cr'
'src/lib_c/aarch64-darwin/c/signal.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/signal.cr'
'src/lib_c/aarch64-darwin/c/stdarg.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/stdarg.cr'
'src/lib_c/aarch64-darwin/c/stddef.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/stddef.cr'
'src/lib_c/aarch64-darwin/c/stdint.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/stdint.cr'
'src/lib_c/aarch64-darwin/c/stdio.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/stdio.cr'
'src/lib_c/aarch64-darwin/c/stdlib.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/stdlib.cr'
'src/lib_c/aarch64-darwin/c/string.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/string.cr'
'src/lib_c/aarch64-darwin/c/sys' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/sys'
'src/lib_c/aarch64-darwin/c/sys/file.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/sys/file.cr'
'src/lib_c/aarch64-darwin/c/sys/mman.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/sys/mman.cr'
'src/lib_c/aarch64-darwin/c/sys/resource.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/sys/resource.cr'
'src/lib_c/aarch64-darwin/c/sys/select.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/sys/select.cr'
'src/lib_c/aarch64-darwin/c/sys/socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/sys/socket.cr'
'src/lib_c/aarch64-darwin/c/sys/stat.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/sys/stat.cr'
'src/lib_c/aarch64-darwin/c/sys/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/sys/time.cr'
'src/lib_c/aarch64-darwin/c/sys/types.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/sys/types.cr'
'src/lib_c/aarch64-darwin/c/sys/un.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/sys/un.cr'
'src/lib_c/aarch64-darwin/c/sys/wait.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/sys/wait.cr'
'src/lib_c/aarch64-darwin/c/termios.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/termios.cr'
'src/lib_c/aarch64-darwin/c/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/time.cr'
'src/lib_c/aarch64-darwin/c/unistd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-darwin/c/unistd.cr'
'src/lib_c/aarch64-linux-gnu' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu'
'src/lib_c/aarch64-linux-gnu/c' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c'
'src/lib_c/aarch64-linux-gnu/c/arpa' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/arpa'
'src/lib_c/aarch64-linux-gnu/c/arpa/inet.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/arpa/inet.cr'
'src/lib_c/aarch64-linux-gnu/c/dirent.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/dirent.cr'
'src/lib_c/aarch64-linux-gnu/c/dlfcn.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/dlfcn.cr'
'src/lib_c/aarch64-linux-gnu/c/elf.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/elf.cr'
'src/lib_c/aarch64-linux-gnu/c/errno.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/errno.cr'
'src/lib_c/aarch64-linux-gnu/c/fcntl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/fcntl.cr'
'src/lib_c/aarch64-linux-gnu/c/grp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/grp.cr'
'src/lib_c/aarch64-linux-gnu/c/iconv.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/iconv.cr'
'src/lib_c/aarch64-linux-gnu/c/link.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/link.cr'
'src/lib_c/aarch64-linux-gnu/c/netdb.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/netdb.cr'
'src/lib_c/aarch64-linux-gnu/c/netinet' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/netinet'
'src/lib_c/aarch64-linux-gnu/c/netinet/in.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/netinet/in.cr'
'src/lib_c/aarch64-linux-gnu/c/netinet/tcp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/netinet/tcp.cr'
'src/lib_c/aarch64-linux-gnu/c/pthread.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/pthread.cr'
'src/lib_c/aarch64-linux-gnu/c/pwd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/pwd.cr'
'src/lib_c/aarch64-linux-gnu/c/sched.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/sched.cr'
'src/lib_c/aarch64-linux-gnu/c/signal.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/signal.cr'
'src/lib_c/aarch64-linux-gnu/c/stdarg.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/stdarg.cr'
'src/lib_c/aarch64-linux-gnu/c/stddef.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/stddef.cr'
'src/lib_c/aarch64-linux-gnu/c/stdint.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/stdint.cr'
'src/lib_c/aarch64-linux-gnu/c/stdio.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/stdio.cr'
'src/lib_c/aarch64-linux-gnu/c/stdlib.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/stdlib.cr'
'src/lib_c/aarch64-linux-gnu/c/string.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/string.cr'
'src/lib_c/aarch64-linux-gnu/c/sys' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/sys'
'src/lib_c/aarch64-linux-gnu/c/sys/file.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/sys/file.cr'
'src/lib_c/aarch64-linux-gnu/c/sys/mman.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/sys/mman.cr'
'src/lib_c/aarch64-linux-gnu/c/sys/resource.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/sys/resource.cr'
'src/lib_c/aarch64-linux-gnu/c/sys/select.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/sys/select.cr'
'src/lib_c/aarch64-linux-gnu/c/sys/socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/sys/socket.cr'
'src/lib_c/aarch64-linux-gnu/c/sys/stat.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/sys/stat.cr'
'src/lib_c/aarch64-linux-gnu/c/sys/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/sys/time.cr'
'src/lib_c/aarch64-linux-gnu/c/sys/types.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/sys/types.cr'
'src/lib_c/aarch64-linux-gnu/c/sys/un.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/sys/un.cr'
'src/lib_c/aarch64-linux-gnu/c/sys/wait.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/sys/wait.cr'
'src/lib_c/aarch64-linux-gnu/c/termios.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/termios.cr'
'src/lib_c/aarch64-linux-gnu/c/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/time.cr'
'src/lib_c/aarch64-linux-gnu/c/unistd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-gnu/c/unistd.cr'
'src/lib_c/aarch64-linux-musl' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl'
'src/lib_c/aarch64-linux-musl/c' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c'
'src/lib_c/aarch64-linux-musl/c/arpa' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/arpa'
'src/lib_c/aarch64-linux-musl/c/arpa/inet.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/arpa/inet.cr'
'src/lib_c/aarch64-linux-musl/c/dirent.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/dirent.cr'
'src/lib_c/aarch64-linux-musl/c/dlfcn.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/dlfcn.cr'
'src/lib_c/aarch64-linux-musl/c/elf.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/elf.cr'
'src/lib_c/aarch64-linux-musl/c/errno.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/errno.cr'
'src/lib_c/aarch64-linux-musl/c/fcntl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/fcntl.cr'
'src/lib_c/aarch64-linux-musl/c/grp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/grp.cr'
'src/lib_c/aarch64-linux-musl/c/iconv.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/iconv.cr'
'src/lib_c/aarch64-linux-musl/c/link.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/link.cr'
'src/lib_c/aarch64-linux-musl/c/netdb.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/netdb.cr'
'src/lib_c/aarch64-linux-musl/c/netinet' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/netinet'
'src/lib_c/aarch64-linux-musl/c/netinet/in.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/netinet/in.cr'
'src/lib_c/aarch64-linux-musl/c/netinet/tcp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/netinet/tcp.cr'
'src/lib_c/aarch64-linux-musl/c/pthread.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/pthread.cr'
'src/lib_c/aarch64-linux-musl/c/pwd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/pwd.cr'
'src/lib_c/aarch64-linux-musl/c/sched.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/sched.cr'
'src/lib_c/aarch64-linux-musl/c/signal.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/signal.cr'
'src/lib_c/aarch64-linux-musl/c/stdarg.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/stdarg.cr'
'src/lib_c/aarch64-linux-musl/c/stddef.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/stddef.cr'
'src/lib_c/aarch64-linux-musl/c/stdint.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/stdint.cr'
'src/lib_c/aarch64-linux-musl/c/stdio.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/stdio.cr'
'src/lib_c/aarch64-linux-musl/c/stdlib.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/stdlib.cr'
'src/lib_c/aarch64-linux-musl/c/string.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/string.cr'
'src/lib_c/aarch64-linux-musl/c/sys' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/sys'
'src/lib_c/aarch64-linux-musl/c/sys/file.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/sys/file.cr'
'src/lib_c/aarch64-linux-musl/c/sys/mman.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/sys/mman.cr'
'src/lib_c/aarch64-linux-musl/c/sys/resource.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/sys/resource.cr'
'src/lib_c/aarch64-linux-musl/c/sys/select.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/sys/select.cr'
'src/lib_c/aarch64-linux-musl/c/sys/socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/sys/socket.cr'
'src/lib_c/aarch64-linux-musl/c/sys/stat.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/sys/stat.cr'
'src/lib_c/aarch64-linux-musl/c/sys/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/sys/time.cr'
'src/lib_c/aarch64-linux-musl/c/sys/types.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/sys/types.cr'
'src/lib_c/aarch64-linux-musl/c/sys/un.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/sys/un.cr'
'src/lib_c/aarch64-linux-musl/c/sys/wait.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/sys/wait.cr'
'src/lib_c/aarch64-linux-musl/c/termios.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/termios.cr'
'src/lib_c/aarch64-linux-musl/c/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/time.cr'
'src/lib_c/aarch64-linux-musl/c/unistd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-linux-musl/c/unistd.cr'
'src/lib_c/aarch64-windows-msvc' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/aarch64-windows-msvc'
'src/lib_c/amd64-unknown-openbsd' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/amd64-unknown-openbsd'
'src/lib_c/arm-linux-gnueabihf' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf'
'src/lib_c/arm-linux-gnueabihf/c' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c'
'src/lib_c/arm-linux-gnueabihf/c/arpa' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/arpa'
'src/lib_c/arm-linux-gnueabihf/c/arpa/inet.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/arpa/inet.cr'
'src/lib_c/arm-linux-gnueabihf/c/dirent.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/dirent.cr'
'src/lib_c/arm-linux-gnueabihf/c/dlfcn.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/dlfcn.cr'
'src/lib_c/arm-linux-gnueabihf/c/elf.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/elf.cr'
'src/lib_c/arm-linux-gnueabihf/c/errno.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/errno.cr'
'src/lib_c/arm-linux-gnueabihf/c/fcntl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/fcntl.cr'
'src/lib_c/arm-linux-gnueabihf/c/grp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/grp.cr'
'src/lib_c/arm-linux-gnueabihf/c/iconv.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/iconv.cr'
'src/lib_c/arm-linux-gnueabihf/c/link.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/link.cr'
'src/lib_c/arm-linux-gnueabihf/c/netdb.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/netdb.cr'
'src/lib_c/arm-linux-gnueabihf/c/netinet' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/netinet'
'src/lib_c/arm-linux-gnueabihf/c/netinet/in.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/netinet/in.cr'
'src/lib_c/arm-linux-gnueabihf/c/netinet/tcp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/netinet/tcp.cr'
'src/lib_c/arm-linux-gnueabihf/c/pthread.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/pthread.cr'
'src/lib_c/arm-linux-gnueabihf/c/pwd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/pwd.cr'
'src/lib_c/arm-linux-gnueabihf/c/sched.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/sched.cr'
'src/lib_c/arm-linux-gnueabihf/c/signal.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/signal.cr'
'src/lib_c/arm-linux-gnueabihf/c/stdarg.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/stdarg.cr'
'src/lib_c/arm-linux-gnueabihf/c/stddef.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/stddef.cr'
'src/lib_c/arm-linux-gnueabihf/c/stdint.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/stdint.cr'
'src/lib_c/arm-linux-gnueabihf/c/stdio.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/stdio.cr'
'src/lib_c/arm-linux-gnueabihf/c/stdlib.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/stdlib.cr'
'src/lib_c/arm-linux-gnueabihf/c/string.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/string.cr'
'src/lib_c/arm-linux-gnueabihf/c/sys' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/sys'
'src/lib_c/arm-linux-gnueabihf/c/sys/file.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/sys/file.cr'
'src/lib_c/arm-linux-gnueabihf/c/sys/mman.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/sys/mman.cr'
'src/lib_c/arm-linux-gnueabihf/c/sys/resource.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/sys/resource.cr'
'src/lib_c/arm-linux-gnueabihf/c/sys/select.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/sys/select.cr'
'src/lib_c/arm-linux-gnueabihf/c/sys/socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/sys/socket.cr'
'src/lib_c/arm-linux-gnueabihf/c/sys/stat.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/sys/stat.cr'
'src/lib_c/arm-linux-gnueabihf/c/sys/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/sys/time.cr'
'src/lib_c/arm-linux-gnueabihf/c/sys/types.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/sys/types.cr'
'src/lib_c/arm-linux-gnueabihf/c/sys/un.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/sys/un.cr'
'src/lib_c/arm-linux-gnueabihf/c/sys/wait.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/sys/wait.cr'
'src/lib_c/arm-linux-gnueabihf/c/termios.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/termios.cr'
'src/lib_c/arm-linux-gnueabihf/c/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/time.cr'
'src/lib_c/arm-linux-gnueabihf/c/unistd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/arm-linux-gnueabihf/c/unistd.cr'
'src/lib_c/i386-linux-gnu' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu'
'src/lib_c/i386-linux-gnu/c' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c'
'src/lib_c/i386-linux-gnu/c/arpa' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/arpa'
'src/lib_c/i386-linux-gnu/c/arpa/inet.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/arpa/inet.cr'
'src/lib_c/i386-linux-gnu/c/dirent.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/dirent.cr'
'src/lib_c/i386-linux-gnu/c/dlfcn.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/dlfcn.cr'
'src/lib_c/i386-linux-gnu/c/elf.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/elf.cr'
'src/lib_c/i386-linux-gnu/c/errno.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/errno.cr'
'src/lib_c/i386-linux-gnu/c/fcntl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/fcntl.cr'
'src/lib_c/i386-linux-gnu/c/grp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/grp.cr'
'src/lib_c/i386-linux-gnu/c/iconv.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/iconv.cr'
'src/lib_c/i386-linux-gnu/c/link.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/link.cr'
'src/lib_c/i386-linux-gnu/c/netdb.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/netdb.cr'
'src/lib_c/i386-linux-gnu/c/netinet' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/netinet'
'src/lib_c/i386-linux-gnu/c/netinet/in.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/netinet/in.cr'
'src/lib_c/i386-linux-gnu/c/netinet/tcp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/netinet/tcp.cr'
'src/lib_c/i386-linux-gnu/c/pthread.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/pthread.cr'
'src/lib_c/i386-linux-gnu/c/pwd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/pwd.cr'
'src/lib_c/i386-linux-gnu/c/sched.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/sched.cr'
'src/lib_c/i386-linux-gnu/c/signal.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/signal.cr'
'src/lib_c/i386-linux-gnu/c/stdarg.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/stdarg.cr'
'src/lib_c/i386-linux-gnu/c/stddef.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/stddef.cr'
'src/lib_c/i386-linux-gnu/c/stdint.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/stdint.cr'
'src/lib_c/i386-linux-gnu/c/stdio.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/stdio.cr'
'src/lib_c/i386-linux-gnu/c/stdlib.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/stdlib.cr'
'src/lib_c/i386-linux-gnu/c/string.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/string.cr'
'src/lib_c/i386-linux-gnu/c/sys' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/sys'
'src/lib_c/i386-linux-gnu/c/sys/file.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/sys/file.cr'
'src/lib_c/i386-linux-gnu/c/sys/mman.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/sys/mman.cr'
'src/lib_c/i386-linux-gnu/c/sys/resource.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/sys/resource.cr'
'src/lib_c/i386-linux-gnu/c/sys/select.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/sys/select.cr'
'src/lib_c/i386-linux-gnu/c/sys/socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/sys/socket.cr'
'src/lib_c/i386-linux-gnu/c/sys/stat.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/sys/stat.cr'
'src/lib_c/i386-linux-gnu/c/sys/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/sys/time.cr'
'src/lib_c/i386-linux-gnu/c/sys/types.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/sys/types.cr'
'src/lib_c/i386-linux-gnu/c/sys/un.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/sys/un.cr'
'src/lib_c/i386-linux-gnu/c/sys/wait.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/sys/wait.cr'
'src/lib_c/i386-linux-gnu/c/termios.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/termios.cr'
'src/lib_c/i386-linux-gnu/c/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/time.cr'
'src/lib_c/i386-linux-gnu/c/unistd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-gnu/c/unistd.cr'
'src/lib_c/i386-linux-musl' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl'
'src/lib_c/i386-linux-musl/c' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c'
'src/lib_c/i386-linux-musl/c/arpa' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/arpa'
'src/lib_c/i386-linux-musl/c/arpa/inet.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/arpa/inet.cr'
'src/lib_c/i386-linux-musl/c/dirent.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/dirent.cr'
'src/lib_c/i386-linux-musl/c/dlfcn.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/dlfcn.cr'
'src/lib_c/i386-linux-musl/c/elf.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/elf.cr'
'src/lib_c/i386-linux-musl/c/errno.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/errno.cr'
'src/lib_c/i386-linux-musl/c/fcntl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/fcntl.cr'
'src/lib_c/i386-linux-musl/c/grp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/grp.cr'
'src/lib_c/i386-linux-musl/c/iconv.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/iconv.cr'
'src/lib_c/i386-linux-musl/c/link.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/link.cr'
'src/lib_c/i386-linux-musl/c/netdb.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/netdb.cr'
'src/lib_c/i386-linux-musl/c/netinet' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/netinet'
'src/lib_c/i386-linux-musl/c/netinet/in.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/netinet/in.cr'
'src/lib_c/i386-linux-musl/c/netinet/tcp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/netinet/tcp.cr'
'src/lib_c/i386-linux-musl/c/pthread.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/pthread.cr'
'src/lib_c/i386-linux-musl/c/pwd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/pwd.cr'
'src/lib_c/i386-linux-musl/c/sched.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/sched.cr'
'src/lib_c/i386-linux-musl/c/signal.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/signal.cr'
'src/lib_c/i386-linux-musl/c/stdarg.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/stdarg.cr'
'src/lib_c/i386-linux-musl/c/stddef.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/stddef.cr'
'src/lib_c/i386-linux-musl/c/stdint.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/stdint.cr'
'src/lib_c/i386-linux-musl/c/stdio.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/stdio.cr'
'src/lib_c/i386-linux-musl/c/stdlib.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/stdlib.cr'
'src/lib_c/i386-linux-musl/c/string.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/string.cr'
'src/lib_c/i386-linux-musl/c/sys' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/sys'
'src/lib_c/i386-linux-musl/c/sys/file.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/sys/file.cr'
'src/lib_c/i386-linux-musl/c/sys/mman.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/sys/mman.cr'
'src/lib_c/i386-linux-musl/c/sys/resource.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/sys/resource.cr'
'src/lib_c/i386-linux-musl/c/sys/select.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/sys/select.cr'
'src/lib_c/i386-linux-musl/c/sys/socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/sys/socket.cr'
'src/lib_c/i386-linux-musl/c/sys/stat.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/sys/stat.cr'
'src/lib_c/i386-linux-musl/c/sys/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/sys/time.cr'
'src/lib_c/i386-linux-musl/c/sys/types.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/sys/types.cr'
'src/lib_c/i386-linux-musl/c/sys/un.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/sys/un.cr'
'src/lib_c/i386-linux-musl/c/sys/wait.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/sys/wait.cr'
'src/lib_c/i386-linux-musl/c/termios.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/termios.cr'
'src/lib_c/i386-linux-musl/c/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/time.cr'
'src/lib_c/i386-linux-musl/c/unistd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i386-linux-musl/c/unistd.cr'
'src/lib_c/i686-linux-gnu' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i686-linux-gnu'
'src/lib_c/i686-linux-musl' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/i686-linux-musl'
'src/lib_c/wasm32-wasi' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi'
'src/lib_c/wasm32-wasi/c' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c'
'src/lib_c/wasm32-wasi/c/arpa' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/arpa'
'src/lib_c/wasm32-wasi/c/arpa/inet.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/arpa/inet.cr'
'src/lib_c/wasm32-wasi/c/errno.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/errno.cr'
'src/lib_c/wasm32-wasi/c/fcntl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/fcntl.cr'
'src/lib_c/wasm32-wasi/c/iconv.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/iconv.cr'
'src/lib_c/wasm32-wasi/c/netdb.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/netdb.cr'
'src/lib_c/wasm32-wasi/c/netinet' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/netinet'
'src/lib_c/wasm32-wasi/c/netinet/in.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/netinet/in.cr'
'src/lib_c/wasm32-wasi/c/netinet/tcp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/netinet/tcp.cr'
'src/lib_c/wasm32-wasi/c/sched.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/sched.cr'
'src/lib_c/wasm32-wasi/c/stdarg.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/stdarg.cr'
'src/lib_c/wasm32-wasi/c/stddef.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/stddef.cr'
'src/lib_c/wasm32-wasi/c/stdint.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/stdint.cr'
'src/lib_c/wasm32-wasi/c/stdio.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/stdio.cr'
'src/lib_c/wasm32-wasi/c/stdlib.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/stdlib.cr'
'src/lib_c/wasm32-wasi/c/string.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/string.cr'
'src/lib_c/wasm32-wasi/c/sys' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/sys'
'src/lib_c/wasm32-wasi/c/sys/file.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/sys/file.cr'
'src/lib_c/wasm32-wasi/c/sys/resource.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/sys/resource.cr'
'src/lib_c/wasm32-wasi/c/sys/select.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/sys/select.cr'
'src/lib_c/wasm32-wasi/c/sys/socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/sys/socket.cr'
'src/lib_c/wasm32-wasi/c/sys/stat.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/sys/stat.cr'
'src/lib_c/wasm32-wasi/c/sys/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/sys/time.cr'
'src/lib_c/wasm32-wasi/c/sys/times.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/sys/times.cr'
'src/lib_c/wasm32-wasi/c/sys/types.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/sys/types.cr'
'src/lib_c/wasm32-wasi/c/termios.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/termios.cr'
'src/lib_c/wasm32-wasi/c/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/time.cr'
'src/lib_c/wasm32-wasi/c/unistd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/wasm32-wasi/c/unistd.cr'
'src/lib_c/x86_64-darwin' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin'
'src/lib_c/x86_64-darwin/c' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c'
'src/lib_c/x86_64-darwin/c/arpa' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/arpa'
'src/lib_c/x86_64-darwin/c/arpa/inet.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/arpa/inet.cr'
'src/lib_c/x86_64-darwin/c/dirent.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/dirent.cr'
'src/lib_c/x86_64-darwin/c/dlfcn.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/dlfcn.cr'
'src/lib_c/x86_64-darwin/c/errno.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/errno.cr'
'src/lib_c/x86_64-darwin/c/fcntl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/fcntl.cr'
'src/lib_c/x86_64-darwin/c/grp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/grp.cr'
'src/lib_c/x86_64-darwin/c/iconv.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/iconv.cr'
'src/lib_c/x86_64-darwin/c/mach' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/mach'
'src/lib_c/x86_64-darwin/c/mach/mach_time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/mach/mach_time.cr'
'src/lib_c/x86_64-darwin/c/netdb.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/netdb.cr'
'src/lib_c/x86_64-darwin/c/netinet' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/netinet'
'src/lib_c/x86_64-darwin/c/netinet/in.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/netinet/in.cr'
'src/lib_c/x86_64-darwin/c/netinet/tcp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/netinet/tcp.cr'
'src/lib_c/x86_64-darwin/c/pthread.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/pthread.cr'
'src/lib_c/x86_64-darwin/c/pwd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/pwd.cr'
'src/lib_c/x86_64-darwin/c/sched.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/sched.cr'
'src/lib_c/x86_64-darwin/c/signal.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/signal.cr'
'src/lib_c/x86_64-darwin/c/stdarg.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/stdarg.cr'
'src/lib_c/x86_64-darwin/c/stddef.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/stddef.cr'
'src/lib_c/x86_64-darwin/c/stdint.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/stdint.cr'
'src/lib_c/x86_64-darwin/c/stdio.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/stdio.cr'
'src/lib_c/x86_64-darwin/c/stdlib.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/stdlib.cr'
'src/lib_c/x86_64-darwin/c/string.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/string.cr'
'src/lib_c/x86_64-darwin/c/sys' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/sys'
'src/lib_c/x86_64-darwin/c/sys/file.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/sys/file.cr'
'src/lib_c/x86_64-darwin/c/sys/mman.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/sys/mman.cr'
'src/lib_c/x86_64-darwin/c/sys/resource.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/sys/resource.cr'
'src/lib_c/x86_64-darwin/c/sys/select.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/sys/select.cr'
'src/lib_c/x86_64-darwin/c/sys/socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/sys/socket.cr'
'src/lib_c/x86_64-darwin/c/sys/stat.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/sys/stat.cr'
'src/lib_c/x86_64-darwin/c/sys/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/sys/time.cr'
'src/lib_c/x86_64-darwin/c/sys/types.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/sys/types.cr'
'src/lib_c/x86_64-darwin/c/sys/un.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/sys/un.cr'
'src/lib_c/x86_64-darwin/c/sys/wait.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/sys/wait.cr'
'src/lib_c/x86_64-darwin/c/termios.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/termios.cr'
'src/lib_c/x86_64-darwin/c/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/time.cr'
'src/lib_c/x86_64-darwin/c/unistd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-darwin/c/unistd.cr'
'src/lib_c/x86_64-dragonfly' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly'
'src/lib_c/x86_64-dragonfly/c' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c'
'src/lib_c/x86_64-dragonfly/c/arpa' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/arpa'
'src/lib_c/x86_64-dragonfly/c/arpa/inet.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/arpa/inet.cr'
'src/lib_c/x86_64-dragonfly/c/dirent.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/dirent.cr'
'src/lib_c/x86_64-dragonfly/c/dlfcn.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/dlfcn.cr'
'src/lib_c/x86_64-dragonfly/c/elf.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/elf.cr'
'src/lib_c/x86_64-dragonfly/c/errno.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/errno.cr'
'src/lib_c/x86_64-dragonfly/c/fcntl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/fcntl.cr'
'src/lib_c/x86_64-dragonfly/c/grp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/grp.cr'
'src/lib_c/x86_64-dragonfly/c/iconv.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/iconv.cr'
'src/lib_c/x86_64-dragonfly/c/link.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/link.cr'
'src/lib_c/x86_64-dragonfly/c/netdb.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/netdb.cr'
'src/lib_c/x86_64-dragonfly/c/netinet' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/netinet'
'src/lib_c/x86_64-dragonfly/c/netinet/in.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/netinet/in.cr'
'src/lib_c/x86_64-dragonfly/c/netinet/tcp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/netinet/tcp.cr'
'src/lib_c/x86_64-dragonfly/c/pthread.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/pthread.cr'
'src/lib_c/x86_64-dragonfly/c/pwd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/pwd.cr'
'src/lib_c/x86_64-dragonfly/c/sched.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/sched.cr'
'src/lib_c/x86_64-dragonfly/c/signal.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/signal.cr'
'src/lib_c/x86_64-dragonfly/c/stdarg.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/stdarg.cr'
'src/lib_c/x86_64-dragonfly/c/stddef.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/stddef.cr'
'src/lib_c/x86_64-dragonfly/c/stdint.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/stdint.cr'
'src/lib_c/x86_64-dragonfly/c/stdio.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/stdio.cr'
'src/lib_c/x86_64-dragonfly/c/stdlib.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/stdlib.cr'
'src/lib_c/x86_64-dragonfly/c/string.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/string.cr'
'src/lib_c/x86_64-dragonfly/c/sys' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/sys'
'src/lib_c/x86_64-dragonfly/c/sys/file.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/sys/file.cr'
'src/lib_c/x86_64-dragonfly/c/sys/mman.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/sys/mman.cr'
'src/lib_c/x86_64-dragonfly/c/sys/resource.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/sys/resource.cr'
'src/lib_c/x86_64-dragonfly/c/sys/select.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/sys/select.cr'
'src/lib_c/x86_64-dragonfly/c/sys/socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/sys/socket.cr'
'src/lib_c/x86_64-dragonfly/c/sys/stat.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/sys/stat.cr'
'src/lib_c/x86_64-dragonfly/c/sys/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/sys/time.cr'
'src/lib_c/x86_64-dragonfly/c/sys/types.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/sys/types.cr'
'src/lib_c/x86_64-dragonfly/c/sys/un.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/sys/un.cr'
'src/lib_c/x86_64-dragonfly/c/sys/wait.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/sys/wait.cr'
'src/lib_c/x86_64-dragonfly/c/sysctl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/sysctl.cr'
'src/lib_c/x86_64-dragonfly/c/termios.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/termios.cr'
'src/lib_c/x86_64-dragonfly/c/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/time.cr'
'src/lib_c/x86_64-dragonfly/c/unistd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-dragonfly/c/unistd.cr'
'src/lib_c/x86_64-freebsd' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd'
'src/lib_c/x86_64-freebsd/c' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c'
'src/lib_c/x86_64-freebsd/c/arpa' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/arpa'
'src/lib_c/x86_64-freebsd/c/arpa/inet.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/arpa/inet.cr'
'src/lib_c/x86_64-freebsd/c/dirent.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/dirent.cr'
'src/lib_c/x86_64-freebsd/c/dlfcn.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/dlfcn.cr'
'src/lib_c/x86_64-freebsd/c/elf.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/elf.cr'
'src/lib_c/x86_64-freebsd/c/errno.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/errno.cr'
'src/lib_c/x86_64-freebsd/c/fcntl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/fcntl.cr'
'src/lib_c/x86_64-freebsd/c/grp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/grp.cr'
'src/lib_c/x86_64-freebsd/c/iconv.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/iconv.cr'
'src/lib_c/x86_64-freebsd/c/link.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/link.cr'
'src/lib_c/x86_64-freebsd/c/netdb.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/netdb.cr'
'src/lib_c/x86_64-freebsd/c/netinet' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/netinet'
'src/lib_c/x86_64-freebsd/c/netinet/in.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/netinet/in.cr'
'src/lib_c/x86_64-freebsd/c/netinet/tcp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/netinet/tcp.cr'
'src/lib_c/x86_64-freebsd/c/pthread.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/pthread.cr'
'src/lib_c/x86_64-freebsd/c/pwd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/pwd.cr'
'src/lib_c/x86_64-freebsd/c/sched.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/sched.cr'
'src/lib_c/x86_64-freebsd/c/signal.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/signal.cr'
'src/lib_c/x86_64-freebsd/c/stdarg.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/stdarg.cr'
'src/lib_c/x86_64-freebsd/c/stddef.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/stddef.cr'
'src/lib_c/x86_64-freebsd/c/stdint.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/stdint.cr'
'src/lib_c/x86_64-freebsd/c/stdio.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/stdio.cr'
'src/lib_c/x86_64-freebsd/c/stdlib.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/stdlib.cr'
'src/lib_c/x86_64-freebsd/c/string.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/string.cr'
'src/lib_c/x86_64-freebsd/c/sys' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/sys'
'src/lib_c/x86_64-freebsd/c/sys/file.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/sys/file.cr'
'src/lib_c/x86_64-freebsd/c/sys/mman.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/sys/mman.cr'
'src/lib_c/x86_64-freebsd/c/sys/resource.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/sys/resource.cr'
'src/lib_c/x86_64-freebsd/c/sys/select.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/sys/select.cr'
'src/lib_c/x86_64-freebsd/c/sys/socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/sys/socket.cr'
'src/lib_c/x86_64-freebsd/c/sys/stat.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/sys/stat.cr'
'src/lib_c/x86_64-freebsd/c/sys/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/sys/time.cr'
'src/lib_c/x86_64-freebsd/c/sys/types.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/sys/types.cr'
'src/lib_c/x86_64-freebsd/c/sys/un.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/sys/un.cr'
'src/lib_c/x86_64-freebsd/c/sys/wait.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/sys/wait.cr'
'src/lib_c/x86_64-freebsd/c/sysctl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/sysctl.cr'
'src/lib_c/x86_64-freebsd/c/termios.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/termios.cr'
'src/lib_c/x86_64-freebsd/c/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/time.cr'
'src/lib_c/x86_64-freebsd/c/unistd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-freebsd/c/unistd.cr'
'src/lib_c/x86_64-linux-gnu' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu'
'src/lib_c/x86_64-linux-gnu/c' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c'
'src/lib_c/x86_64-linux-gnu/c/arpa' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/arpa'
'src/lib_c/x86_64-linux-gnu/c/arpa/inet.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/arpa/inet.cr'
'src/lib_c/x86_64-linux-gnu/c/dirent.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/dirent.cr'
'src/lib_c/x86_64-linux-gnu/c/dlfcn.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/dlfcn.cr'
'src/lib_c/x86_64-linux-gnu/c/elf.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/elf.cr'
'src/lib_c/x86_64-linux-gnu/c/errno.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/errno.cr'
'src/lib_c/x86_64-linux-gnu/c/fcntl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/fcntl.cr'
'src/lib_c/x86_64-linux-gnu/c/grp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/grp.cr'
'src/lib_c/x86_64-linux-gnu/c/iconv.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/iconv.cr'
'src/lib_c/x86_64-linux-gnu/c/link.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/link.cr'
'src/lib_c/x86_64-linux-gnu/c/netdb.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/netdb.cr'
'src/lib_c/x86_64-linux-gnu/c/netinet' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/netinet'
'src/lib_c/x86_64-linux-gnu/c/netinet/in.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/netinet/in.cr'
'src/lib_c/x86_64-linux-gnu/c/netinet/tcp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/netinet/tcp.cr'
'src/lib_c/x86_64-linux-gnu/c/pthread.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/pthread.cr'
'src/lib_c/x86_64-linux-gnu/c/pwd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/pwd.cr'
'src/lib_c/x86_64-linux-gnu/c/sched.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/sched.cr'
'src/lib_c/x86_64-linux-gnu/c/signal.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/signal.cr'
'src/lib_c/x86_64-linux-gnu/c/stdarg.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/stdarg.cr'
'src/lib_c/x86_64-linux-gnu/c/stddef.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/stddef.cr'
'src/lib_c/x86_64-linux-gnu/c/stdint.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/stdint.cr'
'src/lib_c/x86_64-linux-gnu/c/stdio.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/stdio.cr'
'src/lib_c/x86_64-linux-gnu/c/stdlib.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/stdlib.cr'
'src/lib_c/x86_64-linux-gnu/c/string.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/string.cr'
'src/lib_c/x86_64-linux-gnu/c/sys' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/sys'
'src/lib_c/x86_64-linux-gnu/c/sys/file.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/sys/file.cr'
'src/lib_c/x86_64-linux-gnu/c/sys/mman.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/sys/mman.cr'
'src/lib_c/x86_64-linux-gnu/c/sys/resource.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/sys/resource.cr'
'src/lib_c/x86_64-linux-gnu/c/sys/select.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/sys/select.cr'
'src/lib_c/x86_64-linux-gnu/c/sys/socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/sys/socket.cr'
'src/lib_c/x86_64-linux-gnu/c/sys/stat.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/sys/stat.cr'
'src/lib_c/x86_64-linux-gnu/c/sys/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/sys/time.cr'
'src/lib_c/x86_64-linux-gnu/c/sys/types.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/sys/types.cr'
'src/lib_c/x86_64-linux-gnu/c/sys/un.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/sys/un.cr'
'src/lib_c/x86_64-linux-gnu/c/sys/wait.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/sys/wait.cr'
'src/lib_c/x86_64-linux-gnu/c/termios.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/termios.cr'
'src/lib_c/x86_64-linux-gnu/c/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/time.cr'
'src/lib_c/x86_64-linux-gnu/c/unistd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-gnu/c/unistd.cr'
'src/lib_c/x86_64-linux-musl' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl'
'src/lib_c/x86_64-linux-musl/c' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c'
'src/lib_c/x86_64-linux-musl/c/arpa' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/arpa'
'src/lib_c/x86_64-linux-musl/c/arpa/inet.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/arpa/inet.cr'
'src/lib_c/x86_64-linux-musl/c/dirent.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/dirent.cr'
'src/lib_c/x86_64-linux-musl/c/dlfcn.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/dlfcn.cr'
'src/lib_c/x86_64-linux-musl/c/elf.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/elf.cr'
'src/lib_c/x86_64-linux-musl/c/errno.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/errno.cr'
'src/lib_c/x86_64-linux-musl/c/fcntl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/fcntl.cr'
'src/lib_c/x86_64-linux-musl/c/grp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/grp.cr'
'src/lib_c/x86_64-linux-musl/c/iconv.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/iconv.cr'
'src/lib_c/x86_64-linux-musl/c/link.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/link.cr'
'src/lib_c/x86_64-linux-musl/c/netdb.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/netdb.cr'
'src/lib_c/x86_64-linux-musl/c/netinet' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/netinet'
'src/lib_c/x86_64-linux-musl/c/netinet/in.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/netinet/in.cr'
'src/lib_c/x86_64-linux-musl/c/netinet/tcp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/netinet/tcp.cr'
'src/lib_c/x86_64-linux-musl/c/pthread.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/pthread.cr'
'src/lib_c/x86_64-linux-musl/c/pwd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/pwd.cr'
'src/lib_c/x86_64-linux-musl/c/sched.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/sched.cr'
'src/lib_c/x86_64-linux-musl/c/signal.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/signal.cr'
'src/lib_c/x86_64-linux-musl/c/stdarg.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/stdarg.cr'
'src/lib_c/x86_64-linux-musl/c/stddef.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/stddef.cr'
'src/lib_c/x86_64-linux-musl/c/stdint.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/stdint.cr'
'src/lib_c/x86_64-linux-musl/c/stdio.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/stdio.cr'
'src/lib_c/x86_64-linux-musl/c/stdlib.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/stdlib.cr'
'src/lib_c/x86_64-linux-musl/c/string.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/string.cr'
'src/lib_c/x86_64-linux-musl/c/sys' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/sys'
'src/lib_c/x86_64-linux-musl/c/sys/file.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/sys/file.cr'
'src/lib_c/x86_64-linux-musl/c/sys/mman.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/sys/mman.cr'
'src/lib_c/x86_64-linux-musl/c/sys/resource.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/sys/resource.cr'
'src/lib_c/x86_64-linux-musl/c/sys/select.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/sys/select.cr'
'src/lib_c/x86_64-linux-musl/c/sys/socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/sys/socket.cr'
'src/lib_c/x86_64-linux-musl/c/sys/stat.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/sys/stat.cr'
'src/lib_c/x86_64-linux-musl/c/sys/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/sys/time.cr'
'src/lib_c/x86_64-linux-musl/c/sys/types.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/sys/types.cr'
'src/lib_c/x86_64-linux-musl/c/sys/un.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/sys/un.cr'
'src/lib_c/x86_64-linux-musl/c/sys/wait.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/sys/wait.cr'
'src/lib_c/x86_64-linux-musl/c/termios.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/termios.cr'
'src/lib_c/x86_64-linux-musl/c/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/time.cr'
'src/lib_c/x86_64-linux-musl/c/unistd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-linux-musl/c/unistd.cr'
'src/lib_c/x86_64-macosx-darwin' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-macosx-darwin'
'src/lib_c/x86_64-netbsd' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd'
'src/lib_c/x86_64-netbsd/c' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c'
'src/lib_c/x86_64-netbsd/c/arpa' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/arpa'
'src/lib_c/x86_64-netbsd/c/arpa/inet.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/arpa/inet.cr'
'src/lib_c/x86_64-netbsd/c/dirent.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/dirent.cr'
'src/lib_c/x86_64-netbsd/c/dlfcn.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/dlfcn.cr'
'src/lib_c/x86_64-netbsd/c/elf.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/elf.cr'
'src/lib_c/x86_64-netbsd/c/errno.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/errno.cr'
'src/lib_c/x86_64-netbsd/c/fcntl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/fcntl.cr'
'src/lib_c/x86_64-netbsd/c/grp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/grp.cr'
'src/lib_c/x86_64-netbsd/c/iconv.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/iconv.cr'
'src/lib_c/x86_64-netbsd/c/link.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/link.cr'
'src/lib_c/x86_64-netbsd/c/netdb.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/netdb.cr'
'src/lib_c/x86_64-netbsd/c/netinet' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/netinet'
'src/lib_c/x86_64-netbsd/c/netinet/in.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/netinet/in.cr'
'src/lib_c/x86_64-netbsd/c/netinet/tcp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/netinet/tcp.cr'
'src/lib_c/x86_64-netbsd/c/pthread.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/pthread.cr'
'src/lib_c/x86_64-netbsd/c/pwd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/pwd.cr'
'src/lib_c/x86_64-netbsd/c/sched.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/sched.cr'
'src/lib_c/x86_64-netbsd/c/signal.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/signal.cr'
'src/lib_c/x86_64-netbsd/c/stdarg.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/stdarg.cr'
'src/lib_c/x86_64-netbsd/c/stddef.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/stddef.cr'
'src/lib_c/x86_64-netbsd/c/stdint.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/stdint.cr'
'src/lib_c/x86_64-netbsd/c/stdio.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/stdio.cr'
'src/lib_c/x86_64-netbsd/c/stdlib.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/stdlib.cr'
'src/lib_c/x86_64-netbsd/c/string.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/string.cr'
'src/lib_c/x86_64-netbsd/c/sys' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/sys'
'src/lib_c/x86_64-netbsd/c/sys/file.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/sys/file.cr'
'src/lib_c/x86_64-netbsd/c/sys/mman.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/sys/mman.cr'
'src/lib_c/x86_64-netbsd/c/sys/resource.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/sys/resource.cr'
'src/lib_c/x86_64-netbsd/c/sys/select.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/sys/select.cr'
'src/lib_c/x86_64-netbsd/c/sys/socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/sys/socket.cr'
'src/lib_c/x86_64-netbsd/c/sys/stat.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/sys/stat.cr'
'src/lib_c/x86_64-netbsd/c/sys/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/sys/time.cr'
'src/lib_c/x86_64-netbsd/c/sys/types.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/sys/types.cr'
'src/lib_c/x86_64-netbsd/c/sys/un.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/sys/un.cr'
'src/lib_c/x86_64-netbsd/c/sys/wait.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/sys/wait.cr'
'src/lib_c/x86_64-netbsd/c/sysctl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/sysctl.cr'
'src/lib_c/x86_64-netbsd/c/termios.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/termios.cr'
'src/lib_c/x86_64-netbsd/c/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/time.cr'
'src/lib_c/x86_64-netbsd/c/unistd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-netbsd/c/unistd.cr'
'src/lib_c/x86_64-openbsd' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd'
'src/lib_c/x86_64-openbsd/c' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c'
'src/lib_c/x86_64-openbsd/c/arpa' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/arpa'
'src/lib_c/x86_64-openbsd/c/arpa/inet.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/arpa/inet.cr'
'src/lib_c/x86_64-openbsd/c/dirent.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/dirent.cr'
'src/lib_c/x86_64-openbsd/c/dlfcn.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/dlfcn.cr'
'src/lib_c/x86_64-openbsd/c/elf.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/elf.cr'
'src/lib_c/x86_64-openbsd/c/errno.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/errno.cr'
'src/lib_c/x86_64-openbsd/c/fcntl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/fcntl.cr'
'src/lib_c/x86_64-openbsd/c/grp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/grp.cr'
'src/lib_c/x86_64-openbsd/c/iconv.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/iconv.cr'
'src/lib_c/x86_64-openbsd/c/link.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/link.cr'
'src/lib_c/x86_64-openbsd/c/netdb.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/netdb.cr'
'src/lib_c/x86_64-openbsd/c/netinet' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/netinet'
'src/lib_c/x86_64-openbsd/c/netinet/in.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/netinet/in.cr'
'src/lib_c/x86_64-openbsd/c/netinet/tcp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/netinet/tcp.cr'
'src/lib_c/x86_64-openbsd/c/pthread.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/pthread.cr'
'src/lib_c/x86_64-openbsd/c/pwd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/pwd.cr'
'src/lib_c/x86_64-openbsd/c/sched.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/sched.cr'
'src/lib_c/x86_64-openbsd/c/signal.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/signal.cr'
'src/lib_c/x86_64-openbsd/c/stdarg.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/stdarg.cr'
'src/lib_c/x86_64-openbsd/c/stddef.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/stddef.cr'
'src/lib_c/x86_64-openbsd/c/stdint.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/stdint.cr'
'src/lib_c/x86_64-openbsd/c/stdio.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/stdio.cr'
'src/lib_c/x86_64-openbsd/c/stdlib.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/stdlib.cr'
'src/lib_c/x86_64-openbsd/c/string.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/string.cr'
'src/lib_c/x86_64-openbsd/c/sys' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/sys'
'src/lib_c/x86_64-openbsd/c/sys/file.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/sys/file.cr'
'src/lib_c/x86_64-openbsd/c/sys/mman.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/sys/mman.cr'
'src/lib_c/x86_64-openbsd/c/sys/resource.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/sys/resource.cr'
'src/lib_c/x86_64-openbsd/c/sys/select.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/sys/select.cr'
'src/lib_c/x86_64-openbsd/c/sys/socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/sys/socket.cr'
'src/lib_c/x86_64-openbsd/c/sys/stat.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/sys/stat.cr'
'src/lib_c/x86_64-openbsd/c/sys/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/sys/time.cr'
'src/lib_c/x86_64-openbsd/c/sys/types.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/sys/types.cr'
'src/lib_c/x86_64-openbsd/c/sys/un.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/sys/un.cr'
'src/lib_c/x86_64-openbsd/c/sys/wait.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/sys/wait.cr'
'src/lib_c/x86_64-openbsd/c/sysctl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/sysctl.cr'
'src/lib_c/x86_64-openbsd/c/termios.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/termios.cr'
'src/lib_c/x86_64-openbsd/c/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/time.cr'
'src/lib_c/x86_64-openbsd/c/unistd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-openbsd/c/unistd.cr'
'src/lib_c/x86_64-portbld-freebsd' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-portbld-freebsd'
'src/lib_c/x86_64-solaris' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris'
'src/lib_c/x86_64-solaris/c' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c'
'src/lib_c/x86_64-solaris/c/arpa' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/arpa'
'src/lib_c/x86_64-solaris/c/arpa/inet.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/arpa/inet.cr'
'src/lib_c/x86_64-solaris/c/dirent.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/dirent.cr'
'src/lib_c/x86_64-solaris/c/dlfcn.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/dlfcn.cr'
'src/lib_c/x86_64-solaris/c/elf.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/elf.cr'
'src/lib_c/x86_64-solaris/c/errno.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/errno.cr'
'src/lib_c/x86_64-solaris/c/fcntl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/fcntl.cr'
'src/lib_c/x86_64-solaris/c/grp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/grp.cr'
'src/lib_c/x86_64-solaris/c/iconv.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/iconv.cr'
'src/lib_c/x86_64-solaris/c/link.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/link.cr'
'src/lib_c/x86_64-solaris/c/netdb.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/netdb.cr'
'src/lib_c/x86_64-solaris/c/netinet' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/netinet'
'src/lib_c/x86_64-solaris/c/netinet/in.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/netinet/in.cr'
'src/lib_c/x86_64-solaris/c/netinet/tcp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/netinet/tcp.cr'
'src/lib_c/x86_64-solaris/c/pthread.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/pthread.cr'
'src/lib_c/x86_64-solaris/c/pwd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/pwd.cr'
'src/lib_c/x86_64-solaris/c/sched.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/sched.cr'
'src/lib_c/x86_64-solaris/c/signal.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/signal.cr'
'src/lib_c/x86_64-solaris/c/stdarg.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/stdarg.cr'
'src/lib_c/x86_64-solaris/c/stddef.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/stddef.cr'
'src/lib_c/x86_64-solaris/c/stdint.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/stdint.cr'
'src/lib_c/x86_64-solaris/c/stdio.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/stdio.cr'
'src/lib_c/x86_64-solaris/c/stdlib.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/stdlib.cr'
'src/lib_c/x86_64-solaris/c/string.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/string.cr'
'src/lib_c/x86_64-solaris/c/sys' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/sys'
'src/lib_c/x86_64-solaris/c/sys/file.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/sys/file.cr'
'src/lib_c/x86_64-solaris/c/sys/mman.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/sys/mman.cr'
'src/lib_c/x86_64-solaris/c/sys/resource.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/sys/resource.cr'
'src/lib_c/x86_64-solaris/c/sys/select.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/sys/select.cr'
'src/lib_c/x86_64-solaris/c/sys/socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/sys/socket.cr'
'src/lib_c/x86_64-solaris/c/sys/stat.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/sys/stat.cr'
'src/lib_c/x86_64-solaris/c/sys/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/sys/time.cr'
'src/lib_c/x86_64-solaris/c/sys/types.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/sys/types.cr'
'src/lib_c/x86_64-solaris/c/sys/un.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/sys/un.cr'
'src/lib_c/x86_64-solaris/c/sys/wait.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/sys/wait.cr'
'src/lib_c/x86_64-solaris/c/termios.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/termios.cr'
'src/lib_c/x86_64-solaris/c/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/time.cr'
'src/lib_c/x86_64-solaris/c/unistd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-solaris/c/unistd.cr'
'src/lib_c/x86_64-unknown-freebsd' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-unknown-freebsd'
'src/lib_c/x86_64-windows-msvc' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc'
'src/lib_c/x86_64-windows-msvc/c' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c'
'src/lib_c/x86_64-windows-msvc/c/afunix.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/afunix.cr'
'src/lib_c/x86_64-windows-msvc/c/basetsd.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/basetsd.cr'
'src/lib_c/x86_64-windows-msvc/c/combaseapi.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/combaseapi.cr'
'src/lib_c/x86_64-windows-msvc/c/consoleapi.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/consoleapi.cr'
'src/lib_c/x86_64-windows-msvc/c/consoleapi2.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/consoleapi2.cr'
'src/lib_c/x86_64-windows-msvc/c/corecrt.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/corecrt.cr'
'src/lib_c/x86_64-windows-msvc/c/dbghelp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/dbghelp.cr'
'src/lib_c/x86_64-windows-msvc/c/delayimp.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/delayimp.cr'
'src/lib_c/x86_64-windows-msvc/c/direct.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/direct.cr'
'src/lib_c/x86_64-windows-msvc/c/errhandlingapi.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/errhandlingapi.cr'
'src/lib_c/x86_64-windows-msvc/c/errno.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/errno.cr'
'src/lib_c/x86_64-windows-msvc/c/fcntl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/fcntl.cr'
'src/lib_c/x86_64-windows-msvc/c/fileapi.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/fileapi.cr'
'src/lib_c/x86_64-windows-msvc/c/guiddef.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/guiddef.cr'
'src/lib_c/x86_64-windows-msvc/c/handleapi.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/handleapi.cr'
'src/lib_c/x86_64-windows-msvc/c/heapapi.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/heapapi.cr'
'src/lib_c/x86_64-windows-msvc/c/in6addr.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/in6addr.cr'
'src/lib_c/x86_64-windows-msvc/c/inaddr.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/inaddr.cr'
'src/lib_c/x86_64-windows-msvc/c/int_safe.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/int_safe.cr'
'src/lib_c/x86_64-windows-msvc/c/io.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/io.cr'
'src/lib_c/x86_64-windows-msvc/c/ioapiset.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/ioapiset.cr'
'src/lib_c/x86_64-windows-msvc/c/jobapi2.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/jobapi2.cr'
'src/lib_c/x86_64-windows-msvc/c/knownfolders.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/knownfolders.cr'
'src/lib_c/x86_64-windows-msvc/c/libloaderapi.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/libloaderapi.cr'
'src/lib_c/x86_64-windows-msvc/c/lm.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/lm.cr'
'src/lib_c/x86_64-windows-msvc/c/malloc.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/malloc.cr'
'src/lib_c/x86_64-windows-msvc/c/memoryapi.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/memoryapi.cr'
'src/lib_c/x86_64-windows-msvc/c/minwinbase.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/minwinbase.cr'
'src/lib_c/x86_64-windows-msvc/c/mswsock.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/mswsock.cr'
'src/lib_c/x86_64-windows-msvc/c/ntifs.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/ntifs.cr'
'src/lib_c/x86_64-windows-msvc/c/ntsecapi.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/ntsecapi.cr'
'src/lib_c/x86_64-windows-msvc/c/ntstatus.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/ntstatus.cr'
'src/lib_c/x86_64-windows-msvc/c/process.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/process.cr'
'src/lib_c/x86_64-windows-msvc/c/processenv.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/processenv.cr'
'src/lib_c/x86_64-windows-msvc/c/processthreadsapi.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/processthreadsapi.cr'
'src/lib_c/x86_64-windows-msvc/c/profileapi.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/profileapi.cr'
'src/lib_c/x86_64-windows-msvc/c/regapix.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/regapix.cr'
'src/lib_c/x86_64-windows-msvc/c/sddl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/sddl.cr'
'src/lib_c/x86_64-windows-msvc/c/sdkddkver.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/sdkddkver.cr'
'src/lib_c/x86_64-windows-msvc/c/security.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/security.cr'
'src/lib_c/x86_64-windows-msvc/c/shlobj_core.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/shlobj_core.cr'
'src/lib_c/x86_64-windows-msvc/c/signal.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/signal.cr'
'src/lib_c/x86_64-windows-msvc/c/stdarg.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/stdarg.cr'
'src/lib_c/x86_64-windows-msvc/c/stddef.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/stddef.cr'
'src/lib_c/x86_64-windows-msvc/c/stdint.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/stdint.cr'
'src/lib_c/x86_64-windows-msvc/c/stdio.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/stdio.cr'
'src/lib_c/x86_64-windows-msvc/c/stdlib.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/stdlib.cr'
'src/lib_c/x86_64-windows-msvc/c/string.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/string.cr'
'src/lib_c/x86_64-windows-msvc/c/stringapiset.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/stringapiset.cr'
'src/lib_c/x86_64-windows-msvc/c/synchapi.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/synchapi.cr'
'src/lib_c/x86_64-windows-msvc/c/sys' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/sys'
'src/lib_c/x86_64-windows-msvc/c/sys/stat.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/sys/stat.cr'
'src/lib_c/x86_64-windows-msvc/c/sys/types.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/sys/types.cr'
'src/lib_c/x86_64-windows-msvc/c/sys/utime.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/sys/utime.cr'
'src/lib_c/x86_64-windows-msvc/c/sysinfoapi.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/sysinfoapi.cr'
'src/lib_c/x86_64-windows-msvc/c/timezoneapi.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/timezoneapi.cr'
'src/lib_c/x86_64-windows-msvc/c/tlhelp32.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/tlhelp32.cr'
'src/lib_c/x86_64-windows-msvc/c/userenv.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/userenv.cr'
'src/lib_c/x86_64-windows-msvc/c/win_def.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/win_def.cr'
'src/lib_c/x86_64-windows-msvc/c/winbase.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/winbase.cr'
'src/lib_c/x86_64-windows-msvc/c/wincrypt.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/wincrypt.cr'
'src/lib_c/x86_64-windows-msvc/c/windows.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/windows.cr'
'src/lib_c/x86_64-windows-msvc/c/winioctl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/winioctl.cr'
'src/lib_c/x86_64-windows-msvc/c/winnls.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/winnls.cr'
'src/lib_c/x86_64-windows-msvc/c/winnt.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/winnt.cr'
'src/lib_c/x86_64-windows-msvc/c/winreg.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/winreg.cr'
'src/lib_c/x86_64-windows-msvc/c/winsock2.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/winsock2.cr'
'src/lib_c/x86_64-windows-msvc/c/ws2def.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/ws2def.cr'
'src/lib_c/x86_64-windows-msvc/c/ws2ipdef.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/ws2ipdef.cr'
'src/lib_c/x86_64-windows-msvc/c/ws2tcpip.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/ws2tcpip.cr'
'src/lib_c/x86_64-windows-msvc/c/wtypesbase.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_c/x86_64-windows-msvc/c/wtypesbase.cr'
'src/lib_z' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_z'
'src/lib_z/lib_z.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/lib_z/lib_z.cr'
'src/llvm.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm.cr'
'src/llvm' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm'
'src/llvm/abi.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/abi.cr'
'src/llvm/abi' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/abi'
'src/llvm/abi/aarch64.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/abi/aarch64.cr'
'src/llvm/abi/arm.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/abi/arm.cr'
'src/llvm/abi/avr.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/abi/avr.cr'
'src/llvm/abi/wasm32.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/abi/wasm32.cr'
'src/llvm/abi/x86.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/abi/x86.cr'
'src/llvm/abi/x86_64.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/abi/x86_64.cr'
'src/llvm/abi/x86_win64.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/abi/x86_win64.cr'
'src/llvm/basic_block.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/basic_block.cr'
'src/llvm/basic_block_collection.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/basic_block_collection.cr'
'src/llvm/builder.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/builder.cr'
'src/llvm/context.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/context.cr'
'src/llvm/di_builder.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/di_builder.cr'
'src/llvm/enums.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/enums.cr'
'src/llvm/enums' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/enums'
'src/llvm/enums/atomic.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/enums/atomic.cr'
'src/llvm/ext' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/ext'
'src/llvm/ext/find-llvm-config' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/ext/find-llvm-config'
'src/llvm/ext/llvm-versions.txt' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/ext/llvm-versions.txt'
'src/llvm/ext/llvm_ext.cc' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/ext/llvm_ext.cc'
'src/llvm/function.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/function.cr'
'src/llvm/function_collection.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/function_collection.cr'
'src/llvm/function_pass_manager.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/function_pass_manager.cr'
'src/llvm/generic_value.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/generic_value.cr'
'src/llvm/global_collection.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/global_collection.cr'
'src/llvm/instruction_collection.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/instruction_collection.cr'
'src/llvm/jit_compiler.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/jit_compiler.cr'
'src/llvm/lib_llvm.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/lib_llvm.cr'
'src/llvm/lib_llvm' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/lib_llvm'
'src/llvm/lib_llvm/analysis.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/lib_llvm/analysis.cr'
'src/llvm/lib_llvm/bit_reader.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/lib_llvm/bit_reader.cr'
'src/llvm/lib_llvm/bit_writer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/lib_llvm/bit_writer.cr'
'src/llvm/lib_llvm/core.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/lib_llvm/core.cr'
'src/llvm/lib_llvm/debug_info.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/lib_llvm/debug_info.cr'
'src/llvm/lib_llvm/error.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/lib_llvm/error.cr'
'src/llvm/lib_llvm/execution_engine.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/lib_llvm/execution_engine.cr'
'src/llvm/lib_llvm/initialization.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/lib_llvm/initialization.cr'
'src/llvm/lib_llvm/ir_reader.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/lib_llvm/ir_reader.cr'
'src/llvm/lib_llvm/lljit.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/lib_llvm/lljit.cr'
'src/llvm/lib_llvm/orc.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/lib_llvm/orc.cr'
'src/llvm/lib_llvm/target.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/lib_llvm/target.cr'
'src/llvm/lib_llvm/target_machine.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/lib_llvm/target_machine.cr'
'src/llvm/lib_llvm/transforms' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/lib_llvm/transforms'
'src/llvm/lib_llvm/transforms/pass_builder.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/lib_llvm/transforms/pass_builder.cr'
'src/llvm/lib_llvm/transforms/pass_manager_builder.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/lib_llvm/transforms/pass_manager_builder.cr'
'src/llvm/lib_llvm/types.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/lib_llvm/types.cr'
'src/llvm/lib_llvm_ext.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/lib_llvm_ext.cr'
'src/llvm/memory_buffer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/memory_buffer.cr'
'src/llvm/module.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/module.cr'
'src/llvm/module_pass_manager.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/module_pass_manager.cr'
'src/llvm/operand_bundle_def.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/operand_bundle_def.cr'
'src/llvm/orc' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/orc'
'src/llvm/orc/jit_dylib.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/orc/jit_dylib.cr'
'src/llvm/orc/lljit.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/orc/lljit.cr'
'src/llvm/orc/lljit_builder.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/orc/lljit_builder.cr'
'src/llvm/orc/thread_safe_context.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/orc/thread_safe_context.cr'
'src/llvm/orc/thread_safe_module.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/orc/thread_safe_module.cr'
'src/llvm/parameter_collection.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/parameter_collection.cr'
'src/llvm/pass_builder_options.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/pass_builder_options.cr'
'src/llvm/pass_manager_builder.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/pass_manager_builder.cr'
'src/llvm/pass_registry.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/pass_registry.cr'
'src/llvm/phi_table.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/phi_table.cr'
'src/llvm/target.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/target.cr'
'src/llvm/target_data.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/target_data.cr'
'src/llvm/target_machine.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/target_machine.cr'
'src/llvm/type.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/type.cr'
'src/llvm/value.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/value.cr'
'src/llvm/value_methods.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/value_methods.cr'
'src/log.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/log.cr'
'src/log' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/log'
'src/log/backend.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/log/backend.cr'
'src/log/broadcast_backend.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/log/broadcast_backend.cr'
'src/log/builder.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/log/builder.cr'
'src/log/dispatch.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/log/dispatch.cr'
'src/log/entry.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/log/entry.cr'
'src/log/format.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/log/format.cr'
'src/log/io_backend.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/log/io_backend.cr'
'src/log/json.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/log/json.cr'
'src/log/log.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/log/log.cr'
'src/log/main.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/log/main.cr'
'src/log/memory_backend.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/log/memory_backend.cr'
'src/log/metadata.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/log/metadata.cr'
'src/log/setup.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/log/setup.cr'
'src/log/spec.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/log/spec.cr'
'src/macros.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/macros.cr'
'src/math' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/math'
'src/math/libm.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/math/libm.cr'
'src/math/math.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/math/math.cr'
'src/mime.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/mime.cr'
'src/mime' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/mime'
'src/mime/media_type.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/mime/media_type.cr'
'src/mime/multipart.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/mime/multipart.cr'
'src/mime/multipart' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/mime/multipart'
'src/mime/multipart/builder.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/mime/multipart/builder.cr'
'src/mime/multipart/parser.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/mime/multipart/parser.cr'
'src/mime/multipart/state.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/mime/multipart/state.cr'
'src/mutex.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/mutex.cr'
'src/named_tuple.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/named_tuple.cr'
'src/nil.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/nil.cr'
'src/number.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/number.cr'
'src/oauth.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/oauth.cr'
'src/oauth' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/oauth'
'src/oauth/access_token.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/oauth/access_token.cr'
'src/oauth/authorization_header.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/oauth/authorization_header.cr'
'src/oauth/consumer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/oauth/consumer.cr'
'src/oauth/error.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/oauth/error.cr'
'src/oauth/oauth.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/oauth/oauth.cr'
'src/oauth/params.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/oauth/params.cr'
'src/oauth/request_token.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/oauth/request_token.cr'
'src/oauth/signature.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/oauth/signature.cr'
'src/oauth2.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/oauth2.cr'
'src/oauth2' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/oauth2'
'src/oauth2/access_token' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/oauth2/access_token'
'src/oauth2/access_token/access_token.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/oauth2/access_token/access_token.cr'
'src/oauth2/access_token/bearer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/oauth2/access_token/bearer.cr'
'src/oauth2/access_token/mac.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/oauth2/access_token/mac.cr'
'src/oauth2/auth_scheme.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/oauth2/auth_scheme.cr'
'src/oauth2/client.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/oauth2/client.cr'
'src/oauth2/error.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/oauth2/error.cr'
'src/oauth2/oauth2.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/oauth2/oauth2.cr'
'src/oauth2/session.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/oauth2/session.cr'
'src/object.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/object.cr'
'src/openssl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl.cr'
'src/openssl' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl'
'src/openssl/algorithm.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl/algorithm.cr'
'src/openssl/bio.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl/bio.cr'
'src/openssl/cipher.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl/cipher.cr'
'src/openssl/digest.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl/digest.cr'
'src/openssl/error.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl/error.cr'
'src/openssl/hmac.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl/hmac.cr'
'src/openssl/lib_crypto.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl/lib_crypto.cr'
'src/openssl/lib_ssl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl/lib_ssl.cr'
'src/openssl/md5.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl/md5.cr'
'src/openssl/pkcs5.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl/pkcs5.cr'
'src/openssl/sha1.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl/sha1.cr'
'src/openssl/ssl' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl/ssl'
'src/openssl/ssl/context.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl/ssl/context.cr'
'src/openssl/ssl/defaults.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl/ssl/defaults.cr'
'src/openssl/ssl/hostname_validation.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl/ssl/hostname_validation.cr'
'src/openssl/ssl/server.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl/ssl/server.cr'
'src/openssl/ssl/socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl/ssl/socket.cr'
'src/openssl/x509' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl/x509'
'src/openssl/x509/certificate.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl/x509/certificate.cr'
'src/openssl/x509/extension.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl/x509/extension.cr'
'src/openssl/x509/name.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl/x509/name.cr'
'src/openssl/x509/x509.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/openssl/x509/x509.cr'
'src/option_parser.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/option_parser.cr'
'src/path.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/path.cr'
'src/pointer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/pointer.cr'
'src/prelude.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/prelude.cr'
'src/pretty_print.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/pretty_print.cr'
'src/primitives.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/primitives.cr'
'src/proc.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/proc.cr'
'src/process.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/process.cr'
'src/process' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/process'
'src/process/executable_path.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/process/executable_path.cr'
'src/process/shell.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/process/shell.cr'
'src/process/status.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/process/status.cr'
'src/raise.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/raise.cr'
'src/random.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/random.cr'
'src/random' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/random'
'src/random/isaac.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/random/isaac.cr'
'src/random/pcg32.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/random/pcg32.cr'
'src/random/secure.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/random/secure.cr'
'src/range.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/range.cr'
'src/range' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/range'
'src/range/bsearch.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/range/bsearch.cr'
'src/reference.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/reference.cr'
'src/reference_storage.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/reference_storage.cr'
'src/regex.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/regex.cr'
'src/regex' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/regex'
'src/regex/engine.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/regex/engine.cr'
'src/regex/lib_pcre.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/regex/lib_pcre.cr'
'src/regex/lib_pcre2.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/regex/lib_pcre2.cr'
'src/regex/match_data.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/regex/match_data.cr'
'src/regex/pcre.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/regex/pcre.cr'
'src/regex/pcre2.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/regex/pcre2.cr'
'src/semantic_version.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/semantic_version.cr'
'src/set.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/set.cr'
'src/signal.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/signal.cr'
'src/slice.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/slice.cr'
'src/slice' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/slice'
'src/slice/sort.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/slice/sort.cr'
'src/socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/socket.cr'
'src/socket' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/socket'
'src/socket/address.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/socket/address.cr'
'src/socket/addrinfo.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/socket/addrinfo.cr'
'src/socket/common.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/socket/common.cr'
'src/socket/ip_socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/socket/ip_socket.cr'
'src/socket/server.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/socket/server.cr'
'src/socket/tcp_server.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/socket/tcp_server.cr'
'src/socket/tcp_socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/socket/tcp_socket.cr'
'src/socket/udp_socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/socket/udp_socket.cr'
'src/socket/unix_server.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/socket/unix_server.cr'
'src/socket/unix_socket.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/socket/unix_socket.cr'
'src/spec.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/spec.cr'
'src/spec' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/spec'
'src/spec/cli.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/spec/cli.cr'
'src/spec/context.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/spec/context.cr'
'src/spec/dsl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/spec/dsl.cr'
'src/spec/example.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/spec/example.cr'
'src/spec/example' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/spec/example'
'src/spec/example/procsy.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/spec/example/procsy.cr'
'src/spec/example_group' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/spec/example_group'
'src/spec/example_group/procsy.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/spec/example_group/procsy.cr'
'src/spec/expectations.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/spec/expectations.cr'
'src/spec/filters.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/spec/filters.cr'
'src/spec/formatter.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/spec/formatter.cr'
'src/spec/helpers' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/spec/helpers'
'src/spec/helpers/iterate.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/spec/helpers/iterate.cr'
'src/spec/helpers/string.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/spec/helpers/string.cr'
'src/spec/item.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/spec/item.cr'
'src/spec/junit_formatter.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/spec/junit_formatter.cr'
'src/spec/methods.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/spec/methods.cr'
'src/spec/source.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/spec/source.cr'
'src/spec/tap_formatter.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/spec/tap_formatter.cr'
'src/static_array.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/static_array.cr'
'src/steppable.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/steppable.cr'
'src/string.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/string.cr'
'src/string' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/string'
'src/string/builder.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/string/builder.cr'
'src/string/formatter.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/string/formatter.cr'
'src/string/grapheme.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/string/grapheme.cr'
'src/string/grapheme' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/string/grapheme'
'src/string/grapheme/grapheme.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/string/grapheme/grapheme.cr'
'src/string/grapheme/properties.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/string/grapheme/properties.cr'
'src/string/utf16.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/string/utf16.cr'
'src/string_pool.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/string_pool.cr'
'src/string_scanner.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/string_scanner.cr'
'src/struct.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/struct.cr'
'src/symbol.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/symbol.cr'
'src/syscall.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/syscall.cr'
'src/syscall' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/syscall'
'src/syscall/aarch64-linux.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/syscall/aarch64-linux.cr'
'src/syscall/arm-linux.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/syscall/arm-linux.cr'
'src/syscall/i386-linux.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/syscall/i386-linux.cr'
'src/syscall/x86_64-linux.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/syscall/x86_64-linux.cr'
'src/system.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/system.cr'
'src/system' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/system'
'src/system/group.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/system/group.cr'
'src/system/user.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/system/user.cr'
'src/system_error.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/system_error.cr'
'src/termios.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/termios.cr'
'src/time.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/time.cr'
'src/time' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/time'
'src/time/format.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/time/format.cr'
'src/time/format' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/time/format'
'src/time/format/custom' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/time/format/custom'
'src/time/format/custom/http_date.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/time/format/custom/http_date.cr'
'src/time/format/custom/iso_8601.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/time/format/custom/iso_8601.cr'
'src/time/format/custom/rfc_2822.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/time/format/custom/rfc_2822.cr'
'src/time/format/custom/rfc_3339.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/time/format/custom/rfc_3339.cr'
'src/time/format/custom/yaml_date.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/time/format/custom/yaml_date.cr'
'src/time/format/formatter.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/time/format/formatter.cr'
'src/time/format/parser.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/time/format/parser.cr'
'src/time/format/pattern.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/time/format/pattern.cr'
'src/time/location.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/time/location.cr'
'src/time/location' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/time/location'
'src/time/location/loader.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/time/location/loader.cr'
'src/time/span.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/time/span.cr'
'src/tuple.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/tuple.cr'
'src/unicode' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/unicode'
'src/unicode/data.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/unicode/data.cr'
'src/unicode/unicode.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/unicode/unicode.cr'
'src/union.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/union.cr'
'src/uri.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/uri.cr'
'src/uri' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/uri'
'src/uri/encoding.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/uri/encoding.cr'
'src/uri/json.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/uri/json.cr'
'src/uri/params.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/uri/params.cr'
'src/uri/params' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/uri/params'
'src/uri/params/from_www_form.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/uri/params/from_www_form.cr'
'src/uri/params/serializable.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/uri/params/serializable.cr'
'src/uri/params/to_www_form.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/uri/params/to_www_form.cr'
'src/uri/punycode.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/uri/punycode.cr'
'src/uri/uri_parser.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/uri/uri_parser.cr'
'src/uri/yaml.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/uri/yaml.cr'
'src/uuid.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/uuid.cr'
'src/uuid' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/uuid'
'src/uuid/json.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/uuid/json.cr'
'src/uuid/yaml.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/uuid/yaml.cr'
'src/va_list.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/va_list.cr'
'src/value.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/value.cr'
'src/wait_group.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/wait_group.cr'
'src/wasi_error.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/wasi_error.cr'
'src/weak_ref.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/weak_ref.cr'
'src/winerror.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/winerror.cr'
'src/xml.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/xml.cr'
'src/xml' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/xml'
'src/xml/attribute_type.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/xml/attribute_type.cr'
'src/xml/attributes.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/xml/attributes.cr'
'src/xml/builder.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/xml/builder.cr'
'src/xml/error.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/xml/error.cr'
'src/xml/html_parser_options.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/xml/html_parser_options.cr'
'src/xml/libxml2.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/xml/libxml2.cr'
'src/xml/namespace.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/xml/namespace.cr'
'src/xml/node.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/xml/node.cr'
'src/xml/node' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/xml/node'
'src/xml/node/type.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/xml/node/type.cr'
'src/xml/node_set.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/xml/node_set.cr'
'src/xml/parser_options.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/xml/parser_options.cr'
'src/xml/reader.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/xml/reader.cr'
'src/xml/reader' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/xml/reader'
'src/xml/reader/type.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/xml/reader/type.cr'
'src/xml/save_options.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/xml/save_options.cr'
'src/xml/xpath_context.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/xml/xpath_context.cr'
'src/yaml.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/yaml.cr'
'src/yaml' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/yaml'
'src/yaml/any.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/yaml/any.cr'
'src/yaml/builder.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/yaml/builder.cr'
'src/yaml/enums.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/yaml/enums.cr'
'src/yaml/from_yaml.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/yaml/from_yaml.cr'
'src/yaml/lib_yaml.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/yaml/lib_yaml.cr'
'src/yaml/nodes.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/yaml/nodes.cr'
'src/yaml/nodes' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/yaml/nodes'
'src/yaml/nodes/builder.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/yaml/nodes/builder.cr'
'src/yaml/nodes/nodes.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/yaml/nodes/nodes.cr'
'src/yaml/nodes/parser.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/yaml/nodes/parser.cr'
'src/yaml/parse_context.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/yaml/parse_context.cr'
'src/yaml/parser.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/yaml/parser.cr'
'src/yaml/pull_parser.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/yaml/pull_parser.cr'
'src/yaml/schema' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/yaml/schema'
'src/yaml/schema/core.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/yaml/schema/core.cr'
'src/yaml/schema/core' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/yaml/schema/core'
'src/yaml/schema/core/parser.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/yaml/schema/core/parser.cr'
'src/yaml/schema/fail_safe.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/yaml/schema/fail_safe.cr'
'src/yaml/serialization.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/yaml/serialization.cr'
'src/yaml/to_yaml.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/yaml/to_yaml.cr'
rm -rf "/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src/llvm/ext/llvm_ext.o" # Don't install llvm_ext.o
install --strip-program=true -d -m 0755 "/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/man/man1/"
install: WARNING: ignoring --strip-program option as -s option was not specified
install --strip-program=true -m 644 man/crystal.1.gz "/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/man/man1/crystal.1.gz"
install: WARNING: ignoring --strip-program option as -s option was not specified
install --strip-program=true -d -m 0755 "/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/licenses/crystal/"
install: WARNING: ignoring --strip-program option as -s option was not specified
install --strip-program=true -m 644 LICENSE "/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/licenses/crystal/LICENSE"
install: WARNING: ignoring --strip-program option as -s option was not specified
install --strip-program=true -d -m 0755 "/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/bash-completion/completions/"
install: WARNING: ignoring --strip-program option as -s option was not specified
install --strip-program=true -m 644 etc/completion.bash "/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/bash-completion/completions/crystal"
install: WARNING: ignoring --strip-program option as -s option was not specified
install --strip-program=true -d -m 0755 "/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/zsh/site-functions/"
install: WARNING: ignoring --strip-program option as -s option was not specified
install --strip-program=true -m 644 etc/completion.zsh "/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/zsh/site-functions/_crystal"
install: WARNING: ignoring --strip-program option as -s option was not specified
install --strip-program=true -d -m 0755 "/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/fish/vendor_completions.d/"
install: WARNING: ignoring --strip-program option as -s option was not specified
install --strip-program=true -m 644 etc/completion.fish "/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/fish/vendor_completions.d/crystal.fish"
install: WARNING: ignoring --strip-program option as -s option was not specified
make[2]: Leaving directory '/build/reproducible-path/crystal-1.14.0+dfsg'
#
# clean lib dir, but without deleting (needed by extensions loading):
#   - ext/libcrystal.a
#   - llvm/ext/{find-llvm-config, llvm_ext.o)
#
find "/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/crystal/src" \
	-iname "sigfault.o" -or \
	-iname "*.c" -or \
	-iname "*.cc" \
	| xargs rm
make install_docs DATADIR=/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal
make[2]: Entering directory '/build/reproducible-path/crystal-1.14.0+dfsg'
Using /usr/bin/llvm-config-19 [version=19.1.7]
./bin/crystal docs src/docs_main.cr  --project-name=Crystal --project-version=1.14.0 --source-refname=
Using compiled compiler at .build/crystal
cp -av doc/ docs/
'doc/' -> 'docs/doc'
'doc/assets' -> 'docs/doc/assets'
'doc/assets/crystal-born-and-raised.svg' -> 'docs/doc/assets/crystal-born-and-raised.svg'
/usr/bin/install -d -m 0755 /build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal
cp -av docs "/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs"
'docs' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs'
'docs/css' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/css'
'docs/css/style.css' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/css/style.css'
'docs/js' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/js'
'docs/js/doc.js' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/js/doc.js'
'docs/toplevel.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/toplevel.html'
'docs/ArgumentError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/ArgumentError.html'
'docs/Array.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Array.html'
'docs/Atomic.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Atomic.html'
'docs/Atomic' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Atomic'
'docs/Atomic/Flag.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Atomic/Flag.html'
'docs/Atomic/Ordering.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Atomic/Ordering.html'
'docs/Base64.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Base64.html'
'docs/Base64' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Base64'
'docs/Base64/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Base64/Error.html'
'docs/Benchmark.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Benchmark.html'
'docs/Benchmark' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Benchmark'
'docs/Benchmark/BM.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Benchmark/BM.html'
'docs/Benchmark/BM' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Benchmark/BM'
'docs/Benchmark/BM/Job.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Benchmark/BM/Job.html'
'docs/Benchmark/BM/Tms.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Benchmark/BM/Tms.html'
'docs/Benchmark/IPS.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Benchmark/IPS.html'
'docs/Benchmark/IPS' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Benchmark/IPS'
'docs/Benchmark/IPS/Entry.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Benchmark/IPS/Entry.html'
'docs/Benchmark/IPS/Job.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Benchmark/IPS/Job.html'
'docs/BigDecimal.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/BigDecimal.html'
'docs/BigFloat.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/BigFloat.html'
'docs/BigInt.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/BigInt.html'
'docs/BigRational.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/BigRational.html'
'docs/BitArray.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/BitArray.html'
'docs/Bool.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Bool.html'
'docs/Box.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Box.html'
'docs/Bytes.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Bytes.html'
'docs/Channel.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Channel.html'
'docs/Channel' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Channel'
'docs/Channel/ClosedError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Channel/ClosedError.html'
'docs/Char.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Char.html'
'docs/Char' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Char'
'docs/Char/Reader.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Char/Reader.html'
'docs/Class.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Class.html'
'docs/Colorize.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Colorize.html'
'docs/Colorize' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Colorize'
'docs/Colorize/Color.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Colorize/Color.html'
'docs/Colorize/Color256.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Colorize/Color256.html'
'docs/Colorize/ColorANSI.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Colorize/ColorANSI.html'
'docs/Colorize/ColorRGB.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Colorize/ColorRGB.html'
'docs/Colorize/Mode.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Colorize/Mode.html'
'docs/Colorize/Object.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Colorize/Object.html'
'docs/Colorize/ObjectExtensions.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Colorize/ObjectExtensions.html'
'docs/Comparable.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Comparable.html'
'docs/Complex.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Complex.html'
'docs/Compress.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress.html'
'docs/Compress' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress'
'docs/Compress/Deflate.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Deflate.html'
'docs/Compress/Deflate' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Deflate'
'docs/Compress/Deflate/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Deflate/Error.html'
'docs/Compress/Deflate/Reader.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Deflate/Reader.html'
'docs/Compress/Deflate/Strategy.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Deflate/Strategy.html'
'docs/Compress/Deflate/Writer.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Deflate/Writer.html'
'docs/Compress/Gzip.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Gzip.html'
'docs/Compress/Gzip' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Gzip'
'docs/Compress/Gzip/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Gzip/Error.html'
'docs/Compress/Gzip/Header.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Gzip/Header.html'
'docs/Compress/Gzip/Reader.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Gzip/Reader.html'
'docs/Compress/Gzip/Writer.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Gzip/Writer.html'
'docs/Compress/Zip.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Zip.html'
'docs/Compress/Zip' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Zip'
'docs/Compress/Zip/CompressionMethod.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Zip/CompressionMethod.html'
'docs/Compress/Zip/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Zip/Error.html'
'docs/Compress/Zip/File.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Zip/File.html'
'docs/Compress/Zip/File' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Zip/File'
'docs/Compress/Zip/File/Entry.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Zip/File/Entry.html'
'docs/Compress/Zip/FileInfo.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Zip/FileInfo.html'
'docs/Compress/Zip/Reader.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Zip/Reader.html'
'docs/Compress/Zip/Reader' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Zip/Reader'
'docs/Compress/Zip/Reader/Entry.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Zip/Reader/Entry.html'
'docs/Compress/Zip/Writer.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Zip/Writer.html'
'docs/Compress/Zip/Writer' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Zip/Writer'
'docs/Compress/Zip/Writer/Entry.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Zip/Writer/Entry.html'
'docs/Compress/Zlib.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Zlib.html'
'docs/Compress/Zlib' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Zlib'
'docs/Compress/Zlib/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Zlib/Error.html'
'docs/Compress/Zlib/Reader.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Zlib/Reader.html'
'docs/Compress/Zlib/Writer.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Compress/Zlib/Writer.html'
'docs/Crypto.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crypto.html'
'docs/Crypto' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crypto'
'docs/Crypto/Bcrypt.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crypto/Bcrypt.html'
'docs/Crypto/Bcrypt' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crypto/Bcrypt'
'docs/Crypto/Bcrypt/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crypto/Bcrypt/Error.html'
'docs/Crypto/Bcrypt/Password.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crypto/Bcrypt/Password.html'
'docs/Crypto/Blowfish.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crypto/Blowfish.html'
'docs/Crypto/Subtle.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crypto/Subtle.html'
'docs/Crystal.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal.html'
'docs/Crystal' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal'
'docs/Crystal/EventLoop.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/EventLoop.html'
'docs/Crystal/EventLoop' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/EventLoop'
'docs/Crystal/EventLoop/Event.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/EventLoop/Event.html'
'docs/Crystal/EventLoop/FileDescriptor.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/EventLoop/FileDescriptor.html'
'docs/Crystal/EventLoop/Socket.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/EventLoop/Socket.html'
'docs/Crystal/Macros.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros.html'
'docs/Crystal/Macros' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros'
'docs/Crystal/Macros/Alias.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Alias.html'
'docs/Crystal/Macros/AlignOf.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/AlignOf.html'
'docs/Crystal/Macros/And.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/And.html'
'docs/Crystal/Macros/Annotation.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Annotation.html'
'docs/Crystal/Macros/AnnotationDef.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/AnnotationDef.html'
'docs/Crystal/Macros/Arg.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Arg.html'
'docs/Crystal/Macros/ArrayLiteral.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/ArrayLiteral.html'
'docs/Crystal/Macros/Asm.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Asm.html'
'docs/Crystal/Macros/AsmOperand.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/AsmOperand.html'
'docs/Crystal/Macros/Assign.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Assign.html'
'docs/Crystal/Macros/ASTNode.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/ASTNode.html'
'docs/Crystal/Macros/BinaryOp.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/BinaryOp.html'
'docs/Crystal/Macros/Block.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Block.html'
'docs/Crystal/Macros/BoolLiteral.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/BoolLiteral.html'
'docs/Crystal/Macros/Break.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Break.html'
'docs/Crystal/Macros/Call.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Call.html'
'docs/Crystal/Macros/Case.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Case.html'
'docs/Crystal/Macros/Cast.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Cast.html'
'docs/Crystal/Macros/CharLiteral.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/CharLiteral.html'
'docs/Crystal/Macros/ClassDef.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/ClassDef.html'
'docs/Crystal/Macros/ClassVar.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/ClassVar.html'
'docs/Crystal/Macros/ControlExpression.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/ControlExpression.html'
'docs/Crystal/Macros/CStructOrUnionDef.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/CStructOrUnionDef.html'
'docs/Crystal/Macros/Def.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Def.html'
'docs/Crystal/Macros/DoubleSplat.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/DoubleSplat.html'
'docs/Crystal/Macros/EnumDef.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/EnumDef.html'
'docs/Crystal/Macros/ExceptionHandler.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/ExceptionHandler.html'
'docs/Crystal/Macros/Expressions.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Expressions.html'
'docs/Crystal/Macros/Extend.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Extend.html'
'docs/Crystal/Macros/ExternalVar.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/ExternalVar.html'
'docs/Crystal/Macros/FunDef.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/FunDef.html'
'docs/Crystal/Macros/Generic.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Generic.html'
'docs/Crystal/Macros/Global.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Global.html'
'docs/Crystal/Macros/HashLiteral.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/HashLiteral.html'
'docs/Crystal/Macros/If.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/If.html'
'docs/Crystal/Macros/ImplicitObj.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/ImplicitObj.html'
'docs/Crystal/Macros/Include.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Include.html'
'docs/Crystal/Macros/InstanceAlignOf.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/InstanceAlignOf.html'
'docs/Crystal/Macros/InstanceSizeOf.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/InstanceSizeOf.html'
'docs/Crystal/Macros/InstanceVar.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/InstanceVar.html'
'docs/Crystal/Macros/IsA.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/IsA.html'
'docs/Crystal/Macros/LibDef.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/LibDef.html'
'docs/Crystal/Macros/Macro.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Macro.html'
'docs/Crystal/Macros/MacroExpression.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/MacroExpression.html'
'docs/Crystal/Macros/MacroFor.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/MacroFor.html'
'docs/Crystal/Macros/MacroId.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/MacroId.html'
'docs/Crystal/Macros/MacroIf.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/MacroIf.html'
'docs/Crystal/Macros/MacroLiteral.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/MacroLiteral.html'
'docs/Crystal/Macros/MacroVar.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/MacroVar.html'
'docs/Crystal/Macros/MacroVerbatim.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/MacroVerbatim.html'
'docs/Crystal/Macros/MagicConstant.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/MagicConstant.html'
'docs/Crystal/Macros/Metaclass.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Metaclass.html'
'docs/Crystal/Macros/MetaVar.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/MetaVar.html'
'docs/Crystal/Macros/ModuleDef.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/ModuleDef.html'
'docs/Crystal/Macros/MultiAssign.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/MultiAssign.html'
'docs/Crystal/Macros/NamedArgument.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/NamedArgument.html'
'docs/Crystal/Macros/NamedTupleLiteral.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/NamedTupleLiteral.html'
'docs/Crystal/Macros/Next.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Next.html'
'docs/Crystal/Macros/NilableCast.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/NilableCast.html'
'docs/Crystal/Macros/NilLiteral.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/NilLiteral.html'
'docs/Crystal/Macros/Nop.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Nop.html'
'docs/Crystal/Macros/Not.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Not.html'
'docs/Crystal/Macros/NumberLiteral.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/NumberLiteral.html'
'docs/Crystal/Macros/OffsetOf.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/OffsetOf.html'
'docs/Crystal/Macros/Or.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Or.html'
'docs/Crystal/Macros/Out.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Out.html'
'docs/Crystal/Macros/Path.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Path.html'
'docs/Crystal/Macros/PointerOf.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/PointerOf.html'
'docs/Crystal/Macros/Primitive.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Primitive.html'
'docs/Crystal/Macros/ProcLiteral.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/ProcLiteral.html'
'docs/Crystal/Macros/ProcNotation.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/ProcNotation.html'
'docs/Crystal/Macros/ProcPointer.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/ProcPointer.html'
'docs/Crystal/Macros/RangeLiteral.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/RangeLiteral.html'
'docs/Crystal/Macros/ReadInstanceVar.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/ReadInstanceVar.html'
'docs/Crystal/Macros/RegexLiteral.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/RegexLiteral.html'
'docs/Crystal/Macros/Require.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Require.html'
'docs/Crystal/Macros/Rescue.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Rescue.html'
'docs/Crystal/Macros/RespondsTo.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/RespondsTo.html'
'docs/Crystal/Macros/Return.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Return.html'
'docs/Crystal/Macros/Select.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Select.html'
'docs/Crystal/Macros/Self.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Self.html'
'docs/Crystal/Macros/SizeOf.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/SizeOf.html'
'docs/Crystal/Macros/Splat.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Splat.html'
'docs/Crystal/Macros/StringInterpolation.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/StringInterpolation.html'
'docs/Crystal/Macros/StringLiteral.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/StringLiteral.html'
'docs/Crystal/Macros/SymbolLiteral.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/SymbolLiteral.html'
'docs/Crystal/Macros/TupleLiteral.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/TupleLiteral.html'
'docs/Crystal/Macros/TypeDeclaration.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/TypeDeclaration.html'
'docs/Crystal/Macros/TypeDef.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/TypeDef.html'
'docs/Crystal/Macros/TypeNode.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/TypeNode.html'
'docs/Crystal/Macros/TypeOf.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/TypeOf.html'
'docs/Crystal/Macros/UnaryExpression.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/UnaryExpression.html'
'docs/Crystal/Macros/Underscore.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Underscore.html'
'docs/Crystal/Macros/UninitializedVar.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/UninitializedVar.html'
'docs/Crystal/Macros/Union.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Union.html'
'docs/Crystal/Macros/Var.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Var.html'
'docs/Crystal/Macros/VisibilityModifier.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/VisibilityModifier.html'
'docs/Crystal/Macros/When.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/When.html'
'docs/Crystal/Macros/While.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/While.html'
'docs/Crystal/Macros/Yield.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/Macros/Yield.html'
'docs/Crystal/SyntaxHighlighter.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/SyntaxHighlighter.html'
'docs/Crystal/SyntaxHighlighter' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/SyntaxHighlighter'
'docs/Crystal/SyntaxHighlighter/Colorize.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/SyntaxHighlighter/Colorize.html'
'docs/Crystal/SyntaxHighlighter/HTML.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/SyntaxHighlighter/HTML.html'
'docs/Crystal/SyntaxHighlighter/TokenType.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Crystal/SyntaxHighlighter/TokenType.html'
'docs/CSV.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/CSV.html'
'docs/CSV' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/CSV'
'docs/CSV/Builder.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/CSV/Builder.html'
'docs/CSV/Builder' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/CSV/Builder'
'docs/CSV/Builder/Quoting.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/CSV/Builder/Quoting.html'
'docs/CSV/Builder/Row.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/CSV/Builder/Row.html'
'docs/CSV/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/CSV/Error.html'
'docs/CSV/Lexer.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/CSV/Lexer.html'
'docs/CSV/MalformedCSVError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/CSV/MalformedCSVError.html'
'docs/CSV/Parser.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/CSV/Parser.html'
'docs/CSV/Row.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/CSV/Row.html'
'docs/CSV/Token.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/CSV/Token.html'
'docs/CSV/Token' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/CSV/Token'
'docs/CSV/Token/Kind.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/CSV/Token/Kind.html'
'docs/Deprecated.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Deprecated.html'
'docs/Deque.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Deque.html'
'docs/Digest.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Digest.html'
'docs/Digest' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Digest'
'docs/Digest/Adler32.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Digest/Adler32.html'
'docs/Digest/ClassMethods.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Digest/ClassMethods.html'
'docs/Digest/CRC32.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Digest/CRC32.html'
'docs/Digest/FinalizedError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Digest/FinalizedError.html'
'docs/Digest/MD5.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Digest/MD5.html'
'docs/Digest/SHA1.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Digest/SHA1.html'
'docs/Digest/SHA256.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Digest/SHA256.html'
'docs/Digest/SHA512.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Digest/SHA512.html'
'docs/Dir.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Dir.html'
'docs/DivisionByZeroError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/DivisionByZeroError.html'
'docs/ECR.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/ECR.html'
'docs/Enum.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Enum.html'
'docs/Enum' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Enum'
'docs/Enum/ValueConverter.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Enum/ValueConverter.html'
'docs/Enumerable.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Enumerable.html'
'docs/Enumerable' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Enumerable'
'docs/Enumerable/Chunk.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Enumerable/Chunk.html'
'docs/Enumerable/Chunk' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Enumerable/Chunk'
'docs/Enumerable/Chunk/Alone.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Enumerable/Chunk/Alone.html'
'docs/Enumerable/Chunk/Drop.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Enumerable/Chunk/Drop.html'
'docs/Enumerable/EmptyError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Enumerable/EmptyError.html'
'docs/Enumerable/NotFoundError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Enumerable/NotFoundError.html'
'docs/ENV.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/ENV.html'
'docs/Errno.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Errno.html'
'docs/Exception.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Exception.html'
'docs/Experimental.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Experimental.html'
'docs/Fiber.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Fiber.html'
'docs/File.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/File.html'
'docs/File' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/File'
'docs/File/AccessDeniedError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/File/AccessDeniedError.html'
'docs/File/AlreadyExistsError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/File/AlreadyExistsError.html'
'docs/File/BadExecutableError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/File/BadExecutableError.html'
'docs/File/BadPatternError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/File/BadPatternError.html'
'docs/File/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/File/Error.html'
'docs/File/Flags.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/File/Flags.html'
'docs/File/Info.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/File/Info.html'
'docs/File/MatchOptions.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/File/MatchOptions.html'
'docs/File/NotFoundError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/File/NotFoundError.html'
'docs/File/Permissions.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/File/Permissions.html'
'docs/File/Type.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/File/Type.html'
'docs/FileUtils.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/FileUtils.html'
'docs/Flags.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Flags.html'
'docs/Float.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Float.html'
'docs/Float' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Float'
'docs/Float/Primitive.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Float/Primitive.html'
'docs/Float32.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Float32.html'
'docs/Float64.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Float64.html'
'docs/GC.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/GC.html'
'docs/GC' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/GC'
'docs/GC/ProfStats.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/GC/ProfStats.html'
'docs/GC/Stats.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/GC/Stats.html'
'docs/Hash.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Hash.html'
'docs/HTML.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTML.html'
'docs/HTTP.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP.html'
'docs/HTTP' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP'
'docs/HTTP/Client.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/Client.html'
'docs/HTTP/Client' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/Client'
'docs/HTTP/Client/BodyType.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/Client/BodyType.html'
'docs/HTTP/Client/Response.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/Client/Response.html'
'docs/HTTP/Client/TLSContext.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/Client/TLSContext.html'
'docs/HTTP/CompressHandler.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/CompressHandler.html'
'docs/HTTP/Cookie.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/Cookie.html'
'docs/HTTP/Cookie' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/Cookie'
'docs/HTTP/Cookie/SameSite.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/Cookie/SameSite.html'
'docs/HTTP/Cookies.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/Cookies.html'
'docs/HTTP/ErrorHandler.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/ErrorHandler.html'
'docs/HTTP/FormData.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/FormData.html'
'docs/HTTP/FormData' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/FormData'
'docs/HTTP/FormData/Builder.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/FormData/Builder.html'
'docs/HTTP/FormData/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/FormData/Error.html'
'docs/HTTP/FormData/FileMetadata.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/FormData/FileMetadata.html'
'docs/HTTP/FormData/Parser.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/FormData/Parser.html'
'docs/HTTP/FormData/Part.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/FormData/Part.html'
'docs/HTTP/Handler.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/Handler.html'
'docs/HTTP/Handler' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/Handler'
'docs/HTTP/Handler/HandlerProc.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/Handler/HandlerProc.html'
'docs/HTTP/Headers.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/Headers.html'
'docs/HTTP/LogHandler.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/LogHandler.html'
'docs/HTTP/Params.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/Params.html'
'docs/HTTP/Request.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/Request.html'
'docs/HTTP/Server.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/Server.html'
'docs/HTTP/Server' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/Server'
'docs/HTTP/Server/ClientError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/Server/ClientError.html'
'docs/HTTP/Server/Context.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/Server/Context.html'
'docs/HTTP/Server/RequestProcessor.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/Server/RequestProcessor.html'
'docs/HTTP/Server/Response.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/Server/Response.html'
'docs/HTTP/StaticFileHandler.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/StaticFileHandler.html'
'docs/HTTP/StaticFileHandler' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/StaticFileHandler'
'docs/HTTP/StaticFileHandler/DirectoryListing.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/StaticFileHandler/DirectoryListing.html'
'docs/HTTP/Status.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/Status.html'
'docs/HTTP/WebSocket.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/WebSocket.html'
'docs/HTTP/WebSocket' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/WebSocket'
'docs/HTTP/WebSocket/CloseCode.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/WebSocket/CloseCode.html'
'docs/HTTP/WebSocketHandler.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/HTTP/WebSocketHandler.html'
'docs/Indexable.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Indexable.html'
'docs/Indexable' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Indexable'
'docs/Indexable/Mutable.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Indexable/Mutable.html'
'docs/IndexError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IndexError.html'
'docs/INI.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/INI.html'
'docs/INI' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/INI'
'docs/INI/ParseException.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/INI/ParseException.html'
'docs/Int.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Int.html'
'docs/Int' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Int'
'docs/Int/BinaryPrefixFormat.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Int/BinaryPrefixFormat.html'
'docs/Int/Primitive.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Int/Primitive.html'
'docs/Int/Signed.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Int/Signed.html'
'docs/Int/Unsigned.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Int/Unsigned.html'
'docs/Int128.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Int128.html'
'docs/Int16.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Int16.html'
'docs/Int32.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Int32.html'
'docs/Int64.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Int64.html'
'docs/Int8.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Int8.html'
'docs/Intrinsics.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Intrinsics.html'
'docs/InvalidBigDecimalException.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/InvalidBigDecimalException.html'
'docs/InvalidByteSequenceError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/InvalidByteSequenceError.html'
'docs/IO.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO.html'
'docs/IO' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO'
'docs/IO/Buffered.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO/Buffered.html'
'docs/IO/ByteFormat.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO/ByteFormat.html'
'docs/IO/ByteFormat' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO/ByteFormat'
'docs/IO/ByteFormat/BigEndian.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO/ByteFormat/BigEndian.html'
'docs/IO/ByteFormat/LittleEndian.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO/ByteFormat/LittleEndian.html'
'docs/IO/ByteFormat/NetworkEndian.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO/ByteFormat/NetworkEndian.html'
'docs/IO/ByteFormat/SystemEndian.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO/ByteFormat/SystemEndian.html'
'docs/IO/Delimited.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO/Delimited.html'
'docs/IO/Digest.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO/Digest.html'
'docs/IO/Digest' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO/Digest'
'docs/IO/Digest/DigestMode.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO/Digest/DigestMode.html'
'docs/IO/EncodingOptions.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO/EncodingOptions.html'
'docs/IO/EOFError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO/EOFError.html'
'docs/IO/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO/Error.html'
'docs/IO/FileDescriptor.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO/FileDescriptor.html'
'docs/IO/Hexdump.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO/Hexdump.html'
'docs/IO/Memory.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO/Memory.html'
'docs/IO/MultiWriter.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO/MultiWriter.html'
'docs/IO/Seek.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO/Seek.html'
'docs/IO/Sized.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO/Sized.html'
'docs/IO/Stapled.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO/Stapled.html'
'docs/IO/TimeoutError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IO/TimeoutError.html'
'docs/IPSocket.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/IPSocket.html'
'docs/Iterable.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Iterable.html'
'docs/Iterator.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Iterator.html'
'docs/Iterator' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Iterator'
'docs/Iterator/IteratorWrapper.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Iterator/IteratorWrapper.html'
'docs/Iterator/Stop.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Iterator/Stop.html'
'docs/JSON.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON.html'
'docs/JSON' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON'
'docs/JSON/Any.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/Any.html'
'docs/JSON/Any' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/Any'
'docs/JSON/Any/Type.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/Any/Type.html'
'docs/JSON/ArrayConverter.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/ArrayConverter.html'
'docs/JSON/Builder.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/Builder.html'
'docs/JSON/Builder' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/Builder'
'docs/JSON/Builder/ArrayState.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/Builder/ArrayState.html'
'docs/JSON/Builder/DocumentEndState.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/Builder/DocumentEndState.html'
'docs/JSON/Builder/DocumentStartState.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/Builder/DocumentStartState.html'
'docs/JSON/Builder/ObjectState.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/Builder/ObjectState.html'
'docs/JSON/Builder/StartState.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/Builder/StartState.html'
'docs/JSON/Builder/State.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/Builder/State.html'
'docs/JSON/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/Error.html'
'docs/JSON/Field.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/Field.html'
'docs/JSON/HashValueConverter.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/HashValueConverter.html'
'docs/JSON/Lexer.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/Lexer.html'
'docs/JSON/ParseException.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/ParseException.html'
'docs/JSON/Parser.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/Parser.html'
'docs/JSON/PullParser.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/PullParser.html'
'docs/JSON/PullParser' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/PullParser'
'docs/JSON/PullParser/Kind.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/PullParser/Kind.html'
'docs/JSON/Serializable.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/Serializable.html'
'docs/JSON/Serializable' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/Serializable'
'docs/JSON/Serializable/Options.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/Serializable/Options.html'
'docs/JSON/Serializable/Strict.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/Serializable/Strict.html'
'docs/JSON/Serializable/Unmapped.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/Serializable/Unmapped.html'
'docs/JSON/SerializableError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/SerializableError.html'
'docs/JSON/Token.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/Token.html'
'docs/JSON/Token' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/Token'
'docs/JSON/Token/Kind.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/JSON/Token/Kind.html'
'docs/KeyError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/KeyError.html'
'docs/Levenshtein.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Levenshtein.html'
'docs/Levenshtein' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Levenshtein'
'docs/Levenshtein/Finder.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Levenshtein/Finder.html'
'docs/Link.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Link.html'
'docs/LLVM.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM.html'
'docs/LLVM' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM'
'docs/LLVM/ABI.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/ABI.html'
'docs/LLVM/ABI' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/ABI'
'docs/LLVM/ABI/AArch64.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/ABI/AArch64.html'
'docs/LLVM/ABI/ArgKind.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/ABI/ArgKind.html'
'docs/LLVM/ABI/ArgType.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/ABI/ArgType.html'
'docs/LLVM/ABI/ARM.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/ABI/ARM.html'
'docs/LLVM/ABI/AVR.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/ABI/AVR.html'
'docs/LLVM/ABI/FunctionType.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/ABI/FunctionType.html'
'docs/LLVM/ABI/Wasm32.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/ABI/Wasm32.html'
'docs/LLVM/ABI/X86.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/ABI/X86.html'
'docs/LLVM/ABI/X86_64.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/ABI/X86_64.html'
'docs/LLVM/ABI/X86_64' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/ABI/X86_64'
'docs/LLVM/ABI/X86_64/RegClass.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/ABI/X86_64/RegClass.html'
'docs/LLVM/ABI/X86_Win64.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/ABI/X86_Win64.html'
'docs/LLVM/AtomicOrdering.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/AtomicOrdering.html'
'docs/LLVM/AtomicRMWBinOp.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/AtomicRMWBinOp.html'
'docs/LLVM/Attribute.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/Attribute.html'
'docs/LLVM/AttributeIndex.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/AttributeIndex.html'
'docs/LLVM/BasicBlock.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/BasicBlock.html'
'docs/LLVM/BasicBlockCollection.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/BasicBlockCollection.html'
'docs/LLVM/Builder.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/Builder.html'
'docs/LLVM/CallConvention.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/CallConvention.html'
'docs/LLVM/CodeGenFileType.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/CodeGenFileType.html'
'docs/LLVM/CodeGenOptLevel.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/CodeGenOptLevel.html'
'docs/LLVM/CodeModel.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/CodeModel.html'
'docs/LLVM/Context.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/Context.html'
'docs/LLVM/DIBuilder.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/DIBuilder.html'
'docs/LLVM/DIFlags.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/DIFlags.html'
'docs/LLVM/DLLStorageClass.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/DLLStorageClass.html'
'docs/LLVM/DwarfSourceLanguage.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/DwarfSourceLanguage.html'
'docs/LLVM/DwarfTag.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/DwarfTag.html'
'docs/LLVM/DwarfTypeEncoding.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/DwarfTypeEncoding.html'
'docs/LLVM/Function.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/Function.html'
'docs/LLVM/FunctionCollection.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/FunctionCollection.html'
'docs/LLVM/FunctionPassManager.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/FunctionPassManager.html'
'docs/LLVM/FunctionPassManager' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/FunctionPassManager'
'docs/LLVM/FunctionPassManager/Runner.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/FunctionPassManager/Runner.html'
'docs/LLVM/GenericValue.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/GenericValue.html'
'docs/LLVM/GlobalCollection.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/GlobalCollection.html'
'docs/LLVM/InlineAsmDialect.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/InlineAsmDialect.html'
'docs/LLVM/InstructionCollection.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/InstructionCollection.html'
'docs/LLVM/IntPredicate.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/IntPredicate.html'
'docs/LLVM/JITCompiler.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/JITCompiler.html'
'docs/LLVM/Linkage.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/Linkage.html'
'docs/LLVM/MemoryBuffer.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/MemoryBuffer.html'
'docs/LLVM/Metadata.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/Metadata.html'
'docs/LLVM/Metadata' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/Metadata'
'docs/LLVM/Metadata/Type.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/Metadata/Type.html'
'docs/LLVM/Module.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/Module.html'
'docs/LLVM/ModulePassManager.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/ModulePassManager.html'
'docs/LLVM/OperandBundleDef.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/OperandBundleDef.html'
'docs/LLVM/Orc.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/Orc.html'
'docs/LLVM/Orc' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/Orc'
'docs/LLVM/Orc/JITDylib.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/Orc/JITDylib.html'
'docs/LLVM/Orc/LLJIT.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/Orc/LLJIT.html'
'docs/LLVM/Orc/LLJITBuilder.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/Orc/LLJITBuilder.html'
'docs/LLVM/Orc/ThreadSafeContext.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/Orc/ThreadSafeContext.html'
'docs/LLVM/Orc/ThreadSafeModule.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/Orc/ThreadSafeModule.html'
'docs/LLVM/ParameterCollection.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/ParameterCollection.html'
'docs/LLVM/PassBuilderOptions.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/PassBuilderOptions.html'
'docs/LLVM/PassManagerBuilder.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/PassManagerBuilder.html'
'docs/LLVM/PassRegistry.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/PassRegistry.html'
'docs/LLVM/PhiTable.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/PhiTable.html'
'docs/LLVM/RealPredicate.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/RealPredicate.html'
'docs/LLVM/RelocMode.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/RelocMode.html'
'docs/LLVM/Target.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/Target.html'
'docs/LLVM/TargetData.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/TargetData.html'
'docs/LLVM/TargetMachine.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/TargetMachine.html'
'docs/LLVM/Type.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/Type.html'
'docs/LLVM/Type' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/Type'
'docs/LLVM/Type/Kind.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/Type/Kind.html'
'docs/LLVM/UWTableKind.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/UWTableKind.html'
'docs/LLVM/Value.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/Value.html'
'docs/LLVM/Value' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/Value'
'docs/LLVM/Value/Kind.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/Value/Kind.html'
'docs/LLVM/ValueMethods.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/ValueMethods.html'
'docs/LLVM/VerifierFailureAction.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/LLVM/VerifierFailureAction.html'
'docs/Log.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log.html'
'docs/Log' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log'
'docs/Log/AsyncDispatcher.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/AsyncDispatcher.html'
'docs/Log/Backend.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/Backend.html'
'docs/Log/BroadcastBackend.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/BroadcastBackend.html'
'docs/Log/Builder.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/Builder.html'
'docs/Log/Configuration.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/Configuration.html'
'docs/Log/Context.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/Context.html'
'docs/Log/DirectDispatcher.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/DirectDispatcher.html'
'docs/Log/Dispatcher.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/Dispatcher.html'
'docs/Log/Dispatcher' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/Dispatcher'
'docs/Log/Dispatcher/Spec.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/Dispatcher/Spec.html'
'docs/Log/DispatchMode.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/DispatchMode.html'
'docs/Log/Emitter.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/Emitter.html'
'docs/Log/EntriesChecker.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/EntriesChecker.html'
'docs/Log/Entry.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/Entry.html'
'docs/Log/Formatter.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/Formatter.html'
'docs/Log/IOBackend.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/IOBackend.html'
'docs/Log/MemoryBackend.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/MemoryBackend.html'
'docs/Log/Metadata.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/Metadata.html'
'docs/Log/Metadata' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/Metadata'
'docs/Log/Metadata/Entry.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/Metadata/Entry.html'
'docs/Log/Metadata/Value.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/Metadata/Value.html'
'docs/Log/Metadata/Value' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/Metadata/Value'
'docs/Log/Metadata/Value/Type.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/Metadata/Value/Type.html'
'docs/Log/Severity.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/Severity.html'
'docs/Log/ShortFormat.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/ShortFormat.html'
'docs/Log/StaticFormatter.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/StaticFormatter.html'
'docs/Log/SyncDispatcher.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Log/SyncDispatcher.html'
'docs/Math.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Math.html'
'docs/MIME.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/MIME.html'
'docs/MIME' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/MIME'
'docs/MIME/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/MIME/Error.html'
'docs/MIME/MediaType.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/MIME/MediaType.html'
'docs/MIME/Multipart.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/MIME/Multipart.html'
'docs/MIME/Multipart' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/MIME/Multipart'
'docs/MIME/Multipart/Builder.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/MIME/Multipart/Builder.html'
'docs/MIME/Multipart/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/MIME/Multipart/Error.html'
'docs/MIME/Multipart/Parser.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/MIME/Multipart/Parser.html'
'docs/Mutex.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Mutex.html'
'docs/Mutex' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Mutex'
'docs/Mutex/Protection.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Mutex/Protection.html'
'docs/NamedTuple.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/NamedTuple.html'
'docs/Nil.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Nil.html'
'docs/NilAssertionError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/NilAssertionError.html'
'docs/NoReturn.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/NoReturn.html'
'docs/NotImplementedError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/NotImplementedError.html'
'docs/Number.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Number.html'
'docs/Number' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Number'
'docs/Number/Primitive.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Number/Primitive.html'
'docs/Number/RoundingMode.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Number/RoundingMode.html'
'docs/OAuth.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OAuth.html'
'docs/OAuth' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OAuth'
'docs/OAuth/AccessToken.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OAuth/AccessToken.html'
'docs/OAuth/Consumer.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OAuth/Consumer.html'
'docs/OAuth/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OAuth/Error.html'
'docs/OAuth/RequestToken.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OAuth/RequestToken.html'
'docs/OAuth2.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OAuth2.html'
'docs/OAuth2' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OAuth2'
'docs/OAuth2/AccessToken.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OAuth2/AccessToken.html'
'docs/OAuth2/AccessToken' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OAuth2/AccessToken'
'docs/OAuth2/AccessToken/Bearer.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OAuth2/AccessToken/Bearer.html'
'docs/OAuth2/AccessToken/Mac.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OAuth2/AccessToken/Mac.html'
'docs/OAuth2/AuthScheme.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OAuth2/AuthScheme.html'
'docs/OAuth2/Client.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OAuth2/Client.html'
'docs/OAuth2/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OAuth2/Error.html'
'docs/OAuth2/Session.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OAuth2/Session.html'
'docs/Object.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Object.html'
'docs/OpenSSL.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL.html'
'docs/OpenSSL' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL'
'docs/OpenSSL/Algorithm.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/Algorithm.html'
'docs/OpenSSL/Cipher.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/Cipher.html'
'docs/OpenSSL/Cipher' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/Cipher'
'docs/OpenSSL/Cipher/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/Cipher/Error.html'
'docs/OpenSSL/Digest.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/Digest.html'
'docs/OpenSSL/Digest' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/Digest'
'docs/OpenSSL/Digest/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/Digest/Error.html'
'docs/OpenSSL/Digest/UnsupportedError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/Digest/UnsupportedError.html'
'docs/OpenSSL/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/Error.html'
'docs/OpenSSL/HMAC.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/HMAC.html'
'docs/OpenSSL/MD5.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/MD5.html'
'docs/OpenSSL/PKCS5.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/PKCS5.html'
'docs/OpenSSL/SHA1.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/SHA1.html'
'docs/OpenSSL/SSL.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/SSL.html'
'docs/OpenSSL/SSL' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/SSL'
'docs/OpenSSL/SSL/Context.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/SSL/Context.html'
'docs/OpenSSL/SSL/Context' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/SSL/Context'
'docs/OpenSSL/SSL/Context/Client.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/SSL/Context/Client.html'
'docs/OpenSSL/SSL/Context/Server.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/SSL/Context/Server.html'
'docs/OpenSSL/SSL/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/SSL/Error.html'
'docs/OpenSSL/SSL/ErrorType.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/SSL/ErrorType.html'
'docs/OpenSSL/SSL/Modes.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/SSL/Modes.html'
'docs/OpenSSL/SSL/Options.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/SSL/Options.html'
'docs/OpenSSL/SSL/Server.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/SSL/Server.html'
'docs/OpenSSL/SSL/Socket.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/SSL/Socket.html'
'docs/OpenSSL/SSL/Socket' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/SSL/Socket'
'docs/OpenSSL/SSL/Socket/Client.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/SSL/Socket/Client.html'
'docs/OpenSSL/SSL/Socket/Server.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/SSL/Socket/Server.html'
'docs/OpenSSL/SSL/VerifyMode.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/SSL/VerifyMode.html'
'docs/OpenSSL/SSL/X509VerifyFlags.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OpenSSL/SSL/X509VerifyFlags.html'
'docs/OptionParser.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OptionParser.html'
'docs/OptionParser' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OptionParser'
'docs/OptionParser/Exception.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OptionParser/Exception.html'
'docs/OptionParser/InvalidOption.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OptionParser/InvalidOption.html'
'docs/OptionParser/MissingOption.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OptionParser/MissingOption.html'
'docs/OverflowError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/OverflowError.html'
'docs/Path.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Path.html'
'docs/Path' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Path'
'docs/Path/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Path/Error.html'
'docs/Path/Kind.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Path/Kind.html'
'docs/Pointer.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Pointer.html'
'docs/Pointer' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Pointer'
'docs/Pointer/Appender.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Pointer/Appender.html'
'docs/PrettyPrint.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/PrettyPrint.html'
'docs/Proc.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Proc.html'
'docs/Process.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Process.html'
'docs/Process' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Process'
'docs/Process/Env.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Process/Env.html'
'docs/Process/ExecStdio.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Process/ExecStdio.html'
'docs/Process/ExitReason.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Process/ExitReason.html'
'docs/Process/Redirect.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Process/Redirect.html'
'docs/Process/Status.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Process/Status.html'
'docs/Process/Stdio.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Process/Stdio.html'
'docs/Process/Tms.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Process/Tms.html'
'docs/Random.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Random.html'
'docs/Random' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Random'
'docs/Random/ISAAC.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Random/ISAAC.html'
'docs/Random/PCG32.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Random/PCG32.html'
'docs/Random/Secure.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Random/Secure.html'
'docs/Range.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Range.html'
'docs/Reference.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Reference.html'
'docs/ReferenceStorage.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/ReferenceStorage.html'
'docs/Regex.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Regex.html'
'docs/Regex' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Regex'
'docs/Regex/CompileOptions.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Regex/CompileOptions.html'
'docs/Regex/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Regex/Error.html'
'docs/Regex/MatchData.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Regex/MatchData.html'
'docs/Regex/MatchOptions.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Regex/MatchOptions.html'
'docs/Regex/Options.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Regex/Options.html'
'docs/RuntimeError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/RuntimeError.html'
'docs/SemanticVersion.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/SemanticVersion.html'
'docs/SemanticVersion' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/SemanticVersion'
'docs/SemanticVersion/Prerelease.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/SemanticVersion/Prerelease.html'
'docs/Set.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Set.html'
'docs/Signal.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Signal.html'
'docs/Slice.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Slice.html'
'docs/Socket.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Socket.html'
'docs/Socket' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Socket'
'docs/Socket/Address.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Socket/Address.html'
'docs/Socket/Addrinfo.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Socket/Addrinfo.html'
'docs/Socket/Addrinfo' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Socket/Addrinfo'
'docs/Socket/Addrinfo/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Socket/Addrinfo/Error.html'
'docs/Socket/BindError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Socket/BindError.html'
'docs/Socket/ConnectError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Socket/ConnectError.html'
'docs/Socket/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Socket/Error.html'
'docs/Socket/Family.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Socket/Family.html'
'docs/Socket/FamilyT.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Socket/FamilyT.html'
'docs/Socket/IPAddress.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Socket/IPAddress.html'
'docs/Socket/Protocol.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Socket/Protocol.html'
'docs/Socket/Server.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Socket/Server.html'
'docs/Socket/Type.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Socket/Type.html'
'docs/Socket/UNIXAddress.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Socket/UNIXAddress.html'
'docs/Spec.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Spec.html'
'docs/Spec' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Spec'
'docs/Spec/Context.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Spec/Context.html'
'docs/Spec/Example.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Spec/Example.html'
'docs/Spec/Example' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Spec/Example'
'docs/Spec/Example/Procsy.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Spec/Example/Procsy.html'
'docs/Spec/ExampleGroup.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Spec/ExampleGroup.html'
'docs/Spec/ExampleGroup' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Spec/ExampleGroup'
'docs/Spec/ExampleGroup/Procsy.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Spec/ExampleGroup/Procsy.html'
'docs/Spec/Expectations.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Spec/Expectations.html'
'docs/Spec/Item.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Spec/Item.html'
'docs/Spec/Methods.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Spec/Methods.html'
'docs/Spec/ObjectExtensions.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Spec/ObjectExtensions.html'
'docs/Spec/SplitFilter.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Spec/SplitFilter.html'
'docs/StaticArray.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/StaticArray.html'
'docs/Steppable.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Steppable.html'
'docs/Steppable' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Steppable'
'docs/Steppable/StepIterator.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Steppable/StepIterator.html'
'docs/String.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/String.html'
'docs/String' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/String'
'docs/String/Builder.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/String/Builder.html'
'docs/String/Grapheme.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/String/Grapheme.html'
'docs/String/RawConverter.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/String/RawConverter.html'
'docs/StringPool.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/StringPool.html'
'docs/StringScanner.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/StringScanner.html'
'docs/Struct.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Struct.html'
'docs/Symbol.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Symbol.html'
'docs/Syscall.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Syscall.html'
'docs/System.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/System.html'
'docs/System' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/System'
'docs/System/Group.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/System/Group.html'
'docs/System/Group' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/System/Group'
'docs/System/Group/NotFoundError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/System/Group/NotFoundError.html'
'docs/System/User.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/System/User.html'
'docs/System/User' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/System/User'
'docs/System/User/NotFoundError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/System/User/NotFoundError.html'
'docs/SystemError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/SystemError.html'
'docs/SystemError' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/SystemError'
'docs/SystemError/ClassMethods.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/SystemError/ClassMethods.html'
'docs/TCPServer.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/TCPServer.html'
'docs/TCPSocket.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/TCPSocket.html'
'docs/Termios.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Termios.html'
'docs/Termios' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Termios'
'docs/Termios/AttributeSelection.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Termios/AttributeSelection.html'
'docs/Termios/BaudRate.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Termios/BaudRate.html'
'docs/Termios/ControlMode.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Termios/ControlMode.html'
'docs/Termios/InputMode.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Termios/InputMode.html'
'docs/Termios/LineControl.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Termios/LineControl.html'
'docs/Termios/LocalMode.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Termios/LocalMode.html'
'docs/Termios/OutputMode.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Termios/OutputMode.html'
'docs/Time.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time.html'
'docs/Time' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time'
'docs/Time/DayOfWeek.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time/DayOfWeek.html'
'docs/Time/EpochConverter.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time/EpochConverter.html'
'docs/Time/EpochMillisConverter.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time/EpochMillisConverter.html'
'docs/Time/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time/Error.html'
'docs/Time/FloatingTimeConversionError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time/FloatingTimeConversionError.html'
'docs/Time/Format.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time/Format.html'
'docs/Time/Format' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time/Format'
'docs/Time/Format/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time/Format/Error.html'
'docs/Time/Format/HTTP_DATE.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time/Format/HTTP_DATE.html'
'docs/Time/Format/ISO_8601_DATE.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time/Format/ISO_8601_DATE.html'
'docs/Time/Format/ISO_8601_DATE_TIME.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time/Format/ISO_8601_DATE_TIME.html'
'docs/Time/Format/ISO_8601_TIME.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time/Format/ISO_8601_TIME.html'
'docs/Time/Format/RFC_2822.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time/Format/RFC_2822.html'
'docs/Time/Format/RFC_3339.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time/Format/RFC_3339.html'
'docs/Time/Format/YAML_DATE.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time/Format/YAML_DATE.html'
'docs/Time/Location.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time/Location.html'
'docs/Time/Location' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time/Location'
'docs/Time/Location/InvalidLocationNameError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time/Location/InvalidLocationNameError.html'
'docs/Time/Location/InvalidTimezoneOffsetError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time/Location/InvalidTimezoneOffsetError.html'
'docs/Time/Location/InvalidTZDataError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time/Location/InvalidTZDataError.html'
'docs/Time/Location/Zone.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time/Location/Zone.html'
'docs/Time/MonthSpan.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time/MonthSpan.html'
'docs/Time/Span.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Time/Span.html'
'docs/Tuple.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Tuple.html'
'docs/TypeCastError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/TypeCastError.html'
'docs/UDPSocket.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/UDPSocket.html'
'docs/UInt128.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/UInt128.html'
'docs/UInt16.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/UInt16.html'
'docs/UInt32.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/UInt32.html'
'docs/UInt64.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/UInt64.html'
'docs/UInt8.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/UInt8.html'
'docs/Unicode.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Unicode.html'
'docs/Unicode' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Unicode'
'docs/Unicode/CaseOptions.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Unicode/CaseOptions.html'
'docs/Unicode/NormalizationForm.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Unicode/NormalizationForm.html'
'docs/Union.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Union.html'
'docs/UNIXServer.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/UNIXServer.html'
'docs/UNIXSocket.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/UNIXSocket.html'
'docs/URI.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/URI.html'
'docs/URI' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/URI'
'docs/URI/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/URI/Error.html'
'docs/URI/Params.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/URI/Params.html'
'docs/URI/Params' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/URI/Params'
'docs/URI/Params/Builder.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/URI/Params/Builder.html'
'docs/URI/Params/Field.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/URI/Params/Field.html'
'docs/URI/Params/Serializable.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/URI/Params/Serializable.html'
'docs/URI/Punycode.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/URI/Punycode.html'
'docs/URI/SerializableError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/URI/SerializableError.html'
'docs/UUID.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/UUID.html'
'docs/UUID' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/UUID'
'docs/UUID/Domain.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/UUID/Domain.html'
'docs/UUID/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/UUID/Error.html'
'docs/UUID/MAC.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/UUID/MAC.html'
'docs/UUID/Namespace.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/UUID/Namespace.html'
'docs/UUID/Variant.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/UUID/Variant.html'
'docs/UUID/Version.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/UUID/Version.html'
'docs/VaList.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/VaList.html'
'docs/Value.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Value.html'
'docs/Void.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/Void.html'
'docs/WaitGroup.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/WaitGroup.html'
'docs/WasiError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/WasiError.html'
'docs/WeakRef.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/WeakRef.html'
'docs/WinError.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/WinError.html'
'docs/XML.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/XML.html'
'docs/XML' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/XML'
'docs/XML/Attributes.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/XML/Attributes.html'
'docs/XML/AttributeType.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/XML/AttributeType.html'
'docs/XML/Builder.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/XML/Builder.html'
'docs/XML/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/XML/Error.html'
'docs/XML/HTMLParserOptions.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/XML/HTMLParserOptions.html'
'docs/XML/Namespace.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/XML/Namespace.html'
'docs/XML/Node.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/XML/Node.html'
'docs/XML/Node' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/XML/Node'
'docs/XML/Node/Type.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/XML/Node/Type.html'
'docs/XML/NodeSet.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/XML/NodeSet.html'
'docs/XML/ParserOptions.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/XML/ParserOptions.html'
'docs/XML/Reader.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/XML/Reader.html'
'docs/XML/Reader' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/XML/Reader'
'docs/XML/Reader/Type.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/XML/Reader/Type.html'
'docs/XML/SaveOptions.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/XML/SaveOptions.html'
'docs/XML/XPathContext.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/XML/XPathContext.html'
'docs/YAML.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML.html'
'docs/YAML' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML'
'docs/YAML/Any.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Any.html'
'docs/YAML/Any' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Any'
'docs/YAML/Any/Type.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Any/Type.html'
'docs/YAML/ArrayConverter.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/ArrayConverter.html'
'docs/YAML/Builder.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Builder.html'
'docs/YAML/Error.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Error.html'
'docs/YAML/EventKind.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/EventKind.html'
'docs/YAML/Field.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Field.html'
'docs/YAML/MappingStyle.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/MappingStyle.html'
'docs/YAML/Nodes.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Nodes.html'
'docs/YAML/Nodes' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Nodes'
'docs/YAML/Nodes/Alias.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Nodes/Alias.html'
'docs/YAML/Nodes/Builder.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Nodes/Builder.html'
'docs/YAML/Nodes/Document.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Nodes/Document.html'
'docs/YAML/Nodes/Mapping.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Nodes/Mapping.html'
'docs/YAML/Nodes/Node.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Nodes/Node.html'
'docs/YAML/Nodes/Scalar.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Nodes/Scalar.html'
'docs/YAML/Nodes/Sequence.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Nodes/Sequence.html'
'docs/YAML/ParseContext.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/ParseContext.html'
'docs/YAML/ParseException.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/ParseException.html'
'docs/YAML/PullParser.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/PullParser.html'
'docs/YAML/ScalarStyle.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/ScalarStyle.html'
'docs/YAML/Schema.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Schema.html'
'docs/YAML/Schema' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Schema'
'docs/YAML/Schema/Core.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Schema/Core.html'
'docs/YAML/Schema/FailSafe.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Schema/FailSafe.html'
'docs/YAML/SequenceStyle.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/SequenceStyle.html'
'docs/YAML/Serializable.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Serializable.html'
'docs/YAML/Serializable' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Serializable'
'docs/YAML/Serializable/Options.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Serializable/Options.html'
'docs/YAML/Serializable/Strict.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Serializable/Strict.html'
'docs/YAML/Serializable/Unmapped.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/YAML/Serializable/Unmapped.html'
'docs/index.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/index.html'
'docs/index.json' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/index.json'
'docs/search-index.js' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/search-index.js'
'docs/404.html' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/404.html'
'docs/doc' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/doc'
'docs/doc/assets' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/doc/assets'
'docs/doc/assets/crystal-born-and-raised.svg' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/doc/assets/crystal-born-and-raised.svg'
cp -av samples "/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples"
'samples' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples'
'samples/2048.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/2048.cr'
'samples/Makefile' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/Makefile'
'samples/Makefile.win' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/Makefile.win'
'samples/binary-trees.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/binary-trees.cr'
'samples/brainfuck.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/brainfuck.cr'
'samples/channel_primes.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/channel_primes.cr'
'samples/channel_select.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/channel_select.cr'
'samples/compiler' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/compiler'
'samples/compiler/formatter_example.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/compiler/formatter_example.cr'
'samples/compiler/transformer_example.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/compiler/transformer_example.cr'
'samples/compiler/visitor_example.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/compiler/visitor_example.cr'
'samples/conway.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/conway.cr'
'samples/degree_days.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/degree_days.cr'
'samples/egrep.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/egrep.cr'
'samples/fannkuch-redux.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/fannkuch-redux.cr'
'samples/havlak.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/havlak.cr'
'samples/http_server.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/http_server.cr'
'samples/impl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/impl.cr'
'samples/llvm' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/llvm'
'samples/llvm/brainfuck.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/llvm/brainfuck.cr'
'samples/mandelbrot.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/mandelbrot.cr'
'samples/mandelbrot2.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/mandelbrot2.cr'
'samples/matmul.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/matmul.cr'
'samples/meteor.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/meteor.cr'
'samples/mt_gc_test.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/mt_gc_test.cr'
'samples/nbodies.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/nbodies.cr'
'samples/neural_net.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/neural_net.cr'
'samples/noise.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/noise.cr'
'samples/pig.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/pig.cr'
'samples/pretty_json.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/pretty_json.cr'
'samples/quine.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/quine.cr'
'samples/red_black_tree.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/red_black_tree.cr'
'samples/sdl' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/sdl'
'samples/sdl/fire.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/sdl/fire.cr'
'samples/sdl/fire.txt' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/sdl/fire.txt'
'samples/sdl/raytracer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/sdl/raytracer.cr'
'samples/sdl/sdl' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/sdl/sdl'
'samples/sdl/sdl/lib_sdl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/sdl/sdl/lib_sdl.cr'
'samples/sdl/sdl/sdl.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/sdl/sdl/sdl.cr'
'samples/sdl/sdl/surface.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/sdl/sdl/surface.cr'
'samples/sdl/tv.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/sdl/tv.cr'
'samples/sdl/tv.txt' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/sdl/tv.txt'
'samples/sieve.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/sieve.cr'
'samples/spectral-norm.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/spectral-norm.cr'
'samples/sudoku.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/sudoku.cr'
'samples/tcp_client.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/tcp_client.cr'
'samples/tcp_server.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/tcp_server.cr'
'samples/text_raytracer.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/text_raytracer.cr'
'samples/tree.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/tree.cr'
'samples/wordcount.cr' -> '/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/wordcount.cr'
make[2]: Leaving directory '/build/reproducible-path/crystal-1.14.0+dfsg'
# fix privacy-breach-generic links on html docs
sed -i  '/<p><a href=/{:a;N;/alt="Crystal - Born and raised at Manas" \/><\/a><\/p>/!ba};//d' \
	/build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/docs/index.html
# remove vcs file in examples
rm -f /build/reproducible-path/crystal-1.14.0+dfsg/debian/tmp/usr/share/doc/crystal/examples/.gitignore
make[1]: Leaving directory '/build/reproducible-path/crystal-1.14.0+dfsg'
   dh_install
   dh_installdocs
   dh_installchangelogs
   dh_installman
   dh_lintian
   dh_perl
   dh_link
   dh_strip_nondeterminism
   dh_compress
   dh_fixperms
   dh_missing
   dh_dwz -a
   dh_strip -a
   dh_makeshlibs -a
   dh_shlibdeps -a
dpkg-shlibdeps: warning: diversions involved - output may be incorrect
 diversion by libc6 from: /lib64/ld-linux-x86-64.so.2
dpkg-shlibdeps: warning: diversions involved - output may be incorrect
 diversion by libc6 to: /lib64/ld-linux-x86-64.so.2.usr-is-merged
   dh_installdeb
   dh_gencontrol
   dh_md5sums
   dh_builddeb
dpkg-deb: building package 'crystal' in '../crystal_1.14.0+dfsg-1_amd64.deb'.
dpkg-deb: building package 'crystal-doc' in '../crystal-doc_1.14.0+dfsg-1_all.deb'.
dpkg-deb: building package 'crystal-dbgsym' in '../crystal-dbgsym_1.14.0+dfsg-1_amd64.deb'.
dpkg-deb: building package 'crystal-samples' in '../crystal-samples_1.14.0+dfsg-1_all.deb'.
 dpkg-genbuildinfo --build=binary -O../crystal_1.14.0+dfsg-1_amd64.buildinfo
 dpkg-genchanges --build=binary -O../crystal_1.14.0+dfsg-1_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)
dpkg-genchanges: info: including full source code in upload
I: copying local configuration
I: user script /srv/workspace/pbuilder/2461830/tmp/hooks/B01_cleanup starting
I: user script /srv/workspace/pbuilder/2461830/tmp/hooks/B01_cleanup finished
I: unmounting dev/ptmx filesystem
I: unmounting dev/pts filesystem
I: unmounting dev/shm filesystem
I: unmounting proc filesystem
I: unmounting sys filesystem
I: cleaning the build env 
I: removing directory /srv/workspace/pbuilder/2461830 and its subdirectories
I: Current time: Mon Feb 17 01:09:07 +14 2025
I: pbuilder-time-stamp: 1739704147